practical game development with stingray

64
Practical game development with Stingray Naoji Taniguchi

Upload: naoji-taniguchi

Post on 25-Jan-2017

882 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Practical game development with Stingray

Practical game development with Stingray

Naoji Taniguchi

Page 2: Practical game development with Stingray

谷口 直嗣フリーランス

CG スタジオの R&D 部門から独立コンソールゲーム( Nitendo64, XBox, XBox360, Wii) 開発、ディレクション

スマホアプリ企画開発、インタラクティブ展示企画開発ロボットアプリ企画開発

Page 3: Practical game development with Stingray

最近の仕事

Page 4: Practical game development with Stingray

KUKA Robotanica

Page 5: Practical game development with Stingray
Page 6: Practical game development with Stingray

東映アニメーション正解するカド

Page 7: Practical game development with Stingray
Page 8: Practical game development with Stingray
Page 9: Practical game development with Stingray
Page 10: Practical game development with Stingray
Page 11: Practical game development with Stingray

今日お話しすることStingray の Flow/Lua でどうやってゲームを組み立てていくか?Lua はどう使う?Flow/Lua 関連の開発 Tips

Page 12: Practical game development with Stingray

Meowedful Days 開発フロー 1

Unit化 Unit Flow開発DCCツールでモデル作成 Test Mapでテスト

アーティスト プロジェクト管理者(ハヤシ ヒカル)現在は、アーティスト側とStingray 側のつなぎ役

プログラマー プログラマー

Page 13: Practical game development with Stingray

Meowedful Days 開発フロー 2

実行時レベル生成 テスト Unit Flowパラメーター調整

ゲームデザイナー

配置 CSV編集

Unit Unit

Unit

ゲームデザイナー ゲームデザイナー

Page 14: Practical game development with Stingray

Level Flow と Unit Flow

Page 15: Practical game development with Stingray

Level Flow と Unit Flow

Level Flow  Level 全体の処理を記述  Level の初期化などUnit Flow  Unit の処理を記述 プレイヤーキャラのコントローラー入力受け付け キャラの移動 アニメーション変更 コリジョンイベントに対する処理

Page 16: Practical game development with Stingray

Level FlowLevel Flow tab

Page 17: Practical game development with Stingray

Unit Flow Unit Editor を起動

Page 18: Practical game development with Stingray

Unit Flow ではプロジェクトでだいたいの配置場所を決めておくと良い

Page 19: Practical game development with Stingray

キー入力 a

キー入力 space

コリジョン

Level Update

Page 20: Practical game development with Stingray

ゲームデザイナーと Unit Flow

Page 21: Practical game development with Stingray

Unit Flow の中の変数

Page 22: Practical game development with Stingray

ゲームデザイナー的 Unit Editor

Page 23: Practical game development with Stingray

Unit Flow の中の変数

Page 24: Practical game development with Stingray

Test Map

Page 25: Practical game development with Stingray
Page 26: Practical game development with Stingray

チームでゲーム開発プログラマーとゲームデザイナーは別の人がリモートで作業をしている。思考回路と担当分野が違うこのようなチーム構成に合わせたStingray の使い方を考えた

Page 27: Practical game development with Stingray

ゲームデザイナーゲームデザインはトライアンドエラーが必要ゲームデザインではゲームを俯瞰して見ることが必要チームでもオンラインでゲームをさっと俯瞰したい

Page 28: Practical game development with Stingray

プログラマー仕組みを作って使いまわしたいゲーム上のオブジェクトごとの調整はゲームデザイナーに任せたい。どのレベルでもプレイできるような仕組みを作ってしまう

Page 29: Practical game development with Stingray

ステージ構成を外部化ゲームデザインの作業を分担して、共有しやすいように障害物などのゲームオブジェクトは、 Google Spreadsheet 上でゲームデザイナーが記述するようにした。Google Spreadsheet から配置情報をダウンロードして、 Stingray に組み込んで、 Level 開始時にゲームオブジェクトをスクリプトで配置

Page 30: Practical game development with Stingray

CSV のフォーマットcontent/models/characters/PPK/PPK_m, 0, 0, 0, 0, 0, 0content/models/characters/PPK/PPK_m, 1, 0, 0, 0, 0, 0content/models/characters/PPK/PPK_m, 2, 0, 0, 0, 0, 0content/models/blockers/TrashCan/TrashCan, -1, 0, 0, 0, 0, 0

Page 31: Practical game development with Stingray

Lua の登場!

Page 32: Practical game development with Stingray

配置データを Stingray に読み込む配置データを読み込むスクリプトを Lua で作成Lua の関数を読み込むカスタムノードを作成カスタムノードを呼び出す subroutine を作成subroutine を Level Loaded をトリガーにして呼び出す

Page 33: Practical game development with Stingray

CSV をロードして Unit を生成するLua スクリプト

Page 34: Practical game development with Stingray
Page 35: Practical game development with Stingray

Lua スクリプトを呼び出すカスタムノード

Page 36: Practical game development with Stingray
Page 37: Practical game development with Stingray

カスタムノードを呼ぶFlow Subroutine

Page 38: Practical game development with Stingray
Page 39: Practical game development with Stingray

Level Flow からFlow Subroutine を呼ぶ

Page 40: Practical game development with Stingray
Page 41: Practical game development with Stingray

ロジックの共通化

Page 42: Practical game development with Stingray

Flow Subroutine の活用UnitFlow は Unit に紐付いているのは直感的でわかりやすいが、共通のロジックをコピペするのは避けたい一つのロジックを共有したいFlow Subroutine を活用

Page 43: Practical game development with Stingray
Page 44: Practical game development with Stingray

Flow -> Lua

Page 46: Practical game development with Stingray

Lua の方がデバッグが楽!Lua はブレークポイントをセットしてステップ実行できる!Flow では現状ステップ実行できない

Page 47: Practical game development with Stingray

Tips 1 Debug

Page 48: Practical game development with Stingray

Flow Debug

Page 49: Practical game development with Stingray

PrintTo Screen/ Debug Print

Page 50: Practical game development with Stingray

PrintTo Screen/ Debug Print

ここに表示される

Page 51: Practical game development with Stingray

PrintTo Screen/ Debug Print

Page 52: Practical game development with Stingray

Lua Debug

Page 53: Practical game development with Stingray

Break Point のセット

Page 54: Practical game development with Stingray

Break して変数が見れる

Page 55: Practical game development with Stingray

Log Console に Print

Page 56: Practical game development with Stingray

Tips 2 Performance Hud

Page 57: Practical game development with Stingray

Editor から

Page 58: Practical game development with Stingray

View/Performance Hud

Page 59: Practical game development with Stingray

Test Engine

Page 60: Practical game development with Stingray

Test Engine に切り替えPerfhud artist

Page 61: Practical game development with Stingray
Page 62: Practical game development with Stingray

Flow Reference

Page 63: Practical game development with Stingray

現状では Stingray の Unit Flow のエディター上で Flow のサーチ機能が無いLevel Flow 上にはある

Page 64: Practical game development with Stingray

現状では Web でリファレンスを見る