プロトスプリントリーグ

2020年9月にサイバーエージェントさんのハッカソン形式のインターンシップ,プロトスプリントリーグに参加したのでその感想などをここに書いていこうかなと思います.

時間がなくて2か月も経ってしまいましたが,覚えている範囲でここに残しておこうかなと思います.

宣伝

High Right Road

今回自分のチームが作成したゲームはUnityRoomにあげています.ぜひ一回遊んでもらえたらなと思いますのでリンクを張っておきました!

プロトスプリントリーグとは

「プロトスプリントリーグ」は、3日間でお題に沿ったゲームをチームで開発し、ゲームとしての総合的な完成度の高さを競うエンジニア向けインターンシップです。
サイバーエージェントの現場で実際に働いているエンジニア社員のバックアップのもと、優勝を目指していただきます。
※お題は事前に発表する予定です。
ゲームエンジンはUnityを使用していただきます。(アウトプットは、PC向け/スマートフォン向け等は問いません)

サイバーエージェントさんのHPより引用させていただきました.

チームを組んで三日間でUnityを使ってお題に沿ったゲームを作る,といったものですね.今年はコロナということもあり,三日間ともオンラインで開催されました.

では僕のチームの各日ごとの流れをまとめていきます.

開始数日前

開始前からチーム分けとお題は発表されていたのでチームであらかじめ連絡を取り,どんなゲームを作るのかの議論を行っていきました.

チームはクライアント3名,バックエンド1名の計4名で1チームとして実施しました.

今回のお題は「シューティングゲーム」もしくは「パズルゲーム」のどちらかということでしたので,まずはどちらにするのかという議論から始まりました.

チーム全員の共通意識に,「せっかくやるからには最後まで作りきる,中途半端はダメ」ということがありました.そこで,クライアントメンバー全員が一度は作ったことのある「シューティングゲーム」をやったほうが作りきれるのではないかという意見が出てきました.

しかし,せっかくのインターンシップなので「パズルゲーム」にチャレンジしようということでメンバーの意見が一致しました.

ただ,今回作成するものはゲームですので,作りきる,かつ面白いということが大変重要となってきます.

では面白いとはなにか.ここが一番難しいところでしたが,パズルゲームの面白さは「試行錯誤」が一番大きなところではないかということになりました.

「できない→では別の方法で試してみよう」を何度も試し,うまくはまった時に「できた!」という達成感が得られることでパズルゲームの面白さがにじみ出てきます.この達成感は試行錯誤を繰り返す回数が多ければ多いほど大きなものとなってきます.

ただし,試行錯誤の難易度が高すぎると「無理だ」とあきらめてしまう可能性もあります.パズルゲームを作るうえで,この難易度の設定であるレベルデザインというものがかなり重要な項目となってきます.

この試行錯誤をうまく出せるようなレベルデザインをしつつ,かつ三日間で作りきることができるパズルゲームを作ろう,ということで落ち着きました.

面白さって難しいですね.ゲームを作る人たちはこの難しさと日々戦っているのかと思うと本当にすごいのだなと改めて思いました.

Day1

さっそく初日です.開始前にある程度の落としどころまで話していたのでタスクの洗い出しをしつつ,素早く実装に移りました.私はプレイヤーの動きや当たり判定などのインゲーム部分の実装を担当しました.もともとローグライク系のゲームを作成中だったこともあり,グリッド平面での移動は素早く実装することができました.

サーバーとのやり取りもあったのでDB設計やAPI設計もこのあたりで話し合いはしていました.

初日夕会後に懇親会もありました.

Day2

ここが本番でした.この日のお昼に中間発表会があったため,とにかく見せれるものを作るために必死でした.そのおかげで,なんとか発表までにチームワークと気合で見せれるところまでは実装できました.

発表のほうに関しては,メンバーの方がとっても素晴らしいトップ画像を用意してくれたので受けはよかったかなと思います.

中間発表のフィードバックとして

・何をすればクリアなのかがパズルゲームだとわかりずらいからチュートリアルや遊び方説明をしっかりと入れたほうが良い.

・パズルゲームのスコアをどうするのかをもう少し詰めたほうが良い

などの意見をいただきました.

中間発表後はこの辺を詰めつつ,もっといいモノを作るためにはどんな機能が必要か,などを考えていました.

Day3

最終日は朝早くから稼働しました.なんとなく思いついたミニマップを入れてみたり,クオリティを上げるほうに私は専念しました.中間発表前に全力で実装したおかげで,クオリティを上げるほうに集中できたので,結果としてよかったなと思いました.

ただ,サーバーとのつなぎこみがまだ終わっていなかったので担当の子がとても大変そうでした.メンターの方がつきっきりで対応してくださったおかげでなんとか実装できました.

最終発表

私たちのチームは本格的なパズルゲームをとにかく追及して作りました.ただ,ほかのチームもかなり作りこんだゲームを作っており,本当にレベルの高い戦いでした.結果としては賞を得ることはできませんでした.

本当に三日で作ったの!?と思ってしまうようなゲームが勢ぞろいしており,自分の結果でも納得がいきました.でもやっぱり優勝したかったですね…

まとめ

とにかくレベルが高い戦いだったので本当にいい刺激を受けました.同じ道を目指す学生とこうやって競う機会はなかなかないのでとても良い機会でした.また,実際に現役で働く社員さんからのレビュー設けることで「こんな視点があるのか」「こう考えればより面白くなるのか」と新たな気付きも得る事ができたのでかなり成長ができたかなと思います.

最初はオンラインで不安な要素もありましたが,とっても楽しく開発ができましたし,チームメンバーと(自分としては)すごく仲良くなれたと思うので最高の三日間でした.(ほかのメンバーもそう思っててほしいですね…)ちゃんと作りきることもできたので当初の目標も達成できました.

ゲームプログラマーを志望している方は是非プロトスプリントリーグに参加してみてほしいです.

また,三日間の内訳として

初日:企画→インゲームの作りこみ

二日目:インゲーム完成→中間発表→フィードバックから修正

三日目:クオリティアップ

がいいかなと思います.ゲームのクオリティは三日目のクオリティアップにかかってくると思うのですが,これをよりよくするためには初日と二日目前半でインゲーム部分を完成させておく必要があります.

この内訳が大切だということも本インターンシップを通じて学ぶことができました.これは実際のゲーム開発にも言えるかなと思います.インゲーム部分が最も大切なのでこれができてないとそもそもゲームとして成り立たないですし,ここができても本当に面白いゲームを目指すにはまだ足りません.クオリティアップに時間を割くために,いかにインゲーム部分を素早く,かつ汎用性のあるコードで書くか.ここにゲームプログラマーの力が現れるのかなと思います.鍛錬あるのみですね.頑張りたいです.


この記事が気に入ったらサポートをしてみませんか?