このプロジェクトには、C++ で記述されたシングル スレッド ゲーム サーバーが含まれています。ゲームは、ネットワーク、ゲームワールド、通信ミドルウェアの 3 つの主要コンポーネントに分かれています。
カスタマイズされた UDP ネットワーク プロトコルを使用しており、重要なパケットの処理、遅延のオフセット、欠落データの回復または更新、再送信などを行うためのフラグを追加できます。
プレイヤーは自分のアカウントでログインし、ロビーからゲームを作成および選択し、クリーチャーと戦い、アイテムを操作し、スコアを受け取り、経験を積み、ステータスをアップグレードすることができます。
サーバーとの対話には、C# で書かれたカスタム Unity クライアントが使用されました。ネットワーク通信の後には、シリアル化されたネットワーク パケットが続きます。パケットは、コンピュータのユーザー ID、一意の識別子、および数値カウントを含むヘッダーと、それに続く単一または複数のメッセージ ヘッダーおよびそれぞれのシリアル化されたデータで構成されます。
C++ 標準ライブラリの一部、いくつかのブースト ライブラリ、および mysql コネクタを使用して、サーバー全体が最初から作成されます。パフォーマンス上の理由から、独自のメモリを管理します。
boots::asio と mysql コネクタが必要です。
サーバーとの対話には、C# で書かれたカスタム Unity クライアントが使用されました。
Bruno Miguel Boost Libraries 標準ライブラリ MySQL Multiplater ゲーム プログラミング (Joshua Glazer および Sanjar Madhav 著) ゲーム プログラミング パターン (Robert Nystrom 著)
マサチューセッツ工科大学
ハートランド ゲーム コンテストで、審査員によって 2 位、一般投票によって 2 位を獲得した写真。
アカウントの作成。
ロビー。
インゲーム。