受講スキル | ・ゲーム開発時に機械的に行う作業を経験した事がある方 |
---|---|
受講者が得られる | プログラムのビルド・テスト、スクリプト・コマンド実行、パッケージングなど、定型化できる作業を自動化、可視化できます。もしかしたらゲームのプレイデバッグも自動化できるかもしれません。 |
大規模化、作業分担の進むゲーム開発環境において、ソフトウェア開発作業の効率化は必須要件です。
本セッションではCI(継続的インテグレーション)の紹介と、オープンソースソフトウェアとして提供されているHudsonというツールを使ったCI導入事例を紹介します。
CIとはビルド・テストプロセスを自動化し、頻繁にビルドを行い常にビルドが通る状態を保つ事で、ソフトウェアの品質を維持するという考え方です。
ビルド担当者が手元のバッチコマンドやスクリプトを叩く事に比べ、ビルド情報の共有、ビルド・テスト失敗の通知、成果物のバージョン管理等ができます。なにより、一度設定してしまえば時間だけがかかり生産性の無い確認作業に割り当てるコストとヒューマンエラーを限りなく減らす事ができます。
今回の事例ではアーケードゲーム開発向けライブラリのビルド、テスト、パッケージングからリリースまでの流れを自動化した例を紹介します。
本来は業務向けITシステム等の開発に用いられるツールをゲーム開発へ応用するために、プラグインによるツールの拡張や、AutoItというフリーのGUI操作自動化ツールの導入も行いました。
GUI画面チェックやメモリリークチェック方法、分散ビルド等のビルド手順や、バグトラッキングシステム、静的解析ツール、ユニットテストツール等の他の開発支援ツールとの連携、チームの開発フローに応じたツールのチューニング方法について、実際にデモを行いながら紹介する予定です。
CIツールを使った作業の自動化については昨年の同社の伊藤周のセッション「バグを限りなくゼロにする方法」での紹介を受けて導入されている方もおられるかもしれません。
Hudson等のツールを導入してみたはいいけど、ツールにチームメンバーが馴染まなくてうまく使いこなせていない、かゆいところに手が届かない、という感想を受けた方には今回紹介する手法が役に立つかもしれません。
今回はゲームライブラリでの実例の紹介ですが、ゲームアプリケーションでは、データのコンバートやゲームの実行テストにも活用できるでしょう。
ゲーム本体の開発以外にお金のかけにくいゲーム業界において、タダで手に入るツールをうまく活用して楽に品質の高いものを作りましょう。
-
粉川 貴至
株式会社セガ
AM開発技術部 技術開発課
プログラマー
1981年奈良県生まれ。2008年立命館大学大学院博士後期過程単位取得退学。同年株式会社セガに入社。大学時代には(株)ソニーのエンターテイメントロボットAIBOをJavaから遠隔制御するフレームワーク「airlab.aibo JAVA パッケージ」を開発。同パッケージを使って人工知能を研究していたためゲームAIに興味を持ちつつも、現在はアーケードゲームを中心としたライブラリの開発と開発環境の整備に従事。
《講師からのメッセージ》