現在DXライブラリとC言語(若干C++も混ざってる)でLAN内でプライベートIPアドレスを指定して通信対戦出来るゲームを作りました。
これをルーターの外の世界(WAN?)と対戦できるようにするにはどうすればいいのでしょうか?
何を勉強すればいいのでしょうか?
また、勉強などしなくても出来るようになるソフトはありませんか?
自分で何処かのサーバーを借りたりしないといけないのでしょうか?
ネットワークの知識はあまり自信ないです。
一応、基本情報技術者を持ってますが、ネットワークは避けて通りました。
ちなみに作ったのはターン制のゲームです。
それと趣味でやっていることなので、勉強にあんまり時間がかかりそうだった場合は諦めようと思っております。
DXライブラリを使ったゲームでオンライン対戦を出来るようにするにはどうすればいいのか
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: DXライブラリを使ったゲームでオンライン対戦を出来るようにするにはどうすればいいのか
これはネットワークの勉強というか試行錯誤をしていただくしか無いです。
知識がないと様々な決定やデバッグと利用者サポートが出来ませんので、ゲームを公開すること自体が困難です。
サーバーが必要なのかP2Pで済んでしまうのか、それはゲームの仕様と規模(通信頻度・通信情報量・同時接続数)に密接にからむので、「ターン制のゲーム」と言う情報だけでは何ともいえません。
サーバーが必要としても家庭内サーバーで済むのか、大容量の高価なサーバーを借りる必要があるかも現時点では解りません。
>また、勉強などしなくても出来るようになるソフトはありませんか?
DXライブラリ専用では残念ながら存じません。
汎用的のものは探せばいくつか見つかるはずですが組み込み難度が低いとも思えません。
ただ、スマホやUnityなどであれば結構難易度低目なのは見つかります。
これは利用者数が少なければ無料。
http://photonengine.jp/
Unityなどは容易だと思われますが、C++の難易度は不明です。
>自分で何処かのサーバーを借りたりしないといけないのでしょうか?
可能性は高いです。
h2so5さんが公開していたスライドも参考になるでしょう。
知識がないと様々な決定やデバッグと利用者サポートが出来ませんので、ゲームを公開すること自体が困難です。
サーバーが必要なのかP2Pで済んでしまうのか、それはゲームの仕様と規模(通信頻度・通信情報量・同時接続数)に密接にからむので、「ターン制のゲーム」と言う情報だけでは何ともいえません。
サーバーが必要としても家庭内サーバーで済むのか、大容量の高価なサーバーを借りる必要があるかも現時点では解りません。
>また、勉強などしなくても出来るようになるソフトはありませんか?
DXライブラリ専用では残念ながら存じません。
汎用的のものは探せばいくつか見つかるはずですが組み込み難度が低いとも思えません。
ただ、スマホやUnityなどであれば結構難易度低目なのは見つかります。
これは利用者数が少なければ無料。
http://photonengine.jp/
Unityなどは容易だと思われますが、C++の難易度は不明です。
>自分で何処かのサーバーを借りたりしないといけないのでしょうか?
可能性は高いです。
h2so5さんが公開していたスライドも参考になるでしょう。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: DXライブラリを使ったゲームでオンライン対戦を出来るようにするにはどうすればいいのか
うーん。中々難しそうですね。
試行錯誤は時間がかかりそうですし、他にやらなければならないことがあるので、潔く諦めようと思います。
回答ありがとうございました。
試行錯誤は時間がかかりそうですし、他にやらなければならないことがあるので、潔く諦めようと思います。
回答ありがとうございました。
Re: DXライブラリを使ったゲームでオンライン対戦を出来るようにするにはどうすればいいのか
おお、ありがとうございます。
アマゾンでのレビューも中々ですね。
時間が確保できたら、ネットワークのことについて情報を集め、その後買うのを検討してみます。
ただ、これはDXライブラリの通信関数を使うのではなくて、WinSockになりそうですね・・・。そこがちょこっとネックです。
やっぱりオンラインゲームを作るうえでは避けて通れませんよね・・・。
アマゾンでのレビューも中々ですね。
時間が確保できたら、ネットワークのことについて情報を集め、その後買うのを検討してみます。
ただ、これはDXライブラリの通信関数を使うのではなくて、WinSockになりそうですね・・・。そこがちょこっとネックです。
やっぱりオンラインゲームを作るうえでは避けて通れませんよね・・・。
Re: DXライブラリを使ったゲームでオンライン対戦を出来るようにするにはどうすればいいのか
ネットワークまできたらDXライブラリだろうとWinsockだろうとそうそう変わらないですよ
結局のところ通信の基本ルールは一緒です。
結局のところ通信の基本ルールは一緒です。
Re: DXライブラリを使ったゲームでオンライン対戦を出来るようにするにはどうすればいいのか
あれ、そうでしたか。貴重な情報ありがとうございます。
その「通信の基本ルール」というのを学べばDXライブラリでも大丈夫なのですね。
その「通信の基本ルール」というのを学べばDXライブラリでも大丈夫なのですね。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: DXライブラリを使ったゲームでオンライン対戦を出来るようにするにはどうすればいいのか
サーバーを必要とする場合、家庭用のWindowsだと20人(うるおぼえ)ぐらいしか同時接続できないので、その以上の人数が同時接続するには予算的にLinuxにする必要が出てきます。Windowsサーバーは個人で使うには高価です。
当然、DXライブラリは利用出来ません。Winsockに非常に似たSocketを使います。これは、Winscokが使える技術があれば利用できます。
当然、DXライブラリは利用出来ません。Winsockに非常に似たSocketを使います。これは、Winscokが使える技術があれば利用できます。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: DXライブラリを使ったゲームでオンライン対戦を出来るようにするにはどうすればいいのか
ふむふむ。大変勉強になります。ありがとうございます。
20人くらいですか・・・。私のゲームだとそんなに繋がないと思うので大丈夫だと思います。
最初は友達と遊ぶくらいにしようと思っております。
といってもまだ先になりそうですが・・・。
20人くらいですか・・・。私のゲームだとそんなに繋がないと思うので大丈夫だと思います。
最初は友達と遊ぶくらいにしようと思っております。
といってもまだ先になりそうですが・・・。
Re: DXライブラリを使ったゲームでオンライン対戦を出来るようにするにはどうすればいいのか
基本情報処理技術者試験を合格されたなら
OSI7階層モデルが参考になるかと思います。
C/C++で作っているのはアプリケーション層ですね。
通信ネットワークはもっと深いところの問題です。
OSI7階層モデルが参考になるかと思います。
C/C++で作っているのはアプリケーション層ですね。
通信ネットワークはもっと深いところの問題です。