前作から得た経験を活かし、ゼロから作り直しました
このころにはオブジェクト指向の考え方はわかるようになってきました
開発期間は3か月ほどで、テストプレイヤーからの評価もよく、2022年4月にリリースされました
Javaで作って初めて公開した作品でしたが、複数のYoutuberの方もプレイしてくださり、そのおかげか、同接200人超えを記録し、同ゲームの日本サーバー内で上位ランクインし、時間帯によってはトップになり、さらに同カテゴリではトップを独走しました
その後、リアルの多忙などもあり、数か月でサーバーは閉鎖しました
今作は自分史上で一番ヒットした作品です
ここからは、トラブったりしたお話です
今作は同接200人超えとなり、かなり負荷がかかる状況でした、そのためハード、ソフトウェア、ネットワーク、etcに様々なトラブルが大量に発生しました
スキルや演出などの処理を通信のことを何も考えず作っていたので、ゴールデンタイムなどでは標準の1GbpsLANでは性能が足りず、新たに10Gbpsのプランを契約、ハードも10GbpsのNICを購入、SwitchHubの購入などなど、ネットワーク周りのハードを強化しました
サーバー側を強化したは良かったのですが、そもそもクライアント側の通信量がバケモノだったため、そちらの対策に取り組みました。
対策前は、ゲーム内で何かが起これば、サーバーに接続している全プレイヤーに同期するとかいう、今考えたら意味の分からないことをしていたので、一定距離外での出来事はカットするようにしました
さらにサーバーを最大5サーバーまで分割を行いました
一旦はこれで落ち着いたように思えたのですが、レイドコンテンツを実装した際に、一か所に数十人のプレイヤーが密集するため、ネットワーク側に似たような問題が発生、さらにソフト側も、最初はレイドコンテンツなど予定していなかったため、プレイヤーが密集しているとこでスキルを打ちまくると、処理が激重に・・・、ネットワーク側の問題は、極力見た目を損なわないように同期を甘くしたり、そもそもエフェクト量を減らしたり、して何とか対応、ソフト側も、検索アリゴリズムの見直しや、敵のAIを複数人向けに最適化などを行い、マシにはなりましたが、結局ラグを体感できてしまうレベルでした
そもそも使っているプラットフォーム自体の人数上限が初期では1サーバー当たり20人に設定されていることもあり、これ以上の軽量化は難しく、レイドコンテンツ外では特に問題にならなかったため、対策されないまま、サービス終了を迎えました
Som7の開発運営期間中にSomNetworkCordという、複数のサーバーをつなげる+DiscordとのChat連携を搭載したものを作りました。これについては別途Workに書きます
