記事に「#ネタバレ」タグがついています
記事の中で映画、ゲーム、漫画などのネタバレが含まれているかもしれません。気になるかたは注意してお読みください。
見出し画像

『消滅魔法少女』開発振り返り - unity1week「ない」

unity1week お題「ない」に参加し、『消滅魔法少女』という短編タイピングノベルゲームを作りました。

数分で遊べるのでぜひ!

今回はあまり時間が取れなさそうだったので、「できるだけ時間をかけずにある程度満足いくクオリティのものを作る」を目標にしていました。
せっかく作業量が少なめなら細かく作業ログつけてみるか〜と思ってつけていたので、そのログを元に振り返ります。
(結果、アイデア出しを除いた合計作業時間は14時間でした!いい感じに省エネしつつ満足いくものを作れました)

ネタバレについて

開発内容を書くので、ゲームのネタバレを大いに含みます!
そして…このゲームには BAD END のほかに TRUE END も用意してあります。
もし既プレイで BAD END しか見ていない方がいたら、ネタバレを踏む前にぜひ探してみてください。

↓ヒントも載せておきます。







「それを消滅させなくても…あれを消滅させた方が…」


開発記録

月曜

月曜0時にお題「ない」が発表され、寝る前とかにアイデアを練っていました。
↓その時にメモしていたこと

  • 案1: ゲームの要素がどんどんなくなっていくタイピングノベル

    • 消滅魔法を覚えたRPGの主人公

    • タイピングで魔法を唱えて、敵、魔王城、味方、街、自然、音、自分を消してEND

    • 呪文には規則性を持たせて、「呪い」とか「タイピングのタイマー」とかも消せるようにする

  • 案2: 404エラーとかNullReferenceExceptionエラーを題材にしたもの

    • 本物の404ページに飛ばしたりブラウザのアラートダイアログを出したり

  • 案3: There is no game 的なやつ

  • 案4: KnightPuzzle(昔初めてリリースしたパズルゲーム)のリメイク

想定される作業量の少なさやアイデアのまとまり具合も踏まえて、案1の方針で進めることにしました。

火曜

23:30~24:00
Unityプロジェクトを作ったりライブラリ入れたり諸々セットアップ。
あとは少女イラストの参考資料とか集めてました。

24:00~25:00
少女のドット絵をAsepriteで描いてUnityに入れました。

最初は目も描いていたが、目が隠れていた方が雰囲気が良かったので後で消した

25:00~25:30
テキスト表示を実装しました。
少女の前面に黒帯でテキスト表示するイメージは最初からしていたので、一旦そのまま実装。文言はScriptableObjectで設定できるようにしておきました。

画面中央に黒帯でテキスト表示

25:30~26:00
ゲームシステムやシナリオを練り直しました。

最初はタイピングのタイムでランキングを競えるようにする想定でした。
隠し要素として「消滅魔法でタイムを消せる」ことができるようにしておき、タイム0秒のユーザーがランキングにいることで何か隠し要素があることに気づいてもらう、というのをイメージしていたのですが…

ゲームで実現したかった雰囲気とタイピング速度を競うゲーム性がマッチしないなあと感じボツに。
「隠し要素としてメインで想定されたもの以外が消せる」というギミックは気に入ったので、TRUE END 用に「魔法を書き換える」ギミックとして入れることにしました。

水曜

22:30~23:30
タイピンゲーム部分を実装しました。
参考にした記事: https://qiita.com/ei1821/items/ef61b59c3058d38c484d 

タイプ揺れ(shoとsyoとsixyo…とか)にも参考記事のおかげで対応できた

木曜

27:30~28:00(変な時間まで起きていたのでちょっとだけ作業)
これまでの実装を整理して、コマンドベースでシナリオを作れるようにしました。
時間があるならエディタ拡張でシナリオエディタを作りたいところですが、作業時間を減らしたいかつ1週間後には触らないプロジェクトなので、雑にScriptableObjectで作ってます。

この値を各コマンドクラスにパースして使っている

この時は「テキスト表示」「タイピングゲーム実行」「指定秒数待機」の3コマンドだけ作りましたが、最終的には「BGM操作」「ポスプロ操作」「少女の表示操作」「魔法を書き換えた回数によるラベルジャンプ」「ラベル定義」の8種類になりした。

金曜

28:00~30:00(夜更かししてたので明け方に作業)
サウンドを入れたりUIを整えたりしたあと、BAD END までをひと通りプレイできるようにしました。

魔法を書き換えるときにこちらが想定している単語で書き換えてほしかったので、テキスト表示は2つ前まで表示が残るようにしてその中に書き換える単語を入れるようにしました。

2つ前のテキストから「傷」という単語を拾えるようにしておく

土曜

14:00~15:00、23:00〜24:00
魔法を書き換えられるようにしました。
それを使って TRUE END までのシナリオを入れ込みました。
この時点ではまだ TRUE END も BAD END と同様にテキスト表示されるだけです。

25:00~26:30
タイピングに合わせてエフェクトをつけたり、SEを選定し直したりして、諸々の操作感をブラッシュアップしました。(この工程が一番好き)

↑この時点での動画。公開版ではエフェクトにもう少し細かいブラッシュアップが入る

26:30~27:30
ロゴとタイトル画面を作りました。

画面がシンプルな分、ロゴはフォントそのままではなくちゃんと作った

日曜

13:00~15:00
TRUE END 用のドット絵を描いて Thank you for playing 画面を作りました。

かわいい

19:00~20:30
細かい不具合を修正したりビルドしたりアイコンを作ったり。
Xに投稿する用にキービジュアル的なものもサッと作りました。

画面キャプチャしてロゴ乗せて光らせただけのやつ


完成!
ちょっとした不具合が見つかったのでサッと修正しましたが、無事unity1week終了です。


時間があったらやりたかったこと

魔法を書き換えることを示唆する何かを検討

書き換える単語の色を若干変えるとか振動させるとか、ヒントがあっても良いかもと思っていたのですが、ここら辺をあまり検討できなかったので一旦ノーヒント状態にしてます。
魔王を消すところは書き換えられないので、それとの差分が何もないのも若干気になってます。

他のエンド追加

魔法を書き換えられるタイミングが3つあるので本来2の3乗で8パターン分岐するのですが、それぞれの分岐を作っている時間はなかったので「書き換えるべき魔法を書き換えなかったら、以降書き換えは不可にする」という仕様にすることで「全部書き換えなかった」「全部書き換えた」の2パターンだけにしました。
途中では書き換えに気づけないので、それが TRUE END を理不尽に見つけにくくしてしまっているなあと思っています。

少女の画像差分や背景の差分を追加

画面がほぼずっと同じなので、少女のちょっとした差分を作ったり背景にうっすら街や城を表示したりとかあっても良いかもと思っていました。
今の状態もコンパクトで悪くないなあとも思うので、まずは検討からという感じ。

魔法のエフェクト追加

魔法を発動したとき、今は画面全体を少し光らせているのとSEが鳴る程度です。ただこのアクションがゲームのメインなので、画面エフェクトとかを使ってもう少し派手にしてもいいかなあと思っていました。


まとめ

unity1week、連続参加を止めたくない気持ちがあって年々やめられなくなっているので…時には省エネで参加するのも良いなあと思いました!
今回は目標の作業時間は特に決めなかったのですが、特に忙しい時なんかは例えば6時間以内に作れるものという縛りで参加してみるのもアリかもです。


『消滅魔法少女』をプレイしていただいた方、この記事を読んでいただいた方、ありがとうございました!

いいなと思ったら応援しよう!