unity1weekに3Dゲームを投稿した話
unity1weekに参加するのは5回目だか6回目だか、こまけえこたぁいいんだよ。とにかく締め切りまでには投稿できたので、取り急ぎ「投稿したぜ!」という話を書き殴っておきたい。いずれ評価期間が終わったら、振り返り的な奴は別途書きたいところ。
実は去年の夏、unity1weekに初参加した時も3Dで投稿してはいるのだが、その当時Blenderで作ったのなんて栗まんじゅうぐらいだし、ステージはフリーのアセットをそのまま置いてるだけで、ゲーム性なんてものは皆無に等しい。サウンドすらついてないわで、ひどいもんである。今思えば、真面目にゲーム作って投稿している人に対して失礼極まりない行為だ。よって、あれは黒歴史というか俺の中ではノーカウントとする!ノーカン!以上!!!!
てなわけで、とりあえず提出までの軌跡を軽くのこしておく。
1日目
このツイートしたら「それってもうスイカ割りしかなくね?」みたいな反応だったので、とりあえずそっち方面で考えてみる事にした。
キャラクター自体はこないだ作ったばかりなのだが、浜辺に合わせて服を即席で変更した。女の水着はテキトーに30分ぐらいで作成。モデリングスキルが低すぎるせいで、ソシャゲの夏限定ガチャキャラみたいなカワイイ水着が作れんのよ。むねん。野郎に至っては、元のモデルからTシャツ脱がせただけという徹底した手抜きっぷりである。
しかし、ただスイカ割りするだけだと、今回のお題である「ちゅう」に引っかからない。愚直に考えると「ネズミ」か「宇宙」か「空中」あたりが安牌だが、宇宙の無重力状態でスイカ割りするのはバグる未来しか見えないので、とりあえず「空中」でスイカを爆発四散させてみる事に。
という訳で、ひとまずテキトーな棒を持たせてRigidBodyなりColliderなりつけてスイカを割れるようにする。
モーションはMixamoからパクってきたやつを使用。女の方は呪文を詠唱して飛ばす奴で、男のほうは両手剣の構えやね。もはや無理やりだ。
ひたすら手を動かしながらゲーム性を考えるも、この時点では固まらず。企画をしっかり立ててからゲーム作れる人はマジですごいと思う。俺みたいな一介の底辺プログラマには到底無理なんだよなー。
2日目
えぇ・・・弊社はたまにこういうお茶目な所あるので・・・(白目)
通勤+昼休みの3時間削られると、残りは家事と育児で持ってかれるからまともに作業できねえんだよなー…。これ、父子家庭で都内勤めの辛い所ね。
文句垂れても仕方ないので、仕事の合間とか通勤電車の中でいろいろとゲーム性の案だとか、次に何をやるべきかみたいなのを箇条書きにしておいた。
3日目
当たり判定をSceneViewで見る方法はあるけれど、GameViewで見る方法無いのかしら・・・と思ってたのだが、collider-visualizerを使えばそれができる。助かるワー。しかし、なんで標準で無いんだろうねこの機能。
いつまでも方向性が迷子だと困るので、そろそろ固めておく事にした。とはいえ、この時点で残り4日。初めてちゃんとした3Dやるってことで、新規のゲーム性を構築するには余裕がなさ過ぎる。
小一時間迷った挙げ句、過去作の反射神経ゲームからスクリプトを流用して工数を減らそう、という結論(暴論)に至った。手段はどうであれ、完成すればよかろうなのだァァァァッ!!
4日目
飛んでくる球がワンパターンだと飽きるかなぁ…と思って試行錯誤。最初はRigidBodyのAddForceでスイカを飛ばしてたけども、全力で物理エンジンに乗っかっちゃうと絶対後で管理が大変になりそうだったので、DOTweenのパスを使ってスイカを飛ばす事にした。
しかし、もはやスイカ割りというよりもプーさんのホームランダービーじみてきたな。ハランデイイ。
Bolt使うと遷移系の処理が爆速で作れるから本当に助かる。このあたりからソロ活動に限界を感じ、友人にフォント選定とかUI周りのデザインをぶん投げ始める。
ちなみに今回、Skybox(背景の空)はこいつを使った。こないだ無償版使ってみたらいい感じだったので、勢いで有料アセットを買ってしまったのだ。これで$16.5は実際安い!
内容的にはこんだけあれば一生困らなそうな感じではあるのだが、容量5.5GBもあるからインポートするだけで2~3時間ぐらい持っていかれたぞ。みんなも気をつけような!
5日目
余裕があればStudioOneあたり使ってサウンド作りもチャレンジしたかったのだが、今回そんな余裕はねえのでテキトーなアセットの音を当てはめていく。「いつかサウンドやりたい」とか言いながら時間だけ過ぎてしまう状態をどうにかしたいぜ・・・!
6日目
「よーし、いっちょ称号システムでも入れてみっかー!」と軽いノリでテーブル組んでみたらごらんの有様だよ!最終的には41個に達したが、流石にそんな数はデバッグしきれてねえから、ゲームバランス調整なにそれおいしいの状態である。製作者の俺すら行けてレベル20ぐらいなので、最後の方とかニュータイプじゃないとクリアできねえかもしんない・・・
画面遷移時のフェードイン・アウトだとか、音量調整機能だとかをGoogle先生を頼りに実装していく。音量制御がなー、dB単位だから難しいんだわ。BGMとSEの音量分けるのも初体験だったし、地味に苦労した。
7日目
朝起きた瞬間に「こないだ焚き火も作ったし、どうせだから出しときたいなぁ…」と思いつき、急遽ゴリ押し実装することに。しかしただ夜にするだけだとあれなので、球速を早めにして「ハードモード」と銘打ってみた。ノーマルでも充分難しいので、ハードだともっと無理ゲーになるだけなんだが。
あと、締切まで数時間ぐらいのときに友人と話してる中で「星空欲しいよな」って流れになったので「unity 星空」でググって出てきたパーティクルシステムを突貫で実装。秒間600粒生んでるからそこそこ処理重そうなもんだが・・・まあいいや動いたし(思考停止)
あとは20時になるまで5歳児にデバッグしてもらったあと(レベル5ぐらいまではクリアできてた)unityroomにアップロード。おつかれさまでちた!
完走した感想
モデルの素体借りたりMixamoでモーション付けたりといろいろズルはしたけれど、ステージ含めて3Dモデルをアセット使わずに作りきったのは大きな一歩だし、今まで色々と勉強してきた成果が出せたと思う。もっと自信を持っていいぞ俺!
unity1weekは毎度バケモンだらけなのでこのレベルのゲームで太刀打ちできる気は全然しないが、でもまぁ作ったゲームはウチの子供にそれなりにウケているから、今はそれだけでもヨシとしようじゃないか。
道中いろいろあったので細かい技術的な話とか色々書き残しておきたいのだが、ここに書くととんでもないボリュームになりそうだから後日小分けにして出していこうと思うゾ!
この記事が気に入ったらサポートをしてみませんか?