2017-05-20 7 views

答えて

7

免責事項:私は残念ながらLance

の共同制作者の一人、フェイザーの2 *アーキテクチャは、それはハードリアルタイムJavascriptのマルチプレイヤーゲームを作るためにランスと対になります。

フェイザーは、マルチプレイヤー設定では保持していない多くの仮定をしています。たとえば、レンダリングとゲームのループは結びついています。サーバーは明らかに何もレンダリングする必要はありません。

また、フェーザーは、サーバー上にも存在しないDOMとオブジェクトが存在することを前提としています。さらに、世界のゲーム状態オブジェクト、スプライトなどを保持するすべてのデータ構造体は、サーバコンテキストでは意味を持たない拡張インスタンスのPIXIオブジェクトに保存されます。これらの制限およびタイトカップリングは、ランスのモジュラーアプローチと互換性がありません。

DOMとCanvasをエミュレートするライブラリを使用してサーバ上でPhaserを実行することは、すべてJSDOMNode Canvasのように完全に可能ですが、サーバ上でPIXIを実行することでパフォーマンスが大幅に低下するという意味です。 PIXIのデータ構造を同期させて

Phaser 3.0はPhaser 2.0をよりモジュラー的な方法で完全に書き直したもので、うまくいけばランスとの統合がはるかに簡単になります。近い将来、この統合を容易にする計画があります。

+0

ねえ、フェイザー3についてどう思いますか?前にPomeloを使っていましたが、代わりにLanceを試してみたいです。遅れ補償やその他の主要なランス機能は必要ありませんが、Pomeloよりもはるかにやさしいようです。私はバックエンドループ(計算や他のもの)だけを処理するために使用します。フロントエンドのゲームループはそれ自身の上に生き残り、ソケットを介してデータを受け取り/送信します。私はそれを克服しているのですか、それともPhaserでうまくいくのでしょうか? 「うまくいく」とは、ランスの問題を克服するのに何ヶ月もかからないことです。<->フェイザーの統合。 –

+0

遅れ補償は必要ありませんか?あなたのゲームはターンベースですか?それ以外の場合は、常に何らかの遅延処理が必要です。私はPhaser 3を見る機会がありませんでしたので、どのように統合が簡単かはわかりませんが、私はすぐに計画しています – OpherV

+0

はい、確信しています。バックエンドは、プレイヤーにプッシュされるマーケットイベントやランダムイベントを処理します。プレイヤー間でリアルタイムのやりとりができないため、10秒か1分遅れても問題はありません。それは今の時代ではないでしょう、将来的にはそうかもしれません。私は主にPomeloの交換を探しています.Pomeloは良い文書やコミュニティがないために時間がかかります。それは強力ですが、使用するのは難しいです。だからこそ私はLanceを純粋にバックエンドでこの時点で使うことを考えています。とにかく、答えをありがとう、Phaser 3を詳しく見てみましょう。 –

関連する問題