3

まず、リアルタイムのマルチプレイヤーブラウザゲームを作成するには、この情報が必要です。今のところ、例外を除いて、ほとんどすべてをコーディングできます。サーバーサイドイベントをクライアントにプッシュする必要があります。したがって、これに関する実際の解決策(ロングポーリングとは異なります)が必要です。

私はすべてのフォーラム、すべての記事を読んでいますが、これは私を混乱させます。

いくつか質問したいのですが、できれば詳細な回答が必要です。

  1. HTML5は私たちにWebSocket機能をもたらしました。最初はほとんどブラウザでサポートされていませんでしたが、現在、ほとんどすべての最新のブラウザでサポートされています。それは将来の彗星の解決策になるのでしょうか?node.jsやその他のソリューションを強制終了できますか?

  2. 選択できるオプションはたくさんあります。Node.js、socket.io、APE、サードパーティのWebサイトのAPIを使用。(pusher.comのように)私にとって最も有益なものは何ですか?サーバーサイドをPHPでコーディングしたい。node.jsを使用する場合は、サーバー側でもjavascriptを使用してコーディングする必要があると思います。それが正しいか?そうでない場合、これらのフレームワークでPHPを使用するにはどうすればよいですか?

  3. マルチプレイヤーゲームをコーディングするので、パフォーマンス/スケーラビリティが不可欠です。最初は100人以上の同時プレイヤーを獲得することはないと思いますが、将来がどうなるかは誰にもわからないので、将来数千人の同時プレイヤーをサポートできるようにコーディングしたいと思います。私のオプションは何ですか?

  4. PHPは、私が言語自体を気に入っているのと同じように、この領域に欠けているだけです... Travianのようなゲームをコーディングしたくないので、退屈です。リアルタイムでお願いします。必要に応じて、このタスクの新しい言語を学ぶことができます。これについてどう思いますか?

  5. 現在、ローカルWebサーバーとしてApacheを使用しています。過去にIISとNginxを使用しました。このジョブ用に設計されたPHPWebサーバーはありますか?私の知る限り、一部の言語には、並行性のために設計された特別なWebサーバーがありました。(例:トルネードウェブ)

max_execution_timeを0に設定し、無限ループでクライアントに新しいデータをフラッシュすることは、この場合のオプションではなく、まったく効果的ではありません。

どんな答えでも大歓迎です。

ありがとうございました。

追伸 リアルタイム通知などの他の目的にも使用しますが、ほとんどは2Dゲーム自体です。

4

1 に答える 1

1

PHP は、このために設計されていません。このタイプのアプリケーション用に設計された言語を選択することをお勧めします。

質問に答えるには:

  1. Web ソケットのアイデアは、ゲーム サーバーとやり取りできるゲーム クライアントを作成することです。ソケットを使用するゲームを構築しようとしている場合、PHP はこの型に適合しません。継続的に実行され、おそらくマルチスレッド化されるものが必要です。C#、C++、Java などを見ています。node.js はサーバーであるため、node.js にはなりません。ブラウザでは、クライアントを作成しています。

  2. node.js != PHP のため、これにどのように対応すればよいかわかりません。node.js は Web サーバーとして設計されています。これは、サーバーが Web 要求を受け取り、適切な応答を返すことを意味します (Apache の HTTPD のように考えてください)。PHP は、より動的な HTML 処理を実行できるように apache と連携するスクリプト言語です。

  3. C++、Java、C# などを使用する

  4. C++、Java、C#、またはソケットをサポートするその他の言語を学びます。

  5. いいえ、Web サーバーは要求を受け入れて処理し、結果を返すと想定されています。クライアントとサーバー間の継続的な通信を探している場合、Web サーバーは探しているものではありません。

すでに多くの地上作業を処理している製品があります。PhotonSmart Fox Serverのようなものを見ることをお勧めします

于 2012-06-06T19:02:03.253 に答える