• ベストアンサー

ゲームのネットワーク処理のAPIは?

DirectXを使うオンラインのゲームを作ろうとおもうのですが、 調べたところDirectPlayは8以降から更新されていないそうですが、(廃止?)もう使わない方がいいのでしょうか? その場合、他に通信処理ができるAPI(コンポーネント?)がありましたら、ご教授の方お願いします。

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

  • ベストアンサー
  • copon
  • ベストアンサー率66% (2/3)
回答No.2

有償のフレームワークやエンジンを使わない限りは、socket(windowsではwinsock)で自前の処理を書くのが良いかと思います。 ゲームデザインによってはサーバーを用意する必要があるかと思いますが、その際にLinuxなどのUnix系OSを検討されるようでしたら、なるべくwinsock特有の機能(WSで始まる関数)は使用しないように工夫されると良いかと思います。

その他の回答 (1)

  • kirinoma
  • ベストアンサー率53% (288/542)
回答No.1

通信処理について、WindowsならばWinsockを使うのが一般的ではないかと思います。 http://www.geekpage.jp/programming/winsock/

関連するQ&A

  • ゲームプログラミングのネットワーク対戦

    毎回、お世話になっています。 開発環境:Visual Studio 2005 Visual C++ 開発言語:C/C++ + Win32API + DirectX9 現在、上記の環境・言語でゲームプログラムを作成中です。 そのゲームに、ネットワーク対戦を導入したいと思っています。 そこで質問なのですが、どのように実装すればよいでしょうか? 質問が非常に抽象的で申し訳ないのですが、まずは、DirectPlayやWinSockなどのライブラリの中で、何を使えばいいのか、をアドバイスしていただければと思います。 また、出来ましたら簡単に仕組みを解説していただければ幸いです。 その後、具体的な導入方法について自身で調べてみることにします。 通信の特徴として、 ・1vs1の通信対戦 ・一回のデータ量は少ないが、ほぼリアルタイムに送信 という感じです。 ネットワークプログラミングにはあまり触れたことがないこともあり未熟な身ですが、ご存知の方がいましたらご教授よろしくお願いします。

  • 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でもできませんか?関係がよくわかりません. --まとめ-- できれば 気になること の回答など簡単にしていただきたいです.  長文ここまで読んでいただきありがとうございました. よろしくお願いします.

  • オンラインゲームが出来なくなる。

    今まで出来ていたハンゲームのゴールドウイングという、3Dオンラインゲームが突然できなくなりました。 内容はサーバーに接続できませんという表示です。 いろいろシステムの復元等、自分でやっているうちに、プログラムの変更と削除でDirectXを消してしまい、今度はDirect7以上が必要ですと表示されるようになってしまいました。 しかしDirectX診断ツールで見ると、いろいろ診断結果が出てくるので、アンインストールされてはいないとは思います。 診断結果は サービス プロバイダ 'DirectPlay8 TCP/IP Service Provider' のレジストリ情報が見つからないか、壊れています。 サービス プロバイダ 'DirectPlay8 IPX Service Provider' のレジストリ情報が見つからないか、壊れています。 サービス プロバイダ 'DirectPlay8 Modem Service Provider' のレジストリ情報が見つからないか、壊れています。 サービス プロバイダ 'DirectPlay8 Serial Service Provider' のレジストリ情報が見つからないか、壊れています。 最新のバージョンを取得するには、DirectX をインストールし直す必要があります。 との内容でした。 DirectX をインストールし直そうとしても、ロゴテストに合格していませんということで失敗してしまいます。 WIN XP HOME EDITION 富士通FMV CE22Dです。 システム情報にはDirectX 9.0と、表示されています。 文章が分かりにくくいて申し訳し分けないですが、どなたか、対処方法分かる方よろしくお願いします。

  • 今後のオンラインゲーム DirectXについて

    主に韓国や中国産のオンラインゲームの話です。 XPのサポート終了以降はDirectX9のオンラインゲームは減り、DirectX11に移行すると思いますか? それとも開発環境というのはすぐに変わることなく、しばらくはDirectX9が主流であり続けるのでしょうか。

  • apiの設計について

    apiのレスポンスについて質問です。 ある書籍で、登録・更新apiのレスポンスでは登録値は返さず、取得apiで再度取得した方が良いとありました。 それはそれで、再度apiを呼び出すコストがかかると思うのですが、それよりもapiをシンプルに保つ方が良いのでしょうか、 個人的にはリクエスト回数は少ない方が良いような気がしております。 その辺の知見をご教授頂ければと思います。

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

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

  • オンラインゲームとMicrosoft DirectXについて

    オンラインゲームとMicrosoft DirectXについて DirectXをインストールしたのですが、オンラインゲームを起動すると ”DirectXの描画環境を初期化できませんでした。  正しく表示を行うことができません。  DirectXが正しくインストールされているか  確認して下さい。” というメッセージが出てきてしまいます。 PC関係に疎いので、どうしたらいいかわかりません。 わかる方がいたらおしえてください。

  • C++ API 全般 APIの概要は

    独学にてプログラミングを勉強しているのですが、いきづまってしまったので質問お願いします。 ※Visual Studio 2008 Express Editionsを使用しています。 まだプログラミングに関しての勉強を始めて1ヶ月程度で、最初はVB.NETから始めて、最近C++に乗り換えました。 趣味の範囲でのゲームを作ろうと思っていて、C++とDirectXでの開発を予定しています。(しかし、最終的にはゲームに限らずプログラミングの技術と知識を習得することを目標にしています。)(DirectXに関してはまだ手をつけていません。) まったく1からのスタートで、現在win32コンソールアプリケーションにてコードの勉強をしているところです。 勉強に使っている参考文献は ・VisualC++.NET逆引き大全500の極意 ・ゲームプログラマになる前に覚えて起きたい技術(これを買うには早すぎたようです…。第一章も半分くらいしか理解できません…。) サイトは ・主に「0からのゲームプログラミング」というサイトです。 http://www.plustarnet.com/aspil/Programming/ 本題の質問ですが、APIというものがいまいち理解できません。 (1)上記のような目的で使用するAPIは、標準 Windows APIというものでいいのでしょうか? (2)win32コンソールアプリケーションでは実行できるのに、win32プロジェクトでは実行できないのはなぜでしょうか? #include<windows.h> int WINAPI WinMain( HINSTANCE hInstance , HINSTANCE hPrevInstance , PSTR lpCmdLine , int nCmdShow ) { MessageBox(NULL , TEXT("Hello Wold!") , TEXT("メッセージボックス") , MB_OK); return 0; } (3)http://www.plustarnet.com/aspil/Programming/CConsole.htm このURLのコンソールAPIというのは、一般的に使われているものでしょうか?それともこのサイトのオリジナルのものでしょうか?win32コンソールアプリケーションでAPIを使うには、このURLのCConsoleクラスとうものをインクルードしないといけないのでしょうか?#include<windows.h>と宣言することによって気軽に使いたいものを使うことはできないのでしょうか? (4)#include<windows.h> とした場合、作るものが「win32コンソールアプリケーション」だったり「win32プロジェクト」だったり「windowsフォームアプリケーション」だったりで、使用方法などがまったく別になってしまうのでしょうか? (5)そもそも、上記の目的の場合APIを勉強する必要はあるでしょうか? (6)勉強をしたほうが後々に役立つ場合、どのAPIを勉強するのがいいのでしょうか?(APIといっても様々なものがあるんだなと思い質問しました。もし勘違いでAPIというものは一つしかないとしたらすみません。) なぜAPIに関してかというと、単純に上記のサイトで言語編の一番上から順に見ていったからです。 初心者すぎて質問が的外れかもしれませんがよろしくお願いします。

  • windowsで動くゲームやソフトを作る際に使う言語についての質問です

    windowsで動くゲームやソフトを作る際に使う言語についての質問です。 windowsで動くゲームやソフトを作るために勉強しています。 C、C++、C#のコンソールアプリは作れるようにはなりました。 ここから何に進めばいいか助言をいただきたいのですが、まずゲームを作るとなるとDirectXを覚える必要があると考えるのですが、 1、C++/directXを勉強するか、C#/mangedDirextXかC#/XNAか、どれで開発するのが効率が良いのでしょうか?それほど大規模なゲームをつくろうとは考えていません。簡単なシューティングゲームとかを作ろうと考えています。 2、DirectXを使うにあたってWindows APIも簡単に勉強しておいたほうが良いと聞いたのですが、どうでしょうか? 3、それ以前の話なんですが、当方Windows SDKとはWindows APIを扱うための開発キットだと認識しているのですが、WisdomSoftさんのサイトの説明 http://wisdom.sakura.ne.jp/system/winapi/index.html と、猫でもわかるプログラミングさんのサイトでの解説 http://www.kumei.ne.jp/c_lang/index_sdk.html はどう違うのでしょうか? ご存知の方がいらっしゃればご教授お願いします。

  • ゲーム起動について

    シヴィライゼーション4というゲームをインストールし起動しようとしているのですが「d3dx9_32.dllが見つからないため表示できません」とでて起動できません。過去の回答でDirectXを最新版にするとあったので更新しようとしたのですが、コンポーネントのインストール、初期化しています。という画面からポップアップで「ファイルをダウンロードできませんでした。後でもう一度実行するかネットワーク接続を確認してください」とでてしまい進めません。。ちなみにOSはVISTAで確認したところDirectXはバージョン10がすでに入っています。起動できない原因はなんなのでしょうか?よろしくおねがいします。

専門家に質問してみよう