【Unity】#unity1week に参加して大人気WebGLゲー「qvsm」を作ったレポ
先週一週間、前々から気になっていた、1週間でUnityを使ってゲームを作るイベント#unity1week
に参加していました!
Unity 1週間ゲームジャム | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
#unity1week pic.twitter.com/LnNA6KL0aR
— !args(のたぐす) (@notargs) 2017年5月27日
#unity1week pic.twitter.com/i4YLwHMmKk
— !args(のたぐす) (@notargs) 2017年5月28日
雑な茶色い料理でひたすら飯テロをしているだけに見えますが気のせいです。たぶん。
作ったゲーム
qvsm
というゲームを作りました。
キュビズム
と読みます。Cube/Diceあたりのイントネーションを含んだ、シンプルかつ商標取れそうな文字列がこれくらいしかありませんでした。
パブロ・ピカソなどの現代美術と一切関係はありません。
qvsm | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
幸い、予想を上回る人数の方に遊んでいただき、週間ランキング、人気TOP3に食い込むなど、なかなか面白いゲームが作れたんじゃないかと思っています。
qvsmがTop3入りしてる…! #qvsmhttps://t.co/CuPNDOv9W3https://t.co/1vjYJZh1M0 pic.twitter.com/A9edJyOW4L
— !args(のたぐす) (@notargs) 2017年5月28日
週間ランキングTopにqvsmがいる…! #unity1week #qvsm pic.twitter.com/SC5zZWQaDc
— !args(のたぐす) (@notargs) 2017年5月29日
開発初日(月曜日)
元々イベント自体は知っていたのですが、月曜日の午後にTLを眺めていたら#unity1week
のハッシュタグを発見し、「お、今やってんのか」と気づきました。
なお、基本的には仕事外で時間を作っていたため、基本的に朝、晩に2、3時間程度開発するペースでやってました。
帰宅してから企画のブレストを開始し、「転がる…塊魂……うーん、四角い塊…サイコロ…パズルゲーム…お、なんか面白そう!」のようなノリで企画が決まりました。 最初は下記のような企画だったと思います。
- 人がたくさんいるところをサイコロを転がして踏み潰していく - サイコロの目の部分に穴が空いていて、そこにたまたますっぽりハマった人は助かる - なるべく少ない人を殺しつつステージクリアするゲーム
企画中に、塊魂、正解するカド、スーパーマリオ64の砂漠ステージなどが頭をよぎりました。
その後、なんとなく企画と共に頭に浮かんだイメージをアウトプットして即寝ました。
とりあえずイメージだけアウトプットした #unity1week pic.twitter.com/6Fxq8PigWx
— !args(のたぐす) (@notargs) 2017年5月22日
2日目(火曜日)
この時点では、初日で浮かんだゲームループをまず形にすることだけを考えて開発していました。 ひたすらプログラムを書いていたので、特に見どころも無かったです。
とりあえず転がった!!ノルマ達成!!寝る!! #unity1week pic.twitter.com/bxxKZ2Ahph
— !args(のたぐす) (@notargs) 2017年5月23日
モデリング #unity1week pic.twitter.com/QFxSGggi7k
— !args(のたぐす) (@notargs) 2017年5月23日
からの組み込み #unity1week pic.twitter.com/Uyu5978IrC
— !args(のたぐす) (@notargs) 2017年5月23日
Cinemachineを導入 #unity1week pic.twitter.com/TU5xNF2jqH
— !args(のたぐす) (@notargs) 2017年5月23日
コライダ仕込む作業おわり #unity1week pic.twitter.com/thuxjL8zZ5
— !args(のたぐす) (@notargs) 2017年5月24日
ブール演算でモデリングしてたら謎のメッシュが生まれてちょっと引っかかりましたが、それ以外は特に詰まるところもなかったです。
ちなみに、この時点では地面との衝突判定がないため、撮影する際は「落ちないように気をつけながら」撮影していました。運用でカバーです。
3日目(水曜日)
たまたま早起きできたので、朝から開発を始めました。
前日に仕込んでおいたコライダを少し調整し、やっとできた当たり判定を見せびらかしたところ、結構なRTがつきました。
ちなみに、この時点でもまだ床との衝突判定はできていません。
ひとまず最低限ゲームと言える形に。 #unity1week pic.twitter.com/TEgKGt4xK0
— !args(のたぐす) (@notargs) 2017年5月24日
4日目(木曜日)
この辺でようやく落下防止の仕組みを作り、ステージの作成を始めました。
「ひょっとして、人じゃなくてただのCubeでもゲームになるんじゃね?(モデリングめんどいし)」と思って置いてみたら思いの外いい感じだったので、そのまま完成形になりました。
最初に作ったステージが、一番モチベーションが高いときに作ったステージだったため、このゲームの中で一番面白いステージになったんじゃないかと思っています。
良い感じ #unity1week pic.twitter.com/Mmr41ASvr3
— !args(のたぐす) (@notargs) 2017年5月25日
かなりの良ステージができた #unity1week pic.twitter.com/Tl9BwctOmF
— !args(のたぐす) (@notargs) 2017年5月25日
小学生の頃に、ノートにひたすら迷路を書いてノートを埋めた記憶があったのですが、その時を思い出しながらレベルデザインしていました。
5日目(金曜日)
ようやくマウス操作がつきました。
これまではWASDキーにアサインしていたのですが、カメラが回転したときの処理をちゃんと書いていないため、逆から見たときはWで後退していてヤバかったです。
デバッグ効率も大幅に向上。
花金だったのでめちゃくちゃ開発が進みました。
マウスで操作できるように変更しました #unity1week pic.twitter.com/2ARNH3Khnt
— !args(のたぐす) (@notargs) 2017年5月26日
ステージ設計ミスってたのでさらに調整 #unity1week pic.twitter.com/y9JPl8RJo3
— !args(のたぐす) (@notargs) 2017年5月26日
マウスのホイールでカメラの拡縮ができるようになりました #unity1week pic.twitter.com/z6UbrFsVZo
— !args(のたぐす) (@notargs) 2017年5月26日
LevelとSystemのシーンを分離しました #unity1week pic.twitter.com/TmVGDdkF80
— !args(のたぐす) (@notargs) 2017年5月26日
UI作成中 #unity1week pic.twitter.com/0IsgPgVZi7
— !args(のたぐす) (@notargs) 2017年5月26日
ステージクリアができました!#unity1week pic.twitter.com/Ft0kRh5GVR
— !args(のたぐす) (@notargs) 2017年5月26日
ガシガシとUI作ってます #unity1week pic.twitter.com/8DCI5BJZkU
— !args(のたぐす) (@notargs) 2017年5月26日
とりあえずメニューが動きました #unity1week pic.twitter.com/oqGodELnLF
— !args(のたぐす) (@notargs) 2017年5月26日
6日目(土曜日)
ようやくステージセレクト→ゲームクリア→次のステージへ のループが回りました。
このタイミングで初めてWebGL Buildしてみたのですが、あまりの時間のかかりっぷりにビビりました。
これはローカルでやるものじゃないなと判断し、即Unity CloudBuildをセットアップ。 結果的には、この判断が後々聞いてきたのでとても良かったです。 Unity CloudBuildサイコー!!!
ようやくゲームループが回りました!こっからが本番…! #unity1week pic.twitter.com/6DFzaHib2s
— !args(のたぐす) (@notargs) 2017年5月27日
WebGLに悩まされてる。早めにビルドしてみておいてよかった…! #unity1week
— !args(のたぐす) (@notargs) 2017年5月27日
ステージ量産中… #unity1week pic.twitter.com/gBEMnwPozF
— !args(のたぐす) (@notargs) 2017年5月27日
効果音作成中 #unity1week pic.twitter.com/izSmxjneI6
— !args(のたぐす) (@notargs) 2017年5月27日
BGM打ち込み中 #unity1week pic.twitter.com/2xg7Y9Ltcl
— !args(のたぐす) (@notargs) 2017年5月27日
BGMの作成などもやってましたが、眠い頭で30分で作った曲なのでぶっちゃけ作り直したいです。
7日目(日曜日、最終日)
ひたすらステージを量産するだけだったのですが、どうもやる気が起きず、半分の時間は寝っ転がって漫画読んだり、みんなで!カービィハンターズZ
やったりしてました。
量産フェーズ苦手すぎる…
ひとまず予約登録完了!まだまだ時間あるのでブラッシュアップしていくぞ #unity1week
— !args(のたぐす) (@notargs) 2017年5月28日
進捗です。ノルマはあと2ステージ。 #unity1week pic.twitter.com/8eUGZ5Gt7S
— !args(のたぐす) (@notargs) 2017年5月28日
進捗です #unity1week pic.twitter.com/SF6P1Peqav
— !args(のたぐす) (@notargs) 2017年5月28日
途中でザッと作った、ゲーム内で使うシーンとBuildSettings内のシーンを同時に管理してくれるエディタ拡張がめちゃくちゃ仕事してくれてる #unity1week pic.twitter.com/fxshyCEuzj
— !args(のたぐす) (@notargs) 2017年5月28日
リリース
15分前にはFixしてアップロードし、満を持してリリースの時間になりました。
リリース1分前に最終確認してたら予約登録に失敗していて、焦りました。超焦りました。
まあなんとかギリギリ間に合ってよかったです。
投稿しました!タイトルは「qvsm」です。Unity CloudBuildがなければこのゲームは完成していなかった…! #unity1week #qvsm pic.twitter.com/Yu7TDsdYNP
— !args(のたぐす) (@notargs) 2017年5月28日
感想
小学生並みの感想ですが、めちゃくちゃ楽しかったです!! 次回も参加しようと思います!! Cloud Buildからの自動デプロイ機能楽しみにしています!!!!
Unity Cloud Buildからunityroomへ自動デプロイする機能つけてほしい #unity1week
— !args(のたぐす) (@notargs) 2017年5月28日
自分もずっと前から欲しいと思ってるのよね。誰か〜。(ビルド後イベントみたいなの捕まえればできそうだけど一度挫折した) #unityroom #unity1week https://t.co/kWk8qBRWiV
— naichi@6/4unity勉強会 (@naichilab) 2017年5月28日