kudokai’s diary

自由気ままに書いていきます

学生版ヒダッカソンに参加した話

kudokaiです。

今回は株式会社サイバーエージェントの学生版ヒダッカソンというUnityを用いた1dayのインターンに参加してきました。

www.cyberagent.co.jp

 

なぜ参加しようと思ったか

昨年12月で学内で行われたハッカソンで、Unityを使ってゲームを作り、Unity面白いなーと思い、インターンを通して自分のスキルをもっと高めようと思ったからです。これまで経験したことのない、仕様書に沿った開発も経験したいと思ったことも理由の1つです。

 

内容 

どんなゲームを作ったか

簡単にいうと、ボンバーマンみたいな2Dゲームを作りました。アイテムやゲームロジックも本家とあまり変わらないかなと思いました。(仕様書を見た感想。。。)

難易度

とても難しかったです!!!

というのも、作ったことのあるゲームがノベルゲームだったので、今回のような動きのあるゲーム作りにかなり苦戦しました。

ほとんどの時間をブロックやキャラクターの位置の調整に費やしてしまいました。

評価基準

あらかじめスコアシートを配られ、そこに書いてある機能を1つ実装すると点数がもらえるというものです。少しだけ具体的にいうと、タイトル画面の実装やBGMの実装などの機能がありました。

 

結果

僕が実装できたところは、CSVファイルからマップを自動生成するところまででした。ちなみにスコアは14000点くらいでした(めちゃめちゃ低い)。他の参加者はプレイヤーや敵のロジックも実装できていたので、周りとの実力の差を痛感しました。

 

感想

自分の実力を客観的に知ることができるとてもいい機会だったと思います。僕は仕様書の順番通りに実装していったのですが、できそうな機能から実装するべきだったと後悔しました。そうすると、あと10000点くらいは点数を稼げたかもしれない。。。!

懇親会では4近傍、8近傍という言葉を初めて知りました。愚直に壁とプレイヤーをcolliderで当たり判定をつけるのではなく、4近傍の考え方を使えばそもそも当たり判定が必要ないのではと思いました。

ちょっとやそっとの付け焼き刃の知識では、インターンでは通用しないということを痛感した1日でした。周りと比べてUnityの経験が浅すぎることが満足に開発できなかった原因だと思いました。これからやることは、ヒダッカソンで制作したゲームを完成まで持っていくことです!!

 

現状(余談) 

現在はプレイヤと壁の当たり判定を付け終え、アイテムの実装をしています。当たり判定は、最初は素直にcolliderを使ってやっていたんですが、プレイヤーが壁をすり抜けてしまったのでcolliderを使うことを断念しました。そこで、4近傍の話を思い出して、プレイヤーの上下左右のマスを常時取得する方法を考えました。調べていくとRayCastを使えば上下左右のマスの状態を常時取得できることが分かりました。

docs.unity3d.com

RayCastを使って、プレイヤーの上下左右にブロックがある時はその方向には進まない、何もない方向には進めるという考え方で実装しました(少し外道ですかね。。。)。

アイテムを実装し終えたら敵のAIを実装しようと思っています。

まずは、プレイヤー周りの実装からしっかりとやっていきます。