WisdomSoft - for your serial experiences.

Unityの技術背景とスクリプト設計

「第2回 渋谷Unity技術勉強会xコロプラ事例発表」で発表した資料です。

Unityのスクリプト技術詳細

株式会社ハッチアップ主催、渋谷セルリアンタワーにあるGMOインターネット株式会社のオフィス内て2012年3月1日に開催された「第2回 渋谷Unity技術勉強会xコロプラ事例発表」にて、技術セッションのスピーカーとして参加させていただきました。

発表内容は Unity エンジンが .NET Framework 互換環境である Mono を基盤としていることを中心に、これらの技術の概要と性質、及びスクリプトを書くときの注意点をまとめたものとなっています。セッション時間は 40 分ほどで、以下の3つのセクションでお話しさせていただきました。

  • Unityのアーキテクチャとスクリプトの関係
  • コードのライブラリ化と品質向上
  • スクリプトを書く上での注意点

Unity は小規模な組織でも効率的にゲームが作れる優れたツールなので、短期間で開発させる少人数のプロジェクトが乱発されがちです。しかし Unity で開発しやすいゲームジャンルは限られるため、人海戦術的なゲームの乱発は、ここ1~2年が限界だと考えています。その後は、価格競争に陥るか、もしくは差別化を図るしかなくなります。

私からの提案は、今後のスマートフォン市場や Unity ゲームの成熟に備えて正しく技術を積み重ね、技術をもって差別化を図るべきというものです。高い技術は製品の質を高めるだけではなく、生産性の向上や、他の技術への転用も容易になり、長期的に見れば技術的戦略の多様性を生み出します。使い捨てのスクリプトをゲームごとに作成するのは最小にとどめ、広く応用できる再利用可能な部品として設計することが組織的に求められます。

再利用可能な部品として設計するには、コードの依存関係を明確に理解しなければなりません。他の環境でも動作可能な Unity に依存しない部分を抽出することが重要ですが、それに加え .NET Framework のバージョン及びフルセットやサブセットなどのプロファイルへの依存、センサーやセキュリティなどデバイスへの依存なども考慮しなければなりません。

詳細は、以下の勉強会資料にまとめているのでご覧ください。

勉強会資料

個人的には、ライブラリ用のプロジェクトを Unity から切り離すことで Visual Studio の機能を最大に発揮できることが利点だと感じます。単体テストやコード分析、デバッグなどを分業化でき、Unity で開発しているチームと協調しながら作業を進められる体制がベストでしょう。現時点では、そこまで大きな規模の開発は少ないと思われますが、上記した理由から今後は増えてくると考えています。

今から備えておきましょう。

関連文書