Flashをクライアントとして使用する最初のオンラインゲームをまとめ、実際のゲームの状態が保持されるC++でバックエンドアプリケーションを作成することに興味があります。
SDL、SFML、Allegroなどを使用する前に、C ++で多くのゲームを実行しましたが、ネットワークライブラリを使用することはできませんでした。私は、実際のサーバーにグラフィック表示がない(または必要ではないが、表示できる)ゲームサーバーにライブラリが最適であるという有用な方向性に興味がありました。正直なところ、答えはなんでもいいと思います。ソケットのコツをつかむと、データをやり取りするのが簡単になります...しかし、最初に尋ねるのは仕方がありません。
私はflashまたはas3の経験がほとんどありませんが、ブラウザーを介してゲームにアクセスできるという考えのように、flashを学ぶことは明らかに私が克服しなければならない難解なことになるでしょうが、私の主な関心はライブラリに関するヒントです。 、またはソース、またはソケットまたは最適に機能する方法を介してデータを送受信するのに適したチュートリアル。
TCP / UDP間の議論について読んだので、ここでそのような戦争を始めたくありません。一般的な役立つアドバイスをお願いします-私は私を立ち上げて実行するための簡単なものを探しているだけです:-p
ちなみに、私がC ++を選択する理由は、プレーヤーが実際にはミニチュア仮想マシンを備えたロボットであり、プレーヤー数が増えるにつれてすべてがサーバー上で実行されるため、すべてのvmをエミュレートする必要があるためです:-p
アップデート:
ゲームの世界はリアルタイムであることが意図されていますが、プレイヤーの相互作用はそうである必要はありません。ゲームの基本は、永続的な世界で相互作用し、ポイントを獲得するために毎日/毎週達成する目標と課題を持っている小さなロボットをプログラムすることです。
ロボットを直接制御できないため、プレイヤーはリアルタイムのビジュアルを必要としないため、表示データのバッファリングが可能になると考えていました。サーバーは、接続ごとに10秒程度のデータをバッファリングし、それを一度に送信します。このようにして、クライアントでデータが再生されている間、サーバーはさらにバッファリングでビジー状態になります。
プレーヤーがサーバーと行う一般的な操作は、新しいコードのアップロードと統計の取得です。また、ロボットを移動したり、開始位置にリセットしたりするための1回限りのコマンドが他にもある場合があります。リモートコントロールは通信チャネルを介して行われるため、バッファによって遅延されます。これは、永続的な世界が火星(惑星)のような場所にあり、信号が行き来するのに時間がかかるという事実によって簡単に説明できます。
ロボットをセットアップしてクライアントでリアルタイムにテストできる「ラボ」を計画していました。これは実際のゲームの世界とは関係がないため、ネットワーキングは必要ありません。両方の言語でVMを作成する:(
私はC++に完全に慣れており、永続的な世界の実用的なプロトタイプがすでにいくつか用意されています。ネットワーキングに関しては、私は完全な初心者なので、最初にアドバイスを得るのが最善だと考えました。