ゲーム開発ソフト[Unity]でのオンラインゲーム開発が盛んにおこなわれていて、今回は[Strix Cloud]を利用したオンラインゲーム開発について概要解説します。
比較的新しいプラットフォームで公開されているドキュメント、開発記事などが少ないということがあり、敷居が高くなってしまっていますが、自分が実際にStrixを利用してゲーム開発した経験をもとにStrixの良い点など解説します。
Strixとは
参加プレイヤーが大人数向けのオンラインゲーム開発向けのツールです。同時接続人数100人までを無料でサーバ利用できます。ただし1タイトルまでです。 複数大規模オンラインゲームを開発する場合は別途有料で契約する必要があります。
詳しくは公式サイトを参照してください。
移動同期、アニメーション同期が単純である
Strixでゲーム開発の最大の売りは同期をコンポーネントをアタッチするだけで実現するということです。
同期とはAさんが動作させているプレイヤーとBさんが動作させているプレイヤーはそれぞれ独立して動作させないといけません。そして自分から見てほかのプレイヤーの動きはリアルタイムでこちら側に反映させないとオンラインゲームとして成立しなくなります。
従来ではこの作業をスクリプトからコーディングして行っていました。しかしStrixでは移動同期、アニメーション同期などがSDKコンポーネント化されていてアタッチするだけで同期自体は完了します。(移動方法、アニメーションタイミングなどは自分で記述します。)
オンラインゲームならではの面倒な作業を簡略したというところが非常に便利です。
基本部分の開発
オンラインゲームを一通り作るとなると記事が非常に長くなってしまいます。
セクションごとに分けるかどうかで悩みましたがnoteに基本部分の開発記事を作成しました。
noteにした理由は長い記事を作成する場合に区分けする機能があったからです。
開発項目についてまとめると
・アカウント登録、サーバ登録
・ゲームアプリ側とサーバの紐づけ
・StrixReplicator,Synchronizerを利用した同期のやり方
・オンラインゲームで頻繁に利用される弾の発射同期(当記事ではレーザー光線を採用しました。)
・体力同期(Rpcを使います)
以上のオンラインゲーム開発に必要な基本要素を選出して記事を書きました。
所感
Strixは便利なツールですがまだあまり利用されていないということもありドキュメント不足が問題なのではと思いました。
機能実装などに進捗あればQiitaに追加で記事作成しようと思います。