「知りたい!」と言ってくれる方がいたので、ティラノゲームフェス2016で準グランプリ[優秀賞]をもらった「いきなり魔王」の、企画から開発、提出までの一連を、簡単な振り返りメモの形で公開します。
メモ:オカザキ(STUDIO OVER DRIVE)
編集と地の文:イトウシンタロウ(NICE STALKER)
▼3月初旬
- 3/3企画会議イトウが「いきなり魔王」の企画を持ってくる(ドラクエ風画面の脱出ゲームという案)
- ティラノスクリプトでどうしたらド○ク○風の画面ができるか検討
▼3月中旬
- イトウのシナリオ第1稿完成。エンディング以外ほぼ完成。
- 仕様完成、画面遷移のフローチャート、使用するフラグを一旦完成(この段階で既にフラグと変数合わせて20個以上…)
▼3月後半
- 開発環境の整備(bitbucketのリポジトリを作成)
- イトウのシナリオ第2稿完成
- 戦闘画面の画像素材を作り始める
▼4月頭
- 戦闘画面(仮)が完成
- 画面の画像配置やボタンのスクリプトを作り始める。まずは試しに「たたかう」コマンドの実装
▼4月中旬
- 「たたかう」コマンドの実装が終わる
- 魔王を倒すエンドまでの最短ルートだけを一旦作り始める
▼5月第1週
- 魔王を倒すまでの最短ルートが完成
- ゲームオーバー時のヒントへの分岐、日記系のアイテムの内容表示
- イトウのシナリオ第3稿、エンディングまで完成
▼5月第2週
- 全ての分岐がとりあえずできる
- 音素材やエフェクトをスクリプトに書き足していく
- デバッグ開始。周囲の感想、難易度を見る
※このあたりから寝不足で何をやっていたかあんまり覚えていない
▼5月第3週
- 難易度調整、天の声やアイテムによるヒントを足す(フラグも足したので、変数やフラグは全部で30個近くになる…)
- 追加要素(カットイン演出、キャラのアニメーション、タイトル画面等)を足す
- シナリオの分かりにくい文言を、デバッグしながら修正
- デバッグ(ひたすらフラグの管理と分岐を見る)
▼5月第4週
- 完成、フェスへ提出
- 公式WEBページの公開
開発の発端は2016年の3/3(木)の夜、STUDIO OVER DRIVEのオカザキが、NICE STALKERのイトウを「なんかゲーム作りましょう」と誘って、kivyの勉強会で出会ったDs110さん(Crystal.Originate)を座組みにくわえて、おこなった企画会議です。
まず、せっかく作るなら目標と〆切りがあった方がいい、という事で「ティラノゲームフェス2016」に応募することに決めました。
イトウ
「せっかくなんで『準グランプリ(賞金2万/5作品)』を狙いましょう!」
Ds110
「いやいや『グランプリ(賞金10万/1作品)』獲る気概でやりましょうよ?笑」
イトウ
「うちらのチーム、絵師さんがいないじゃないですか。ノベルゲームの成否って10割、キャラのビジュアルだと思うんですよね。シナリオはどんなの書いても好みが別れるし」
オカザキ
「でも、なんで『準グランプリ(賞金2万/5作品)』狙いなんです?」
イトウ
「正直、うちらじゃ、ガチで時間と労力を使って製作してくるチームには太刀打ちできないと思うんです。でも自分がフェスの審査員だったら、そういう頑張ったチームにグランプリあげたいじゃないですか?」
Ds110
「ですね」
イトウ
「だとしたら、うちらは『色もの』の作品を作って『準グランプリ』の5作品の中に、”まあーこういう変わったのも1個入れとくか―”の枠を狙った方が身のためだと思うんです。で、プレイしてみたら”ほうー意外としっかり作ってあるじゃん!”てなるように、全力で頑張る。」
オカザキ
「なるほど。具体的には?」
イトウ
「なんかノベルゲームに見えないノベルゲーム、みたいなのが良いと思うんですよね…。」
オカザキ・Ds110
「???」
そんな感じの話し合いの末、この「レトロRPG風コマンドバトル型謎解きゲーム『いきなり魔王』」の最初の企画書が作られていきました。
オカザキ
「まず、例として、以前イトウさんと作った『①ヤンデレ小杉』の場合を挙げると、これは典型的な一本道シナリオですね。流れは以下の通りです。』
イトウ
「ゲーム開始→会話パート→選択肢(2~3択)→正解以外はゲームオーバー。ですね」
オカザキ
「次に、去年ノベルゲームジャムで作った『②殴れメロス』を例にあげるとこんな感じ。
イトウ
「ゲーム開始→会話パート→選択肢(2~3択)→選択した結果によって話しがどんどん分岐していく。複数ヒロインがいたりする、一般的なマルチエンディングの形式のやつですね。」
オカザキ
「はい。なんですが、今回の『いきなり魔王』はループ構造で、ターン終了後、下からまた一番上に戻っていくモデルになります。以下の流れを繰り返します。』
イトウ
「ゲーム開始→各種フラグ、ステータスの判定→現在の状態の設定→勇者のターン→魔王のターン→勇者または魔王が生きている場合、各種フラグ、ステータスの判定→各種フラグ、ステータスの判定→現在の状態の設定→勇者のターン→魔王のターン…」
オカザキ
「この繰り返しで無限に進むようになります。最後のほうに行くほどフラグ管理と条件判定は大変になりますね」
イトウ
「どんな変数で判定して分岐させたらいいか、パッと思い描けない…」
オカザキ
「シナリオ執筆と並行して、画面と変数のスクリプトを先に作っときますね」
最終的には30以上のフラグや変数管理、思った以上に判定に気を使う複雑な分岐のゲームになりました。
[サクラエディタ/Mery]
●基本はさくらエディタでティラノスクリプト書いてました。ハイライト機能とかカスタマイズは特にしてないです。(※イトウはMeryのティラノスクリプト構文用ファイルでハイライトや色分け使ってましたが便利でした!)
●ウィンドウは常に2つ開いていて、1つは、変数の一覧と、ifとかのよく使ったコマンドを貼り付けてました。変数を使う場合はそこからコピーして、でティラノスクリプトで書いているウィンドウにペーストしてました。変数は基本、手入力は避けたほうがいいと思います。理由は間違えた時、後が大変だからです。
[bitbucket/Source Tree]
●ソースの管理は、bitbucketでチームアカウントを作ってそこでバージョン管理を行いました。bitbucketの操作はGUIクライアントのSourceTreeを使ってました。
[LINE]
●連絡はLineのグループ機能でチャットをしていました。今回実際に会ったのは、最初の1回目の企画出しと、提出2週間前の作業の最終確認の2回目だけでした。グループ通話も1回しかしていません。基本、文章だけでやっていて、発言もフォーマットは特になかったです。唯一あったのは、コミットした時は、頭に★を付けて報告と途中からしました。例:★魔王のドット絵をコミット
[ティラノライダー]
●一番多用したのはティラノライダーでした、これがなければ下手するといきなり魔王は完成しなかったかも・・・。戦闘画面のUIの座標確認から、変数ウォッチ機能を多用しました。今回のゲームの用に画面で見えない情報(魔王のステータスや各種フラグ)が多かったので、ゲーム画面とウォッチを交互にみて、分岐の確認をしていました。まさに神ツールでした。
●ティラノスクリプト自体はちょくちょく更新内容とか見ていましたが、ちゃんと書くのは2年ぶりぐらいでしたが、公式とサンプルを見てすぐに思いだせたので、ゲーム開発がスムーズに開始できました。
●UnityやUnreal Engine だと、出来ることは多いのですが、反面覚えることが多いので数か月たつと、あれってどうするんだっけ?と思って調べるのに時間がかかり開発を始めるのに時間がかかることもあります。その点、ティラノスクリプトは覚えることも少ないですし、実行確認もブラウザがあれば出来るのでお手軽だと思います。
●お手軽ですが、変数、配列、条件文、変数同士の計算、マクロの作成が出来るので、タグとそれらを組み合わせれば、ノベルゲームや応用すれば、すごろく風のボードゲーム、ターン制のシュミレーションゲームなど色々なジャンルのゲームが作れると思います。
●実際、いきなり魔王は既存タグの組み合わせのみで実現していて、「iScript」タグなどでJavaScriptはほぼ使用しておりません。使用したのは「preload」で読み込む画像を配列化した場合のみ使用しました。
●物語とは別に開発のテーマとしてはティラノスクリプトでどこまでできるかという、テーマがあったのでそれが実現できてよかったです。
●またデバックに関してもティラノライダーという強力なツールがでたので、変数の確認といったことが容易になったのもよい点だと思います。強いて次欲しい機能は、変数で構造体が欲しいくらいでしょうか? 無ければないで何とかなるレベルなのですが、出来れば欲しいです。
●次回はラ○グ○ッサーみたいなターン制シュミレーションゲームをティラノスクリプトで作成したいです。(オカザキ)
(終わり)
※ゲームは誰でも無料でダウンローできて、WindowsでもMacでも遊べます。
⇒ダウンロードページはこちら
※ティラノゲームフェス2016準グランプリ[優秀賞]を受賞しました
⇒詳細ページ
メモ:オカザキ(STUDIO OVER DRIVE)
編集と地の文:イトウシンタロウ(NICE STALKER)
# 目次
1.開発のスケジュール
2.企画会議の様子
3.システム設計
4.開発に使ったツール
5.ティラノスクリプトについて
1.開発のスケジュール
▼3月初旬
- 3/3企画会議イトウが「いきなり魔王」の企画を持ってくる(ドラクエ風画面の脱出ゲームという案)
- ティラノスクリプトでどうしたらド○ク○風の画面ができるか検討
▼3月中旬
- イトウのシナリオ第1稿完成。エンディング以外ほぼ完成。
- 仕様完成、画面遷移のフローチャート、使用するフラグを一旦完成(この段階で既にフラグと変数合わせて20個以上…)
▼3月後半
- 開発環境の整備(bitbucketのリポジトリを作成)
- イトウのシナリオ第2稿完成
- 戦闘画面の画像素材を作り始める
▼4月頭
- 戦闘画面(仮)が完成
- 画面の画像配置やボタンのスクリプトを作り始める。まずは試しに「たたかう」コマンドの実装
▼4月中旬
- 「たたかう」コマンドの実装が終わる
- 魔王を倒すエンドまでの最短ルートだけを一旦作り始める
▼5月第1週
- 魔王を倒すまでの最短ルートが完成
- ゲームオーバー時のヒントへの分岐、日記系のアイテムの内容表示
- イトウのシナリオ第3稿、エンディングまで完成
▼5月第2週
- 全ての分岐がとりあえずできる
- 音素材やエフェクトをスクリプトに書き足していく
- デバッグ開始。周囲の感想、難易度を見る
※このあたりから寝不足で何をやっていたかあんまり覚えていない
▼5月第3週
- 難易度調整、天の声やアイテムによるヒントを足す(フラグも足したので、変数やフラグは全部で30個近くになる…)
- 追加要素(カットイン演出、キャラのアニメーション、タイトル画面等)を足す
- シナリオの分かりにくい文言を、デバッグしながら修正
- デバッグ(ひたすらフラグの管理と分岐を見る)
▼5月第4週
- 完成、フェスへ提出
- 公式WEBページの公開
2.企画会議の内容
開発の発端は2016年の3/3(木)の夜、STUDIO OVER DRIVEのオカザキが、NICE STALKERのイトウを「なんかゲーム作りましょう」と誘って、kivyの勉強会で出会ったDs110さん(Crystal.Originate)を座組みにくわえて、おこなった企画会議です。
まず、せっかく作るなら目標と〆切りがあった方がいい、という事で「ティラノゲームフェス2016」に応募することに決めました。
イトウ
「せっかくなんで『準グランプリ(賞金2万/5作品)』を狙いましょう!」
Ds110
「いやいや『グランプリ(賞金10万/1作品)』獲る気概でやりましょうよ?笑」
イトウ
「うちらのチーム、絵師さんがいないじゃないですか。ノベルゲームの成否って10割、キャラのビジュアルだと思うんですよね。シナリオはどんなの書いても好みが別れるし」
オカザキ
「でも、なんで『準グランプリ(賞金2万/5作品)』狙いなんです?」
イトウ
「正直、うちらじゃ、ガチで時間と労力を使って製作してくるチームには太刀打ちできないと思うんです。でも自分がフェスの審査員だったら、そういう頑張ったチームにグランプリあげたいじゃないですか?」
Ds110
「ですね」
イトウ
「だとしたら、うちらは『色もの』の作品を作って『準グランプリ』の5作品の中に、”まあーこういう変わったのも1個入れとくか―”の枠を狙った方が身のためだと思うんです。で、プレイしてみたら”ほうー意外としっかり作ってあるじゃん!”てなるように、全力で頑張る。」
オカザキ
「なるほど。具体的には?」
イトウ
「なんかノベルゲームに見えないノベルゲーム、みたいなのが良いと思うんですよね…。」
オカザキ・Ds110
「???」
そんな感じの話し合いの末、この「レトロRPG風コマンドバトル型謎解きゲーム『いきなり魔王』」の最初の企画書が作られていきました。
3.システム設計
当初、イトウの「見た目はRPGのコマンドバトル画面なんだけど、実はノベルゲームで、謎解きの脱出ゲームっぽい、叙述トリックとかのあるミステリー的な展開で…」という説明に「?」だらけのオカザキ・Ds110でしたが、イトウの言いたいことを、1つ1つ、ゲームの設計に落とし込んでいきました。オカザキ
「まず、例として、以前イトウさんと作った『①ヤンデレ小杉』の場合を挙げると、これは典型的な一本道シナリオですね。流れは以下の通りです。』
イトウ
「ゲーム開始→会話パート→選択肢(2~3択)→正解以外はゲームオーバー。ですね」
オカザキ
「次に、去年ノベルゲームジャムで作った『②殴れメロス』を例にあげるとこんな感じ。
イトウ
「ゲーム開始→会話パート→選択肢(2~3択)→選択した結果によって話しがどんどん分岐していく。複数ヒロインがいたりする、一般的なマルチエンディングの形式のやつですね。」
オカザキ
「はい。なんですが、今回の『いきなり魔王』はループ構造で、ターン終了後、下からまた一番上に戻っていくモデルになります。以下の流れを繰り返します。』
イトウ
「ゲーム開始→各種フラグ、ステータスの判定→現在の状態の設定→勇者のターン→魔王のターン→勇者または魔王が生きている場合、各種フラグ、ステータスの判定→各種フラグ、ステータスの判定→現在の状態の設定→勇者のターン→魔王のターン…」
オカザキ
「この繰り返しで無限に進むようになります。最後のほうに行くほどフラグ管理と条件判定は大変になりますね」
イトウ
「どんな変数で判定して分岐させたらいいか、パッと思い描けない…」
オカザキ
「シナリオ執筆と並行して、画面と変数のスクリプトを先に作っときますね」
最終的には30以上のフラグや変数管理、思った以上に判定に気を使う複雑な分岐のゲームになりました。
4.開発でつかったツール
・さくらエディタ/Mery
・bitbucket
・Source Tree
・LINE
・ティラノライダー
(↑…神ツール!)
[サクラエディタ/Mery]
●基本はさくらエディタでティラノスクリプト書いてました。ハイライト機能とかカスタマイズは特にしてないです。(※イトウはMeryのティラノスクリプト構文用ファイルでハイライトや色分け使ってましたが便利でした!)
●ウィンドウは常に2つ開いていて、1つは、変数の一覧と、ifとかのよく使ったコマンドを貼り付けてました。変数を使う場合はそこからコピーして、でティラノスクリプトで書いているウィンドウにペーストしてました。変数は基本、手入力は避けたほうがいいと思います。理由は間違えた時、後が大変だからです。
[bitbucket/Source Tree]
●ソースの管理は、bitbucketでチームアカウントを作ってそこでバージョン管理を行いました。bitbucketの操作はGUIクライアントのSourceTreeを使ってました。
[LINE]
●連絡はLineのグループ機能でチャットをしていました。今回実際に会ったのは、最初の1回目の企画出しと、提出2週間前の作業の最終確認の2回目だけでした。グループ通話も1回しかしていません。基本、文章だけでやっていて、発言もフォーマットは特になかったです。唯一あったのは、コミットした時は、頭に★を付けて報告と途中からしました。例:★魔王のドット絵をコミット
[ティラノライダー]
●一番多用したのはティラノライダーでした、これがなければ下手するといきなり魔王は完成しなかったかも・・・。戦闘画面のUIの座標確認から、変数ウォッチ機能を多用しました。今回のゲームの用に画面で見えない情報(魔王のステータスや各種フラグ)が多かったので、ゲーム画面とウォッチを交互にみて、分岐の確認をしていました。まさに神ツールでした。
5.ティラノスクリプトについて
●まず一番良い点は覚えることが少ないという点だと思います。●ティラノスクリプト自体はちょくちょく更新内容とか見ていましたが、ちゃんと書くのは2年ぶりぐらいでしたが、公式とサンプルを見てすぐに思いだせたので、ゲーム開発がスムーズに開始できました。
●UnityやUnreal Engine だと、出来ることは多いのですが、反面覚えることが多いので数か月たつと、あれってどうするんだっけ?と思って調べるのに時間がかかり開発を始めるのに時間がかかることもあります。その点、ティラノスクリプトは覚えることも少ないですし、実行確認もブラウザがあれば出来るのでお手軽だと思います。
●お手軽ですが、変数、配列、条件文、変数同士の計算、マクロの作成が出来るので、タグとそれらを組み合わせれば、ノベルゲームや応用すれば、すごろく風のボードゲーム、ターン制のシュミレーションゲームなど色々なジャンルのゲームが作れると思います。
●実際、いきなり魔王は既存タグの組み合わせのみで実現していて、「iScript」タグなどでJavaScriptはほぼ使用しておりません。使用したのは「preload」で読み込む画像を配列化した場合のみ使用しました。
●物語とは別に開発のテーマとしてはティラノスクリプトでどこまでできるかという、テーマがあったのでそれが実現できてよかったです。
●またデバックに関してもティラノライダーという強力なツールがでたので、変数の確認といったことが容易になったのもよい点だと思います。強いて次欲しい機能は、変数で構造体が欲しいくらいでしょうか? 無ければないで何とかなるレベルなのですが、出来れば欲しいです。
●次回はラ○グ○ッサーみたいなターン制シュミレーションゲームをティラノスクリプトで作成したいです。(オカザキ)
(終わり)
※ゲームは誰でも無料でダウンローできて、WindowsでもMacでも遊べます。
⇒ダウンロードページはこちら
※ティラノゲームフェス2016準グランプリ[優秀賞]を受賞しました
⇒詳細ページ