問題タブ [mmo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
3775 参照

python - mmo を設計するための良い python ライブラリ? アクターベースのデザイン

Pythonを使ってmmoゲームをデザインしようとしています...

スタックレスを評価したところ、一般的なpythonではなくフォークなので使いたくない

私は pysage candygram Dramatis と parley のどちらかを選択しようとしています

これらのライブラリのいずれかを試してみてください。

ご回答ありがとうございます

0 投票する
3 に答える
1362 参照

iphone - iPhone mmorpg での高レイテンシー

現在、iPhone 用の mmorpg を作成しようとしています。iPhone がプレーヤーの位置を 1 秒間に数回要求するように設定しました。これを行う方法は、クライアントが非同期 NSURLConnection を使用して、mysql データベースから位置をロードし、それを json で返す php ページにリクエストを送信することです。ただし、位置が要求されてから実際に読み込まれるまでに約 0.5 秒かかります。これは非常に高いように思えますが、これを引き起こす可能性のある明らかな要因はありますか?

また、これにより、クライアントでのプレーヤーの動きも非常に不安定になります。プレイヤーの動きのぎこちなさを軽減するアルゴリズムや方法はありますか?

0 投票する
3 に答える
12109 参照

game-engine - オンラインゲームのクライアントは、インターネットを介してどのように高速にデータを交換できますか?

本当にシンプルなゲームを想像してみましょう...私たちは、インターネットを介してリアルタイムで出口を見つけようとしている迷宮と2人のプレーヤーがいます。

すべての移動で、ゲームクライアントはプレーヤーの座標をサーバーに送信し、別のクライアントの現在の座標を受け入れる必要があります。どうすればこの交換をこれほど速くすることができますか(すべての現代のゲームがそうであるように)。

わかりました。memcacheまたは同様のテクノロジーを使用して、サーバー側でのデータマイニング操作を減らすことができます。最速のWebサーバーなども使用できますが、タイミングに問題があります。

だから、質問は...

  1. サーバーと情報を交換するために通常使用しているプロトコルゲームクライアントは何ですか?
  2. この問題を解決するためにどのサーバーテクノロジーが登場しますか?
  3. ゲーム中の遅延などで戦うためにどのアルゴリズムが適用されるか。
0 投票する
5 に答える
1118 参照

php - 読み込み時間とSQL通信の観点からjavascript/phpチャットルームをより効率的にする方法

今のところ、私のjavascriptチャットのセットアップは機能しているので、次のようになります

そして、関数内で、JQueryを使用してget postを作成し、phpスクリプトからメッセージを取得します。1。SQL接続を開始します。2。SQLを介して正当なユーザーであることを確認します。3。最後のユーザー訪問以降の新しいメッセージのみを取得します。4 .SQLを閉じる

これはうまく機能し、チャットは完璧に機能します。私の懸念は、これが多くのSQL接続を開いたり閉じたりすることです。非常に高速ですが、今すぐ小さなjavascriptマルチプレイヤーゲームを作成し、ユーザー座標と他の数十の変数を1秒間に3回転送して、毎回SQL接続を開いたり閉じたりして情報を取得したいと思います。毎回多数のテーブルから取得することは、スムーズに実行するには十分に効率的ではない可能性があり、サーバーにも過度の負担がかかる可能性があります。

サーバー/データベースでそれほど難しくないことを知っておく必要がある、これらすべての変数を通信するためのより効率的な方法はありますか?

0 投票する
1 に答える
3709 参照

python - Python マルチプレイヤー ゲーム サーバー プロジェクトを探しています

Python マルチプレイヤー ゲーム サーバー プロジェクトを探しています。もっと学ぼうとしているところです。

0 投票する
1 に答える
1078 参照

actionscript-3 - 仮想世界用のオープン ソース マルチプレイヤー ソケット サーバー

仮想世界の開発に使用できるオープン ソースのマルチプレイヤー ソケット サーバーはありますか? SmartFoxServer と Electroserver を見てきましたが、非常に高価です。

0 投票する
4 に答える
1588 参照

save - MMOにデータを保存する

MMOゲームにデータ(キャラクターの統計、実績、アイテムなど)を保存することについてどう思いますか?サーバーが何らかの理由でダウンした場合(いつ)、データ損失をできるだけ少なくしたいのは明らかです。

  • 重要なことが起こったときはいつでもキャラクターを保存しますか?パフォーマンス的にはびくびくしているようですか?
  • すべてを一度だけX時間保存しますか?数秒間フリーズしますが、「世界は救われています」というメッセージが表示される可能性があります。
  • たぶん、すべてのキャラクターにセーブタイマーがあり、時々セーブするためにキャラクターをキューに入れ、サーバーはビジーでないときはいつでもこのキューで動作しますか?

これらの3つのうち、最後の1つはかなり良い解決策だと思いますが、何かを見落としている可能性があります。しかし、あなたの考えはどうですか、「ビッグボーイ」はそれをどのようにやっていますか?

0 投票する
1 に答える
246 参照

time - 時間ベースのエンジンの非リニア イベント

単純な「ステップ ベース」のグラフィカル エンジンでは、オブジェクトの動きが直接フレーム レートに結び付けられます。これは、ハードウェアが同一であった 1980 年代には問題ありませんでした。

何年もの間、エンジンは d=s/t の「時間ベース」でした。これは、コンピュータのフレーム レートやパワーに関係なく、オブジェクトが A から B に移動するのに同じ時間がかかることを意味します。

すべてが時間ベースである場合、NPC に攻撃されたときにキャラクターのヒット ポイントが x ずつ減少するようなアクションをどのように実行できますか? 「ヒット」は 5 秒ごとです。

私が知る限り、この 5 秒の遅延は「ハートビート」と呼ばれます。多くの MMO は、多くのアクションに対してグローバルなこのようなハートビートを使用します。

「ハートビート」は、時間ベースのエンジンで線形でないイベントに使用する最良の方法ですか?

アップデート:

詳細なご回答ありがとうございます。可能であれば、明確にしようと思います。MMO サーバーが制御する世界を内部的にシミュレートするために使用するオプションを決定しようとしています。

私が理解しているように、オブジェクトを変更するシステムには 3 つの主な「刺激」があります。 :これらはサーバー内部のみです。

  1. 線形統合操作。これらはゲームループ内で行われます。たとえば、A から B への NPC の移動。

  2. クライアント イベント。サーバーに関する限り、これらは一見ランダムな時間に発生します。たとえば、ユーザーが発砲をクリックします。

  3. 時間ベース。これらはハートビート間隔で発生します。たとえば、アイドル状態の NPC をチェックして、何かすることを与えます。

ステップ 3 は、私が取り組んでいるもので、この方法が正しいかどうかを明確にするために探しています。これで私の質問が明確になることを願っています。