今回の記事は、もしあなたがゲーム開発を始めたばかりか、これから始めようと思っている初心者の場合は、特にご一読いただきたい内容になっている。最後までご覧いただけると幸いだ。


さて、あなたにはどうしても作ってみたい「夢のゲーム」があるだろうか?おそらくゲーム開発を始めた人や始めようと考えている人の多くが、おそらくそういったゲームを夢想しているのではないだろうか。そして、そのゲームには、自分がこれまでの人生でプレイして影響を受けてきたゲームの要素がふんだんに盛り込まれているはずだ。

察しがつくだろうが、今からこの記事では「夢のゲームは将来にとっておけ」という主張を展開する。しかし、この主張は真新しいものではなく、ゲーム開発初心者に対する助言として割とありふれたものでもある。なぜ、夢のゲームを寝かせておく必要があるのか、その理由を説明していこう。


夢のゲームに含まれがちな要素

夢のゲームにはどのような要素が含まれがちだろうか。ちなみに、ここで言う要素とは、ゲームの仕様や機能のことだ。以下に例として思いつくものをリストアップしてみたのでご覧いただきたい。

  1. マルチプレイヤー対応
  2. オンラインプレイ
  3. オープンワールド
  4. 高解像度ゴリゴリ3Dゲーム
  5. モーションキャプチャーによるキャラクターアニメーション
  6. AR / VR
  7. 機械学習を利用したAI
  8. ゲームの世界観、時代背景、キャラクター設定が超絶重厚なストーリー
  9. プレイヤーの選択で分岐するマルチエンディング
  10. キャラクター、モンスター、アイテムの数が膨大
  11. キャラクターのセリフの量が膨大
  12. キャラクター全員フルボイス

上記リストの中に、あなたの夢のゲームに当てはまる要素はあっただろうか。リストの要素を含むゲームの開発は、初心者にとって非常にハードな内容ばかりとなっている。もし、夢のゲームが上記リストに当てはまらない場合は、開発が比較的容易なゲームなのかもしれない。例えば、いわゆるカジュアルゲームと言われるようなジャンルのゲームが作りたいのであれば、それはこの記事の「夢のゲーム」の定義からは外れるので、初心者であっても開発を始めてしまって良いだろう。

上記リストにあるような要素を含むゲームを開発するには、2つの大きな壁が立ちはだかる。一つは「スキルの壁」、もう一つは「作業量の壁」だ。



スキルの壁

2つの壁
特にリストの 1 ~ 7 の要素を含んだゲームを作るには、高度な技術が必要になるので、開発を始めるためにはそのスキルの習得が必要だ。

ゲーム開発者に限らず、あらゆるエンジニアにとって、必要な技術を学習しながら開発することは割と一般的だが、基礎を習得せずして高度な技術を学習しようとすると、まずその難易度に圧倒されてしまうだろう。なかなかスキルが習得できないので、当然開発も思ったように進まない。高難易度の学習と開発の進捗の悪さによるストレスで、結果的にそのゲームプロジェクトを投げ出してしまうことになるだろう。これが、夢のゲームは将来にとっておくべき良い理由の一つだ。

基礎からコツコツとスキルを身につければ、効率的に学習できる。自分の現在の能力をわきまえて(しかし過小評価する必要はないが)、手の届く範囲のゲームを作りながら少しずつできることを増やしていくことがモチベーション維持にはとても重要なのだ。ある程度経験を積んで、スキルアップするまで、夢のゲームは一旦寝かせておこう。

一方、ある程度ゲーム開発の経験を積んでいるのに、まだ自分にはスキルが全く足りないと思い込み、夢のゲームに一向に着手しないでいる場合も、それはそれで問題だ。100% 必要なスキルが揃うことはまずない。基礎は理解した上で、わからないことを調査しながら開発を進めるのは、割と一般的なことだ。だから、十分にスキルを身につけている人は、もう夢のゲーム開発を始めてしまって良いはずだ。



作業量の壁

続いて、上記リストの特に 8 ~ 12 の要素が含まれるようなゲームは技術より、むしろ作業量が問題になる。もちろん、上記リストに含まれないものであっても、多くの要素をあれもこれもゲームに入れ込もうとすると、全体として作業量は膨大になる。この場合、自分一人の力ではどうにもならないことがほとんどだ。個人開発者にとって、歯痒い事実でもある。

昨今のAAA(トリプルエー)と呼ばれるような大作ゲームを想像してみて欲しい。例えば「ファイナルファンタジー」や「アンチャーテッド」、「モンスターハンター」などのシリーズの最新のナンバリングタイトルをイメージしてもらうとわかりやすいだろう。何百人という開発者たちがそれぞれの専門分野(ゲームデザイン、グラフィック、プログラム、ミュージックなど)に集中して作業し、それでも1〜2年、もしくはそれ以上開発し続けているのだ。単純計算で、100人で1年かけたゲームを一人で作る場合、100年かかる。つまり、自分の一生を捧げてもそのゲームを完成させることはできないのだ。自分の作りたいゲームがそのような大作ゲームなのであれば、ゲーム会社に就職するか、会社を立ち上げて仲間を集めることになるだろう。就職するにしても、技術力は問われるので、そういう意味でも自己研鑽を優先し、夢のゲームは就職したあとにとっておく、という流れになるだろう。

ただし、AAAタイトルの開発現場は、特に発売前の時期になると非常に過酷であることが多い、ということは付け足しておかなければならない。「ゲームは総合芸術であり、開発者は芸術家である」という考え方が歪曲して、「労働ではなく芸術に情熱を注いで没頭しているだけ」という価値観が浸透し、一般的な労働のあり方からかけ離れた状況になってしまうようだ。

個人開発で夢のゲームを形にするためには、ゲームに本当に必要な要素とは何なのか、しっかりと吟味して、それ以外の要素は思い切って切り捨てることを常に検討しなければならない。いかに省エネで開発し、いかにシンプルで面白いゲームを作るか、ゲームデザインの腕が問われるところである。引き算の考え方を常に持っておきたいものだ。



簡単なゲームから作る

簡単なゲームから作る

ところで、ゲーム開発初心者が、挫折しないでゲーム開発の技術を高めていくにはどうすれば良いのだろうか。それはまず簡単なゲームから作ることだ。

この理屈はなにもゲームに限った話ではない。例えば、絵を描くことや楽器を演奏することなど、どんなことでも簡単なところから学習していくはずだ。美しい絵を描くには、先にデッサン力をつけ、構図、遠近法などの理論を学ばなければ、説得力のある絵は描けないだろう。ギターなら、手のフォームや指板上の音の配置を覚え、和音やコード進行などの理論を理解した上で徐々に高度な演奏ができるようになるはずだ。誰も最初からゴッホのような絵は描けないし、クラプトンのようにはギターを弾けないのだ。

では、初心者にとって比較的簡単に作れるゲームとは何だろうか。それはずばり「ブロック崩し」だ。個人開発業界で著名な ひろはす 先生も YouTube 動画 で何度かおっしゃていた。また、ネットで検索するだけでも初心者向けのチュートリアルの題材としてよく採用されているのがわかるはずだ。

本サイトでもゲームエンジン Godot でのブロック崩しのチュートリアルを掲載している。ゲーム作りの基礎がかなり詰まっているので、何から始めようか迷っている人には本当におすすめだ。私自身もブロック崩しから始めて、多くの基礎を学ぶことができた。具体的には、ブロック崩しには主にパドルとボールとブロックの3種類のオブジェクトが必要なのだが、プレイヤーが入力操作して動かすパドル、物理演算で動くボール、動かないブロック、という具合にそれぞれの制御の仕方がわかりやすく異なるところが、まず初心者にはうってつけなのである。そしてそれらを一つのゲームとして組み合わせるわけだが、そうすると、ゲーム全体は小さな部品の集合体であることも実感できるのだ。

チュートリアル:
Godot で作るブロック崩し
【超初心者向け】ブロック崩しを作りながらUnityの基本的な使い方を解説します
ドット絵のブロック崩しをGameMaker Studio2で作ってみた【使い方講座】


他にも、初心者向けチュートリアルなんかでよく見かけるのは「ポンゲーム」だ。これはピンポン(卓球)のように左右両サイドのパドルでボールを跳ね返して遊ぶゲームだ。ブロック崩しととても似ているので、こちらも比較的始めやすいだろう。

チュートリアル:
Learn Godot by creating Pong


少し難易度は上がるが、こちらも比較的初心者向けのチュートリアルが多い「スペースアステロイド」系のゲームも初心者向きで良い。これは宇宙空間で戦闘機を操り、隕石を射撃して破壊し衝突を回避しつつ、敵機がきたらこちらが撃墜される前に撃ち落とす、というスタイルで、より高いハイスコアを狙うゲームだ。私も Godot Engine を使い始める前に少し GameMaker というゲームエンジンを使ってみた時期があったが、その時一番最初にやってみたのが、この「スペースアステロイド」系のチュートリアルだった。

チュートリアル:
Space Asteroid Arcade Shooter Godot Tutorial - CodingKaiju
My First Game - Intro to GameMaker - Space Rocks (Part 1)


最後に、自分が使うゲームエンジンに Godot を選択した場合は、初心者向けチュートリアルが Godot 公式サイトに用意してある。いわゆる回避ゲームだ。画面の外側から四方八方敵キャラクターが出現してくるので、それをひたすらかわすゲームになっている。基礎が学べるように考えて作られているのがよくわかる。また、あまり時間もかからず手軽に始められるのでとてもおすすめだ。

チュートリアル:
Your first 2D game
Your first 3D game

ブロック崩しなどでゲーム開発の基本的なことがわかってきたら、次は自分の夢のゲームに近いサンプル的なチュートリアルをやってみるのが良いだろう。

例えばメトロイドバニアというジャンルの横スクロールの探索型アクションゲームが作りたいのであれば、その基本となるプラットフォーマーのチュートリアルを一通りやってみるのが良いだろう。プラットフォーマーというのは、ファミコンやスーパーファミコン時代のスーパーマリオブラザーズシリーズのようなジャンプアクションがメインの横スクロールアクションゲームだ。

本サイトにもチュートリアルを用意しているし、他にもわかりやすいチュートリアルはネット上でたくさん見つかるはずだ。

チュートリアル:
Godot で作るブロック崩し
How to Make a Complete Game with Godot
Godot 2D Platformer tutorial : Ultimate Guide To Make Games
Godot Engine 3 - Platform Game Tutorial
Make Your First 2D Game with Godot: Player and Enemy (beginner tutorial part 1)



夢のゲームを分解して個別のゲームとする

夢のゲームを分解して個別のゲームとする

夢のゲーム開発に着手する段階まで来たとして、それだけに集中して長期間開発を続けるのは、実はかなり難しい。情熱というのはなぜか途中で消えそうになる時があるものだからだ。

そこで、自分の作りたい夢のゲームに複数の要素が含まれる場合は、その要素をバラして、それぞれを単体のゲームとして構成してみると良い。規模を小さくすれば挫折する危険性も格段に下がる。

例えば、パズルでモンスターとバトルして勝ったらそのモンスターをペットにして育成できるゲームが作りたいとする。その場合、まず先にパズルの要素だけで一つのゲームを作って、リリースしてみる。次に、育成の要素だけで別のゲームも作ってリリースしてみる。そしてそのあと、これら2つのゲームを組み合わせて新しいゲームとする。

もちろん、「既存の2つのゲームを組み合わせただけ」と思われないように、UIやキャラクターのデザイン、サウンドなんかをアップデートする必要はあるだろうが、根幹のゲームシステムはできあがっているから比較的早く完成させられる。このようにして、短いスパンで新しいゲームをリリースしつつ、自分の「夢のゲーム」の完成に少しずつ近づいていくことができるというわけだ。

短期間でゲームをリリースし続けるメリットは、開発のモチベーション維持にある。個人開発の場合、一つのゲームを年単位の時間をかけて開発していくとなると、様々な不安や飽きが生じてしまい、はっきり言って困難だ。途中で投げ出してしまったら、そこに費やした時間と労力は全て無駄になってしまう。しかし、小さなゲームでもコンスタントに完成させてリリースしていれば、良い頃合いで達成感を味わうことができ、モチベーションを維持しやすいのだ。また、個別のゲームに対するユーザのフィードバックを将来の夢のゲームに生かすこともできる。個人開発者にとって、これは非常に大きなメリットになるだろう。


おわりに

今回は、夢のゲームを諦めないために大事な以下のことをお伝えした。

  • 難しい技術が必要なゲーム開発はスキルが伴っていないと挫折してしまいがち。
  • 大作ゲームは個人では開発できないから会社に就職するか仲間を集めて会社を作る必要がある。
  • 簡単なゲームから作っていけば、モチベーションを維持しながら徐々に必要なスキルを習得できる。
  • 夢のゲームの要素を分解し、個別のゲームとして短期間でリリースしていけばモチベーション維持しつつ、夢のゲームを徐々に完成に近づけていくことができる。

すぐにやりたいことに飛びつきたい気持ち、面倒な基礎の学習はスキップしたい気持ち、すぐに成果を出したい気持ち、どれも当然だと思う。しかし、チュートリアルを見ながら、簡単なゲーム開発をやってみると、それはそれで新しい発見があったり、自己成長を感じられ、とても楽しいものなのだ。どうか基礎学習の食わず嫌いにはならないでほしい、と切に願う。また、「難しかったら簡単なところに戻る」つもりで、高度なゲーム開発にチャレンジするのは全く問題ない。気持ちが折れなければ何度でも立ち上がれるのだ。