もぐりの日記

雑日記

Unity 1 week game jamで盛大に遅刻した話

Unityroomさんのイベント、Unity 1 week game jam 第13回「さがす」に投稿しました。
これはその、備忘録のような何かです。

つくったもの

unityroom.com ノベルゲームです。と書いていたんですが、たぶん一般にはアドベンチャーゲームと呼ばれるジャンルのものです。 読み物も主役なのでアドベンチャーノベルということでひとつ。

やったこと

以下の内容は、拙作のネタバレを含みます。

day 1~ day 3

前回の1weekで、"なんとかの詩人"氏の私の尊きタピオカを浴びろ!!を遊ばせていただいて、爆笑したので、なんかこういうのやりたいなと漠然と考えが進みました。

unityroom.com

テーマが"さがす"だったので、館を探すクローズドな何かがやりたい。
館と言えばミステリかホラーでしょ、"鬼虫兵庫"氏のシロナガス島への帰還めちゃめちゃ面白かったし。

shironagasu.tabinomichi.com

そういう感じで行きたいな、などと憧れをそのままに走らせることを決め。
なんとなく思いついたことをガーっとパワポに書き出して方向を固めつつ、企画書っぽい何かをしたためるなどしてたら半分が過ぎました。

day 4 ~ day 7

話の筋はできたので、素材もろもろが揃うかどうか、実際どんな感じになるかをUnityでバーッと作りました。 なんとかの詩人氏は宴オンリーで作ってらっしゃったようですが、私、宴持ってないし、まぁ最低限の機能ならできるだろと思ってやってました。 うまいこと実装できた感があるのは、

  • テキストウィンドウ/バックログ
  • テキスト送りタイミングで、テキストに埋め込まれたオレオレコードからのBGM/SE/立ち絵制御など

辺りで、まぁそんなに珍しいこともなく組めたのでよかったです。
BGM制御は、例えば<BGM 0>みたいな文字列が出てきたら0番BGMかける、みたいなのをリアルタイムにregexで読み読み遷移してたので、パフォーマンスがちょっと気になってはいたんですが、このくらいの規模なら気にならなかったのでそのままです。気になるなら事前にパースしていい感じに軽量なフラグに直すとか考えてました。

逆にマズかったのが文章と文章のツナギで、例えば描写部分「客室、埃をかぶっている。」みたいな文が出た後に何をするかとか、そういうのをゴリゴリにハードコーディングしてしまっていて、リアクティブなスパゲティってやつだと思う何かができてました。
企画段階で割と画面遷移を固めてたハズが、この後の工程を経て、例外(e.g.ゾンビ戦,時間経過による魅了描写)が多くなりました。

ゴリゴリ遷移を決めうちで書くより、テキストアセットに遷移先とかのステート持たせてイベント発火させた方が自由度高くていい感じだったなと思ってます。あとのフェスティバル。

day 8 ~ day 9

遅刻開始。最低限の機能が確保できたので、実際に流すテキストを描き始めます。遅いが?

企画段階で考えていた登場人物が、

  • 吸血鬼をシバいて不死になりたい館主
  • 魅了に汚染されていく/そして最後にエサになる使用人
  • 哀れ喰われた探索者A
  • なんと脱出魔術師探索者B
  • シバかれたので館主ムカつく吸血鬼さん

で、館に残ってるのが吸血鬼になりそこなった館主と、館の魅了の核になってる吸血鬼さんだけ。
考えてたエンドが2つで、ノーマルが自分にかかってる魅了を解除して脱出、グッドというかトゥルーが吸血鬼をナントカして、根本的に館の魔術をなくすというもの。
吸血鬼は人間に勝てる相手ではないので、ビビろうが何しようが開放一択で、もし拘束中に攻撃してたらワンパンやり返してくる筋で書いてました。

いざ書いてみると、プレイヤーに吸血鬼さんをボコらずに開放する理由が何もないことに気が付いて、軌道修正。 理由がないというのは、むしろボコる理由がある(吸血鬼さんは拘束されている/吸血鬼さんは人間をゾンビに変えられる/吸血鬼さんは人を喰う/手元には吸血鬼に有効な武器)ということです。 館の禍根を絶とうというモチベーションなら、吸血鬼を開放することで人類にとって新しい脅威が野放しになるので、まだ入ってから対処できる魅了のままの方がよくない?という疑問が正しいものに見えたという話。

殺せるなら殺す>ダメなら逃げる>何か狂ったら開放、みたいな3択順序が見えて、じゃあ何に狂ってるんだ……と。

そこで思いついたのが"逃げ"の概念。「人類の脅威になりうるから殺す、は逃げなんですよね」という方針。
館の魔術を解こうとしてる時点で、逃げない人なんですよねプレイヤーの「僕」さんは。自分が助かりたいだけなら、館から自分が出て、後のことは知らないってするのが一番のはずなので。
てことは、最後まで逃げない選択がTrueになると嬉しいよな! ということで、その辺の描写を追加。

とはいえ、人類の脅威を排除しようとするその心意気は、ある意味で自己犠牲的な"攻め"かもしれないので、そういう意味で間違ってないよって仕上げたつもりのGoodが誕生。 根底は逃げだけど、その勇気はたたえるスタイル。吸血鬼は死ぬし、ゾンビは館から出られないので、一番怪異を外に出さないエンドではあります。この「僕」は人類を守ったのでGood。

他方True、開放が逃げじゃない、つまり吸血鬼相手にヒヨった訳ではなく前向きにリスクを飲む動機が欲しくなり、吸血鬼さんの人格が可弱く。 封印状態で弱っている=吸血鬼化する前の人間に近い状態と捉えることで、彼女自身の"逃げ"=自殺/停滞願望を見つけることができたので、それを盛り込むことに。 こうして生まれたのが使用人B(ローラ)さん。"逃げない"ロールモデルでありつつ、かつ、吸血鬼の人となりをそれとなく伝えるポジション。

吸血鬼が可愛そうだから助けるんじゃなくて、彼女にはそうする権利があるから助けるんですよ。ってしたかったんです。ですよ。

これでちょっとマイルドになりすぎたので、吸血鬼さんは脅威だぜ、お前はとんでもねぇものを開放したぜってテイストをちょいたししたり、そもそも殺した方がよくね?ってなるような使用人Aとの触れ合いを足したりしました。すんなり開放選択は、それはそれで、なあなあの逃げになりかねないので。 とはいえこの辺は上手く徹底できてなくて、反省ポイントです。

day 10 ~ day 12

テキストが一通りそろったので、戦闘だったりエンディング演出だったりという部分を本実装。 バラバラと足りない機能や物足りない演出があったので、こまごま直しました。

微妙に手間取ったのが、テキストをアセットに落とし込むところ。テキストはmarkdownで適当に書いてたので、機械的にパースできなくて、手打ちで一つ一つアセット化するしかなく、厳しい作業になってしまって。 元から多少構造的に書いていれば、楽でしたね。

この辺、宴とかだとExcelシートから抜いてるっぽく、もともと構造持ってる状態でテキスト書いていくのはやっぱり正攻法なのかなーみたいなことを感じました。

day 13

投稿

完走した感想

こんなぎりぎりに投稿したのに、評価期間内で100overの閲覧をもらえてうれしかったです。

課題

  • なぁなぁで助けた場合の選別選択肢or条件の設定 (哀れみとか、そういうのじゃない、前向きな選択を強調する選択肢)
  • スパゲティをほぐす
  • 締め切りに間に合わせる
  • ジャンルを調べる(ノベルじゃなくてアドベンチャー)
  • インタラクティブな要素を増やす(探索などに選択要素を)
  • ナウでエモいビジュアル

蛇足

GitHubでプロジェクト公開してます。参考になるものはないと思いますが……まぁ反面教師として……

github.com