既存のPhaserゲームをどのようにしてマルチプレイヤーにするのですか?ランスを使ってマルチプレイヤーフェイザーゲームを作れますか?
この目的でLanceライブラリを使用できますか?どちらのライブラリも自分自身のゲームオブジェクトをコントロールしているので、同じゲームで2つのフレームワークを一緒に使う方法はわかりません。
既存のPhaserゲームをどのようにしてマルチプレイヤーにするのですか?ランスを使ってマルチプレイヤーフェイザーゲームを作れますか?
この目的でLanceライブラリを使用できますか?どちらのライブラリも自分自身のゲームオブジェクトをコントロールしているので、同じゲームで2つのフレームワークを一緒に使う方法はわかりません。
免責事項:私は残念ながらLance
の共同制作者の一人、フェイザーの2 *アーキテクチャは、それはハードリアルタイムJavascriptのマルチプレイヤーゲームを作るためにランスと対になります。
フェイザーは、マルチプレイヤー設定では保持していない多くの仮定をしています。たとえば、レンダリングとゲームのループは結びついています。サーバーは明らかに何もレンダリングする必要はありません。
また、フェーザーは、サーバー上にも存在しないDOMとオブジェクトが存在することを前提としています。さらに、世界のゲーム状態オブジェクト、スプライトなどを保持するすべてのデータ構造体は、サーバコンテキストでは意味を持たない拡張インスタンスのPIXIオブジェクトに保存されます。これらの制限およびタイトカップリングは、ランスのモジュラーアプローチと互換性がありません。
DOMとCanvasをエミュレートするライブラリを使用してサーバ上でPhaserを実行することは、すべてJSDOMとNode Canvasのように完全に可能ですが、サーバ上でPIXIを実行することでパフォーマンスが大幅に低下するという意味です。 PIXIのデータ構造を同期させて
Phaser 3.0はPhaser 2.0をよりモジュラー的な方法で完全に書き直したもので、うまくいけばランスとの統合がはるかに簡単になります。近い将来、この統合を容易にする計画があります。
ねえ、フェイザー3についてどう思いますか?前にPomeloを使っていましたが、代わりにLanceを試してみたいです。遅れ補償やその他の主要なランス機能は必要ありませんが、Pomeloよりもはるかにやさしいようです。私はバックエンドループ(計算や他のもの)だけを処理するために使用します。フロントエンドのゲームループはそれ自身の上に生き残り、ソケットを介してデータを受け取り/送信します。私はそれを克服しているのですか、それともPhaserでうまくいくのでしょうか? 「うまくいく」とは、ランスの問題を克服するのに何ヶ月もかからないことです。<->フェイザーの統合。 –
遅れ補償は必要ありませんか?あなたのゲームはターンベースですか?それ以外の場合は、常に何らかの遅延処理が必要です。私はPhaser 3を見る機会がありませんでしたので、どのように統合が簡単かはわかりませんが、私はすぐに計画しています – OpherV
はい、確信しています。バックエンドは、プレイヤーにプッシュされるマーケットイベントやランダムイベントを処理します。プレイヤー間でリアルタイムのやりとりができないため、10秒か1分遅れても問題はありません。それは今の時代ではないでしょう、将来的にはそうかもしれません。私は主にPomeloの交換を探しています.Pomeloは良い文書やコミュニティがないために時間がかかります。それは強力ですが、使用するのは難しいです。だからこそ私はLanceを純粋にバックエンドでこの時点で使うことを考えています。とにかく、答えをありがとう、Phaser 3を詳しく見てみましょう。 –