2026年の春休みに部内でUnity向けの設計講習会を開催しました。
経緯
Unityによって我々は簡単にゲームを作ることができます。しかし、簡単に作れてしまうことでそれに頼りきりになり、良いコードを書いたりや保守性の高い設計を考えたりといったモチベーションが薄れてしまっているのではないかと感じました。
特に、チームを組んでの開発や長期に渡る開発においては適当なコーディングによって技術負債がどんどん溜まり、いつの間にか身動きが取れなくなってしまうといったことになりかねません。典型的な例で言えば、GameManager という名の数千行の神クラスに全てを詰め込む、というようなことです。traPではハッカソンやプロジェクトなどでチーム開発をする機会が多いため、この問題は重要です。
そこで、設計に対するサークル内の意識を高め、ひいては更なるゲーム開発を促進するために、本講習会を開催するに至りました。
内容
講習会は全3回に分けて行いました。
- 第1回: 「良いコード」
- 第2回: 「クラス設計」
- 第3回: 「アーキテクチャ」
第1回では命名やバグの原因となるコードなど、設計の基礎となる「良いコード」を書く方法を紹介しました。第2回ではそれを前提に保守性の高いクラスをどう設計するかに焦点を当て、最後の第3回ではより発展的な内容として大規模開発も見据えたアーキテクチャの設計法を解説しました。
資料
外部向けに再編集して公開しています。
感想
どうなるかと思いましたが、受講者からはかなり良い評価が頂けて安心しました。
ゲームは結局面白さが全てであり、コードの良し悪しはその面白さに全く関与しません。実際、部内で高い評価を得ているゲームのコードが必ずしも良いものであるとは限りません。とはいえ、どんなに面白いアイデアも形にできなければ意味がありません。設計を蔑ろにしてプロジェクトが炎上し、開発が頓挫しては元も子もありません。
近年、traPのゲーム制作者の間でも設計と品質に意識を向ける人が増えてきたように思います。これは良い兆候です。アイデアを実現する手段としての設計を大切にして貰えればと思います。