ゲームを作るのに必要なもの
まずはゲームを作るにあたって必要なものを用意しましょう。
本記事ではゲームのジャンルごとに必要となるライブラリや知識について解説します。
上から順に簡単なものが並ぶ章立てとなっています。
ですが、これらはC言語の基礎知識があることが前提です。
入門チャートで基礎文法を学習しましょう。
尚、ここではゲームプロミングにおいて必要なものについて言及します。
画像や音楽等については触れません。
ノベルゲーム
背景にキャラクターのバストアップとテキストが表示され、キー入力で内容を読み進めるだけのシンプルなゲームです。
アドベンチャーゲームや恋愛シミュレーションゲームなどもこの括りとします。
仕組みとしては最も簡単な部類でしょう。
printf()のような関数でひたすら文字を書いていき、選択肢がある場合はifやswitchで分岐させれば実装できることが容易に想像がつくでしょう。
分岐、繰り返し、関数などの基礎知識と画像や音楽の表示とキー入力の機能さえ用意してしまえばそれらしいものが作れます。
画像や音楽の表示とキー入力の機能はC言語では標準実装されていないため、別に用意する必要があります。
C++のWindowクラスや、上記の機能を提供するdirect Xを容易に扱える機能を提供するライブラリであるDXライブラリなどが有名所です。
ロールプレイングゲーム
また、RPGを構成するのはパラメータです。レベルや体力からゲームの進行度まで全てデータとして管理する必要があるでしょう。
変数や配列、構造体などのデータ構造を応用して実現できるでしょう。
より簡潔に書くのであればゲーム上の物体を定義するオブジェクト指向の概念が必要になります。
C++を学習しましょう。
特にRPGは自由に操作が出来る必要があるため順次構造での実装は難しいでしょう。
アクションゲーム、シューティングゲーム
横スクロールのアクションゲームや格闘ゲーム、弾幕シューティングなどがこれにあてはまります。
これまでのものと違うのは、物理シミュレーションが必要になる点です。
自由落下や回転運動など、自身で実装するのは難があります。
そこで、簡単な操作で物理演算ができるエンジンを利用するのが良いでしょう。
box2Dなどが有名です。
オンラインゲーム
オンラインでゲームを同期する必要があるため、サーバなどのネットワークの知識とそれらをプログラムで制御する技術が必要となります。
また、遅延が多くては成り立たないゲームも多いため、より高速なプログラムを書ける必要があります。