私が11歳のとき、家族は486(66 MHz)プロセッサ、4 MBのRAM、32 MBのハードディスクを備えたAST“ Advantage!”を初めて購入しました。 当時でも最も強力なコンピューターではありませんでしたが、QBasicが搭載されていました。 私はいつもゲームを作りたかったので、すぐにプログラミングに没頭しました。
QBasicに満足しているという理由だけで、今後10年ほどQBasicにとどまりました。 私はたくさんのシューター、プラットフォーマー、そしてたくさんの奇妙なゲームを書きました。 1つは「Kill the Innocent」と呼ばれていました( ここからダウンロードできますが、 動作させるにはDosBoxが必要です )。 線から描かれた人々はスクリーン上の橋を渡って歩き、プレイヤーはショットガンから狙いを定めて殺します。 シリンダーハットを人の頭から地面にスムーズに下げるための詳細なシステムと、ショットガンで撃つことで空中で人の頭をジャグリングできる非常にシンプルな物理システムをエンコードした方法を覚えています。 (それは当時のビデオゲームの残虐行為に対する私の無意識の反応だったと思います。私は間違いなくこれを認識していませんでした、それはちょうどDoomが私のASTアドバンテージで非常に頻繁に起動されたというだけでした )。
無実の人を殺す
一番下の行は、私は実際にプログラミングを学んでいないということです。 同じ10個のキーワードを何度も繰り返し使用しました。 すべてがハードコーディングされており、モジュール性も考えられていませんでした。 言い換えれば、私はプログラミングを学ばなかった。 iPhoneはもちろんのこと、「スプライトアトラスをインポートする」方法やWindowsアプリケーションを作成する方法がわかりませんでした。 私はただのプログラマーではありませんでした。
コードを書くことを学ぶのが難しい
若い頃から30歳まで、私は何度も何度も何度も何度も試行錯誤して、より現代的なものを書くことを学びました。 私は「 Learn [ここの言語名] 」 という本を買って、それらの最初の3つの章を読んで、あきらめました。
なぜあきらめたのですか? 一般的に、私には複雑すぎるように思えました。 具体的には、私が努力することは特に困難でした。 今、私は、プログラミングには特別なタイプの忍耐と、「私は答えを見つけることができます」というほとんど宗教的な信念が必要であることを理解しています。
おそらくその理由の一部は、私が「ヒューマニスト」だったからです。 私は学校で数学と科学を本当に理解していませんでしたが、音楽、美術、執筆で成功しました。 自分は「創造的な人」だと思っていたので、コンパイルエラーが発生し、1、2、3、4、5回修正できなかったとき、「結局、私はプログラマーではなく、必要だ」と考えるのは簡単でした。問題を解決するプログラマー。」
最後に、他のすべてのものと同様に、あなたは最初にそれができると信じなければなりません、そしてあなたはそれをします。 しかし、信じることはそれほど簡単ではありません。
デザイナーではなく、プログラマー
私はプロのゲーム開発者としてのキャリアの最初の10年間で、グラフィック、音楽の作成、サウンドの作成、グラフィックデザイン、ウェブデザイン、スクリプト、ゲームデザイン、その他の専門分野で重要な、または主導的な地位にありました。 文字通りの意味で、 私は高品質のゲームを作成するために必要なほとんどすべてのタスクに従事していました*プログラミング*を除く 。
残りをやるなら、誰か他の人がプログラミングをするのは論理的だと思いました。 それが私の意見でした。 時には、ゲームを作成するために他の多くの作品を作成するだけでなく、プログラムを作成するべきだという考えに激怒することさえありました。 このギャップを埋める人を見つける必要があります。
しかし、実際には、これは論理的であり、非常に実行可能であると言えます。 説明してみましょう。 あなたはデザイナーとして働くことができ 、プログラミングの方法を知らないのです。 ゲームデザイナー、アーティスト、作曲家を必要とするチームを見つけ、これらの役職を務めました。
これをすべて実行できるが、自分をゲームデザイナーと見なすのであれば、そこでやめることはできないと思います。
ゲームデザイナー( 実際のゲームデザイナー)は、システムを実験し、一連のルールの一部として何かをしようとする人です。 技術的には、パズルやタワーディフェンスで通常のプラットフォーマーを作成するのはもちろんゲームデザイナーですが、私はそのような人のことを言っているのではありません。 Flappy Birdクローンの「設計」に携わっている場合は、プログラムしない方がよいでしょう。
新しいインタラクションシステムを実験している私のような人々にとって、「プログラマーを見つける」計画は単純に非現実的です。FlappyBirdクローンとは異なり、本格的なゲームを初めて設計するのは難しいからです。 または10日から。 または百分の一から。 朝の2時に稲妻が好きなアイデアを実装する柔軟性が必要です。 1〜2日メッセージを受け取らない人に手紙やタスクを書くのは長すぎます。
個人的にゲームのテストサイクルに参加し、システムを常に改善する必要があります。 変数を設定し、レイアウトを変更することにより、これに参加する必要があります。 そうしないと、小さな変更でも時間がかかる場合に、「電子メールで再生する」という問題が発生します。
ゲームに費やす時間が限られていることを忘れないでください。そのため、最大限に使用する必要があります。 プロジェクトプログラミングに携わる設計者として、開発期間に適合する「反復サイクル」の数を大幅に増やすことができます(これらの用語の時間に関係なく!)。
そして最後に、プログラマーと仕事をするとき、「適切な設計上の決定を下す」ことと「自分の時間を尊重していないと人に思わせること」の間のバランスを見つける必要があることに気付きました。 ほとんどの場合、プログラマーに何かを書くように頼むと、彼の作品がゴミ箱に捨てられることが後でわかります。 これが起こる可能性があることを人々に警告することと、「ところで、先週書いてくれと頼んだ部分について-それをあきらめなければならなかった」と伝えることはまったく別です。 誰かを混乱させる可能性があるため、適切な設計上の決定をするのを少しでもためらうような立場になりたくありません。
ボードゲームはどうですか?
ボードゲームはゲームデザインを学習するための優れたプラットフォームであり、一部のデザイナーは、その哲学と目標がそのようであれば、一生ボードゲームを作成できます。 ただし、興味深い点があります。優れたデザインのビデオゲームよりも優れたデザインのボードゲームが多数あるという事実にもかかわらず、環境のようなボードゲームには特定の問題があります。 多くの人は、たとえば、ターンベースのステップが嫌いな人、ルールを学習したくない人、クールなコンピューターグラフィックスを備えたDLCが欠けている人など、ダッシュボードが悪いと考えています。 しかし、これらは本当の理由ではありません。 ボードゲームの本当の問題は次のとおりです。
- 物理コンポーネントを操作すると、特定の問題が発生します。 情報の範囲を微調整することは困難です。
- 低い「実用的な情報の密度」 -プレイヤーがルールで混乱する可能性があるため、情報の密度-ゲーム要素ごとの情報量-は非常に小さくなければなりません。 これについての詳細と、私の時計仕掛けのゲームデザインポッドキャストの このエピソードの前の段落を聞くことができます。
- 高速フィードバック 。 ビデオゲームを作成し、ネットワーク上に置くと、数時間で多くの人、見知らぬ人からのフィードバックを受け取ることができます。 ボードゲームに関するフィードバックを得るには時間がかかり、実際の生活の他の制限に苦しんでいます。
- 収益の観点からはあまり実行可能ではありません -多くのデザイナーは自分の職種でキャリアを作りたいと思います。いくつかの例外はありますが、段ボールや紙ではなくコンピューターアプリケーションで作成する方が簡単です。
一般に、ボードゲームはデザイナーが自分のクラフトを作るための素晴らしいトレーニングの場であり、ほとんど何でも非常に良いゲームを作ることができると思います 。 優れたデスクトップを作ることは優れたビデオゲームよりもはるかに難しく、優れたビデオゲームを作成することはほとんど不可能だと思います。
プログラマになる
Auro:A Monster-Bumping Adventureの開発には6年かかりました。 主な理由は、これがオリジナルの戦略ゲームであり、私がそれを正しくしたかったからです。 何か特別なものを作りたくない場合は、2011年に定期的で退屈なローグのようなものをリリースできます。 したがって、私たちは試してみました。
しかし、ある時点で、プログラマーは他の作業を行う必要があったため、新しいものを採用しました。 そして、もっともっと。 その結果、2013年の終わりまでに、私たちはほとんど「プログラマーを使い果たしました」、そして時々 Auroが停止しているように見えました。 この状況では、他のオプションは表示されませんでした。プログラミングを習得する必要があります。そうしないと、すべての作業が無駄になります。
この状況は、私が年をとってより忍耐強くなったという事実だけでなく、快適になってコードベースを研究することを可能にしました。 その結果、私自身が最終的なAuroコードの大部分を書きました!
その後、 UdemyでオンラインのUnityコースを受講し 、プログラミングパターンや類似のトピックに関する本をいくつか読みました。 明らかに、まだまだ長い道のりがありますが、少なくともプロトタイプを作成して自分で処理できるレベルに既に達しているため、ゲームデザイナーとして信じられないほどの自由が得られます。
理想的な世界では、デザイナーは、特に大規模で複雑なゲームの場合、コードの作成、優れた構造の作成、コードベースでの秩序の外観の維持に本当にプロフェッショナルな「リーディングプログラマー」がいると思います。
しかし今、私は私のようなデザイナーが、新しく、興味深く、深い相互作用システムを作成することを望んでいるので、単にコーディング方法を学ぶ義務があることを知っています 。 他人に頼ることはできず、紙や厚紙に頼ることはできません。 あなたがする必要があることをしてください-先生にお金を払って、コースに申し込むか、単に本で部屋に閉じ込めてください。 もちろん、John Carmackになり、アセンブリ言語などで新しいエンジンを作成する方法を学ぶ必要があるとは言っていません。 Game MakerやUnityなどのツールを使用して、ゲームのアイデアをプロトタイプに変換する方法を学ぶ必要があります。
あなたが「創造的な人」なら、ビデオゲームがあなたを待っています!