DirectXやWin32APIで2Dゲームを作りたい!参考書はあるの?

このQ&Aのポイント
  • 2DのゲームをC++とDirectXを使って作りたいが、知識があまりない
  • DirectXの参考書は主に3Dに特化しているため、2Dゲームを作るための参考書が欲しい
  • Win32APIの役割やゲーム製作への影響についてもわからない
回答を見る
  • ベストアンサー

DirectXやWin32API (2Dゲーム作りたいです)

こんにちは,私は2D(最終的には3D(メインは2D))のゲームを C++,DirectX を利用して作りたいと思っています.  今のところ,プログラミングはC,C++は入門+α, ゲーム関係は『ゲームプログラマになる前に覚えておきたい技術』という本の2D分野を読み実習しました.このゲームの本はDirectXやWin32APIなどを利用せずに,なにやらライブラリなどを用意していてそれを利用する形でした. -- 質問 --  DirectX や Win32API を全然わからないという このくらいの知識の人が本格的に2Dゲームをだんだんと作って行きたいのですが,このそれぞれに対してなにかよい参考書はないでしょうか,またその理由などもいただきたいです. --気になること-- 以下あいまいな知識の質問です. ・最近(DirectX7以降かな)はDirectXは2D描写と3D描写の機能が合体したと聞きました,DirectXの参考書は3Dのばかりで3Dも学べていいのですが,2Dゲームが作れるDirectXの内容も詳しく含んだ参考書が欲しいです. ・Win32APIはゲーム製作にどう影響してくるんですか?まだよくわかっていません.ゲームウィンドウなどを表示するのは必用そうですが,, サウンドやグラフィックを読み込むのに必須なのだろうか, でもそれはDirectXでもできませんか?関係がよくわかりません. --まとめ-- できれば 気になること の回答など簡単にしていただきたいです.  長文ここまで読んでいただきありがとうございました. よろしくお願いします.

質問者が選んだベストアンサー

  • ベストアンサー
  • gungnir7
  • ベストアンサー率43% (1124/2579)
回答No.2

>でも現在は同じような情報が大量にあり >ネット上ではその情報の真偽が信頼できるものであるか少しばかり不安でした その気持ちはよく分かりますよ。 特に何も分からない手探りの状態はそういう気分になります。 確かにCDソース付きの本を1冊購入した方が大きな武器になることは考えられます。 私も初めての分野はそれが手っ取り早く効果的だった経験があります。 ただ、本の推薦は私は経験がないので、良書の推薦はできません。 >DirectXで代用するのかなというイメージ 代用というよりゲーム用に強力にして新登場させたというイメージです。 DirectXをもう少し詳しく言いますと、マイクロソフトが中心になって、 ビデオカードのメーカを中心にDirectX対応の回路を提唱します。 ハードウェアレベルでの回路を義務づけたDirectXはマイクロソフトの戦略でもあったのです。 Windows32 API にもBitBltやLineToなどの描画のコマンドはありますが、 それはあくまでパソコン本体のGPUで計算します。 当時の非力な環境もありますが、それで3Dのポリゴンを描画したら遅くて仕方がなかったのです。 そこで3Dゲームの到来に備えてハードレベルでの環境を実現したのがDirectXです。 現在ではWin32APIだけでも軽量の3Dゲームは動きますから、2DでDirectXを使う 必要性もないような気がしますが、将来の布石もありますからここでは言及しません。 なお、オンボードのビデオアクセラレータなんかではそのような回路がありません。 そのときはWindowsがDirectXの描画を行います。OSが行いますから極端に遅くなります。 つまり、DirectX対応の回路を持った高価なビデオを持ってこそ、DirectXが威力を発揮することになります。

hourainoas
質問者

お礼

こんにちは,2度もご回答ありがとうございました. なるほど,CDソース付きの本を探して購入し実際に経験しながら,DirectXなどを習得していきたいと思います. 詳しくご説明ありがとうございます. この質問をして,具体的にいえませんが,少し視野が広がったと思います. いつかよいゲームが作れるように努力していきたいと思います. ありがとうございました.

その他の回答 (1)

  • gungnir7
  • ベストアンサー率43% (1124/2579)
回答No.1

DirectXは使ったことがないのでお茶濁し程度に・・・ まずは検索することです。開発はもっと色々調べなければなりません。 我々が若い頃は東京の大きな書店まで出かけて1日潰して探し回ったものです。 今ではネットで1時間もあればそれなりの情報は探せます。 DirectX、2Dゲームで検索すれば参考になるサイトはたくさんかかります。 DXライブラリを使えば2Dではかなり手軽にDirectXを扱えます。 Win32は最も基本的なWindows自体のライブラリです。 WindowsはWin32APIの力を借りて動いているので、これがないと大変なことになります。 実際のプログラムでもAPIは煩雑に登場します。 システム情報を得るだとか、アイコンの情報を入手する、プリンタへの出力etc。 ただしWin32APIは万能向きなのでGPUに特化したAPIであるDirectXには敵いません。 (DirectX API自体Win32 API の一部という見方も当然できる) これがDirectXの登場した背景なので、DirectXはほぼゲーム専門といっても差し支えありません。 ただし、Win32APIは今後.NetFrameworkに置き換えられます。 .NetFrameworkについてはさすがに聞いたことがあると思いますが、 これがWin32APIの後継のWindowsライブラリとなります。 Vistaやwindows7ではまだWin32APIが中心のようですが。 http://windowsvista.nomaki.jp/aboutvista/winfx.html

hourainoas
質問者

お礼

ご回答ありがとうございます.  そうですね,昔は論文も足で書くといわれてましたから,今はそれに比べればかなり楽に情報を得られるでしょう. でも現在は同じような情報が大量にあり,ネット上ではその情報の真偽が信頼できるものであるか少しばかり不安でした.(というのは言い訳かもですすみません.) 一応独自で色々と調べた上で 抽象的 なイメージが知りたくて質問をいたしました. 今の自分の理解のイメージでは ゲームプログラミング ⊃ Win32API ⊃ DirectX で,ゲームでは,Win32APIの中の一部(グラフィックなど)をWin32APIを基盤にしてDirectXで代用するのかなというイメージです. こういうイメージ的な知識はあまり情報がないので質問させてもらいました.違っているかもしれません.  そして次いで,なにか参考書などがあればそれで勉強していきたいとおもいました. ご回答ありがとうございました.m(_ _)m

関連するQ&A

  • APIとDirectXって何?

    DirectXはOpenGLのようなものだと言う事はわかるのですが、DirectXも無償で プログラミングできるんでしょうか? APIとはC言語の標準ライブラリだけではできない作業を補うものである位しか知識が有りません。 現在XPでStudio.NETを使っています。 APIとDirectXについてどのような物なのか知りたいのですが どなたかご指導いただけませんでしょうか。

  • Win32APIのゲームやアニメーションについての書籍

     Win32APIでゲーム(もぐらたたき)を作りたいのですが、Win32APIでゲームを扱っている書籍が少ないような気がします。(テトリスは多いですが)  もう一つ、DirectXでは画像やアニメーションの本はたくさんありますが、Win32APIではアニメーションの作り方について、多数しかも手取り足取り載っているのが見当たらないです。特にビットマップエディタの使い方がよく分からなくて困っています。Visual Studio 2005のVisual C++を使っています。  ちなみに今まで「Windowsゲームプログラミング 赤坂玲音著」で勉強して、ちょこちょこサイトでアニメーションを勉強しましたが、自分でアニメーションを作ろうと思うとあまりに情報不足な状態です。  Win32APIのゲームやアニメーションについての書籍やサイトがあれば教えていただけたら嬉しいです。

  • C,C++,Win32APIだけでSFCレベルのゲーム

    この言語だけでSFCレベルのゲームは作れるのでしょうか? (具体的に言うとスーパーマリオワールドの1ステージくらい) それとも、やはりDirectXやOpenGLなどを使わないと無理なのでしょうか? 教えていただけると有難いです。 またDirectXを使う場合、Win32APIの知識はどれくらいあれば足りますか?よく参考書とかに載っているテトリスを作れるくらいで足りるでしょうか?

  • DirectX&Win32API&C++ ドライブ情報の取得方法について

    Windowsプログラム(Win32API)と、DirectX9(2007January)と、C++を使用してゲームを制作しています。 ですがDirectXは環境によっては動作しないものも多く、 どんな環境では動かないかというのもを手軽に調べるために ゲーム起動前にドライブ情報を表示するようにしたいのです。 (例えば、グラフィックボードだとか、VRAMや、HDD容量や  メインメモリの容量など、DirectX診断ツールのようなもの) それを調べる関数が有りそうな気もしたのですが、 C#やJavaだといくつかありましたが意外と見つからず、 (調べ方が悪いだけかもしれませんが)難儀しています。 もしドライブ情報の取得方法をご存知の方がいらっしゃいましたら どうかアドバイスをお願い致します。

  • C++とWIN32APIとゲームプログラミング

    WINDOWSで動くゲームを作りたくて3日ほど前からC++の勉強を始めました。 (最終的にはグラディウスのような横スクロールシューティングが作りたいです。) そこで質問なんですが 1、Win32APIについて調べるとC言語を使っての入門サイトばかりがヒットします。 Win32APIはC言語で書くものなんでしょうか? そうなってくると今WindowsのGUIアプリを作るのにC++を勉強していますが無駄ってことでしょうか? 例: 猫でもわかるプログラミング http://www.kumei.ne.jp/c_lang/index.html Win32API入門 http://wisdom.sakura.ne.jp/system/winapi/win32/index.html ちなみに今学習に利用しているサイトは以下のサイトです。 C++入門 http://www.asahi-net.or.jp/~yf8k-kbys/newcpp0.html 2、ポインタの概念について ポインタのイメージですが値を格納している場所みたいな感じで大方あってますでしょうか? 僕は組み込み系をやっているのでアセンブラにどっぷり漬かっています。 なんていうかレジスタの番地がポインタに該当するのかなって思っています。 ↓みたいなイメージで考えています。 ポインタ=データの場所=レジスタ番地 これであってますか? 3、まだGUIには進んでませんがウインドウのメニュー(ファイル、編集等)を作るのにリソースファイルも作るって説明が上記ページ(猫でもわかる)に書いてましたがリソーススクリプトとかヘッダーもプログラム言語とは別に勉強する必要があるんでしょうか? 4、C++のクラス概念について クラスとは複数の関数をひとまとめにしてグループ管理(おおざっぱに言うとサブルーチンの集まり的な)するようなものってイメージであってますか? 5、WindowのGUIアプリのプログラムの概要ですが各オブジェクト(ウインドウやボタン、マウスポインタ等)に対して「クリックされた」とかのアクションに対して動作するプログラムを書くって事でいいんでしょうか? 6、お勧めの参考書籍について 今までアセンブラをはじめPerlやJavaScript、C言語のお勧め入門書をいろんなサイトのレビューを見て買いましたが本よりネットの入門サイトのほうがかなり役にたってきました。それでも入門書を買うのは気持ち的に安心するからなんですが・・・ それを踏まえた上で僕の最終的な目的にあうような本があったら是非教えてください。 7、勉強の進め方や「合わせてこれも勉強しろ」っていう項目があれば教えてください。 現状としては 「C++の基礎(必要ですか?)」→「Win32API」→「DirectX」で行こうと思っています。

  • C、C++でもぐらたたき

     C→C++を少し→Win32APIと学習してきました。 もぐらたたき(2D)を作りたいのですがWinAPIでも作れるのでしょうか?それともDirectXなどを使わないといけないでしょうか? いまいち分からないのですが、Win32APIで作れるゲームとDirectXで作れるゲームにはどんな違いがあるのでしょうか?3Dが作れることだけでしょうか?教えていただければ嬉しいです。

  • 3Dゲームを作ってみたいのですが(初心者)

    3Dゲーム(windows)をつくってみたいのですがどのように開発したらいいのでしょうか? いろんなサイトをみてみると、directxで開発するのが一般的のようなので、c言語の本を一冊よんでその後に、vc++をつかったwindowsプログラミングの本を一冊読みました。(まだ完璧にわかったわけではないけど)次はどんなことをすればいいのでしょうか?参考になる本などを教えてください。 まず今後は、C++を覚えて?次にdirectx関連の本を読めばいいのでしょうか?(MFCはつかわない?) 本当のゲーム会社はどのようにゲームを作っているのでしょうか?プログラマとグラフィック作る人、音楽作る人が各何人ずついて、開発期間は何年ぐらいだとかを知っていればおしえてください。

  • DirectX用のライブラリを探しています

    DirectX用のライブラリを探しています プログラム関係の学校に行っているのですが、学校の作品制作でオリジナルのPCゲームを作ることになりました。ジャンルは弾幕のシューティングで、言語は調べたところゲーム制作はDirectXとC/C++が良いとのことでしたので「DirectXとC/C++」を使う予定です。 ですがDirectXを使うには少々問題がありまして、DirectXというものを一切触ったことがありませんので現在の知識では当然画像の描画すらできないんです。 さすがにそれではマズイのでDirectX用のライブラリを使おうかと思っています。そこで、DirectX用のライブラリでお勧めのものがあれば教えていただけたらなと思いまして、書き込みをさせていただきました。(実際に色々と試したいところなんですがそれほど時間も無いもので……) もし「こんなものがいいよ」というものをご存知であれば是非とも参考にさせていただきたいのでアドバイスをいただけると幸いです。よろしくお願い致します。 補足になりますが・・・ 作品制作ではライブラリに規制があり、ツクール系やHSPみたいな簡単に作れるものはNGという制限があります。 描画には2Dと3Dの両方を使います。 DirectXのバージョンはできればDirectX9…DirectX8くらいであると有難いです。 なにぶん勉強中のもので不足がございましたらその都度ご返信させていただきます。よろしくお願いします。

  • 簡単なシューティングゲームの作り方

    簡単なシューティングゲームを作りたいのですが、 方法を教えてください。 API(win32)、DirectXなどを勉強し、C言語等もある程度マスターしていなければ、簡単なやつでも作れないでしょうか? もしおすすめのサイトや本などありましたら教えてください。 お願いします。

  • DirectX9.0cなのですがDirect3DやDirectPlay

    DirectX9.0cなのですがDirect3DやDirectPlayが利用できません、などでオンラインゲームなどできない状態なのです>< どなたか解決法を教えてもらえたらと思って・・ PCはXPでHomeEditionでモデルはLL750CD DirectX9.0c(4.09.0000.0904)です ちからをお貸しください。