ゲームプログラミング入門

ゲームを作る最短距離はコレ

バージョン:DirectX9 レベル:入門

ズバリ、すごく分かりやすいゲームプログラミング入門です。
数あるゲームプログラミング(DirectX)入門書の中でも、トップクラスの簡単さです。

この一冊で、ゲームプログラミングの基礎&本質が分かります。

DirectXを上手く簡略化しているので、C言語の初級者にもオススメできます。

DirectXを知らなくても良い

いざDirectXを始める時に立ちはだかるのが、聞き慣れないお約束の数々です(デバイスとかバッファとか)。

C言語に慣れてない人には相当なストレスとなり、ポインタとやたら長い定数の洗礼を受け、泣きたくなります(体験談)。

その対策として本書は、NEGAAという独自のライブラリ(命令集)を使います。
用意された命令を使えば、全体に渡ってDirectXをあまり意識せずにプログラミングが出来ます。

つまり、ゲームのアルゴリズムに集中できます。

また、ライブラリはDirectXを完全に隠すわけではなく、生のDirectX命令も記述できます。
そのおかげで、適度にDirectXが見え隠れするので、学習に丁度よい設計になっています。

2Dでも3Dでも同じ!

さて本書は、変わったアプローチで解説を進めて行きます。

具体的には、まず2Dシューティングを制作し、その後それを3Dゲーム化します。

これが上手くできていて、2Dでも3Dでも「やってる事は同じ」なのが良く分かります。

結局、2Dや3Dというのは画面の表現が違うだけで、アルゴリズムは一緒なんですね。

この考え方は、ゲームに限らず、プログラミング全般に通ずる本質です(本当に)。

とにかく完成させるんだ!

本書は「とにかくゲームを完成させる一冊です。

2Dと3D、基本アルゴリズム、当たり判定、サウンド、カメラ操作、簡単なエフェクトなど

ゲーム開発で最低限の必要な処理は、全て入っています。

だから、この一冊で、ゲームプログラミングの基礎が把握できます。

私は専門学校で先生もしてますが
 「この本の方が、私の講義より分かりやすいのでは?」
とリアルに戦慄を覚えました。

なお、本サイトでも紹介してるはじめての3Dゲーム開発と同じ蒲田茂雄氏の著作です。

あちらも良書ですが、本書はさらに分かりやすくなっているので、C言語の初級者にもオススメできます。
(「はじめての~」は、ライブラリではなく生のDirectXを使ってます)

Amazonで値上がりしている時は、出版元直営オンラインショップ(リンク1 リンク2)で購入すると良いです(第2版の方ね)。

VS2015以降でのビルドエラーについて

VisualStudio2015以降で、NEGAAライブラリを用いたプロジェクトをビルドすると、LNK2019エラーが出る場合があります。こんなの↓

エラー LNK2019 未解決の外部シンボル _sprintf が関数 “public: void __thiscall NEGAA::ShowFPS(int,int)” (?ShowFPS@NEGAA@@QAEXHH@Z) で参照されました。

そんな時は、プロジェクトプロパティを開き、リンカー入力追加の依存ファイル
legacy_stdio_definitions.lib を追加して下さい。

VS2015での例

原因は、VisualC++2015から一部の標準関数( stdio.h や conio.h )がインライン化した影響です。

そのせいで以前のバージョンでビルドされた静的ライブラリでは、上記のエラーが発生したりします。
NEGAAの場合は、_sprintf が引っ掛かったようですね。くわばらくわばら。

マイクロソフトの公式情報(長いので legacy_stdio_definitions.lib で検索だ)
Visual C++ 2015 での互換性に影響する変更点
アップグレード時の潜在的な問題の概要 (Visual C++)

おまけ:DirectX9のSDKについて

本書で使うDirectX9のSDKですが、日本語のダウンロードサイトは既にありません…

現在は↓本家Microsoftのサイトからダウンロードできます。
DirectX9 SDK June 2010

とはいえ上のページも、いつ消えるか分かりません(2018年 生存確認)。

消えてしまった時は、付録でSDKの付いた書籍(これとか)を買うしかないですね。
(ユーズドの場合は、CD-ROM有無の確認をお忘れなく)

ゲームプログラミング入門

ゲームプログラミング入門
10

読みやすさ

10.0/10

ライブラリ

10.0/10

コストパフォーマンス

10.0/10

サンプルソース

10.0/10

Points

  • ゲーム開発の基本が、とてもよく分かる
  • DirectXが簡単に使える
  • これ一冊でゲームが出来る
  • とても短いソースコード
  • 次のステップに繋がる内容

Notes

  • DirectXのバージョンは9です
  • Amazonで高ければ、直営ショップで買えます

もっと知りたい?
C言語_初級 | C言語_中上級 | C++_初級 | C++_中上級 | C#_初級 | C#_中上級 | Java_初級 | Java_中上級 | コンピュータ_サイエンス | アルゴリズム_ | ゲーム_プログラミング | DirectX_ | Unity_ | ゲーム_デザイン | ゲームのしくみ_ | 数学_ | プログラミング_テクニック | 歴史_偉人 | ソフトウェア工学_ | 読み物_エッセー | 人生_生き方 | 創造_発想 | 雑誌_ | 漫画_小説_映画 | メルマガのバックナンバー_

無料メルマガ好評配信中!
直球より変化球主体で攻めるプログラミングのメルマガ

読むだけで使える!プログラマーの裏技と考え方

読むだけでもプログラミング力が上がる
上辺の技術ではないプログラミングの本質が分かる
ビギナーからプロのゲームプログラマーまで幅広い方が購読しています(感謝!

つまり、登録して一緒にプログラミングを楽しもうぜ!
ってことだよ。言わせんな恥ずかしい。


登録完了メールが届きます
届かない場合は迷惑メールフォルダや設定を御確認下さい
powered byメール配信CGI acmailer

Kuniaki Ebata 登録者

プログラマーで現役のスキー国体選手です。
頭脳と体を動かすのが大好きなフレンズなんだね。専門学校で先生もやってます。

教え子をゲーム会社にどんどん送り込み、世界を面白くする野望を実現中。

プログラミングが上達するメルマガやってます。

ここを見たゲーム業界の卒業生へ
新作が出たら、連絡するか現物を送ってくれると嬉しいです。
ただし18禁・CERO-Dの場合は、厳重に梱包の上、品名をパソコン部品にて送る事(だいじ)。