Socket.ioとNode.jsでゲームを開発する際の一般的な間違い


7

私は貿易ではゲーム開発者ではありませんが、カードゲーム(つまり、ターン制ではなくリアルタイム)に取り組んでいます。私はそれらを避けることができるように人々がこの種の開発に不慣れなときに犯す一般的な間違いは何だろうと思いました!


3
一般的に言って、これらの種類の質問はあまりうまくいきません。以下からのよくある質問You should only ask practical, answerable questions based on actual problems that you face
テトラッド

11
よくある間違いは、間違いを避けようとすることです。そうするのではなく、間違いから学んでください。それは、最も貴重なリソース、経験の基礎です
Maik Semder '28

また、これはあまりにも具体的な問題だと思います-Socket.ioやNode.jsなどの新しいテクノロジーを使用してゲームを完了した人の数は、おそらく5から20の間であり、全員がこのWebサイトを見ているとは思いません。
Kylotan

1
@Kylotan、そのようなニッチな質問は実際にサイトに適しています。 joelonsoftware.com/items/2010/04/19.html
Tetrad

1
これがこのサイトに不適切な組み合わせであるとは示唆していませんでした(既に述べたあいまいさと主観性は別として)、ここでだれもほとんど使用していないものについてそのような一般的な問題を尋ねるのは時期尚早です。Joelの投稿は、一般的な技術に関する非常に具体的な質問を示唆していますが、これは(現在)非常に具体的な技術に関する一般的な問題です。ここに質問があってもかまいませんが、OPはこの時点で他の場所でより役立つヘルプを見つけます。
カイロタン

回答:


8

あるロブ・ホークス特色グーグルTechtalk、作成者のRawkets彼はWebSocketをしてNode.js.で彼のゲームを作成中に走った問題について語ります、彼はまた、彼が直面した問題のためのいくつかのかなり洗練されたソリューションを考え出します。


それは少しハイレベルですが、全体的に良いようです。私はそれをすくい取りました。
Davy8

8

最大の間違いは、単にクライアント側でゲームをプレイすることであり、情報を見ながら情報を伝えることができます。クライアントに単純に入力を伝え、サーバーから送信されたモデルを個別の間隔でレンダリングします。(これらのモデルをサーバータイムスタンプを含む配列に格納し、既知の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


非常に素晴らしい !いつの日かそれをいじるつもりです。
I.devries
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.