Jingi Devlog : Phase 5 - ネットワークコア

Published on
1分読む
––– ビュー
Demo

ご紹介 (Goshōkai)

Jingi Betaバージョン0.5.0のリリースをお知らせいたします。これは、ゲームの開発、特にネットワーキングにおける大きな進歩です。今回のアップデートでは、JingiのMMORPG機能を実現するためのコアネットワークインフラの構築に重点を置いています。

新機能 (Shin kinō)

  • Network Core Development: Jingiのネットワークコアを完成させました。この開発は、独自のServerCoreを作成することに興味がある人にとって重要であり、ここで共有される洞察が役立つかもしれません。
  • Why a Custom Network Solution?: カスタムネットワークソリューションを開発するという決定は、多くのゲームサーバーで一般的なシーン分割を必要とせずに、大量の同時ユーザー負荷をサポートするという私の目標に由来しています。このアーキテクチャは、将来のプロジェクト、潜在的なメタバースサーバーを含む、再利用できるように設計されています。
  • Technical Insights:
    • Framework Choice: プログラミング言語の選択は重要ではありませんが、パフォーマンスと利便性の面で、C#、特にDotnetCoreをお勧めします。Javaでの豊富な経験にもかかわらず、Dotnet 7はより良いパフォーマンスを提供し、コードをDotnetStandardライブラリに分割する機能は、特にUnityでの使用に非常に便利です。
    • Design Overview: ネットワークアーキテクチャには、プレイヤーからの安全なリクエストを処理する様々なStateServerを管理するMasterServerが含まれています。負荷を分散するためにStateServerのヘルスチェックを行い、現在、将来のWebベースのプレイヤーアクセスのためのHTTPリクエストを処理しています。
    • Global Accessibility: StateServerは、世界中のプレイヤーが最適なpingを得るために最も近いサーバーを選択できるように、戦略的に異なる国に配置されています。キャラクターデータベースはグローバルなので、プレイヤーは同じキャラクターでどのStateServerにもアクセスできます。
  • Performance Testing: シンガポールと日本のVPSソリューションでの初期テストでは、2コアのセットアップで、それぞれ5つのサブパケットを含む最大30,000 TCPパケット/秒を処理し、約10,000人の同時ユーザーをサポートできると推定される、優れたパフォーマンスとpingを示しました。
  • Load Balancing: アーキテクチャはSpatialOSと多少似ており、MasterServerはStateServerの健全性を監視し、プレイヤーの集中度が高い場所にサーバーを追加することができます。

フィードバック募集 (Fīdobakku boshū)

Jingiのネットワーク機能を改良し、拡張していく中で、皆様からのフィードバックは非常に貴重です。ネットワーク設定に関する技術的な質問や改善のための提案など、お気軽にご意見をお聞かせください。

Jingiのこの複雑でスリリングなコンポーネントの開発を進めていく中で、さらなるアップデートにご期待ください!