unity1weekお題「かわる」開発後記
さて、やってきました!unity1week!
お題に沿って1週間でゲームを作って楽しんじゃおうというお祭り的なオンラインイベントです。
今回のお題は「かわる」という事で迷宮内の何かが変わるシンプルなアクションゲームを作って参加しましたぞ!いぇい😆
という事で、その開発の1週間を振り返っていく事にします。
■~0日目 準備期間
いつもならどんなプロジェクトでも使いそうな機能をまとめておいたりする準備期間を確保しているんですけど、今回はそれが一切取れませんでした。
というのも私がメインで開発を進めている「フレッシュチャージRURU」(以下、RURU)というタイトルの最終チェックを行なっていたためです。
RURUはまさにunity1week発のタイトルなんですけど、1年と6カ月の改良を重ねてようやく正式版の完成が目前となったんですよ…。いやー、長かった…。
なので、タイミング的な理由で今回のunity1weekを見送るという選択肢もあるにはあったんですけど、前回もRURUの開発専念の為に不参加だったのでそれは嫌だなーと思って今回の参加を決めたのでした。(RURUに関する大きな告知はunity1weekが終わったあたりで行なわれる予定です)
…という事で今回は十分な準備期間を取る事が出来ないと事前に分かっていたのでなるべく開発カロリーの低めなゲームを作ろうかなーと思っていました。クオリティで言えば昔のゲーム…そう、例えばカセットビジョンとかATARI2600とか、それくらいのレトロな感じでも今回はオッケーという事にします。
■1~2日目 お題発表~ざっくり作業開始
「かわる」というお題で思いついたのが入るたびに形が変わるダンジョンでお馴染みのローグライクです。
…が、実はローグライクは私が学生の頃から作ろうとしては何度も挫折している因縁のジャンルだったりします。私が何度バランス調整を行なってもプレイスキルよりも運の要素が強くなってしまい、全然面白くならないんです…😨
という事で今回はローグライクを見据えつつ、自分の得意なジャンルである2Dのサイドビューアクションを作る事にします。苦手なジャンルの穴を埋めるには自分の得意な物を混ぜてしまえばいいんです。うーん、名案😃
だいたいの方向性が決まったので次は手持ちのアセットの中から使えそうなものをピックアップします。
そして見つけたのがコレ。PixelHeroesEditorというアセットです!
Pixel Heroes Editor | 2D Characters | Unity Asset Store
…購入した覚えはなかったんですけど(おそらくメガバンドルセールの時に含まれてたもの)かなり便利そう。カセットビジョンなどよりも数段リッチな見た目なのは少し気がかりですけど、まあ許容範囲です。
このアセット、見た目のエディットも出来るんですけどサンプルのprefabの時点でCharacterControllerも付いていて基本的なアクションは出来る状態です。なのでかなりの時短が期待できます。(CharacterControllerを使うのは初めてですが、1から作るよりはずっと早いはず…)
キャラが決まったら次はマップをどうするか?ですが、これはUnity標準のTilemapを使う事にしました。
キャラがリッチになってしまった分、マップは極力シンプルにしてクオリティをコントロールしつつ低カロリーに持ってくという算段ですね。
まあ、CharacterControllerが3DのRigidbodyを使用するのに対してTilemapは標準では2DのPhysicsにしか対応していないのでタイルの種類をチェックして3DのBoxColliderを後から付けるといった拡張は行ないましたけどね…。
それは本当に時短になったのか…という疑問はありますけど、u1wは短いのであまり深く考えず先に進む事にします…。
■3~4日目 方向性の確定
…ローグライク路線はこの辺りで断念しました😓
理由は懸念していた通り、ランダム性によってゲームが面白くなるかと言えばそうはならなそうな上、さらにランダムダンジョン生成の開発カロリーが高かったからです。
それなら手打ちの方が絶対に面白くなるし低コストだぞ、と思った訳ですね…😑
じゃあお題の「かわる」はどうすんだよ、って話になるわけですけど、鍵を取ったら地形が変わる罠満載の迷宮という事にしました。ちょっとこじつけっぽい気もしますけど…まあ今回はこれで妥協する事にします。
妥協と言えば、今回はこんな所も妥協してます。
そんな妥協して大丈夫か?とも思いましたが、大丈夫だ!問題ない。
個人制作においては完璧よりも不完全なものの方が印象に残ったりするものなのです。つまり…男は度胸、女は愛嬌、ゲ制は妥協!なのですぞ!
■5~6日目 ついほんの出来心で…
ゲ制は妥協!と唱えつつも、このままでは本当にただバグっぽいだけのレトロアクション(要するにク〇ゲー😓)になり兼ねないので、もっと印象深い体験をステージに入れ込む事にしました。
…それによって難易度は爆上がりしてしまうと簡単に予想できましたが、今回はそれでもやる事にしました。その理由は初心に戻りたかったからです。
私がゲームを作り始めたのは小学生の頃。自作のゲームを作っては友達にやらせてみて「ナンダヨコレー」とか突っ込まれたりしながら皆で爆笑した思い出があります。あの頃は友達にウケるにはどうすればいいか?といった価値基準でゲームを作っていた訳ですね。
ところが今は違います。本業プログラマーの私に求められるのは製品のクオリティです。バグを起こさずにメンテしやすいコードを書いて品質を保つ必要があります。またその製品も、私の友達が使う訳ではなく一般的なユーザさんが使う訳ですので、誰でも簡単に使えるよう親切丁寧なチュートリアルやフローを入れ込む必要があります。
そうした製品を作っているうちに、私はいつしか遊び心をなくしてしまったような思いを感じていました。
…という事で今回、誰でも簡単にクリアできてしまうものではなく、それでも遊んでくれる方がこの場面ではこんなツッコミを入れてくるんだろうなーという事を想像しながら作りました。
…というとちょっと美談っぽく聞こえなくもないですけど、実際は初見殺しの罠を仕込んでおいて引っかかった時の事を想像してほくそ笑んでいるだけだったり😓
■7日目 時間がない!
今回はレトロライクなゲームで開発カロリー削減!を目論んでいた訳ですけど、ふたを開けれ見れば全然時間が足りませんでした。
他にやりたかった要素としては、はしご移動、武器使用、リザルトの演出強化があったんですけどこれらは全部オミットしました。この辺りはやっぱり事前準備をしっかりしとかないと難しいかもしれないですね…😓
また、この時点でタイトル名がまだ決まっていませんでした。
このゲームはバベルの塔やソロモンの鍵をちょっと意識している所がありましたので「〇〇の〇〇」という感じにしたいと決めていたんですけど…。
ともかく時間もないので、金貨を集めるゲームという所からギリシア神話に登場する、触れたものを黄金に変えるというミダース王になぞらえて「ミダスの迷宮」としました。
まあ、ミダース王の名前を出すならばもっとそれに相応しい意匠はあったと思うんですけど、本当に時間がないのでもろもろ妥協するしかありませんでした。本当に最後まで妥協しっぱなしですね…😓
■完成じゃ!
という事で完成したのは開発期限の30分前と、かなりギリギリになってしまいましたが無理やりでもなんとか時間内に完成しました。
今回はこういうゲームを作る、というのを何となく決めていましたけど準備期間がないと後々苦しくなると分かりました。ですが開発中は本当に楽しく進める事が出来たので、初心に返るという目標は無事達成です。
あとは実際に遊んでくれるユーザさんがどう思うかですけど…
今回、評価は割れるんだろうなぁ…😅