インベントリ、チャット、ターン制マッチ: horizOn史上最大の機能リリース週
要点まとめ
horizOnにインベントリ、プレイヤー値、実績、フレンド、グループ、チャット、ターン制マッチが追加され、Unity、Godot、Unreal SDKも新バージョンに。
オンラインゲームには遅かれ早かれ同じようなシステムが必要になります。プレイヤーが所有するものを保存する場所。ネットワークの偶然のエラーで複製できない通貨。正確に一度だけ報酬を支払う実績。フレンドリスト、チャット、昼休みにプレイする相手との対戦。これらはそれぞれ小さなプロジェクトですが、まとめると実際のゲームが良くなる前に数ヶ月の開発時間を消費することがあります。
今週、horizOnはまさにそのリストで大きな一歩を踏み出しました。Server 1.73とDashboard 1.111は経済とソーシャル機能の完全なセットを提供し、Unity、Godot、Unreal SDKはすべてそれらを使用する新バージョンを取得しました。10月22日から10月28日の間にリリースされた内容は以下の通りです。
ゲーム用のサーバー側エコノミー
新しい経済機能は、ミスが実際の信頼を損なうゲームの部分をカバーします。プレイヤーが所有するもの、獲得するもの、使うものです。
- アイテムとインベントリ。 dashboardでアイテムカタログを定義し、プレイヤーがアイテムを保持、購入、使用できるようにします。アイテムベースは共有され、各インスタンスは異なる部分のみを保存するため、インベントリをコンパクトに保ちます。
- Player values。 コイン、ジェム、エネルギーなどの残高と、ある値を別の値と交換するオファー。
- 実績。 進行状況、アンロック、報酬。報酬はPlayer Inboxを通じて配信されるため、ゲームが誤ったタイミングで閉じても失われません。
- プレイヤー統計。 プレイしたマッチ数や倒した敵の数などのカウンター。アトミックに更新され、dashboardで設定可能。
- 値報酬付きギフトコード。 ギフトコードがPlayer valuesを直接付与できるようになり、サーバーが償還全体を管理します。
ここで「アトミック」が重要な理由
エコノミーを自分で構築する場合、難しいのは数字を保存することではありません。リクエストが途中で失敗したときに何が起こるかです。プレイヤーが「購入」をタップし、コインが差し引かれ、接続が切れてアイテムが届かない。またはクライアントが再試行して報酬が二重に支払われる。これをリリース後に修正するということは、サポートチケット、手動返金、画面上の数字を信じなくなったプレイヤーを意味します。
horizOnでは、購入、報酬の請求、値の変更は完全に完了するか、まったく完了しないかのどちらかです。SDKはアクションの元の意図を保持するため、接続が失われた後の再試行は新しい操作を開始するのではなく、同じ操作を完了します。
最初のエコノミーのベストプラクティス
- 1つの通貨と少数のアイテムから始める。 小さなカタログはバランス調整とテストが簡単です。
- クライアントに残高を信頼させない。 サーバーに値を変更させ、クライアントを表示として扱います。
- 意図的に失敗パスをテストする。 購入中にゲームを終了し、結果が完了しているか、まったく触れられていないかを確認します。
- dashboardワークベンチを使用する。 誰かが問題を報告したときに、1つの接続されたプレイヤーレコードでプレイヤーの値、アイテム、実績を検査できます。
フレンド、グループ、チャット、ターン制マッチ
ソーシャル面も同じリリースで登場しました。
- フレンド。 フレンドリクエスト、関係、公開プレイヤー検索(フレンドコード経由など)。
- グループ。 メンバーシップと管理を持つギルド、クラン、チーム。
- チャット。 メッセージ受信確認付きのホストされたチャット。履歴はプレイヤーのデバイスに保存され、dashboardにはモデレーションビューが含まれているため、会話が問題になったときに介入できます。
- マッチ。 非同期のターン制マッチ。プレイヤーはターンを実行し、ゲームを閉じて後で戻ってきます。ランク付けされた実行は中断後に回復できます。
ターン制プレイは幅広いゲームに適合します。カードゲームやボードゲーム、パズル対戦、戦略タイトル、一度に数分プレイするものすべてです。通信はWebSocket接続を介して実行され、プレイヤーは自分のターンになると通知を受け取ります。
プレイヤーとトレード、ギフト、メッセージ
3つの追加機能がプレイヤー同士、そしてあなたとプレイヤーを接続します。
- Marketplace。 プレイヤーはアイテムをリストして取引できます。アイテムは取引中に安全に保持され、成立しない場合は返却されます。以前のプレイヤーごとのレシート制限は削除されました。
- Player Inbox。 すべてのプレイヤーに通知をブロードキャストするか、プレイヤーが自分で請求する報酬を配信します。dashboardには保護されたブロードキャストビューとサポートツールがあります。
- Shared Objects。 複数のプレイヤーが一緒に作業するデータ。リビジョンチェック付きで、2つの変更が同時に行われても互いに上書きされません。
Unity、Godot、Unrealの新バージョン
3つのエンジンSDKはすべて新機能をサポートしています。
- Unity SDK 1.12は、アイテム、Player values、実績、フレンド、グループ、チャット、マッチ、Marketplace、Inbox、Shared Objectsのマネージャーを追加し、すぐに実行できるサンプル付き。
- Godot SDK 1.11は、セッションセーフなマネージャーとサンプルシーンを含む、GDScriptで同じセットを追加。
- Unreal SDK 1.10は、型付きC++クライアントとBlueprintノードを提供。1.10.3までのフォローアップリリースにより、UE 5.6以降で非互換プラグインプロンプトなしでプラグインをロードし、Import ConfigをDefaultGame.iniに保存し、スタンドアロンビルドのパッケージングを修正。
AIコーディングアシスタントを使用する場合、MCP Server 1.9は新機能をツールとして公開し、インベントリとマッチからグループ、Inbox、チャットモデレーションまで対応。アシスタントは推測する代わりに、機能の仕組みを調べることができます。
プロジェクトを独自のサーバーに移動
一部のチームはhorizOn Cloudで始めて、後でバックエンドを自分で実行したいと考えます。その移動がはるかに簡単になりました。Dashboard 1.114とServer 1.75により、プロジェクトのコンテンツを1つのファイルとしてダウンロードでき、Simple Server 1.6がそれをインポートします。
Simple Server 1.5も今週新機能を獲得し、アイテム、Player values、実績、統計、フレンド、グループ、マッチ、Marketplace、Inbox、Shared ObjectsのSQLiteとMySQLサポートを提供。チャットはhorizOn Cloud専用のままです。
小さな改善
- ゲストサインイン。 匿名サインインのデフォルト制限は、IPとプロジェクトごとに120になり、制限は設定可能。
- パフォーマンスと安定性。 Server 1.75は、リクエストごとのデータベースとバックエンドCPUを削減し、データベースフェイルオーバー後に読み取りとトランザクションがクリーンに回復。
- 料金ページ。 完全なプラン比較が読みやすくなり、アカウントなしでホームページから到達可能。
- ゲームジャム。 トップナビゲーションのAboutグループに、ゲームジャム用の新しいパートナーページ。
先週のアップデートを見逃した場合は、無料プランのメールと新しいサインアップのまとめをご覧ください。
Discordでより速くアップデートを入手
この投稿は週をまとめたものです。リリースされた瞬間にリリースについて聞きたい場合は、horizOn Discordサーバーに参加してください。新バージョンはそこにライブで表示され、この週次まとめに到達する数日前のことが多く、質問したり次に必要なものを伝えたりする最速の方法です。
新機能の1つを選び、テストプロジェクトで試して、どうだったか教えてください。Discordで返信するか、GitHubでissueを開くことができます。変更の完全なリストはhorizOn changelogにあります。