ビデオゲームのプログラミング方法

ページ名:ビデオゲームのプログラミング方法

電話、ブラウザ、コンピュータ、コンソール:ビデオゲームはかつてないほど人気があり、普及しています。 チュートリアルやアセット集、ゲーム制作ソフトのツール、専門家のアドバイスも以前より多く見かけるようになりました。 自分のゲームをプログラミングするには、まだスキルと忍耐が必要ですが、どんなレベルのコーダーにも十分なリソースがあります。

Part 1

Getting Started

  1. ゲーム エンジンについて考えてみましょう。 特に最初のゲームでは、車輪を再発明してゼロから独自のゲーム エンジンを書くゲーム開発者はほとんどいません。 すぐにゲームに飛び込みたいが、プログラミングの機会はたくさんある、という場合は、ゲームエンジンを使うのがよいでしょう。 エンジンには通常、3D モデルを変更したり、イベントをスクリプト化したり、その他の一般的なゲーム アプリケーションのためのより高度なツールが含まれていますが、それでもプログラミングを実践する機会はたくさんあります。
    • プログラミングを多用する人気のある例としては、Unity、UDK、Unreal Engine 4、CryENGINE などがあります。
  2. フレームワークやその他のツールを使用する。 フレームワークはゲーム エンジンの一歩下ですが、時間を節約し、コーディング プロジェクトを合理化するための一連のツールと API (アプリケーション プログラム インターフェイス) を提供します。 最初のゲームプロジェクトに使うソフトウェアとしては最低限必要なレベルであり、プログラマーとして自己紹介しやすいか、ゲームエンジンの舞台裏に深い興味を持っている必要があります。 使用するフレームワークやゲームエンジンによっては、3D グラフィックスを作成するための一般的な OpenGL のような、追加の特殊 API で作業を行いたいと思うかもしれません。
    • Polycode、Turbulenz、および MonoGame は、2D ゲームと 3D ゲームの両方を念頭に置いて作成されたフレームワークの例です。
  3. IDE を試してみましょう。 統合開発環境は、複雑なプログラミング プロジェクトを簡単に構築できるようにする、汎用コンパイラとソース ファイルのコレクションです。 IDE を使用すると、ゲームのプログラミングがより便利になります。
    • Visual Studio と Eclipse が 2 つの例ですが、他にもたくさんあります。
  4. プログラミング言語を学びましょう。 上記のツールのほとんどは一般的なプログラミング言語をベースにしているので、付属のチュートリアルに従えば、素晴らしいスタートを切ることができます。 十分に強力なプログラミング言語であれば、ほとんどすべての言語でゲームを作成できますが、最も一般的な言語は、すべてのデバイス用のC++またはC#、ブラウザ用のFlash ActionScriptまたはHTML5、モバイルデバイス用のJavaまたはObjective Cです。 これらは、最終的に既存のゲームスタジオに雇われることを目指すのであれば、良い選択肢ですが、独立したゲームの多くは、Python、Ruby、または JavaScript を使用して作成されています。
Part 2

ゲームを作る

  1. ゲームの企画を作る。 ジャンル、ムード、ゲームプレイのタイプなど、ゲームのコンセプトをできるだけ具体化してから始めましょう。 コンセプトがはっきりしないうちにプログラミングを始めると、かなりの量の作品をバラバラにして書き直さなければならなくなる可能性が高い。 これはおそらくいずれ起こることですが、しっかりとした計画があれば、このような出来事を最小限に抑えることができます。
    • 最も実験的なゲームを除いて、すべてのゲームには進行アークがあります。 プロットやキャラクターについての発見、ストーリーに影響を与える決断、新しい能力や高いステータスの獲得、新しいエリアの探索、どんどん難しくなるパズルの解決などです。
  2. アート アセットを集めましょう。 ゲームに必要なすべてのテクスチャ、スプライト、サウンド、モデルを収集または作成します。 フリーのゲームアセットのコレクションはたくさんあるので、検索してみてください。 2D ゲームを作成していて、手伝ってくれるアーティストがいない場合は、自分でピクセル アートを作成することもできます。
  3. ゲームをスクリプト化します。 スクリプトは、エンジンにいつ何をすべきかを指示します。 オープンソースのエンジンを使っているのなら、すでにスクリプト言語があり、おそらくチュートリアルで使い方を教えてくれるだろう。 自分でエンジンを作った場合は、自分でスクリプト言語を作らなければなりません。
    • ユーザー入力をチェックし、結果を処理し、他のイベントを処理し、表示する必要があるものを計算し、グラフィック カードに送信する、常時実行されるゲーム ループ。
    • イベントをチェックし、イベントが発生したときに応答する「アクティブ リスナー」スクリプト。 たとえば、あるスクリプトは、プレイヤーがドアとインタラクトするのを監視し、"open" アニメーションを実行し、ドアを衝突しないようにします。
  4. 個々のレベルを作成します。 レベル デザインは、文字通りの「レベル 1」、プレイヤーが探索できるエリア、または格闘ゲームの次のラウンドを含むかもしれませんが、プログラミングとは関係のないスキルが試されます。 典型的なゲームプレイを紹介するシンプルなレベルから始め、環境を移動するジャンルの基本的なガイドラインに従います:
    • エリアの基本的なアウトラインを作成します。 この道に沿ってチャレンジとベネフィット(アイテム)を追加します。 アドレナリンと興奮を得るには近くに、リラックスした雰囲気を得るには遠くに配置します。
    • グラフィック要素の追加を開始します。
    • ゲームプレイ、スタイル、設定に合わせましょう。 たとえば、サスペンスフルなホラー ゲームは、奇襲攻撃によって中断される空虚な探索のストレッチで繁栄します。
  5. あなたのゲームをテストしてください。 今、あなたはすべてのハードワークがどのようになったかを見ることができます。 各レベルを磨きながら、そして「完成」した後も何度もテストしてください。 より難しいエリアを最初にプレイするなど、あなたが意図していなかった方法でゲームをプレイすることを意識的に試みること。 さらに良いのは、ゲームについて新鮮な目を得るためにプレイテスターを見つけ、できるだけ多くのフィードバックを求めることです。
    • まだゲームに追加されていない基本的なチュートリアル情報でない限り、アドバイスを与えずに誰かがプレイするのを見守りましょう。 イライラさせるミスや、プレイヤーが「行き詰まる」ポイントは、もっとガイダンスを含める必要がある兆候です。
    • ゲーム (または少なくともレベル) がかなり完成したら、プレイテストを手伝ってくれる見知らぬ人や知り合いを探してみましょう。
  6. 次のステップに進みましょう。 プロジェクトが完成したら、無料で公開したり、売りに出したりしたくなるかもしれませんが、使用したゲーム エンジンやソフトウェアの利用規約を必ず読んでください。 思い描いたとおりにゲームを完成させるかどうかは別として、いくつかのアセットやアイデアを別の、あるいはもっと野心的なプロジェクトのために「共食い」させたり、学んだ教訓を活かしてもう一度最初から作り直したりしたくなるかもしれません!
この記事は、CC BY-NC-SA の下で公開されている "How to Program a Video Game" を改変して作成しました。 特に断りのない限り、CC BY-NC-SAの下で利用可能です。

シェアボタン: このページをSNSに投稿するのに便利です。

コメント

返信元返信をやめる

※ 悪質なユーザーの書き込みは制限します。

最新を表示する

NG表示方式

NGID一覧