前回の Developing で、僕はゲームエンジンの
Unity を選んで使い方を学び始めた
だが今度は、自分の作品の
アイデアを披露して…
制作に取りかかるときが来た
でも、ゲーム開発は
どこから手を付けたらいいのか?
これは死ぬほど重要な問題だと思う
というのも
これからお見せするように——
開発を始めるときに
間違った方向へ進んでしまうと
その企画が悲惨なことに
なるかもしれないからだ
いまから説明しよう
Developing - Episode 2
このゲームのアイデアの話から始めよう
僕が作ろうとしてるのは…
覚悟して聞いてくれ
クレイジーな 2D 横スクロール
プラットフォーマーゲームだ
そうだ 独立系開発者はみんな
横スクアクションを作るところから出発してる
だが僕にも相応の理由がある
僕はこのジャンルが大好きだし
プラットフォーマーは総合的に見れば
比較的作りやすい
少なくとも MMO とは違う
僕はこの形式のステージやキャラ設計の動画を
たくさん作ってきたし
それが役に立つはずだ
さて、これもまた…
もう一度覚悟して聞いてくれ
独自のひねりを加えるつもりだ
僕のゲームのアイデアは
磁力をもった主人公だ
つまりある足場から反発したり
別の足場に引っ張られたりする
ボタンを押すだけで
極性を変えられる
実はこのアイデアは
ここから思いついた
『ゼルダの伝説:ふしぎの木の実 大地の章』だ
このゲームには「マグネグローブ」という
アイテムがある
リンクがある場所から反発したり
そこへ向かったりできる
デカイ鉄球を拾ってパズルを解いたり
戦闘に使ったりもできる
クールな仕様だが
多少の制約があるように感じる
このジャンルや俯瞰のカメラ視点による制約や
もちろんゲームボーイの技術的な限界もある
そこで僕は考えた…
このアイデアを借りて、別のジャンルに
当てはめたらどうなるだろう?
『Celeste』や『Super Meat Boy』とかの
テンポの速い 2D プラットフォーマーに足すわけだ
磁力を会得して、高速に、流動的に
正確に操作するゲームだ
これが僕の構想だ
そして今の問題は
どこから始めたらいいのか?
ってことだ
すぐに Unity でコードを
書き始めればいいのか?
急いで Photoshop で
何か絵を描けばいいのか?
物語の展開やキャラとかを
考えたほうがいいのか?
どこから始めれば良いんだ?
ぶっちゃけた話をすると
これは僕が初めて作ろうとしたゲームではない
僕は子供の頃からゲームのアイデアを
何個も考えていて
人生のいろんな場面で、色々なツールで
そういったゲームを作ろうとしてきた
でもこれらのゲームが完成したことは
ほとんど無かった
そしてその原因は毎回同じだと思う
間違ったやり方で始めていたからだ
ご覧いただこう
このフォルダは僕の実家から
持ってきたやつで
僕が作ろうとしていたゲームの
メモや下絵や構想がいっぱい入ってる
Game Maker’s Toolkit を始める
数年前のことだ
こいつは『Starcraft Ghost』の
マウスパッドだ
これ開発中止になったやつだろ?
eBay に出品する価値があるかもな
それでこれは『カーターの呪い』という
題名になる予定だった
ツタンカーメンの墓を発見した有名な考古学者
ハワード・カーターのゲームだ
少なくともゲームの中では
古代エジプトの呪いを目覚めさせてしまって
ゾンビ、ミイラ、古代エジプトの神々と
戦うハメになる
何時間もかけてこういう絵とかを
描いていたのを覚えてる
なんてオタクなんだ!
ともかく
じゃあどうやって敵と戦うのか?
答えは…ピクロスをやることだ
ピクロスは論理とマス目のパズルで
数独にちょっと似てる
任天堂はたくさんの
ピクロスゲームを作ってる
僕は『Bookworm Adventures』みたいなゲームに
かなり影響を受けた
下画面にパズルがあって
それを解くと、上画面の小さな戦闘シーンで
敵にダメージが入る
僕のアイデアも同じで
下画面でピクロスをやって
ハワード・カーターが
上画面で怪物と戦う
それで僕はすぐに開発に取り掛かった
Codea という iPad アプリを使った
iPad 用に iOS ゲームを作れるアプリだ
僕は以前、これで iOS 用のごく普通の
ピクロスアプリを作ったことがあって
コードは自分で書けるだろうと思ったが
グラフィックスは最高のやつにしたかったから
すぐに Photoshop を起動して
素材やアニメをたくさん作った
Dropbox のフォルダにはドット絵の素材や
アニメーションがたくさん保存されている
色んなキャラを大量に作ったし
ハワード・カーターの
必殺技も作ったし
冒頭のカットシーンも作ったし
メニュー用の大きな
生き生きしたボタンも作った
僕は本当に夢中で作った
だが僕はあることに気づいた
かなり重要なことだ
かなり…致命的なことだ
この企画にとっては
ゲームは全然ダメだった!
とてもお粗末で全然面白くなかった
コードを書けば書くほど
開発すればするほど
何が問題なのかが分かってきた
ピクロスは、この種のゲームとしては
深みが欠けている
戦法も戦略もないし、戦う敵に応じて
行動を変えることもできない
突き詰めると
この戦闘には実体がなかった
上画面を丸ごと無視しても
ゲームはそのまま成立する
だってピクロスを
解いてるだけだから
つまり敵の種類に応じてもっと難しくしたり
もっと面白くしたりすることはできないし
プレイヤーは同じことを何度も
繰り返すだけってことだ
僕が作ったのは、浅くて作業的で
退屈なゲームだった
修正できたかもしれないが
僕はその時点でボロボロで
すっかり落ち込んでいたから
そこで全てを破棄してしまった
で、僕は何を間違えたのか?
これは何年も経った後に分かったことだが…
もう 10 年近くになるが…
失敗した理由は明白で
つまりこうだ
ゲームを作るときは
制作しなきゃいけないものが色々ある
主なものと言えば、音楽、アート
ゲーム設計、物語、そしてコードだ
これらの要素が平等だと考えるのは簡単だが
実際はそうじゃない
多くの場合「ゲーム設計」は同等ではなく
他の全ての要素が乗っかる基盤になる
だから設計を間違えると
全体が崩壊してしまう
つまりバグやグラフィックの
修正はできたとしても
ゲームプレイに根本的な欠陥があると
企画そのものが救出不可能になることがある
僕の失敗はほぼこれだった
絵とアニメに時間をたくさん費やしてしまい
ようやくゲームプレイに手を着けたときに
何もかもが欠陥だらけだと気づいた
要するに僕はグラグラする地盤に
家を建てたくせに
トイレが床から抜け落ちて
ビックリ仰天してるわけだ
恥ずかしいことに
僕はこれを何度もやらかしてる
僕はポイントクリック型の犯罪捜査ゲームに
独自の手がかり自動生成システムを載せようとしたが
あまりに多くの時間を
物語や時代考証に費やしてしまって
そのシステムを実際に
設計する余裕がなかった
また携帯ゲーム『Snake』を
現代的なハイテンポゲームにしたかったのだが
バグ修正や挙動のコードを
完璧にするという泥沼にハマってしまい
このゲームが面白いのかどうか分からないまま
飽きて燃え尽きてしまった
つまり、僕は自作ゲームを
設計しようとするたびに
物語やグラフィックとかの他の要素を
遊びよりも優先させてきた
なんでだ?
結局のところ、非常に間違った
2つの誤解をしてたのが原因だと思う
誤解1は、僕のゲームは頭の中では
いつもクールなものに感じられたから
これを作ったら面白いだろうと
思い込んでしまったことだ
明らかに
これは間違いだった
誤解2は、そのゲームが面白いかどうかは
完成するまで分からないという思い込みだ
制作をひたすら続けていけば、ある時
それが良いものかどうか分かる…だろ?
いや、これも間違いだった
こう言うと
非常に格好悪いのだが
今となっては答えは明白でも
当時の自分はよく分かっていなかった
Game Maker’s Toolkit を
やるようになって
ゲーム開発を調査して
数十人ものゲーム開発者に
取材してきたからこそ——
大人気ゲームの原点が
分かるようになった
ゲーム開発者にはいつも
たくさんのアイデアがある
頭の中では
驚くほど楽しそうに見える
だが一番の開発者は、自分の脳みそが
臭い嘘つき野郎だと知っている
ゲームのアイデアが良いかどうかを知る唯一の方法は
それを作って試すことだ
だがゲーム全体を作るのではなく
開発者が作るのは…
「試作品」だけだ
試作品とは、アイデアを具現化した
小さい断片的な実験台で
そのアイデアが楽しいかどうかを
ただ確認するために作られる
こうした試作品は
通常信じられないほど不格好で
未完成のアートや、簡単な図形や
他からパクったドット絵とかで出来ている
バグだらけで壊れてることが
ほとんどで
思いついたシステムを試すために必要な
最低限の機能だけで出来ている
できるだけ短時間で作られた
機能的に十分なバージョンのゲームで
唯一の目的は
アイデアが機能するかどうかの確認だけだ
それは楽しいのか?
興味深いのか?
追求する価値があるのか?
ゲームの残りの部分を構築できる
強固な基盤になっているのか?
これが僕のやることだ
今度はちゃんとやるぞ
試作品を作ることだけに専念して
徹底的に自制心を持って
ゲームのアイデアを試すこと以外は
何もしないつもりだ
絵はググった画像でやりくりする
音楽も物語も用意しないし
ゲームの題名や主人公の名前も考えない
まだ作ってもないゲームの
アプリアイコンを考えることもしないぞ
マーク、お前アホだな
まだ Unity は勉強中だから、コードは
間違いなくバグまみれで壊れてるだろう
だがアイデアがイケるかどうかは
十分確認できるはずだ
ゲームのシステムを試して
楽しさを調べるただの遊び場だ
それじゃあ
早速 Unity を起動しよう
まず必要だったのは、左右移動と
ジャンプができるキャラクターだ
そこで右キーを押した時に
リジッドボディ(剛体)に力が加わるようにした
ここで既に不具合があって
幸先の良いスタートではなかったが何とかなった
次にこのシーンに磁石を置いて
キャラが磁石へ引っ張られるようにする必要があった
これを実現させるには
自分が熟練プログラマーになるしかないから
銀河系コーディング能力を
発動するハメになった
それで指の柔軟をしてから
次のような文字列を入力した
「リジッドボディを他の物体の方へ動かす方法」
これをググって、コードを見つけて
僕のゲームに貼り付けた
だがしっかりと
その仕組みを理解しておいた
要は、キャラと磁石の間の方向を検出して
リジッドボディに加える力をその方向にするわけだ
また磁石に近づくにつれて速度が上がるように
コードを微調整した
次にボタンで磁力を消せるようにした
これで思惑通り、キャラの移動速度が維持されて
空中へ飛ばせるようになった
つまり、ここに足場を置いとけば
キャラを磁石で引き寄せてから
磁力を消して
ここへ飛び乗ることができる
かなり良い感じだが
制御するのはちょっと難しい
このコードは完璧じゃないから
すぐに手に負えなくなる
だが調べてるうちに、偶然にも
Unity で本当に便利なやつを発見した
これはポイントエフェクタと呼ばれる
組み込みコンポーネントで
要は磁場を作ってくれる
なんでこれを見落としたのか分からないが
こいつのアイコンはただの磁石だ
その仕組みはこうだ
GameObject にコライダー(当たり判定)と
ポイントエフェクタを付けて
引き寄せる強さを設定する
リジッドボディがコライダーの中に入ると
磁場の中心に引き寄せられる
Unity のレイヤーマスクを使って
特定の物体だけを引き寄せることもできる
これで間違いなくゲームが作りやすくなったから
試作品を作り直すことにした
なるほど、ゲームが
しっかりした感じになった
これなら微調整しやすいし
クールなこともできる
例えばくっつく箇所を磁石の両極に置くと
こうなる
良い感じだ
だが2つ目の試作品を作ったとき
どうしてか分からないが
今度はマリオを使わずに
主人公を磁石の絵に替えることにした
すると、あるアイデアが浮かんできた
キャラを磁石にするのではなく——
ゲーム世界に磁石が置いてあって
キャラが歩いて行って磁石を拾うのはどうだ?
これを実現するために
Unity のジョイント機能を使った
こいつは別の
組み込みコンポーネントだ
これで2つのリジッドボディを
色んな種類のジョイントで繋げられる
蝶板やバネみたいにできる
これでキャラが磁石を持つようになって
磁石が金属片に引き寄せられると
キャラも一緒に移動する
磁石を手放すとまた歩き回れる
僕が以前やりたかった遊びは磁石の軌道を使って
キャラを高い足場へ飛ばすというやつだが
これなら空中で磁石を手放すだけで
実現できる
さらに2つ以上の磁石を使ったり
色んなことが可能になる
例えば、磁石をここに置いてから
敵が追ってくるようにして
磁力を消すと…
ペシャ!
おぉ~ これやってみたら
ちょっとクールだな
これはイケるかもしれない
突然このゲームが当初のアイデアよりも
ずっと面白いものになった
正直、最初のアイデアに
少し不安になってきていたのでね
キャラが磁石になって引っ張られたり反発したりすると
制御不能になったと感じやすい
だが磁石を独立させたことで
キャラを完全に操作できる時間と——
磁石を掴んで
制御不能になる時間ができる
それと磁石キャラの場合、僕がそこで
どれだけアイデアを思いつけるか少し心配だった
だが磁石とキャラの2つに分けた途端
どんどんアイデアが湧いてきた
それに、僕は2種類の遊びが
行ったり来たりするゲームが好きだ
例えば『マリオオデッセイ』は
帽子が無いときにプレイが変わる
つまり磁石を持ってないとき
キャラは軽快に動いてジャンプ力も高いが
磁石を持ってるときは
重く、遅くなる
だが当然、磁石のおかげで
あらゆる凄い発展性が考えられる
ところで、試作する過程でもっと良いアイデアが
出てきたことは驚きでも何でもない
GMTK の動画「ゲームが自らを設計する」で
紹介したように
試作中に新たなアイデアが浮かぶことは
よくあることだ
『Crypt of the Necrodancer』を
見てみよう
元々の設計では、ターンの制限時間が
厳しいだけのローグライクになるはずだった
だが開発者が作ってみると
キャラを時間制限ではなく——
曲のビートに合わせて動かせば
もっと面白くなると気づいた
つまり試作品はアイデアの有効性を
検証するためだけじゃなく
もっと良い新たなアイデアを
生み出すためのものでもある
さて、この段階で Unity で
もう1つ面白い発見をした
「Sprite Shape」と
呼ばれるやつだ
一般的には『Ori』にあるような
クールで有機的な地形の作成に使われる
だが僕は単色の地形を
置くだけで十分だったから
これで地形を本当に速く
作れるようになった
Photoshop みたいにハンドル線をドラッグするだけで
簡単に試作品のエリアを作れた
それで再び試作を始めたのだが
今度はもう少し操作しやすいキャラにしたかった
実際のゲームキャラに近づけたい
挙動やジャンプのコーディングという
泥沼にハマるのは避けたいので
キャラ制御のスクリプトを
ネットからダウンロードした
これは本当に出来がいいから
将来的には微調整や作り直しとかに専念できる
でも今はそういうことに
時間をかけたくないのでね
またこの試作品で
僕は追加仕様の検討を始めた
磁石を投げた後で、ソーのハンマーみたいに
呼び戻すことができるようにした
磁石のリジッドボディ(剛体)が
キャラのリジッドボディにぶつかるので
磁石を掴んだとき
こういうちょっとした手応えがある
無料ゲームっぽい感触だ
すごい
それから磁石を活用させる
色々な状況を考えた
例えば、壁に投げて足場にするとか
ピストンにくっつけた後
タイミングよく離して飛ばすとか
2つのベルトコンベアの間で
極性を切り替えて移動させるとか
他にも、この足場を重みで下げて
その上に立った後で
磁石の極性を変えて
空中へ大ジャンプするのはどうだ?
ワォ、こいつはかなりクールじゃないか?
これはまるで…
ビデオゲームみたいだ
かなり楽しいぞ!
そしてこの時、このゲームのアイデアには
確かに可能性があると感じた
このゲームは独創的だ
僕はたくさんの磁石ゲームを見てきたが
こんなゲームは世間に無い
こいつはジャンプアクションと
パズルの両方の遊びができる
このゲームのアイデアは簡単に湧いてくるから
色々なステージを大量に作れそうだ
何よりも最高なのは
遊ぶのが本当に楽しいってことだ
Unity でこのシーンに飛び込んで
コントローラを手にするだけで——
かなり楽しめる
これは間違いなく
とても良い兆候だと思う
だからこれが
試作品の力というわけだ
試作を活用して、ゲームのアイデアが
良いかどうか試すことができる
そして運が良ければ、試作の段階で
新たなアイデアが生まれるかもしれない
ここではある程度の
自制心が必要になると思う
自分を律して言う必要がある
「今は余計なことには見向きもせず
遊びだけに集中するつもりだ」
これは難しいぞ 僕はこの1週間の様子を
みんなに見せなかったが
僕はパーティクル(粒子)エフェクトや…
シェーダーや UI とかを
調べるとかして過ごしていた
僕は昔の行動にすぐに戻っていた
どうでもいいことに気を取られ
それに夢中になってしまった
だが運良く、自制心を取り戻し
その試作品を破棄して、大事な作業に戻った
最終的には上手くいったと思う
最終的に出来たものは
かなり楽しくて、可能性を秘めていて
取り組むことに
ワクワクできるゲームだ
僕がもっと若い頃に
作ろうとした以前のゲームは
「楽しいゲームになるだろう」という
盲目的な希望によって作られていたが
そんなやり方でゲームを作っても
自信を失うだけだった
でも今は、強固な土台の上に
作っている感じがする
他の全要素
つまり物語、音楽、絵などが——
土台がしっかりしているという
確信のもとで制作できる
そういうわけで
これがゲーム制作の始め方だと思う
「試作品を作ること」だ
問題なのは…
「次は一体何をすりゃいいんだ?」
ってことだ
これは次回の Developing で
分かると思う
ご視聴ありがとう
この旅の次回の動画も
視聴してくれることを願ってるよ
さようなら
(字幕翻訳:Nekofloor)
実はこのアイデアは
ここから思いついた
『ゼルダの伝説:ふしぎの木の実 大地の章』
…チクショウ
ここから…おっと!
から思いついた
ここから思いついた
ここから…
ここから
『ゼルダの伝説:ふしぎの木の実 大地の章』
このゲー…
実はこのアイデアは
ここから思いついた
『ゼルダの伝説:ふしぎの木の実 大地の章』
今のは良かったな