• ベストアンサー

何を使っているのでしょうか?

簡単なゲームを作ろうとC言語を勉強し始めたのですが、一つ疑問があります。 C++でゲームを作る場合、win32APIかMFCを使うと思うのですが 市販の家庭用ゲームはそれに代わる何かを使って開発されているのでしょうか?

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

  • ベストアンサー
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

Xbo360ならマイクロソフトですから、Xbox360用のDirectXライブラリが提供されています。ちなみにXNAというC#とDirectXを使った開発環境が一般ユーザ向けにも提供されていて、Windowsとxbox360の両方で実行可能です。ただし、Xbox360で実行する場合だけ有料になりますが。 WiiやDSやPSPやPS3だとそこまでのライブラリは提供されていないと思います。特にPS3のゲーム開発の遅れの原因が基本ライブラリの準備不足といわれてますから。 私の知る限りだとPSやPS2のライブラリは、基本的過ぎてWindowsAPI以下の機能でしたね。GPUを直接操作する感覚です(と言ってもわかり辛いかな)。 PSやXboxあたりだと幾つかのメーカーから開発をサポートするサードパーティ製の開発ツール&ライブラリも提供されていて、これを利用しているケースもあると思います。大手のスクエニやカプコン等は自社製の開発ツール&ライブラリを使いますが。 これは、各ゲーム機の基本ライブラリだけでは開発の効率が悪いためで、機能をラップして開発効率をUPします。 イメージとしては、ゲームプログラム→ゲームライブラリ(自社開発や他社から購入)→基本ライブラリ(メーカー提供)です。 そうそう、Windowsのゲームの場合でも開発ツール&ライブラリがありますよ。有名なところではunrealエンジンとか。 下記サイトを見ると雰囲気はつかめるかなと思います。 http://www.watch.impress.co.jp/game/docs/backno/rensai/3dg.htm ちなみに、Windowsでゲーム作る場合はDirectXを使ったほうが良いと思いますよ。MFCはやはり、Windowsアプリを作るためのライブラリです。半透明のαチャンネルをまともに扱えないMFCやWindowsAPIは不十分でゲームにはDirectXが妥当かなと思います。

flicker
質問者

お礼

ここまでこと細かに教えていただいて、どうも有り難うございます。 リンク先なども含め、大変参考になりましたm(_ _)m

その他の回答 (3)

  • crew21
  • ベストアンサー率26% (58/222)
回答No.4

市販の家庭用ゲームはwin32APIかMFCは直接は使いませんよ。 (ゲームが動く低階層の部分では最終的に使ってることもあるかもしれませんが) 完全にオリジナルのソフトコンポーネント(もちろん社外秘。極秘扱い)を持ち、それをベースに開発します。 特に3D系なんかはそうです。じゃないとあんな高速に動きません。 2D系のアニメゲームなんかでも、オリジナルのソフトコンポーネントを持ちます。そこで仮にMFCを使うにしても、自社向けにソースをいじって高速化を計ったりしているはずです。 開発環境も専用のキットとデバッガです。 専用キットを開発するためだけの、開発部隊がいるくらいですから。

flicker
質問者

お礼

>オリジナルのソフトコンポーネント >専用キットを開発するためだけの、開発部隊がいる すごく興味深いお話ですね。ツールから開発するなんて さすがプロは違いますね(・・;) 回答どうも有り難うございました。

  • aris-wiz
  • ベストアンサー率38% (96/252)
回答No.3

>win32APIは実行環境がwindowsですから、 >コンシューマゲーム機の場合、 コンシューマではそのハードウェア独自のOSがゲーム用の APIを提供していたり、ハードウェア独自のドライバなどが 提供している場合もあります。 ゲームセンターなどのアーケードにはUnixやLinux、 最近ではWindowsなどが使われることもあるようです。

flicker
質問者

お礼

回答有難うございます。 アーケードではUnixやLinuxなど使われることがあるんですね。 知りませんでした。

  • Kaone
  • ベストアンサー率60% (33/55)
回答No.1

はい、ゲームのプログラムの場合、専用のデバッカーと開発ツールキットというのがあります。 ゲーム機によっても違いますが、一般的には、ゲームメーカと契約すると供給されるケースと、契約ご購入するケースとがありました。 ほとんど市販されているケースは、無かったですが最近ではそういうケースも増えつつあるようです。

flicker
質問者

お礼

回答有難うございます。 へぇ、専用のツールがあるんですね。 win32APIは実行環境がwindowsですから、コンシューマゲーム機の場合、 何かしらそれに代わる物があると思ってたんです。 なるほど、どうも有り難うございます。

関連するQ&A

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

    ■C言語とWin32APIでしばらくコーテイングしていましたが、 最近、C++言語を始めた者です。 ■勉強の為、C++とWin32APIで書かれゲームプログラムを探しています。 ■DirectXなどは使用してない物を希望します。 適当なHP(教材)を教えて下さい。

  • MFCなのかWin32APIなのか

    みなさんはじめまして。グフです。 これからWindows上でC/C++(VisualStudio.NET2003) にて、Windowsアプリケーション開発の勉強を始め ようとしています。 いろんなサイトや書籍を見ている中で、Windowsアプリ の開発方法としてMFCをつかうやり方と、Win32APIで 開発する方法の2つがあることがわかりました。 これからWindowsの勉強を行うにはどちらの方法で開発 するのが望ましいのでしょうか? ケース by ケースだとは思いますが、何かアドバイス いただければと思いまして、投稿させていただきました。 やはり基礎からおさえるのであれば、Win32APIの方が よろしいのでしょうか? 今後のWinFX環境を考えると、Win32APIでの知識が無駄 になってしまうということはないのでしょうか?

  • アプリケーションソフト制作について

    今、Win32APIの勉強をしてアプリケーションソフトの制作法を勉強しています。そこで疑問に思ったのですが、 Win32APIを使わずに、プログラミング言語だけでアプリケーションソフトは作れるのでしょうか。 規模が大きいですが、例としてWinampやFireFoxなどのアプリケーションソフトです。 ここで言うプログラミング言語とはC/C++のことです。 ※用語・考え方に間違いがあればご指摘ください

  • C言語の次のステップは?

    現在、C言語を学習していてコンソールアプリケーションや Web上のCGI等は作れるようになってきました。 次の学習ステップとしてWindowsのアプリケーション作成 か、C++の言語学習にするかを悩んでいます。 C言語でのWindowsアプリケーション開発であれば、SDK(Win32API)に よる開発になると認識しています。この場合であれば特にC++の知識は 不要でしょうか?それともSDKでの開発の場合でもC++の知識は必須に なるのでしょうか? MFCとかを使うのであれば、C++の知識は必須ですよね? あるいはこれからの開発ではオブジェクト指向の知識は必須である ということでC++の学習を経て、Windowsアプリの開発について学習した 方がよろしいでしょうか? 最終的な目標はC/C++にてWindows/Linuxアプリの開発ができるように なりたいと思っています。 当面Windowsアプリを開発するにあたって、C→SDKもしくは C→C++→SDK/MFCのどちらが効率的な学習ステップになるのでしょうか? 皆さんのアドバイスをいただければ幸いです。

  • APIとMFC

    WindowsでC言語で書けて(利用できて)無料のものがAPI、C++で使えて有料なものがMFC だから、アマチュアプログラマーは、APIが使いこなせるのならば、APIを使ってプログラムを 書いたほうがいい という理解で正しいでしょうか。 ここでAPIと書いたのはWin 32 APIのことです。

  • WindowsMobile5.0をC++で開発

    WindowsMobile5.0をC++で開発してくださいという仕事があるのですが、その場合win32での開発になるんでしょうか? RADツールなどは使用できず、ネイティブコードでしか開発できないんでしょうか。 win32APIで作成するとレスポンスが早くいいみたいですけど、ネイティブコードが非常に難しいです・・・ win32で進めてますがいま一つ壁を乗り越えれません・・・ MFCも使ったことはないんですがもし使えるなら効率よく開発できるんでしょうか? お客様の要望はあくまで「5.0のC++」です。

  • VC++コマンドプロンプトでwin32コンパイル

     c言語でwin32AIを開発しようと思ったのですが、c言語のwin32API プログラムをVisual C++2008のコマンドプロンプト経由でビルドするこ とは出来るのでしょうか?回答よろしくお願いします。

  • VC++でwin32APIを作っているのですが・・・

    こんにちは。私はwin32APIを勉強しているc言語初心者です。 私はMicrosoft Visual C++ 2008を使ってc言語のwin32APIをプログラミングしているのですが、独学でやっているので物凄く邪道なwin32APIプログラミングをしているような気がするのです。 ・c言語のプログラムを書いて、C++のwin32APIプロジェクトとしてビルドする。 ・ヘッダーファイルにwin32API関数がなかったので、自分のwindowOSからwin32API関数を探し出してVC++2008のなかのincludeフォルダ内にコピー&ペーストして使えるようにした。 これって邪道ですか?一応何の問題もなくwin32APIプログラムが作れるのですが、もっと正規なやり方があるでしょうか。回答よろしくお願いします。

  • Visual C++ って何?

    C言語とWin32 API(?)を勉強したばかりの者です。主に赤坂玲音さんの「Windowsゲームプログラミング」で学びました。(まだ、全然初心者の域ですが) 今回Visual C++ 2005を手に入れたのですが、「?」という感じです。 やはりVisual C++を使わないと出来ないようなことがあるのでしょうか?使った方がメリットがたくさんあるのでしょうか?いくつか検索したりして当った記述ではMFCが使える、などの説明があったのですが、それも「?」という感じです。 出来れば何かプログラムを書きながら学べれば、と思っているのですがおすすめの学習ルート、書籍などありましたら是非教えていただきたいです。 よろしくお願いします。

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

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

専門家に質問してみよう