えんじにあ雑記!

開発していて学んだことをまとめていきます!

1セメスターで50以上のゲームを開発したプロジェクトの話

f:id:flat-M_M:20200601204632j:plain

アメリカの大学で実施された「可能な限り早いプロトタイピングにより、できるだけ多くの新しいゲームプレイを発見する」ことを目的としたプロジェクト「How to Prototype a Game in Under 7 Days」

短期間でゲームを作り続けて見えてきた事実が興味深い内容だったので、論文を日本語訳してまとめてました。

はじめに

アメリカのカーネギーメロン大学で2005年に実施されたプロジェクト

「How to Prototype a Game in Under 7 Days」

このプロジェクトでは、1セメスターで50個以上のゲームを開発することとなったのですが、そこで見えてきた事実を論文にまとめたものがありました。

興味深い内容がいくつも載っていたので、日本語訳してまとめてみました。

一部翻訳がおかしなところなどあるかもしれませんが、英語力不足でしてご了承下さい🙇‍♂️

また、英語での論文は下記から見れます。

www.gamasutra.com

セットアップ:「失敗を恐れない」ラピッドプロトタイピング

失敗を許容する

優れたラピッドプロトタイピングとは失敗の可能性を受け入れることです。

何十回も失敗しても、何かを学ぶことができればやりがいのある実験だったことになります。

このプロジェクトでも、ビジュアルを使わずに位置情報だけを使ったゲームの開発を試みたことがあったそうです。

結果としては大失敗でしたが、このプロトタピングは音声だけのゲームは失敗するということを証明しました。

これをチーム内で共有すると、大胆なリスクを冒してプロトタイプを開発し結果として一つの実証を成し遂げたことを称賛したのです。

つまりプロトタイピングは失敗から学ぶことが重要ということです。

より多くの時間≠より良い品質

一般的にどのようなゲームのアイディアでも1週間以内に効果的にプロトタイピング可能であることがわかりました。

また、それ以上の時間をかけても見返りは少なくなる傾向があることさえ分かったのです。

結論として、開発に費やした時間とプロトタイプの最終的な成功には相関関係がないことがわかりました。

クリエイティビティを制限する

このプロジェクトでは、「重力」や「群がる」などといったテーマがある方が結果的に創造的になりました。

また、チーム全員が同一のテーマについて同時にプロトタイピングしていたため、個々人があらゆるゲームプレイの方法を探究する良い傾向をもたらしました。

実際に、下記のようなテーマを利用したそうです。

  • 重力
  • バネ
  • 進化
  • 捕食者と獲物
  • 中毒性のあるゲーム
  • 指数関数的成長

マインドセットは才能と同じくらい重要

チームの各メンバーは、全員がプログラミング、アート、サウンドなど最終的なプロトタイプに関わる全てのことができる必要がありました。

しかし、こういった能力(才能)だけが重要なのではなく、全ては最終的なデザインのためであり、デザインが最優先であるということを全員が理解して開発していました。

チームで取り組んだが、チーム開発はしなかった

チームを結成して取り組んでいたが、チームで一つのプロトタイプを作るということはしませんでした。

理由として、個々人がそれぞれプロトタイプを作ることで4つのプロトタイプを同時開発することができます。

そして、そのうちの一つか二つは成功するだろうという安心感があるからこそ、リスクの高いプロトタイピングでも行えたのです。

一方で、4人全員が同一のテーマで開発するので、テーマを深く理解することが必須となりました。

そのため、4人で概念や理解を共有することは盛んに行いました。例えば、バネのシステムを表現する効果的な方法を見つけた場合、それを全員で共有するなどといったことを積極的に行っていたそうです。

結論として、開発の最初と最後の段階で一緒に作業することが最も価値があるとしました。

最初の段階では、それぞれのアイディアを固めたり、比較することができます。

最後の段階では、土壇場での競争を楽しむことができました。

この傾向をグラフにしたのが下記の図になります。

デザイン:創造性とクリエイティビティの神話

素晴らしいアイディアはふとした瞬間に思いつきます。

しかし、その瞬間は「1分後」かもしれませんし、「10年後」かもしれません。

このプロジェクトでは、創造性を刺激する方法を定義づけました。

形式的なブレーンストーミングの効果は0%

このプロジェクトでも実際にチームでブレーンストーミングをしたことはありましたが、結果として生まれたゲームは一つもありませんでした。

創造性を発揮する予定を組むことはできなかったのです。

4:15からブレーンストーミングを初めて、5:00までに素晴らしいアイディアを4つ思いつこう。

という予定は組めません。

だからと言って、ブレーンストーミングが無意味かというとそうではありません。

ブレーンストーミングによって以下のような利点が得られます。

  1. みんなが考えていることを知ること
  2. 中途半端なアイディアに肉付けできる

まず一つ目の「みんなが考えていることを知ること」ができれば、あとは帰り道に、もしかしたらシャワーを浴びているときに、ハッと創造的なアイディアが思いつくかもしれません。

脳は脱抑制の状態の時が、アイディアが浮かびやすいと言われています。

そのために、アイディアの元となる知見をたくさん共有するための利点はあるでしょう。

二つ目の「中途半端なアイディアに肉付けできる」というのは他のメンバーたちに自分が考えたアイディアを共有することでさらに派生していくことができるということです。

コンセプトアートや音楽を集める

ブレーンストーミングの代わりとして、個々人が好きな、何らかの感情を揺さぶられるようなアートや音楽を集めることが効果的だともわかりました。

Gravity HeadやOn a Rainy dayといった強烈なムードを持っているゲームは、サウンドトラックやアートが一体となってゲームプレイの決定がなされている場合があります。

実際に、そういったアートや音楽ドリブンのアイディアの考案も効果的でした。

頭の中でシミュレーションする

プロトタイプのプロトタイプを頭の中で作るという方法も挙げられています。

これはどういうことかというと、頭の中でゲームを遊んでいる人が「うわー!」と盛り上がっている瞬間を想像します。

そして、そこから逆算して埋めていくだけ。

何が彼らを楽しませているのか?彼らはどんな感情になっているのか?

ゴールから逆算してゲームを考えていくのです。

この方法は効果的で、最終的なプロトタイプの形が頭の中で構築されるので、実装中に試行錯誤する必要がありません。

結果的に初期段階で「設計を決定」することができ、開発もスムーズに進みました。

開発:「誰もどうやって作ったかなんて知らないし、気にしない」

最初におもちゃを作る

思いついたゲームプレイのコア機能だけを実現します。

スプリング機能であれ、群の挙動であれ、重力であれ、とにかく基本テーマのみを実装します。

それには勝ち負けも必要ありません。

ただコア機能となる振る舞いだけを実装して、遊んでみるのに数時間あれば十分でした。

避けれるなら避ける

これは、このプロジェクトで最も重要な教訓の一つです。

「正しい」解決策が「最良の」解決策とは限りません。

複雑なライティングやシェーディングと同じ効果のあるドロップシャドウやベイクドテクスチャがあるのならそちらを使いましょう。

自作のアルゴリズムを実装する前に、既存で代用できるライブラリがないか調べましょう。

「最良の解決策」を探すことが大事です。

損切り

全てのプロトタイプを成功させたいとは思わないことです。

もう少し時間と労力をかければ、、と思ってもそのプロトタイプに固執しないこと。

行き詰まったゲームのアイディアに素早く気づき、損をして次に進むことが重要だと結論づけました

バッドデザインは救えない

ゲームプレイヤーは開発者が思っている以上に賢く、手加減はすぐに見抜かれます。

ゲームシステム自体が陳腐な場合、どれだけ素晴らしい音楽、モデル、アートを駆使してもそのゲームは救われることはありません。

でも全体的な美意識は大事!

直前の理論に反しているようですが、洗練されたアートは悪いゲームデザインを救うことはできませんが、良いゲームデザインをさらに素晴らしくさせる力はあります。

だからと言って、壮大なグラフィック、サウンドを必要とするわけではありません。

まとまりのある構成を作り上げることが重要だと結論づけました。

誰も素晴らしい開発技術は気にしません

優れたエンジニアが、必ずしも優れたプロトタイプを作るとは限りませんでした。

「正しい」であったり「再利用可能な」コードというのはラピッドプロトタイピングにおける最適なコードではないことが多かったのです。

プロトタイピングでは、問題に対して様々な解決策をとにかく出して、早く作り上げることが重要でした。

なぜなら、エンドユーザーは、優れたコードを見ることはありませんし、気にもしないからです。

ゲームプレイ:「楽しい」体験はどうやって作られるか

「楽しさ」に「複雑さ」は必要ない

テトリスパックマン、などのゲームが証明しているように「楽しさ」には必ずしも複雑性は必要ありません。

特に、プロトタイピングではレンズフレアバンプマッピング、カメラブルームなどの技術は素晴らしいものですがゲームをより楽しくするものではありませんでした

簡単なプロトタイピングで、コアのゲーム機能が楽しいかを証明することに注力しましょう

所有者意識を高める

リプレイ価値が最も高かったゲームの特徴として、ある種の創造性やカスタマイズ性を持ったゲームであることがわかりました。

「他の人とは違う、自分を表現する」ということが所有者意識を高め、結果的に繰り返し遊ばれやすいゲームとなりました。

明確な目標を定義する

詳細に定義されたゴールに向かってプレイするゲームでは、しばしばゴールを忘れてしまいがちです。

そして、ゴールがなくなったゲームは「ゲームではなくおもちゃ」になります。

例えば、「X個のウィジェットをX時間内にX個集める」だとか、「悪いものに触れずに空間を横断する」などといったゴールがありましたが、

少しでも余計なもの(時間制限など)を感じさせないゴールを定義することは難しいことでした。

そして、最終的に見つけた最高のゴールは『Tower of Goo』のようにゲームプレイの一部として生来備わっているもので、このゲームのゴールは単純に「積み上げる」ことでした。

Tower of Goo

ゲームを新鮮にする

英文だと「ジューシーにする」と述べられていますが、つまりはユーザへの絶え間なく豊かなフィードバックを提供することです。

オブジェクトに触れると、跳ねたり、クネクネしたり、しぼんだり、音を立てたりなど。

プレイヤーがすること全てに反応することで、プレイヤーは自分が世界をコントロールしているような気分を得ることができます。

まとめ

最後に振り返りとして要点を一文でまとめておきます。

セットアップ

  • 失敗を許容してプロトタイピングを繰り返すこと
  • 「より時間を費やす≠より質が上がる」ことを認識する
  • 制限することで創造性が高まる
  • 客観的なアドバイザーを招く
  • チーム開発の効果を最大限発揮する

デザイン

  • 形式的なブレーンストーミングの成功率は0%である
  • コンセプトアートや音楽からデザインする
  • 頭の中でプロトタイプのプロトタイピングをシミュレートする

開発

  • コア機能だけでもまず作る
  • 「正しい」より「最適」な実装
  • 早期で芽の出ないプロトタイプを切る
  • 素晴らしいアートもダメなデザインは補ない
  • けれど素晴らしいアートは良いデザインをさらに高める
  • エンドユーザは誰もエンジニアリングは気にしない

ゲームプレイ

  • 複雑性は必ずしも楽しさに必須ではない
  • 所有者意識がユーザを繋ぎ止める
  • 「実験的」は「複雑」とは限らない
  • より明確に定義された簡潔なゴールを設定する
  • 新鮮に!

さいごに

プロトタイピングの手法として、非常に興味深い内容だったので日本語訳してまとめてみました。

面白いと感じたら是非元の論文も読んでみてください!

www.gamasutra.com