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

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による開発支援ツール制作

UnityでスクリーンショットをTexture2D形式で取得する

UnityではApplication.CaptureScreenshotというAPIスクリーンショットを撮れますが、png形式で画像を保存するため、SNS投稿などに利用する際に使いづらい(Texture2D形式で取得したい)場合があります。

そんなときは以下のように自前で画面のピクセルデータを読み込んで、テクスチャを生成すればOKです。

東京インディーズに行ってきました

2016/1/26に東京インディーズに行ってきました。 東京インディーズとは、インディゲーム開発者が月に1回集まり、ゲームの話をしたり、自分の開発中のゲームを見せ合ったりする飲み会です。 今回が初めての参加だったのですが、外国人の開発者が非常に多く参加しており、会の途中に設けられているプレゼンテーションのコーナーもところどころ翻訳しながらという感じでした。以下メモです。

  • プレゼンでは開発中/リリース済みのゲームの紹介ができる
    • α版、β版の状態でも全然OKな雰囲気
  • デジゲー博みんな結構出すのね
  • Unity使いやはり多い
  • STEAMは今まであまり漁ったことなかったけど、漁る価値ありそう
  • NIGOROさんの圧倒的なクオリティ
    • LA-MULANA2を開発中とのこと

参考:

Unityのスクリプトテンプレートを変更するには

Macであれば

/Applications/Unity/Unity.app/Contents/Resources/ScriptTemplates

に入っているテンプレートを変更すればOK。

例えばC#なら「81-C# Script-NewBehaviourScript.cs.txt」を修正する。

第1回ゲームエフェクト勉強会に参加してきました

7/15 (水) に第1回ゲームエフェクト勉強会に参加してきました。第一部ではリアルタイムゲームエフェクト概論と題して、エフェクトの基本概念の体系的な解説と、実例に基づいた制作フローの説明。第二部ではUnityを使ってのエフェクト制作ハンズオンと非常に内容の濃い勉強会でした。第二部のハンズオンが時間の都合で、後半駆け足になってしまったのが非常に残念だったのですが、それを差し引いても非常に満足度の高い勉強会でした。以下、第一部 リアルタイムゲームエフェクト概論の講演メモです。

第一部 リアルタイムゲームエフェクト概論

  • プロフィール
    • 下村 雄次
    • プログラマ 兼 3Dデザイナー 兼 ディレクター 兼 プロデューサー
    • サウンドとシナリオ以外のほぼ全て
    • メインツールVim / SAI / 3dsmax / Softimage XSI / C# / C++ / Javascript
    • LINQとかRxとかパフォーマンスよりも設計に気づきを与えてくれる技術が好き
    • レベルファイブ -> さくらソフト
    • 特にエフェクトを長年やってきたプログラマ/デザイナーというわけではない。でもエフェクトをずっとやってみたかった!
  • どうすればエフェクトって作れるの?
  • それなりのゲームメーカーに就職してエフェクト部門に配属されなければ学ぶ機会はほぼない
  • 業界にはエフェクトデザイナーを教育する意志がない(その割には人が足りないと言う)
  • じゃあ独学するには?
    • 何から手を付けていいの?
      • ググってもあまりまとまったサイトがない
    • Photoshopとか?
      • アニメーションするので静止画用のペイントソフトだけでは限界がある
    • FlashやAfterEffectsは?
      • 完全な2DゲームのエフェクトならOK
    • Maya, 3dsmaxなどの3DCGソフト?
      • パーティクルはあるがゲームには直接組み込めない。主に動画用である
    • エフェクト用のミドルウェア
      • ゲームエフェクトだけにしか使えない高額なソフトウェアを独学レベルで買えますか?
    • それでもやろうとすると・・・
      • 素材はデザイナーに頼んで〜
      • 動作確認はプログラマに頼んで〜
      • 一人じゃ学習できない!
  • 今どきのゲームエンジン(ex. Unity, Unreal Engine)ならエフェクトも作れてその場で確認できる!なんでもできて個人利用なら無料!商用利用ライセンスも良心的!
  • 凄いエフェクトの入ったゲームを実際に作られた方に解説して頂きましょう
  • プロフィール
  • 概要
    • エフェクト入門向けに、実例を交えつつ紹介、解説などしていきます
  • おしながき
    • エフェクト解剖
      • パーツごとに分解して理解してみる
    • メリハリ
      • エフェクトを手直ししてみる
    • デモ実例
      • バトルデモっぽい流れでのエフェクト解説
  • 1.エフェクト解剖
    • エフェクトって見ても中身がどうなっているのか想像つかん。バラしてみよう!
    • エフェクトは複数のパーツを組み合わせて構成されます
      • パーツが極端に少ないとアマチュア臭が強まる
      • 勿論多ければいいわけではなく、少ない方が望ましいが、要素を満たした上で、余分を削ぎ落とす順序
    • 動画をコマ送りで見て勉強しよう
      • YouTubeなどに資料はいっぱいある
      • ゲームでもアニメでも映画でもいいけど実写もいい
      • 自分で資料作成するのもオススメ(この場合は自分でエフェクトを作ってみるの意)
  • 2.メリハリ
    • 予兆、インパクト、余韻を意識する
      • 予兆・・・タメを作る。存在しない場合も多い
      • インパクト・・・短く。4/60fくらい。一瞬だけど超大事。シルエット重視
      • 余韻・・・薄くゆっくり残す。仕様や処理負荷と相談
    • 動かすとこは動かす。止めるとこは止める。緩急が大事!
  • デモ実例
    • バトルシーンのデモを通して、入れたエフェクトを解説してみます
  • 最後に
    • エフェクトは飾りである
      • 大事なのは被写体
      • 大体の場合、エフェクトは主役ではない
      • 気持ち控えめに調整
    • 他の要素を引き立てることを重視すべき
      • 画面全体やゲームの流れをちゃんと意識する
        • どういう状態で発生するのか
        • プレイヤーに何を伝えるべきなのか
    • 画面内のできごとにリアクションを返すもの
      • 何かあったら簡単なものでいいから何か出す
        • 重要なのはエフェクトの品質ではなくプレイフィールの向上
        • きれいなエフェクトより気持ちいいエフェクト
      • 無くても成立しているならいらない
    • 何でも屋が求められる
      • 誰が作るか微妙なものが大体エフェクト担当に来る
        • 武器とか破壊された背景などの小物
        • 一時的に発生する人間や動物など
        • カメラを付けたこともある
      • 他セクションとの折衝が必要
        • 仕様や制約/制限が複雑になりがち
        • あらゆるケースで出すので、後からモデル等に問題が出る
  • エフェクトはゲームでは欠かせないものだけど、本格的にやっている人が少ない。おいしい!

その他

参考URL