Unityでネットワークゲームを創りたい(UNET)-23 (ここで一旦中断します)

はじめに

なんとかごまかしてここまで進んできましたが、現在発生中の問題はちょっと簡単には解決できそうにありません。この快活のためには本質的なUNET理解が必須と考えます。

従って、この問題の快活のためにはもう少し時間がかかること、そして簡単に想定されることは、似たような問題がこれからも多数発生するであろうこと、そしてその解決には多大な時間が必要となることが予想されます。

この状況を考えて、本プロジェクトを継続するかどうするかの判断を7月最後の日の今日行いたいと思います。

発生問題整理

発生事象:

プレイヤー操作戦艦とネットプレイヤー戦艦の移動動作が突然干渉してする。

発生原因:

2隻の戦艦のネットワークトランスフォームの位置情報の干渉(混線)が突然発生する。

対策方法:

現状不明。ネットで調査するも有益な情報は得られず。

発生理由推定:

UNET関連をブラックボックス化して開発を進めてきたために、戦艦周りの処理で外部に追加機能を幾つか創っているが、それらと本来のアプリの機能が干渉しているためと思われる。

なんか間違った定義で同期用の変数を書き換えたりしているのだと思いますが、それを昨日までずっと行ってきましたが、解決に至っておりません。

更なる原因調査のための方法:

大元のTANKSNETWORKINGアセット単体で同じ状況を創りだして本事象が発生するかどうかの確認を行うというアプローチは未実施。

対策検討のために時間が掛かる理由:

大元プロジェクトの構成は200を超えるスクリプトが存在する巨大プロジェクトであり、またそのそれぞれのスクリプトのソースコードは低レベルソフト開発者としての自分としてはとても見通しが悪いものです。ひとつの機能を創るために何層ものソフトモジュールを使って実現しているために本当に理解するために時間が必要となります。

既存問題の存在:

以前から発生している問題ですが、戦艦(タンク)プレファブの編集を行うとunityプロジェクト全体が不安定になり結果としてハングアップしてしまう問題が残っており、対策方法は検討もついておりません。macのメモリ容量不足の可能性はあります。

本プロジェクト継続か中止の検討ポイント:

1.ネットワーク対戦機能実現のために必要な時間

1か月の作業期間を追加すると①シンプルネット対戦アプリは実現できるでしょう。

②本格的ネットワーク対戦アプリとなると3か月は必要となるでしょう。機能の創りこみは非常に大変なうえに、UNETの接続プレイヤー数制限もありますので難しいところです。

2.ネットワーク対戦機能実現時のアプリ流通増加見込み

①シンプルネット対戦アプリでは若干は遊んでもらえるかと思いますが、あまり効果は期待できません

②本格的ネットワーク対戦アプリでは良いのかも知れませんが、プレイヤーの興味を惹く機能等をきめ細かく対応していくことができない中では、流通量の大幅増加は難しいかも知れません。

3.他アプリ含む全体状況

戦艦決闘アプリがちょっと活力低下してきています。早めの対策が欲しいところです。

4.自分的にはどうしたいのかということ

やはり他人のアプリの上に自分のアプリを創っても、見通しが悪く開発効率が悪すぎます。動いて当たり前の機能を延々調査しながら創り上げるプロセスは自分的には無理です。

ネットワーク対戦ゲーム研究は今回の作業でまあ見通しが良くなりましたので、一旦ここで中断するというのが適切ではないかとは感じています。

とにかく投資した時間でアプリ機能を着実に創りこめる開発プロセスに戻るべきと感じます。

結論

UNETネットワーク対戦ゲーム検討作業を中断することとします。

しょうもない結論ですみませんが、7月末日ということでちょっと区切りを付けさせて頂きました。6月22日から始めたわけですが、それでもまあかなり進んだと思います。

ネットワーク対戦ゲームの次なるステップは、UNET関係機能の本質理解が必要です。他アプリ開発を続ける中で少し気にしながら検討していくことにしたいと思います。

現在できていることの整理(進展無し)

1.3種類までの軍艦を選択して登場できる仕組み

2.シングルモードで戦艦を自在に操艦操作する

3.ネットワーク対戦モードで戦艦を自在に操作する

4.主砲射撃制御:戦艦主砲による同時斉射処理およびパーティクル創りこみ

5.スマホ上でのタッチ処理による操作

6.シングルモードでのプレイヤー戦艦の主砲照準と射撃処理

7.ネットワーク対戦モードでの敵戦艦の主砲射撃処理(新規)

8.今回創りこんだ戦艦周りの各エフェクトのネットワーク対戦での確認(新規)

現在できていないことの整理

0.unityハングアップ問題の回避策獲得

1.プレイヤー戦艦、ネットプレイヤー戦艦の座標(networktransform)の混触

2.インターネット接続を想定した遅延時間増の場合の動作調査

 

次に実現を検討すべきことを考えてみる

すみませんが、本検討作業は中断させて頂きます。

最後に

ちょっと別アプリ作成を進めたいと思います。ここまでおつきあい頂いた方がおられましたら、中途半端になり大変申し訳ありません。かなり先になるかと思いますが、再開時にはまたよろしくお願い致します。

以上

参考:海戦関連のアプリを紹介しておきます。

戦艦決闘空間:何といっても第一人気です。

   

潜水艦決闘空間:最新アップデートでかなり好評価されています

 

空母決闘空間1942:かなり良くできていると評価を頂いています