アカデミー内ハッカソン個人的反省会①
先日、自分が通っているアカデミーにてハッカソン(マラソンとハッカーをかけたやつで、今回はFOVEという視線や瞬きを感知できるHMDを使ったVRスポーツゲームの作成と発表)がありました。
個人的によかったことと反省点がめちゃくちゃいっぱいあるので忘れないうちに記事にしようと思って今書いています。
今後の自分宛のメモとして書いているので分かりづらいのと、めっちゃ長いです...(長くなりすぎて2つに分けました)
まず、今回は私にとって初めてのチームでのゲーム作りでした。私を含めて6人チームで、プログラミングやunityスキルの高さもバラバラな6人でスタートしました。
ハッカソンでのテーマは、
障害を持つ方がVRを使うことで健常者以上の体験ができるような身体拡張コンテンツを作ること
(素晴らしいテーマだと思いました...)
自分たちが作ったゲームは、ホバーボード(back to the futureに出てくる浮かぶスケボーみたいなもの)に乗ってコースを駆け巡りゴールを目指すというVRゲーム。
初日にスポーツゲームを作るということを知らされ、スキーがしたい→スノボーがしたい→いや、浮かぶホバーボードにしよう!!みたいなかなりその場の雰囲気で作るものが決まりました笑
具体的な当日までの流れ、何をしたか
ハッカソン2週間前の初日はテーマ発表からのアイディア出し、大まかな担当割り振りをしていました。(この時点では本当に大まかなもののみ。ステージ、キャラ、スクリプト、モブキャラ、BGM等)
実は自分は以前に他にゲーム作成をしていて、その時に1番作っていて楽しくて、自分の中では他よりマシにできるなと思っていた事がステージ作成だったので、できればステージ作成をしたい...とその旨を自分の以前作ったゲームや作品等と共に班員に伝えました。(スクリプトメインとか他の担当だったら絶対にチームに迷惑をかけると思った)
その後、ハッカソンテーマ発表三日後くらいにリーダーが先駆けてイメージ画を描いてくれたため(これは大きかったと思う)チーム全体に具体的な作るゲームの内容が伝わったのがとても良かったです。
自分はそのイメージを元にstage担当だったこともあり、それっぽいステージを検索してインプットしまくってテストステージとplayerを試しに作ってみました。(プロトタイプです)
イメージにもあったネオン感のある都市を表現するのにpost processing stackというアセットのBloom機能がとても綺麗にネオン感が仕上がったため、これはいろんなゲームで重宝するなと思いました。
その後unity試験があり、チーム打ち合わせ。(この時点で残り1週間)
試験後の打ち合わせで話したこと
改めてチームの役割分担(この時に初めて会ったチームの方もいたため)
各々、具体的にどのくらいハッカソンに時間を割けるかの確認
スクリプトをどの程度書けるのかの確認
unityのバージョンの統一(全員おなじverのunityをこの日にDL)
共同開発に使うツールをどうするかの話し合い(Gitとか)
また、どこかで1度グループで集まって作業ができるかを確認したが、チーム全員が集まれる日がなかったため、Skypeで通話することに。
Skype通話でしたこと
タスク管理表の作成(大まかな分担を元に具体的にやることリストとやる人を細かく決めていた)
この時にチームの方が意識してくれたのが、プログラミングが得意不得意であっても全員が何かしらのスクリプトを絶対に書くこと(実力をつける、経験にするため)
またチーム制作であり、Gitやunitycollaborateを使って共同作業を試みようとしましたがGitは上手くいかず、unitycollaborateとslack内でpackage化したデータをやりとりし当日マージするというやり方に。。
なぜできなかったのか
→Gitをまず最初にやろうとしたがGithubを使った開発経験のある方がチーム内に1人のみ、インストールし共同作業が出来るところまで至るのに学習コストがかかりそうだっため断念(今回の開発期間は2週間であり、最初の週はunity試験勉強もあったためとにかく時間がなかった)
→unitycollaboratieについては一応繋ぐことには成功。データのアップロード等も問題なくできた、ただし無料で使えるのが3人までで、他の人はpackage化したデータでやり取りするという形に。
その後は各々自分の役割通りのものを作りpackage化してslackでやり取りして...という感じでした。
(ハッカソンまでの5日間くらいの自分はほとんどステージ作ってた記憶しかないです...笑)
ステージ作る時に自分が意識したのは、なるべくアセットを使わないで自分で作る。
壁を走ったりジャンプしたり飛んだり、走っている時に爽快感を感じさせるような構成。(めっちゃ〇リオカート参考にしました)
自分の作業スピードが遅すぎて正直かなり妥協をしました...レースゲームって単純に考えれば分かりますけどステージめっちゃ広いです、半端な量じゃないです笑
なのでもう1人手伝ってくれる方を頼むべきでした。。
そして自分の担当がもうひとつ、タイム表示のスクリプトがありました。スクリプト自体は本当に単純なものでタイムをスタートから計って表示し、ゴールについた時点でタイムを止めてゴールタイムを表示するというものです。
迷っていたのがこのタイム表示のUIをどこに配置するか。
VRにおける文字の表示は空中に配置するかカメラに固定して一定の場所に表示させ続けるかというところなんですが、、ハッカソン前日にもくもく会にてニムさんという方から聞いた話で、人間の視界は人によって広かったり狭かったり個人差があるらしくて、VRにおいても人によって見える画面の範囲が違うみたいで。
ある人には端っこに文字が見えるけど他の人には見えない、なんてことになったら大問題...!!
かといってど真ん中にあるとレースゲームにおいては邪魔になってしまう...建物にそれっぽい感じに組み込んでみたところ、いい感じになったのでそれで行こうってなりました。(これが後にアカデミーの先生に言及してもらえました...!!ニムさんに感謝!🙏)
...つづく(果たしてここまで見てくれている人はいるのだろうか)