Unityとはなんなのか?
Unityで開発しようと思います。
1年前、Unityのゲーム学習を行ったときはなんだかよくわからず終わりました。
でももう違います。経験積んだのでよく理解できるでしょう。
まずはユニティのアーキテクチャを一通り読んでみます。
https://docs.unity3d.com/ja/2021.3/Manual/unity-architecture.html
驚きました。日本語ではありません。
動揺しないように深呼吸して、Chromeの翻訳機能を有効にして読み進めました。
そんなに難しくなさそうです。C++かC#を選べるようですが、コードはほぼ書かない想定で進めるのでC#を使いましょう。
もしコード量の増加が見込めるならC++で。
やりたいことに大きく差が出る言語ではないので、特に気にせずに進めます。
次はゲーム動作の根本。
以下の記事によるとGameLoopという仕組みがUnityのようです。
https://yotiky.hatenablog.com/entry/background-knowledge-of-architecture-in-unity
よく分かりませんが、ユーザーの入力とCPU速度を切り離すことを目的として導入されているようです。
結果的に、各オブジェクトはupdateタイミングによる更新処理を行うことに繋がっているのでしょう。
ということはupdateを行うオブジェクトが増加すればするほどスループットが遅そうです。ふーん。
そのうえでアーキテクチャをどうするのかという話を調べたのですが、難しくて読むと眠くなる記事しか出てこないので明日にまわそうかな…
なんか言葉だけそれっぽい記事が多く、結局どうつくるのかイメージがわかない記事が多い印象です。
アーキテクチャマニアになりたいのではなく、ゲームが作りたいので不要な情報は読まないようにします。
今回の要点は以下です。
・Unity側がゲームシステムのアーキテクチャを呼び出すような形式がいい
・分散システム的にデータが存在する状態は避けたい?