Practical game development
with Stingray
Naoji Taniguchi
谷口 直嗣
フリーランス
CGスタジオのR&D部門から独立
コンソールゲーム(Nitendo64, XBox, XBox360, Wii)開発、ディレクション
スマホアプリ企画開発、インタラクティブ展示企画開発
ロボットアプリ企画開発
最近の仕事
KUKA Robotanica
東映アニメーション
正解するカド
今日お話しすること
StingrayのFlow/Luaでどうやってゲームを
組み立てていくか?
Luaはどう使う?
Flow/Lua関連の開発Tips
Meowedful Days開発フロー1
Unit化 Unit Flow開発
DCCツールで
モデル作成
Test Mapでテス
ト
アーティス
ト
プロジェクト
管理者(ハヤ
シ ヒカル)
現在は、アー
ティスト側と
Stingray側のつ
なぎ役
プログラマー プログラマー
Meowedful Days開発フロー2
実行時レベル
生成
テスト
Unit Flow
パラメーター
調整
ゲームデザイナー
配置CSV編集
Unit
Unit
Unit
ゲームデザイナー ゲームデザイナー
Level FlowとUnit Flow
Level FlowとUnit Flow
Level Flow
Level 全体の処理を記述
Levelの初期化など
Unit Flow
Unit の処理を記述
プレイヤーキャラのコントローラー入力受け付け
キャラの移動
アニメーション変更
コリジョンイベントに対する処理
Level Flow
Level Flow tab
Unit Flow Unit Editorを起動
Unit Flowではプロジェクトで
だいたいの配置場所を決めておくと
良い
キー入力 a
キー入力
space
コリジョ
ン
Level Update
ゲームデザイナーとUnit Flow
Unit Flowの中の変数
ゲームデザイナー的Unit Editor
Unit Flowの中の変数
Test Map
チームでゲーム開発
プログラマーとゲームデザイナーは
別の人がリモートで作業をしている。
思考回路と担当分野が違う
このようなチーム構成に合わせた
Stingrayの使い方を考えた
ゲームデザイナー
ゲームデザインはトライアンドエラーが必要
ゲームデザインではゲームを俯瞰して見ることが必要
チームでもオンラインでゲームをさっと俯瞰したい
プログラマー
仕組みを作って使いまわしたい
ゲーム上のオブジェクトごとの調整はゲームデザイナー
に任せたい。
どのレベルでもプレイできるような仕組みを作ってしまう
ステージ構成を外部化
ゲームデザインの作業を分担して、共有しやすいように
障害物などのゲームオブジェクトは、Google
Spreadsheet上でゲームデザイナーが記述するようにし
た。
Google Spreadsheetから配置情報をダウンロードして、
Stingrayに組み込んで、Level開始時にゲームオブジェク
トをスクリプトで配置
CSVのフォーマット
content/models/characters/PPK/PPK_m, 0, 0, 0, 0, 0, 0
content/models/characters/PPK/PPK_m, 1, 0, 0, 0, 0, 0
content/models/characters/PPK/PPK_m, 2, 0, 0, 0, 0, 0
content/models/blockers/TrashCan/TrashCan, -1, 0, 0, 0, 0, 0
Luaの登場!
配置データをStingrayに読み込む
配置データを読み込むスクリプトをLuaで作成
Luaの関数を読み込むカスタムノードを作成
カスタムノードを呼び出すsubroutineを作成
subroutineをLevel Loadedをトリガーにして呼び出す
CSVをロードしてUnitを生成する
Luaスクリプト
Luaスクリプトを呼び出す
カスタムノード
カスタムノードを呼ぶ
Flow Subroutine
Level Flowから
Flow Subroutineを呼ぶ
ロジックの共通化
Flow Subroutineの活用
UnitFlowはUnitに紐付いているのは直感的でわかりや
すいが、共通のロジックをコピペするのは避けたい
一つのロジックを共有したい
Flow Subroutineを活用
Flow -> Lua
Flow でプロトタイピング、Luaで実測
ドキュメントのおすすめによると
ゲームデザイナーはロジックをFlowでプロトタイプ
できたロジックはプログラマーがLuaで実装して洗練させ
るのがおすすめと書いてある
http://help.autodesk.com/view/Stingray/ENU/?guid=__s
tingray_help_creating_gameplay_lua_vs_flow_html
Luaの方がデバッグが楽!
Luaはブレークポイントをセットしてステップ実行できる!
Flowでは現状ステップ実行できない
Tips 1 Debug
Flow Debug
PrintTo Screen/ Debug Print
PrintTo Screen/ Debug Print
ここに表示される
PrintTo Screen/ Debug Print
Lua Debug
Break Pointのセット
Break して変数が見れる
Log ConsoleにPrint
Tips 2 Performance Hud
Editorから
View/Performance Hud
Test Engine
Test Engineに切り替え
Perfhud artist
Flow Reference
現状ではStingray のUnit Flowのエディ
ター上でFlowのサーチ機能が無い
Level Flow上にはある
現状ではWebでリファレンスを見る

Practical game development with Stingray

Editor's Notes

  • #17 動かしてみる BGMの設定 アクティブなカメラの設定 カメラにキャラのUnitを渡して初期化している
  • #18 Unit Editorを起動してみる、.unitファイルから、Unitの右クリックから
  • #20 Zoomを使いながら説明をする
  • #22 Zoomしながら説明をする
  • #24 Unit FlowとViewportを切り替えながら説明をする
  • #26 Viewの中で全体を見せる ファイルの階層を見せる
  • #31 フォーマットの説明をする
  • #35 実際にファイルを開いて見せる
  • #37 実際にファイルを開いて見せる
  • #39 実際にファイルを開いて見せる
  • #41 実際にファイルを開いて見せる Prototaype1/content/levels/users/yoshikai/load_csv
  • #44 ファイル構成を見せる
  • #50 Zoomして見せる
  • #51 Zoomして見せる
  • #52 Log Console
  • #54 Prototype1/script/lua/tools.luaを開いて 緑のプレイボタンを押す Csv load の Levelを開いておく
  • #55 Prototype1/script/lua/tools.luaを開いて 緑のプレイボタンを押す Csv load の Levelを開いておく
  • #56 Prototype1/script/lua/tools.luaを開いて 緑のプレイボタンを押す Csv load の Levelを開いておく
  • #59 実際にPerformance Hudを出してみる
  • #61 実際にPerformance Hudを出してみる
  • #62 実際にPerformance Hudを出してみる