ゲーム開発環境勉強会@ビサイド に参加してきました

2016年2月13日にゲーム開発環境勉強会@ビサイドに参加してきました。 久々の開催ということで初めて参加する人も多かったようですが、会場もほぼ満席で大盛況でした。 以下メモです。

自動化や自動テストについて最近の話題をさらいます

自動化/テスト関連のトピックをひたすらさらっていくスタイルでの発表。

SlackでChatOps カヤックの事例紹介

  • 当たり前のことをしっかりとできている印象(これがなかなか難しい)
  • エンジニア以外の理解もしっかりと得られている
  • ChatOpsは30人くらいのチームで運用している

Jenkinsを使ったコンシューマゲームでのデプロイとテスト[改]

  • Build Flow Plugin でフローの制御
    • ジョブの実行順をDSLで記述できる
  • Categorized Jobs Viewでジョブの階層構造化
  • ビルドのパラメータ化でジョブの削減
  • Shelve Project Pluginで不要なジョブの整理
  • Workflow Plugin
    • Pipeline Pluginに名前が変更されている?
    • 川口さん作
    • Build Flow Pluginよりも強化されている様子
    • その分記述が複雑になっている?
  • スモークテスト
    • ビルドの確認テスト。ビルド後に単純なテストを流す
    • Windows版を実行し、ミッションに入れるかチェック
    • 起動からミッションスタート、終了までのワークフローやリソースに問題がないかが確認できる
  • モンキーテスト
    • テスト箇所や操作手順を定めずに実施。フリーチェック
    • ゲーム開始からエンディングまでの通しプレイを自動で行うAIを作成
    • 各ステートに対して動作を変更
      • リザルト画面で◯ボタン連打
    • 3回ミッションに失敗したら無敵&攻撃力100倍
  • モンキーテストの理由
    • リソースの解放漏れ
    • ミッションの途中で落ちる
    • 長時間プレイしないと起きない問題も多い
  • モンキーテストの問題
    • 作成/メンテナンスにコストが掛かる
    • ある程度パターン化するために発見できないバグも多い
    • チェックに非常に時間が掛かる
  • その他のテスト
    • 全エフェクトの再生チェック機能
    • 全データがネイティブデータに変換できるかチェック機能
    • データに埋め込まれているパスが正しいかチェック機能
    • メニューで色々な操作を自動でする機能
  • まとめ
    • 属人化を廃し、品質を担保するためにはJenkinsによるデプロイとテストは重要
    • Jenkinsの環境構築を開発スケジュールに予め入れておく
  • Build Flow Pluginの導入でフローが見えにくくならないか?
    • ジョブにNo.入れる
    • ViewerのPluginを使えば見やすくはなる

Electornによる開発支援ツール制作