0

これについては古いトピックに出くわしましたが、Web コンテンツを作成するための新しいテクニックがたくさんあるので、もう一度質問する必要があります。

私のバックグラウンド: xhtml/css/javascript/php/mysql について十分な知識があります。包括的なデータベースと製品を簡単に追加/変更するための cms を含む、ゼロからの Web ショップの作成に問題はありません。PHP と mysql を使用してデータを保存することに非常に慣れています。部族戦争のクローンを作ろうとしても、まったく怖くありません。また、c#/xna でいくつかのゲームを作成しましたが、まだ初心者だと考えています。私はフラッシュに手を出しましたが、これはおそらく私が望む結果を得るために使用できると感じています.

私のプロジェクト: 2D mmo タクティカル シューター。プレイヤーはかなり大きなマップを移動し、他のユーザーの位置情報を非常に迅速に取得できる必要があります。ゲームには多くのマップがあり、ほとんどのマップは数人のプレイヤーしか扱えないはずです。ただし、ハブ マップと関心のあるマップは、ラグなしで少なくとも 100 人のプレイヤーを処理できる必要があります。

戦闘がマップ上でリアルタイムに解決できれば最高ですが、プレイヤーが戦闘に参加できるインスタンス マップを開くなど、これを解決する他の方法を既に考えていました。また、戦闘でより戦術的なターンベースのアプローチを検討していますが、それはリアルタイム戦闘の長所と短所に依存します.

要約する と、グラフィカルな実装を除いて、すべてを管理できると確信しています。Mysql は、数ミリ秒でローカル プレイヤーの位置をクエリするのにそれほど苦労することはありません。

Deeppolis という名前のゲームに出くわしました。これは、私が望むものとグラフィックがかなり似ています。私はまだこれをダウンロード可能なクライアントにすることを検討していますが、ブラウザベースのゲームはより多くの人々を引き付ける傾向があるため、このブラウザベースを行う場合、どのような選択肢があるのか​​非常に興味があります.

このテキストの壁を読んでくれてありがとう:D.

4

1 に答える 1

1

これがリアルタイムである場合、プレーヤーの位置を取得するために「mysql を照会」したくないでしょう。すべてのクライアントが接続するソケット サーバーを作成する必要があります。ソケット サーバーは、接続されているすべてのクライアントのサブスクライバー リストをメモリに保持します。このようにして、1 つのクライアントがメッセージをソケット サーバーに送信すると、ソケット サーバーは必要なデータを必要なクライアントにすぐにプッシュできます。また、不正行為などを防ぐために、ゲーム状態のモデルをソケットサーバーのメモリに保持することもできます。データベースは長期保存にのみ使用し、他のすべてはメモリ内にある必要があります。また、共有サーバーではソケットにアクセスしてソケットサーバーを作成できない可能性が高いため、プライベートサーバーが必要になることに注意してください。

クライアント側: javascript & socket.io (ソケット クライアント)

サーバー側: javascript & node.js (ソケットサーバー)

于 2012-04-20T17:46:30.047 に答える