Unityを使ってのゲーム開発体験――ゲーム業界志望の学生向けインターンシップ・プログラム事例

DSC_3655

こんにちは、Unityの染谷翔です。1/19(日)に株式会社カプコン主催の、学生向けのインターンシップ・プログラム『業界サバイバルシップ2013 決勝プレゼン』が開催されました。このプログラムは全国から選ばれた50名以上のゲーム業界志望の学生が6つのチームを組み、それぞれ約2ヶ月で1本のゲームを開発して発表するというもの。ユニティ・テクノロジーズ・ジャパンからはゲーム開発に必要なUnityライセンスの貸与という形で協力させていただきました。

Read more…

Unity Test Tools がリリースされました

UnityTestToolsの日本語マニュアルは下記URLで閲覧できます。

Unity Test Tools Documentation


以降の内容はUnity Test Tools Releasedを翻訳したものです。

過去にブログでもご紹介しましたが、Unity QA ではこの 2 年間、社内用の各種ツール、フレームワーク、テストリグの開発と拡張を続けてきました。その結果として生まれた各種ツールは、Unity 社内で高く評価されるまでになりました。今回はその成果をユーザーの皆さまと共有するべく、Unity Test Tools バージョン 1 をアセットストアよりリリースいたします。こちらよりダウンロードが可能です:

今回リリースする Unity Test Tools が、ゲーム開発に携わる皆さまの高いコード品質を実現する一助となれば幸いです。

Unit Test (ユニットテスト)

テストを自動化するにあたり、最小単位にして最大の効率性を発揮するのがユニットレベルでのテストでしょう。今回私たちは、ユニットテストフレームワークの基礎部分に nUnit を採用しました。ユニットテストのコードを書いている方の間ではよく知られたフレームワークなので、ご存知の方も多いかもしれません。

Unit_Test_Runner

エディターへの統合に際しては、できる限り直観的かつシンプルになるよう努めました。また再コンパイル時に自動実行するオプションも備えているため、書いたコードに対して即座にフィードバックが得られるようになっています。またテストフレームワークにとって重要なポイントのひとつに、簡単にユニットテストを実行できるビルドパイプラインの作成能力がありますが、Unity Test Tools ではその機能も用意されています。

Integration Test (インテグレーションテスト)

コンポーネント、オブジェクト、アセット間のインテグレーション(統合/結合)をテストするには、より高いレベルでのテストが不可欠です。そういった用途のために作成されたのが、Integration Test Framework です。インテグレーションテストはまた、コードのアーキテクチャに対する要件がないため、開発中ゲームの自動テストを設定する最も簡単な方法でもあります。

Integration_Test_Runner

最もシンプルな方法は、シーンを作成し、アセットやゲームオブジェクトを使用し、最後に検証したい内容について条件を設定することです。実行自体もユニットテストと同じくらい簡単で、ひとたび開始すればテストを含むシーンが繰り返しながら、設定されたテストを毎回実行します。また、このフレームワークはビルドパイプラインにシームレスに組み込むことも可能で、プロジェクト内の全レベルをコマンドラインからテストできます。

Assertion Component (アサーションコンポーネント)

アサーションコンポーネントとは、プレイモード中にゲームオブジェクトの状態をモニタし、条件に一致した場合にゲームを一時停止するコンポーネントです。主にデバッグ時に使用され、条件に一致したフレームでゲームを一時停止することで、発生した事象の全体像を把握しやすくします。

今回私たちは、アサーションコンポーネントをより使いやすくするため、コード内のブレークポイントリストに似た形態のエクスプローラを追加しました。これを使うことで、コンポーネントの位置や状態の概要を確認できます。アサーションコンポーネントは複雑な条件ランタイムを評価できるため、通常のブレークポイントよりもパワフルな機能と言えるでしょう。

Assertion_Overview

またビルドおよびリリースのパイプラインを実現するため、リリースビルドではアサーションコンポーネントを無効化できるようにしました。このため、リリース版のゲームでは確実にアサーションの発生を予防できます。

Examples (サンプル)

ダウンロードパッケージにはサンプル一式に加えて、各ツールの動作を解説した包括的なドキュメントが含まれます。

The Future (今後について)

本ツールのリリースはほんの始まりに過ぎません。テストをしやすいプロジェクトを構築できるよう、今後は支援チュートリアルやサンプルの公開に注力してまいります。また、ツールの改良や Unity への更なる統合も進め、いずれの面からも、皆さまがテストを行いやすい環境を構築してまいります。

それではよいテストを!