就活

  • 2026年8月開催 ガンバリオン 1dayPGインターンに行ってきました

    こんにちは。
    たこのこです。

    ガンバリオンさんのインターンに参加してきたので、経験したこと感じたこと思ったことを書き並べます。忘れたくないので…

    ただ、時間が取れなくて1ヶ月くらい期間が空いてしまったので、少し記憶があやふやです。覚えている範囲で文字に起こします。

    今回は秘密保持契約を結んでいないので自由に書き殴れそうです。社員さんや他参加者さんの個人情報には触れず、公序良俗に反しない範囲で書き起こします。

    別にそんなヤバいこと書かないです…。

    何をした?

    プログラマ向けのオンライン1dayインターンです。

    午前11時から始まって、1時間くらい企業説明が行われた後、5時間ほどグループワークしました。参加者は80名近くいて、6~7名のグループに分けられていました。

    グループワークの内容は主に2つでした。1つ目は、提示された3つの仕様について、メンバーと共に最適な実装方法を話し合って発表するグループワーク、2つ目は、提示された10のコードに含まれるバグをメンバーで協力して言い当てるグループワークでした。

    思ったこと

    〇課題について

    ガンバリオンさんのインターンが私にとって初のインターンとなりましたが、課題の内容を見た当時の私は、「意外と理解できるな」と驚いていました。課される高難易度な課題を前に四苦八苦すると思っていました。

    というのも、私の持っているゲーム開発まわりの知見は、主に個人開発によって身につけた物で、社会で通用する実践的なものではないと思い込んでいたためです。

    実際は、ゲーム企業さんも同じような原因でバグを生んでいたり、似たような手法でゲームの最適化を行なっているらしかったです。

    具体的には、ゲームの最適化について、オブジェクトプールを使ってGCを回避していたり、遠くのものにあるものほどローポリにして負荷軽減を図っているなどです。

    バグの原因については、境界値や小数の丸め誤差、メモリリーク、NULL参照など、言語仕様にまつわるものから、入力制御や一次停止処理、フラグ管理など、実装方法の不備によるものの2種類が主に取り上げられていました。

    特にバグの原因について、あまりにも馴染みがありすぎて、コードを読まずともバグの内容だけで答えを直感できました。しかも、実際に当たっていたのでビックリです。

    とにかく、ゲーム企業で働くプログラマさんが、宇宙人語ではなく日本語を喋っていたことに強い親近感を覚えていました。話している内容に共感できて嬉しかったです。

    実際の業務ではもっと難しい話をしているのでしょうか?学生のレベルに合わせて組まれたインターンではあると思うので、その点が気になりました。

    〇メンバーについて

    6名のメンバーと共にグループワークしましたが、自己紹介や話し合いをする中で、様々な方が集まっていると感じました。

    CyberagentさんやGREEさんのインターンは、参加している方々の経歴や振る舞いから企業の採用方針をなんとなく読み取れましたが、ガンバリオンさんはよく分かりませんでした。

    ゲーム開発している方もしていない方もいましたし、積極的にグループワークに参加する方もいれば静かにしている方もいました。出身も大学も様々でした。

    数時間のグループワークで人となりを理解する試みの難しさが表れたとか、書類選考のみのインターンには採用方針が表れないとか、採用目的で開かれたインターンではないとか、理由を色々考えてみました。

    ただ、参加者の全員はプログラマ志望の人間ではあったので、誠実で真面目な方が多い傾向は感じ取れました。自分の考えが絶対正しいとは思っていなかったり、詳しくない分野は他の方に意見を仰いだり、他の人が知らなさそうな専門用語を噛み砕いて説明したりしていました。

    そして、ゲーム業界のプログラマなどと、狭い業界の狭い職種を志望している方々なので、興味関心が重なる部分が多く、自己紹介や雑談は盛り上がりました。好きなゲームだったり、作っているゲーム、作りたいゲームなどです。

    そういえば、専門学校に通っている方々と初めて話す機会を得られました。

    ゲーム開発の専門学校について、「ゲーム開発好きの集まる環境でゲーム開発の勉強ができるなんて天国だな〜」と思っていましたが、その方曰く、専門学校は専門学校で苦労があるみたいでした。ゲーム開発への熱意が人それぞれだったり、一般教養もしっかり養わないといけなかったりするみたいです。

    同じ大学、同じ学部の方と話す機会がほとんどなので興味深かったです。違う境遇にいる方を知ることで自分の境遇を正確に客観視することができると思っています。その点で有意義な情報交換の場でした。

    私は私の通っている大学のことを話しました。なにか相手にとって学びになっていれば嬉しいです。

    〇グループワークの案出しについて

    私は現在、プログラマ志望として就活を頑張っていますが、これまでにゲームの企画部分でも何度も取り組んできたので、プランナー的な思考法も持ち合わせていると思っています。

    最適解に近い解決策を提案するか、創造的な解決策を提案するか、といった話です。前者がプログラマな思想で後者がプランナーな思想です。

    このことは、本インターンで他プログラマ志望の方々と話し合う中で意識することになりました。私はプランナー的な思考に少し偏っていたように思います。

    例えば、「雑なコリジョンの含まれるオープンワールドにおいて、バグらないキャラクターの移動を実現しよう」というテーマで、実装方法を話し合ったのですが、ここで思想の違いを感じました。

    具体的には、実際のゲームに用いられている実装方法を提案する人、他職種の方々と協力して解決を図ろうとする人、そもそものバグが起こる頻度から実装方法を考える人などが居ました。

    私は「近いコリジョン同士を結合してマトモな当たり判定を自動生成する」と、オープンワールドの特性と開発期間を考慮した案を出しました。実用的かどうかは実装してみてパフォーマンスから判断したいと伝えました。

    ここまで言語化して気づきましたが、プログラマな思想かプランナーな思想かの2つで分ける内容でもない気がしてきました。どこを見てどんな基準で実装方法を提案しているのかが人それぞれなだけのように思われます。

    発表後にガンバリオンさんから「実際の現場ではこんな風に実装されていますよ」と正解が提示され、発表内容との差分がフィードバックされるので、それを聞いた私は、「正解以外の案はプランナー的、正解の案はプログラマ的なんじゃないか」と、直感が働いたみたいです。

    文字に起こすことで変わる考えもあると思いました。振り返りは大事です。

    おしまい

    覚えていること、感じていたことは大体書き出せたかなと思います。

    「忘れることは大したことではない」と誰かが話していましたが、私の場合は大事なこともしっかり忘れる事があるので、こんな感じで備忘録を取り続けていきたいです。それもなるべく早めにです。

    以上です。

    お疲れ様でした。

  • 2026年9月開催 GREE Campの記録&思ったこと学んだこと

    こんにちは。
    たこのこです。

    GREEさんの主催する2dayインターンシップ「GREE Camp」に参加してきました。

    思ったことをつらつら連ねます。

    よろしくお願いします。

    GREE Campって?

    https://hd.gree.net/jp/ja/recruit/internship/camp

    総合インターネット企業GREEさんの主催する2dayインターン。GREE流ものづくり方法論を学んだ後、デザイナー、プランナー、エンジニアの3人チームでテーマに沿ったゲームのモックを開発します。現役のゲームプロデューサーさんが審査員となり、2日目に優勝作品が発表されます。

    何をした?

    秘密保持契約を結んだので詳細に内容を話せないです。一般公開されている情報の範疇を出ない粒度で話します。

    〇1日目

    インターン初日の朝早く、GREEの本社に18人の参加者は集められました。プランナー6名、エンジニア6名、デザイナー6名の合計6チームです。

    社員さんと参加者の自己紹介が行われた後、ワークは始まりました。自身の経験に基づいた「心震える瞬間」を書き出して、それらをチームメンバーで共有した後、どんな心震えるゲームを作るか擦り合わせていきます。

    そして、ゲームに盛り込む「心震える瞬間」のイメージや仕様の共通認識が固まり、ホワイトボードに文字起こしした後は、実際に手を動かして形にしていきます。

    この過程では、メンター役の社員さんにサポートしてもらいました。メンバーに伝えたいことを代わりに言語化してもらったり、どうやってアイデアをゲームに落とし込むのか案出ししてもらったり、実装方法のベストプラクティスを教えてもらったりしました。

    しばらくすると、ユーザーテストの時間になりました。何も事情を知らない社員さんに現段階でのモックを遊んでもらい、フィードバックをもらいます。

    ユーザーテストの結果を基に、さらにゲームを作り込んでいきます。これを1日目の終了時刻まで続けました。

    最後には、メンターから個別にフィードバックが行われました。グループワークの取り組み方や明日に意識すると良いことなどが共有されました。

    〇2日目

    2日目も1日目と同様、朝早くに本社へ集められ、朝会もそこそこに開発が始まりました。

    帰宅後の作業は許可されていましたが、ハッカソンで貸し出されていたデバイスを持ち帰ることはできなかったので、2日目のタスクや動きをメンバー間で共有するに留まりました。

    12時には2回目のユーザーテストが行われ、ゲーム体験を強化する手がかりにします。メンターさんにもゲームを遊んでもらい、ゲームの改善を繰り返します。

    残り時間を鑑みて、実装する仕様や実装しない仕様の見極めを行います。最後の最後まで開発は行われ、4時半には開発時間が終了しました。お疲れ様です。

    その後、開発経緯を何も知らない社員さんに各チームのゲームを遊んでもらいます。その間に、各グループは開発したゲームを5分で発表します。

    最後は結果発表です。優勝チームの発表が行われた後、表彰式が行われ、メンターからのフィードバックとメンバー間のフィードバック会が行われました。

    その後は解散です。

    お疲れ様でした。

    GREE Campについて思ったこと

    〇雰囲気

    GREE Camp全体を通して、友人とTRPGを遊んでいるような、リアル脱出ゲームに参加しているような、そんな没入感を覚えていました。「ゲーム開発アトラクション」と表現するとしっくり来ます。

    (私がゲーム開発大好き人間すぎて認知が歪んでいるかもです)

    スケジュールと開発の進め方のみが提示される自由なハッカソンとは異なり、本イベントはかなり運営側の参加者への介入が多かったように思います。このことが、上記の印象を強化していると考えました。

    もちろん、企画や開発の主体は参加者にありますが、同じチームメンバーかと見間違うくらい、メンターの方々と積極的に関わっていました。開発終盤は、5名くらいのメンターが付きっきりで、採用する仕様や省く仕様について話し合っていました。

    全体を通して、「何か困った事があれば頼ってね」と、顧問といった立場ではなく、一緒にゲームを作る仲間という印象を受けました。

    〇他の参加者について

    参加者のほぼ全員が外向的で、コミュニケーション能力に長けた、人を楽しませることに強い関心のあるらしい方々でした。

    具体的には、自己紹介の冒頭でラップを始める方もいれば、空手の所作を実演してみせる人もいましたし、テレビアナウンサーかと思うくらいのトーク力を発揮している方や、ゲーム作品発表の際に茶番劇を行っていた方もいました。

    なので、「自分って普通の人だなぁ」と、強烈な場違い感を覚えていました。私を言い表す過去はゲーム開発くらいしか思い浮かびません。自己紹介パートも発表パートも全員キャラが立っていて、その情報量の多さに驚いていました。まるでバラエティ番組に放り込まれてしまったみたいです。 

    そして、ここにいる私以外の17名全員、就活慣れした猛者達だと思われました。他参加者の立ち振舞いや言動、表情などの一挙一投足を記憶に残して、今後に活かせる何かを持ち帰ることに注力しました。

    具体的には、短時間で他人に記憶してもらえる自己紹介の方法、場の盛り上げ方、プランナーに必要な能力、身だしなみまわりが勉強になりました。自分なりにインプットできたので、どこかの機会でアウトプットしてモノにしたいです。

    〇メンターからのフィードバック

    1日目の終盤、別室に案内されてメンターから個別にフィードバックを受ける機会がありました。

    本イベントに参加するにあたって、GREE Camp本番を模した事前課題(簡易的なゲーム開発)が課されていたのですが、実際に全てのゲームを遊んだメンターさん曰く、その中でも私の事前課題はかなり高く評価していただいたとのことです。

    具体的には、ゲームのアイデアやシステムまわりを評価していただきました。ゲーム開発に取り組んでいる身として、これほど嬉しいフィードバックはありません。

    その上で、「もっとクリエイティビティを発揮しよう」と伝えられました。 事前課題で発揮していたようなクリエイティビティをGREE Campでも発揮してほしいとのことでした。

    「チーム開発では自分を抑えていて、羽を伸ばせていないのではないか?」という旨のフィードバックでした。それを聞いて、「そう言われると、そうなのかもしれない」と唸りました。

    そういえば、1日目の企画段階、私自身の「心震わせる瞬間」がゲームのコア体験として採用されかけましたが、あるタイミングで全て白紙に戻って、最終的にはプランナーさんの案が採用されました。メンターさんが指すのは、このことかもしれないです。

    どうして私の「心震わせる瞬間」がゲームの軸に据えられなかったのかについてですが、2日間で開発できる規模感のゲームに収まるイメージを持てなかったためです。

    (これから意味不明なことを言います)

    私がGREE Campで提案した「心震わせる瞬間」は、「カオスの中から法則を見出した瞬間」です。

    ここで言うカオスとは、車のナンバー、素数、空に浮かぶ雲や星々など、お互いのシンボル同士が無秩序に連なって見えるシンボル群を指します。

    こうしたカオスの中から人為的に思える法則を見いだした瞬間…例えば、同じナンバーの車を連続で見つける、幾何学図形に見える星座を見つける、ドーナツの形をした雲の形を見つけるなどの瞬間が、その背後に大いなるものの意志や運命などといった神秘を感じ、好奇心や創造性が刺激されるため、心が震わされると感じていました。

    この「心震わされる瞬間」を、提示されていたテーマに沿ってゲームに落とし込んでいく流れになりましたが、その過程は困難なものになると予想されました。

    なぜなら、上記の感動は、主体の能動的な行為(車のナンバーに注目しよう、面白い形の雲を見つけようなどと意識すること)が前提にあるため、ゲーム側からのプレイヤーにゲームを遊んでもらう動機付けが難しいと感じていたためです。

    その上、ゲーム側からプレイヤーの行為を評価する方法を考える必要もありました。どのようにして、作り出した数々の星座に良し悪しをつけるのでしょうか。

    また、上記した「カオス」を何らかの形で表現することにもなります。私は、各シンボルに色や文字、形などの視覚的な情報が伴っていればどんな表現手法を採用しても良いと思っていたので、白と黒の2値で表現されたランダムノイズのマップでカオスを表現することを提案しましたが、メンバーはピンと来なかったみたいです。

    (意味不明な話はおわり)

    企画締切の時間も迫っていたこともあり、上記した私の案は収拾がつくのか怪しかったので、一旦全てを忘れて、プランナーの「心が震える瞬間」を採用することになりました。

    プランナーの「心が震える瞬間」は「扉が閉まりかけている電車に飛び乗る瞬間」とのことでした。かなり具体的で、具体と抽象を行き来しなくても、そのままゲームに取り込めそうなアイデアでした。

    それ以降は、プランナーの「心震える瞬間」を強化する方策を練っては実装していました。全体的に理詰めで作り進められたイメージです。ゲーム体験の根幹がかなり具体的でしたので、その枝葉部分も具体的にイメージされました。

    現実世界のリアルな経験をまざまざと思い起こさせるために有効な手法は、当時の心震わせた瞬間をゲーム内でなるべく再現させる(例えば、「発着音を鳴らす」「乗り降りする客を跳ね除ける」「徐々に扉が閉まっていく」などの)アプローチが最適解のように思われました。

    そのため、この状況でクリエイティビティを発揮することは、リアリティが失われ、心震わせる瞬間の再現性が失われることに繋がると考えました。

    例えば、電車扉の縁を火花と血しぶきの散る鎖鋸にして、駆け込み乗車の緊迫感を煽るアイデアが思い浮かびましたが、現実味のなさがゲーム全体に漂って、プレイヤーの駆け込み乗車の記憶を引き出す際のノイズになると感じました。

    とは言え、とりあえずメンバーに共有した後に実装し、その感触を確認する…くらいの取り組みに時間をかけても良かったのかなと思います。次のインターンではもっとはっちゃけます。

    〇デザイナーさんについて

    協調性の高い方でした。

    ただ、意見を伝えられずに思い悩むことが多かったみたいです。頭の中でグルグル考えてしまって、結局言わないことが多かったとのことでした。それを聞いて、些細なことでも言い合えるチームメンバーの一員になりたいと思いました。

    ところで、東京ゲームダンジョン13で私のゲームを遊んでくださっていたみたいでビックリしました。私もデザイナーさんの出典していたゲームを認知していたので、実質知り合いでした。

    〇プランナーさんについて

    コミュニケーション能力とタスク管理能力に長けた方でした。

    私もプランナー職を目指しているのですが、この方は今回が初めてのゲーム開発だったと聞いて驚きました。ゲーム開発未経験でもプランナーとしてインターンに参加できるらしいです。

    この話を聞いて、プランナー職はコミュニケーション能力が特に 重視されるのだなと感じました。引き続き人とガンガン話したり関わったりして対人能力を高めて行きたいです。

    そういえば、この方は友達の友達でした。世界は狭いです。

    自分に足りないところ

    〇コミュニケーション能力

    「コミュ力」はかなり広い意味を持つ言葉なので、分解して詳細に話します。具体的には、協調力とか自然な会話を続ける力とか良好な関係を築く力とか、「集団の中で上手いこと世渡りする力」です。

    就活を始めてずっと必要だと感じ続けている能力なので、引き続き頑張ります。

    かなり不本意ですが、「変な人」とか「天然」とかめちゃくちゃ言われます。自分を異常たらしめている原因を特定できれば改善できそうなので原因を探している最中です。「ゲーム開発バカ」と言われてて、小中高大どのフェーズでも何かしらのものづくりに没頭していたので、シンプルに対人経験が少ないというのもありそうです。

    しかし、どうも他の人には標準搭載されている何かが決定的に欠けている気がしてなりません。隣にいる他者と私の2者は、何が違って今に至ったのか、何がこの人をこの人たらしめているのか、この人はどうして私じゃないのか、などと考えたりしています。

    〇身だしなみ

    具体的には、スキンケアと髪の手入れと服装の3つです。

    大学3年生にもなって流石にマトモにできるようにならないとヤバい、と心で理解したので頑張ります。このイベントに参加するまでは「まぁこんなもんで良いでしょう」と、適当にこなしていたつもりでしたが、たぶん何とかなってなかったです。

    今日からガチりますので許してください。

    今の身だしなみPOWERが3だとすれば、100まで上げなくとも30くらいまで常に維持できるよう頑張りたいです。あまり張り切りすぎても、長続きしなければ意味がないので、簡単なところから始めて習慣化を目指します。

    とりあえず、オフィスカジュアルな服、乳液と化粧水と洗顔料とコンディショナーを調達して、髭を剃って髪を切りました。入浴中と入浴後、頭に色々を塗り、これを毎日繰り返します。

    これでだいぶマシになるハズです。
    他になにか必要な習慣はあるでしょうか。

    ついでに筋トレも再開しました。朝と夜にプッシュアップとプランクとスクワット15回を3セット、これを週に3回続けています。タンパク質も食べます。

    頓挫する未来が見える見える…。

    今以上にマトモな社会人になるため頑張ります。

    優勝した理由を考える

    私のチームが開発したゲームは優勝作品に選ばれましたが、その理由を考えてみました。

    考えてみたのですが、どうしても具体的な評価方法について言及することになり、秘密保持契約に触れてしまうので多くを話せないです。

    ただ、「再現性の高い、心震える瞬間」を盛り込めたのはかなり良かったかもです。何回もメンターに遊んでもらって、その反応を見ながら、チュートリアルを追加したりレベルデザインしたり演出を追加したりしていました。めちゃくちゃプレイヤーの立場になって作ったつもりです。

    どんなに考え込まれたゲーム体験を用意しても、些細なことで想定通りの遊び方にならず、全てが台無しになってしまうことを普段のゲーム開発で痛感していたので、この点はかなり意識して実装を進めました。

    あのゲームはおそらく、誰がどのように遊んでも同じ気持ちになれるゲームだと思います。事前情報を一切知らされていない審査員には、この点が高評価に繋がったのではないでしょうか。

    この文章を読んでいる方にも実際に遊んでもらいたいところですが、全ての開発環境は貸し出されたものなので、ゲームを持ち出せませんでした。残念です。

    おわり

    終わりです。

    感じたこと、学んだことは大体書き出せたと思います。
    頭の中がスッキリしました。

    以上です。
    次はコーエーテクモゲームスの企画インターンに行ってきます。

  • 2026年8月開催 Cyberagent プロトスプリントリーグに行ってきました

    こんにちは。

    たこのこです。

    Cyberagentさんの、2026年8月開催のゲーム開発型短期インターン「プロトスプリントリーグ」に参加してきました。

    今後に活かしたいので、その全てをなるべく詳細に書き記します。

    参加の経緯

    どうして参加できたのでしょうか?

    経緯を思い出してみました。

    そのきっかけは、6月に同社が開催していたゲームのレビュー会に参加したことに由来します。

    そのレビュー会の最後、同社のslackに参加する機会があり、参加してから1カ月後、社員さんから個別にプロトスプリントリーグへ案内されました。

    参加に向けて採用担当の社員さんと面談を行ったのですが、曰く、年にゲームを4本リリースするなど、頻繁にゲーム開発していた点が目に止まったとのことです。

    インターン参加の手段は様々らしい、と聞いていましたが、いざこういった形で参加できることになると、「本当にあるんだなぁ」としみじみしました。

    個別案内されたというのも嬉しかった上、なにより面白そうで今後に活かせるイベントだと感じたので、2つ返事で参加を決めました。

    面談については、「とにかく頑張ります!」と連呼していました。応答文を用意していても忘れてしまうので、脊髄反射な本心で話すことを意識しました。

    (それはそれとして、「学生時代に力を入れたことはありますか?」的なよく聞く応答は、流石にそろそろ言えるようになりたいです)

    キックオフ

    他社さんの現地インターンを終えた直後、キックオフイベントは始まりました。オンライン開催と聞いていたので、近くの個室ワークスペースから参加する計画を立てていました。

    他社さんのインターン終了が18:00で、キックオフイベントの開始も18:00だったので、参加が遅れることは確定していたのですが、個室の場所が分からなかったり、入室方法を調べていたりしていて、結局10分くらい参加が遅れてしまいました。

    「スケジュール詰め込みすぎるのは良くないな」と思う反面、「十数分の遅刻を憂慮して参加を諦めるのも勿体ないな」と悶々としていました。あらかじめ社員さんに事情を伝えていたので許してください。

    肝心のキックオフイベントでは、軽い企業説明とイベントの概要、スケジュールの紹介、あと、チームメンバーとの顔合わせが行われました。

    プロトスプリントリーグって?

    https://www.cyberagent.co.jp/careers/students/event/detail/id=33043

    プロトスプリントリーグは、3〜4名のエンジニアがテーマに沿ったゲームを開発する2dayのハッカソンです。2日間と言いつつも、その1週間前にテーマの発表とチームメンバーとの顔合わせが行われるため、本番に向けてゲームの企画やアセットの用意に時間を割けます。

    ただ、公平性の観点から、ゲームエンジンを触ったり、コードを書いたりするなどの実装作業はできないとのことです。

    以上のことから、実質的に1週間のハッカソンになります。本番2日間の作業時間は合計で12時間程度なので、何の用意もなしに当日を迎えたらかなり苦労することが予想されます。

    このハッカソンで優勝を目指すのであれば、準備期間でいかにスピーディーなチームビルディングや詳細な計画を行えるのかが鍵になってきそうです。

    キックオフ(顔合わせ)

    キックオフイベントの話に戻りますが、諸々の説明が終わった後の30分間、チームメンバーのUさんとMさんと顔合わせしました。そこでは、各メンバーの活動経歴や学業、イベントに参加した目的などが共有されました。

    私は個別案内された身ですが、UさんとMさんはどちらも面接を通過してきた方らしく、さらに院生でもあるとのことで、境遇の違いを感じて緊張していました。

    Uさんはいかにも「ゲームプログラマ」といった感じで、たくさんゲームを作ってリリースしていたり、グラフィックスの研究をしていたり、ゲームエンジンを作っていたり、ハッカソンで受賞していたりしました。経歴てんこもりです。

    Mさんはバンドでドラムを担当していて、つい先日にもライブで演奏してきたとのことです。カッコよすぎますね。バンドマンはキラキラしてて憧れます。1年前からゲーム開発していて、つい最近にゲームを1本完成させたと話していました。

    その後は、チームの目標を話し合いました。Cyberagentさん曰く、何に取り組むにせよ目標を立てるのは大事とのことです。話し合いの結果、チームの目標は、「見て面白い、やって面白いゲームを作る」に決定しました。

    最後は、次の会議予定日を3人で話し合って解散となりました。また明日です。お疲れ様です。

    会議(2回目)

    次の日の夜、昨日立てたDiscordサーバーにメンバーは集まりました。

    この日は主に企画の話をしました。

    先日に発表されたハッカソンのテーマは「かえる」でしたので、このキーワードから発想を広げていく形でブレインストーミングすることがUさんから提案されました。

    どのような方向性でブレインストーミングするのか(「かえる」に意味の近い単語を書き出すのか、連想できるゲームシステムを書き出すのか)を確認したところ、「自由に何でも書いてOK」とのことでした。その後に、全員のアイデアをすり合わせて企画を決めるとのことです。

    それから10分間、個人作業の時間となりましたが、私はかなり不安でした。

    その理由は、私がこれまでに何度かチームでのゲーム開発を経験し、この企画手法で面白いゲームを形にするのはかなり難しいと感じていたためです。

    各メンバーのアイデアの共通項を採用するという企画手法は、全員の案が最終的な企画に影響するために、メンバーの自己効力感が刺激され、心理的安全性が高まった結果、グループワークが円滑になる効果があると思っています。

    その反面、ゲームジャンルや世界観といった大枠以外の、具体的なゲームシステムまではメンバーの考えが至らない、もしくは共通項が見つからず、結果としてゲーム体験のフワフワした抽象的なゲームになる傾向があると考えています。

    10分後、個人作業の時間は終了しました。ここではMiroと呼ばれるオンラインホワイトボードツールを用いました。

    それからは、挙がったアイデアを基にゲームの企画をすり合わせていくフェーズに入ります。

    メンバーの挙げたアイデアを見たところ、やはり自身の経験と重なる部分が多く、不安は一層大きくなりました。

    ここで私はめっっっっちゃ悩みました。

    この方法でゲーム開発を続ければ、開発するゲームの計画は滞りなく進むかもしれませんが、ハッカソンで優勝できるような面白いゲームは企画できないかもしれないです。

    う〜〜〜〜〜ん

    結果、上記の不安とその理由をメンバーに話すことにしました。そして、その上で「私がゲームを企画する責任を負っても良いですか?」とお願いしました。

    本気でハッカソンに挑んでいるからこそのお願いです。結果、お願いは承認され、私の考えた企画を他のメンバーが叩き上げる形でゲーム開発の詳細を詰めることになりました。

    本番までの日数も少なくなっていたため、明日までに企画書を用意すると宣言しました。

    頑張って企画書を書きます。

    会議(3回目)

    次の日、企画書は用意されました。

    チームの目標である「見て面白い、やって面白いゲーム」を細かく分解、言語化し、以下の要素で目標の達成を狙ったゲームを企画しました。

    • Youtube Shortsで見るような
    • 物理演算
    • 色を合わせる
    • 1画面で遊び方が分かる
    • どのゲーム画面を切り取っても面白い

    具体的には、同じ色のブロックを積み重ねてはタップして爆発させ、隣にある建築物を計画的に破壊する落ち物パズル×物理演算ゲーム「Flog Burst」を企画しました。同じ色を重ねるという視覚的な快感と、爆破による物理演算的な爽快感を覚えられるゲームになります。

    気になるメンバーからのフィードバックですが、Uさん曰く、「操作が複雑」「実装が間に合わない」とのことでした。

    たしかに…

    その上、「一方的に意見を言うだけじゃ申し訳ない」と、Uさんからも企画書が提出されました。

    画面を飛び回るハエをカエルが食べるシンプルなミニゲームです。画面をタップするとカエルから舌が伸びます。

    どんなに面白いゲームを企画しても、完成できなければ優勝は遠のきそうです。評価基準は「ゲームの面白さ」「ゲームの完成度」の2軸と聞いていたので、その片方を満たせないのは致命的なように思われます。

    「確実に完成させてゲームの完成度を高める」という観点でUさんの企画は高評価です。面白いかどうかは…分かりません。かなりシンプルなゲームになりそうだなという印象です。ゲームの細部を詰めていけば面白いゲームになるのでしょうか?

    MさんはUさんの企画に賛成とのことでした。私の「完成できるかどうか分からないラインの企画」はプログラマ視点からすると不安が大きいみたいです。私はプランナー的な思考が強いからなのか、あまり実現可能性を考えていなかったみたいです。

    結果、Uさんの企画に賛成することにしました。Uさんからのフィードバックを基に自身の企画書をさらに改善することを考えましたが、本番まで残り3日となっていたこと、次に3人で集まれるタイミングが本番直前であることを加味して、ゲームの規模が小さい方を選択することにしました。

    なにより、どちらの企画も1人で考えられたものなので、私が憂慮していた「アイデアをすり合わせることで抽象的なゲームになる可能性」は回避できています。

    とはいえ、私は「ゲームを企画する責任を負っても良いですか?」と発言した身なので、今後も責任をもって全力でUさんの企画を面白くする方法を考えて行動していきます。

    会議(4回目)

    4回目の会議では、明日に迫った本番に向けて、githubの連携とコーディングガイドラインの共有、実装の役割分担、クラス図を用いた設計などを行いました。

    githubについて、Uさんがかなり詳しかったので勉強になりました。私はマトモに共同開発した経験がなかったので参考にさせてもらいます。

    キャメルケースで変数を書く、ブロック化の際は改行するなど、コーディングガイドラインを共有するというのもUさんの提案でしたが、メンバーの書いたコードを見やすくなるためには大切なことだと感じました。

    (Uさんの書いたコーディングガイドラインの内容が、私の普段の書き方とほとんど変わりなかったところで謎の親近感を覚えました)

    実装の役割分担についてですが、私が画面遷移とUIのイラスト、音を担当し、Uさんがカエルの舌を伸ばすロジックを担当し、Mさんがハエの出現パターンまわりとエフェクトを担当することになりました。評価基準の「ゲームの面白さ」「ゲームの完成度」の2軸のうち、後者を突き抜けて高めていきます。

    ゲームサイクル部分は本番1日目で完成する予定でした。1日目の終盤と2日目にてゲーム全体の面白さやクオリティをブラッシュアップしていきます。

    本番1日目

    朝の10時、渋谷の某所に参加者30名近くが集められ、メンターさんとの朝会が終わった後、合計11グループがパソコンに向かって作業し始めました。

    とにかく実装実装実装です。

    各メンバーは黙々と自身の作業をこなし、必要に応じて話し合いの時間を取りました。設計まわりをきっちり準備していたので、特に迷いなく実装を進められたと感じます。

    私はクラス図の詳細をあらかじめ文字に起こしていたので、それをAIに投げてコーディングしていました。

    どちらかと言えば、ピクセル調のゲームを開発していたために、用意していたイラストをどうやってUnityのプロジェクトに配置しようか手間取っていました。絶妙にドットの大きさが変わったり、そもそもドットになっていなかったりしたので、Uさんに相談して解消してもらいました。

    gitはCUIを使って動かしていました。mainをpullしてきてbranchを切って、変更箇所をaddしてcommitしてpushしてPR送ってmergeします。1日でこれを30回くらい繰り返したのでgitの操作はかなり身体に刻み込まれたと思います。

    Sandbox/Takonokoといった、各メンバー専用のフォルダ上で作業していたので、コンフリクトも起こらず1日目は無事に終了しました。予定通りゲームサイクルは形になり、タイトル画面からゲームを始められて、タップしてカエルの舌を伸ばせる上、ハエも食べられるようになりました。後はブラッシュアップです。

    本番2日目(開発)

    昨日と同じく朝の10時、Cyberagentの本社であるABEMA TOWERに集められ、メンターさんとの朝会が終わった後、実装が始まりました。

    今日も実装実装実装です。

    実は昨日の帰宅後にも作業を進めており、事前準備で決めていた担当範囲を超えて、エフェクトやアニメーションの追加要素を実装していました。具体的には、タイトルロゴのアニメーションとタップエフェクトです。より画面が賑やかになり、ゲームの手触り感が向上しました。

    コンフリクトが起こっていたので解消した後、メンターさんに遊んでもらってフィードバックを頂きました。

    曰く、チュートリアル周りに難があるとのことでした。合間を縫ってハエを食べるゲーム性にするべく、ハチに触れるとその場で舌が引っ込んでしまう仕様にしていましたが、ハチに触れても特にデメリットや演出がなかったので、遊び方が直感的に理解できなかったみたいです。

    このフィードバック以降は、ゲームのバランス調整と演出回りの追加実装が行われました。ハチの出現頻度やデメリットを調整したり、ハチに触れた際、ゲージが赤く点滅したり、カエルが痛そうな顔をするようにしました。

    2回目のフィードバックでは、そもそものゲーム性について言及されました。メンターさん曰く、優勝を目指すのであれば、何度も遊んでもらえるようなゲームシステムが必要みたいです。本作はプレイヤーがゲームを遊ぶモチベーションを得にくいみたいです。

    そこで、ハエのまとめぐいに快感を覚えられるというフィードバックを基に、まとめてハエを食べた際に「○匹まとめぐい!」と表記されるようにしました。

    また、画面下部に得点の大きいボスハエを用意することで、ハチの合間をすり抜けてハエを狙う駆け引きが生まれるようにしました。

    ついでに、カエルの位置が動くようにして、ゲーム全体の難易度を上げました。

    クリアタイムを競うゲームデザインをガッツリ修正する案もあがりましたが、残り開発時間を考慮して、このまま開発を進めることにしました。

    そうして改善を続け、午後の3時半を迎えた際、開発は終了となりました。

    1週間お疲れさまでした。

    とはならず、成果物のプレゼンを行って本当の本当に終了です。

    40分でプレゼン資料を用意し、5分間の発表を行いました。発表は私が担当し、質疑応答はメンバーが担当しました。

    本当の本当に終了です。

    1週間お疲れさまでした。

    本番2日目(懇親会)

    結果発表です。

    結果、優勝ならずでした。

    悔しい!

    優秀賞も個人賞もナシでした。

    悔しい!

    優勝できると思ったんですけどね〜

    その後はメンターからイベント全体を通してのフィードバックを頂きました。曰く、確実な完成を見据えたゲームを企画した点、事前準備段階でメンターにフィードバックをもらっていた点で高評価とのことでした。

    UさんもMさんも優勝できずに落ち込んでいましたが、「サイズの小ささからこだわれた所もあり、ゲームとしての完成度は高かった」と励まされました。

    最後は懇親会です。

    寿司とピザを食べながら他のチームメンバーと話したり、他の作品を遊んだりしました。同じゲーム業界を志望する方々から色々な話を聞けて楽しかったです。

    この時になって思い出しましたが、ここにいる方々は全員、あの選考を通り抜けて来た方々でした。慣れてしまっていましたが、様々な経歴を持つすごい人たちなんだな~と実感しました。

    みんなで写真撮影をして解散です。

    お疲れ様でした。

    楽しかった~!

    感想

    〇githubについて

    githubをマトモに扱う経験がなかったので、めちゃくちゃ勉強になりました。具体的には、コーディングガイドラインやディレクトリ構成を共有するとか、サンドボックスフォルダを作ってコンフリクトを起こさないようにするとか、branchとmergeの使い方とかです。Issueをタスクシート代わりにして進捗状況を共有するというのも今後真似したいと感じました。

    Uさんはどこでこの知見を手に入れたのでしょうか?私は疑問に思いました。

    某ゲーム企業さんのもとで何年かアルバイトとして働いていたと聞きました。社会人との関わりはスキルアップする上で大事なのかもです。

    〇ゲームの企画方法について

    てっきりゲームの面白さは企画段階で9割決まるものだと思い込んでいましたが、フィードバックをもらって改善する取り組みによって、その大部分を修正できる可能性に気づきました。

    メンターさんから3回ほどフィードバックを頂きましたが、その過程でかなり遊びやすいゲームに変わっていったと感じます。

    とりあえず作ってみては、面白くない所を修正したり、面白い所を強化するといった開発手法は特にハッカソンなどの時間が限られているイベントでは有効かもしれないです。

    次の機会に活かしたいです。

    〇初めてのハッカソンについて

    ハッカソンめっっっちゃ楽しい~~~と思うと同時に、めっっっちゃ大変でした。開発終了までずっとアドレナリン出続けていて、休憩時間もソワソワしていました。

    開発期間は2日でしたが、準備期間は1週間あったために、本番が始まる前も「何かできる作業はないかな」と心穏やかでありませんでした。全体的に寝不足だったので、こういう状況でも自分を律して安定感のあるパフォーマンスを出せるようになりたいなと感じました。

    〇Uさんについて

    Uさんからは、技術的なあれこれをたくさん学ばせてもらいました。githubの扱いから設計方法、可読性の高いコードの書き方などです。実装速度にはビックリしました。プログラマとして目指す理想像に据えさせてもらいます。

    あとは、物の考え方や世界の捉え方が自分と似てるな~と思いました。ハッカソン帰りの雑談は盛り上がりました。院生の方だったので、大学院まわりの話もたくさん聞けました。進路を考える際の参考にします。

    〇Mさんについて

    Mさんからは、光属性の帯び方を学ばせてもらいました(?)。会話の応答から、素直で心が純粋なんだなって終始思っていました。

    今後、他の方々と共同開発を行う際、心にMさんを飼っておいて、「Mさんならどう答えるかな~」と判断して、いい感じに場を回せるようになります。

    ◯優勝する方法を考えてみる

    プロトスプリントリーグを優勝する方法を考えました。優勝作品が選ばれた理由はほとんど説明されなかったので憶測にはなりますが…。

    優勝したチームのゲームはマルチプレイゲームで、1つのスマホを2人で共有して、協力して四則や項を入れ替えながら数学のお題に答えていくというものでした。「小数にしろ!」とか、「3の倍数にしろ!」とかです。

    実際に遊んでみましたが、かなりシンプルなUIで、アニメーションやエフェクトも少なめに、ゲーム性を追求していたゲームでした。さらには、設定画面は実装が間に合わなかったとのことで、細部にこだわった私達のゲームとは、ある意味で正反対なゲームだと思いました。

    評価基準は「ゲームの面白さ」「ゲームの完成度」の2軸と聞いていましたが、上記の優勝したゲームは、特に前者が評価された形だと思います。

    なにより特徴的なのは、本イベント唯一のマルチプレイゲームだったと言う点です。これが同じく光属性を帯びているCyberagentの社員さんに刺さったのかなと思います。

    私が理解できない技術(コンパイル範囲を分割する?)を使っていると聞いたので、技術的な挑戦も評価されているかもしれないです。

    また、同じ大学、同じサークルの方々と共に参加しているとのことでした。個人賞も優勝チームのメンバーが受け取っていたので、相当連携できていたのだと思います。

    まとめると、プロトスプリントリーグで優勝したいのであれば、ターゲット(Cyberagentの社員さん)を意識したゲーム(例えばマルチプレイ対応)を企画し、既に面識のあるメンバー(同じ大学、同じサークルの方々)と共に参加し、普段は使わない技術的な挑戦をすると優勝できる確率が上がるかもです。

    ただ、本イベントの主目的は優勝を目指すというよりかは、他の方々やメンターとの共同開発を通して、今後に活かせる何かしらの学びや経験を持ち帰ることだと思います。あくまでも賞はハッカソンに取り組むモチベーションを高めるためにあるもので、優勝するために計画を練ると言うのは本末転倒なのかもです。

    おわり

    おわりです。

    お疲れさまでした。

    本イベントで感じたこと学んだこと考えたことはだいたい書き出せたかなと思います。

    今度はGREE Camp行ってきます。

    ここでの学びを活かして、次こそは優勝したいです。