いつも悩んでアウトプットが中々出せない筆者にしては珍しく今年はミニゲームを一つ作った。その話を振り返りたい。
きっかけ
筆者が勤めてる会社*1ではゲーム会社らしく毎年ゲームを自主制作して発表するコンテストが開催されている。その名前もクソゲーコンテストといって大変敷居の低いコンテストとなっている。
社会人になってからプログラミングで何か自主的にものを作ってないなという悩みがあったので今年は参加することにした。
企画
今年のテーマは「落ちる」でそこからどういうゲームにするか考えた。
(落ちる…)
(シンプルな落ち物ゲーがまとまりやすくて良いな)
(上から落ちるものといえば…そういえば今年は色々災難だったなあ)
(あ、メテオフォールだ)
(ただメテオフォールを避けるだけのゲームだと単調かも)
(以前くろば・U先生が制作されてた「すたーちぇいさー!」を参考にしよう)
(メテオフォールを避けながら上から降ってくるタスクを拾い続ける…よしこれで行ってみよう!!)
できたゲーム
あらすじ
ゲーム会社に新卒入社したあといちゃん。
しかし配属されたプロジェクトはまさにデスマーチの最中だった!!
果たしてあといちゃんは生き残れるか…?
タスクチケット()を拾うと進捗ゲージが回復!*2
メテオフォール()に巻き込まれるとHPが減少。
進捗ゲージ、HPのどちらかが0になるとゲームオーバー。
必死に生き延びてハイスコアを目指そう!!
な、何だこのゲーム。これがゲームプログラマーの日常
あといちゃん復活
10年前に個人制作したゲームで「がんばれ!あといちゃん」という弾幕ゲームがある。あといちゃんは筆者がC言語を習ってるときにatoi関数の響きから萌えを感じて(?)付けたタイトルだ。今回はこのあといちゃんをプレイヤーにした。金髪の天才プログラマーである。
Love2D+Lua
今回はあえてお仕事で使ってるUnityは使わなかった。どうもUnityで個人制作するのが苦手なのである。もっとシンプルなもので作りたい欲求が大きい。
なので今回はLove2Dを選択した。
Love2Dはコミュニティも活発でawesome-love2dリポジトリに便利なライブラリが揃ってる。シーン遷移、タイマー、イベント通知周りなどは無いと困ったのでhumpを入れた。
Love2Dのスクリプトとして使われてるLuaはシンプルな言語でサクサクと書ける印象だった。いい道具だと思う。型の弱さは気になるがLua Language Serverで補強することもできる。
制作時間
ちゃんと計ってないが恐らく100時間は超えてそう。ゲーム作るのって面倒!!!
でもやっぱクソゲーができる
シンプルな落ち物ゲーだし線形で難易度上げてけば良いかなってロクにテストプレイもしてもらわずにコンテスト当日を迎えた。
案の定、実装者の過度な学習によって吊り上げられた難易度に対して難しすぎるねというシンプルなフィードバックを頂いた。ですよねー。
まあでもこうやって一人でゲームを作って遊んでもらうことを最近してなかったので貴重な経験だった。
あとクソゲーだったが(クソゲーだったから?)ありがたいことに賞を頂けた。筆者の人生がよく現れてるというコメントをもらって思わず笑ってしまった。