Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

テキストアドベンチャーゲームのアーキテクチャと工程

5,969 views

Published on

2014年12月21日の「アドベンチャーゲームエンジンとフレームワーク技術交流会」にて発表した資料です

http://www.kawaz.org/events/384/

Published in: Engineering
  • Be the first to comment

テキストアドベンチャーゲームのアーキテクチャと工程

  1. 1. テキストアドベンチャーゲームの アーキテクチャと工程 2014.12.21 @tunacook
  2. 2. 今日話すこと(結構多い) • アドベンチャーゲームを構成するアーキテクチャ • ゲームエンジンとライブラリの違い • スクリプト付ける上でお便利な道具 • シナリオライターが欲しい演出 • 「レイチェル」のライブラリインタフェース例
  3. 3. 今回想定している テキストアドベンチャーというもの こんな感じのゲームを作る時の話
  4. 4. アドベンチャーゲームの アーキテクチャ(構造)
  5. 5. 構造の全体図 OS(WindowsとかiOSとか) ゲームエンジン(吉里吉里、ArtemisEngine、Unity+jokerscriptなど) ライブラリ シナリオスクリプトと演出 実際に動いてるゲーム
  6. 6. 構造の全体図 OS(WindowsとかiOSとか) ゲームエンジン(吉里吉里、ArtemisEngine、Unity+jokerscriptなど) ライブラリ シナリオスクリプトと演出 実際に動いてるゲーム
  7. 7. OS
  8. 8. 構造の全体図 OS(WindowsとかiOSとか) ゲームエンジン(吉里吉里、ArtemisEngine、Unity+jokerscriptなど) ライブラリ シナリオスクリプトと演出 実際に動いてるゲーム
  9. 9. ゲームエンジン NScripter + +
  10. 10. 構造の全体図 OS(WindowsとかiOSとか) ゲームエンジン(吉里吉里、ArtemisEngine、Unity+jokerscriptなど) ライブラリ シナリオスクリプトと演出 実際に動いてるゲーム
  11. 11. シナリオスクリプト・演出
  12. 12. 構造の全体図 OS(WindowsとかiOSとか) ゲームエンジン(吉里吉里、ArtemisEngine、Unity+jokerscriptなど) ライブラリ シナリオスクリプトと演出 実際に動いてるゲーム
  13. 13. 実際に動いてるゲーム
  14. 14. 構造の全体図 OS(WindowsとかiOSとか) ゲームエンジン(吉里吉里、ArtemisEngine、Unity+jokerscriptなど) シナリオスクリプトと演出 実際に動いてるゲーム ライブラリ
  15. 15. ライブラリ?
  16. 16. ライブラリ? • ゲームエンジンの構文をそのままシナリオで 使わない • ゲームエンジンのスクリプトで作成 • ゲームエンジンに組み込まれた処理を
 さらに作りたいゲームに特化させたもの • だいたいマクロ機能を使っている
  17. 17. なぜわざわざ作るか • スクリプターが「比較的」辛くない
 内容を読まなくても見ただけで分かる • 変更があっても一括で変更できる • 修正・メンテナンスがしやすい&他の人が触りやすい • やはり整理整頓されたライブラリで
 やった方が気持ちが良い • ゲームエンジン側ではなるべく汎用的な処理に集中しててほしい
  18. 18. こんな感じ
  19. 19. スクリプターが使う道具
  20. 20. スクリプターの使う道具 • 正規表現での検索・置換ができるエディタ • KKDE(吉里吉里の場合) • バージョン管理システム
 (Git,Mercurial,SVNなど)
  21. 21. 正規表現が使えるエディタ • 秀丸 • サクラエディタ • Sublime text • Vim?
  22. 22. 正規表現が使えるエディタ • 行末にクリック待ちさせる時に、
 「$」で検索して、クリック待ちの処理で置換 • 多用する処理を一撃で突っ込む • スクリプターの負担が軽減される
  23. 23. KKDE • 吉里吉里用の統合開発環境 • タグのシンタックスハイライト • 画像のプレビュー • ボタン一発で実行 http://www.poringsoft.net/?page_id=132
  24. 24. 辛くないものを使おう 結論
  25. 25. シナリオライターが欲しい演出
  26. 26. シナリオライターが見せたいもの • シナリオでの見せ方を具現化する • グラフィックをリッチに見せる • 操作感などを「気持ちよく」見せる
  27. 27. 割と本格的な感じの(?)例 http://www.slideshare.net/tunacook/ss-35094307
  28. 28. まぁそこまでせずとも • 表情の切り替えをこまめに • 喋ってないところでは口を閉じる など
  29. 29. 「レイチェル」の ライブラリインタフェース例 インタフェース……「こういう風に書けばいい」ということ
  30. 30. (プレイ動画)
  31. 31. やりたいこと • キャラクターや背景などの画像を出したり引っ 込めたり • BGMを鳴らしたり止めたり etc
  32. 32. しかしそれだと古い
  33. 33. 「レイチェル」で
 本当にやりたかったもの
  34. 34. 本当にやりたいこと • キャラクターや背景などの画像を出したり引っ 込めたりアニメーションさせたり • BGMを鳴らしたり止めたり
 フェードイン・フェードアウトさせたい • 暗転とか明転とか etc
  35. 35. 画像(立ち絵) [FG_SHOW char="" look="" cloth="" pos="" spd="" disv="" move=""] [FG_SHOW char="レイチェル" look="楽" mouth="口開け" cloth="夏服" pos="中" disv="通常" move="左から"] こんな風に立ち絵素材の命名規則を付けておく
  36. 36. ちなみに立ち絵の作り方 • 立ち絵の仕様を決める
 表情=ポーズとなるように設定 • 「正面」「斜め」の素体を用意する
 (これを以後使い回す) • 2通りの向きを元に、各表情を作成 • 必要に応じて腕を設定 • 使い回せる「身体の向き・表情・腕」素材が できる。これに服を着せる なるべく使い回せるものを使い回すように 「いかに手を抜きつつリッチなように見せかけるか」
  37. 37. 画像(背景) DEMO
  38. 38. BGM再生 DEMO
  39. 39. こんな風に書ける
  40. 40. 「レイチェル」でのインタフェース方針 • 1挙動=1行でできるように • 汎用的なオプションを省略可能にし、
 引数の数をなるべく少なく • 発言者表示は発言者名そのまま表示 • 一番頻繁に出すものなので • エディタを見たときにすぐわかるように
 (読まなくても見ただけでわかるように)
  41. 41. まとめ • アドベンチャーゲームには、ゲームエンジン の上に「ライブラリ」がある
 そのまま構文を使ってもいいが、ライブラリ を作っておくと楽だし綺麗 • シナリオライターが描いている演出を知る • 辛くない道具を使おう
  42. 42. 楽しながら作りましょう
  43. 43. おわり

×