HackU Nagoya 2017にゲームを作って出場して最優秀賞とHappyHacking賞のダブル受賞をしました

就活も終えて学生時代最後の思い出づくりにハッカソンに出場したらまさかの最優秀賞を勝ち取ってしまいました。 HackU Nagoya2017で最優秀賞とHappyHacking賞をダブル受賞しました!!やったぜ pic.twitter.com/JZ2x14vaI5 — garicchi (@garicchi) 2017年8月21日 「最高の夏にするぞ!」とか冗談半分で集まって開発をしていたメンバーでしたが本当に最高の学生時代最後の夏になってしまったので感無量です。 何を作ったのか 今回出場したハッカソンはHackU Nagoya 2017大会です。 今大会のテーマとして「UPDATE夏休み 〜ながい夏休みをもっとエキサイティングに〜」というものが設定されていました。 夏休みをエキサイティングにする方法にとても悩みましたが美少女と海で水をかけあうことができるゲームをつくることにしました。 ※上図およびゲーム内で使用させていただいた3Dモデルは株式会社ドワンゴ様が提供されているニコニコ立体ちゃん(Alica)です(かわいい)。 どういうゲームかは発表プレゼン動画をみていただければわかると思います。 ゲームのコンセプトとして 自分からは相手が必ず美少女に見える空間で遊べるリアルタイムみずかけゲーム 相手に水をかけられると霧吹きから水が噴射し、自分に実際に水がかかる という2つを中心に夏休みをエキサイティングにアップデートしたものとなっています。 プレゼンではデモをする予定でしたが、発表前並んでいるときに電源である電池ボックスを落として破損してしまい、プレゼン時はデモができませんでした。 準備に時間をかけてしまって、HackU主催者様には大変ご迷惑をおかけしてしまい申し訳ありませんでした。 それでもプレゼン中に動画をたくさん入れていたのでわかりやすく伝えれたのではないかなと思います。 その後にあったブース展示では大変多くの方々(特にYahoo Japan社員様)に楽しんで遊んでいただき、さらに「ゲームの完成度が高い」と評価をうけ、クライアントゲームをUnityで担当した私としても非常に嬉しく過ごすことができました。 開発 ハッカソン出場を決定したとき、最初に浮かんだ構想がハードウエアと連携したリアルタイムオンラインゲームでした。 今思えば「エキサイティングにUPDATE」というテーマにとてもあった技術構想だったと思います。 チームメンバーは3人でJavaScript、Railsが得意なメンバーがそれぞれいたので私もかねてより勉強をしたかったUnityを担当しました。 ゲームの構成は下図のようになっています。UnityからRailsバックエンドへつなぎ、ゲームのリアルタイム処理はNodeJSのWebSocketを使用する。という感じでなるべく今のソーシャルゲームがつかっているような構成を目指しました。(今のソシャゲバックエンドはPHPが主流ですが) 難しかったところはUnityで使う3Dモデルにアニメーションをつけるところでした。   ✅最高の夏を過ごすためには努力を惜しまない pic.twitter.com/4zpf28oEp8 — garicchi (@garicchi) 2017年8月11日 アニメーションにはBlenderという無料のソフトを利用しましたがBlenderがとても使いづらく、なれるまでとても時間がかかりました。 Mayaも調べはしましたが、学生でなくなったときの値段をみると手がだせませんでした。 それでも今回のハッカソンでMayaをつかっているチームがいてビビりましたが.. モーション作成にはこの記事を大変参考にさせてもらいました。 それでも3Dキャラが自分の考えた動きをしてくれたときの嬉しさは言葉にはできないものがありました。   ✅最高の夏は、いつだって僕を裏切らない pic.twitter.com/ysNKnOX3U7 — garicchi (@garicchi) 2017年8月12日 砂浜の再現にはUnity標準の地形エディタであるTerrainの利用と、Beach WavesというUnityの有償アセット(1000円ぐらい)を利用しました。 水かけの表現はBeach…