私は貿易ではゲーム開発者ではありませんが、カードゲーム(つまり、ターン制ではなくリアルタイム)に取り組んでいます。私はそれらを避けることができるように人々がこの種の開発に不慣れなときに犯す一般的な間違いは何だろうと思いました!
私は貿易ではゲーム開発者ではありませんが、カードゲーム(つまり、ターン制ではなくリアルタイム)に取り組んでいます。私はそれらを避けることができるように人々がこの種の開発に不慣れなときに犯す一般的な間違いは何だろうと思いました!
回答:
あるロブ・ホークス特色グーグルTechtalk、作成者のRawkets彼はWebSocketをしてNode.js.で彼のゲームを作成中に走った問題について語ります、彼はまた、彼が直面した問題のためのいくつかのかなり洗練されたソリューションを考え出します。
最大の間違いは、単にクライアント側でゲームをプレイすることであり、情報を見ながら情報を伝えることができます。クライアントに単純に入力を伝え、サーバーから送信されたモデルを個別の間隔でレンダリングします。(これらのモデルをサーバータイムスタンプを含む配列に格納し、既知の2つのタイムスタンプ間を補間して、すべてのアクターをフレームごとにレンダリングします)
クライアント/サーバーモデルに基づいて、HTML5リアルタイムマルチプレーヤーゲームを作成するためのフレームワークを作成しました。このモデルでは、プレーヤーは入力のみをサーバーに送信し(キーが押されている)、ゲームはサーバーで発生します。
サーバーはすべてのクライアントに時間指定されたワールドスナップショットを送信し、レンダー時間が間に入る2つの既知のワールドアップデートを見つけることにより、クライアントは現在の時間から75ミリ秒前に自分自身をレンダーします。
リポジトリ(3つのデモが含まれます) https://github.com/onedayitwillmake/RealtimeMultiplayerNodeJs
実際のビデオBox2Dデモ:http ://vimeo.com/24149718
JSConf 2011のスライド:http : //www.slideshare.net/MarioGonzalez15/realtime-html5-multiplayergameswithnodejs-7868336
QuakeworldとValveのSourceエンジンホワイトペーパーに基づいています:http ://fabiensanglard.net/quakeSource/index.php http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking
You should only ask practical, answerable questions based on actual problems that you face