- ベストアンサー
はじめてのゲームプログラミング
最近C++言語を勉強しはじめました。 「Cの絵本」「C++の絵本」を読み、基本を理解しました。 そこで、次にどの書籍を購入すればいいのか悩んでいます。 最終的には簡単なシューティングゲームを作りたいと思っています。 「猫でもわかるゲームプログラミング」「Professionalゲームプログラミング」のどちらを購入しようかと悩んでいます。 どちらの方がいいでしょうか。 また、わからない単語などを調べたいときに調べられる、辞書のような書籍で、お勧めのものはありますか? ほかにもお勧めの本がありましたら、紹介お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
★それではアドバイスします。 ・Windows の GUI プログラミングとは、ウインドウが出てマウスなどでいろいろと操作が 行えるタイプです。→ようするに一般的な Windows アプリケーションです。 これに対して、C/C++ のテキスト本で作成しているコンソール画面は CUIと呼ばれます。 CUI→『キャラクタ・ユーザ・インターフェイス』の略 GUI→『グラフィカル・ユーザ・インターフェース』の略 ・ゲームはやっぱりグラフィカルな GUI のウインドウが出るタイプになりますので、 C/C++ の文法の知識以外に Windows API などのプログラミング知識が必要です。 この Windows プログラミングは『猫でもわかるシリーズ』が入門としてはお勧めです。 ただし、サイトの方は記述が古い(10年前)なので『本』をお勧めします。 ・お勧めの本は twin_spica_310 さんが悩んでいた『猫でもわかるゲームプログラミング』が よいでしょう。入門としてはね。→『Professionalゲームプログラミング』の本は MFC を 使っています。C++ も知っているので MFC の記述も理解できそうですが、最初は Windows の 仕組み『プロシージャ関数』などの作成や、デバイスコンテキスト(DC)などのグラフィックを 描画するための基本知識を学習しましょう。 ・あと『縦スクロール弾幕』との事ですので、C++ のクラスで自機、敵機、ショット、アイテムなど をオブジェクト単位で管理するようにすれば良い。その他、ゲームループという構造も組み込む 必要があります。Windows のプログラミングでは単純なループは組めないため少し工夫が必要に なります。→もし、単純なループを組んでしまうとウインドウ画面が真っ白になって『応答なし』 というフリーズしているような感じになってしまいます。これ、お行儀が悪いです。 学習ステップ: (1)Windows プログラミングの基礎を学ぶ (2)グラフィック描画の基礎を学ぶ (3)ゲームのアルゴリズムを学ぶ (4)実際にゲームを作成する ・上記の順にステップ・アップしていかないと『簡単なシューティングゲーム』は出来ません。 特に『弾幕』系はまだ早いです。無理とはいわないが混乱か、挫折するかもしれない。 最初は適度なショット、ミサイルなどをちゃんと管理できるゲームの基本構造を練り上げることです。 ・下に参考になる質問を紹介します。こちらのリンクも今後の参考になるはずです。 まずは、ウインドウ画面にグラフィックを描画できる基礎を学んで下さい。 ・関数マニュアルも C/C++ のほかに Win32 API 関数のマニュアルが必要になります。 MSDN のサイトを紹介します。 http://www.microsoft.com/japan/msdn/→『MSDN ホーム ページ』 http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpwinui/html/_win32_getwindowtext.asp→『ウィンドウ』 上記の MSDN のサイトを活用して下さい。検索ボックスに関数名などを入力すればいろいろ出てきます。 ・C言語の辞書としては http://www.amazon.co.jp/dp/4320026926/→『プログラミング言語C ANSI規格準拠』2,940円 はどうでしょうか。C関数のソースが載っています。 ・以上。今後の参考に!
その他の回答 (2)
- Oh-Orange
- ベストアンサー率63% (854/1345)
★追記。 ・紹介する本を間違えました。 ・C言語の辞書としては http://www.amazon.co.jp/dp/4774104329/→『新ANSI C言語辞典』2,415円 でした。
- Oh-Orange
- ベストアンサー率63% (854/1345)
★最初にお尋ねします。 ・C、C++ 言語の文法は理解しているようですが Windows の GUI プログラミングは どの程度、理解されていますか?ここをはっきりしないと適切な『本』などが紹介 できません。また、シューティング・ゲームもいろいろな種類があります。 (1)画面固定タイプ→昔のインベーダーなど (2)縦にスクロール→昔のゼビウスなど (3)横にスクロール→昔のグラディウスなど (4)3D を駆使したタイプ (5)その他 上記のどのタイプでしょうか? ・最初は(1)の画面固定タイプが良いでしょうね。→その後にスクロールタイプに改良すればよい。 ・あと分からない単語とは、パソコン用語、プログラミング用語、関数など、いったいどれの事? ・以上。補足要求します。
補足
コメントありがとうございます。 Windows の GUI プログラミング、とは何でしょうか・・・? まずそこが理解できていません。 シューティングゲームの種類ですが、理想としては東方シリーズのような縦スクロール弾幕です。 >あと分からない単語とは、 関数です。 回答よろしくお願いします。
お礼
回答ありがとうございます。 本当に単純なゲームから作っていこうと思います。 参考になります。