N1エンジニアリング チーム6です。
今回は2024年新卒研修のハッカソンでUnityを使ってゲームを作ったので紹介します。
研修の概要
研修の概要はオウンドメディアの記事で詳しく紹介していますので、こちらからご覧ください。
media.reazon.jp
ハッカソンの概要
ハッカソンとは、「ハック(Hack)」と「マラソン(Marathon)」を組み合わせた言葉で、短期間でアプリケーションを開発するイベントです。通常は24時間から数日間にわたって開催されますが、今回は3週間にわたる長期間のハッカソンが行われました。
今回のテーマは「N1エンジニアリング」で、1人のユーザー(N=1)を対象に、そのニーズに応えるプロダクトを開発するというものです。プロダクトはWebアプリ開発とゲーム開発で分かれており、エンジニアだけでなく、同期の新卒デザイナーと協力して行いました。
プロダクトの概要
ゲームの開発経緯
自分たちのチームのN1へのインタビューを行い、普段遊んでいるゲームのジャンルやどんな時にゲームをするか等の質問からターゲット像を導き出し、N1が求めているゲームのアイデアを構想しました。
インタビューから浮かび上がってきたN1のターゲット像は
といった風に、かなり鮮明なイメージが得られました。
これらの要素をもとにしてチーム6が定めたゲームのコンセプトは
「休日に遊ぶ爽快感のあるゲーム」です!
ゲームの概要
「休日に遊ぶ爽快感のあるゲーム」というコンセプトをもとに、求められていると考えた「派手さ」「高難易度」「近接戦」「ストーリー」の4要素にこだわって作り上げたゲームがこちらです!
N1がよく遊ぶゲームの中で傾向の強かったものを意識して、全体的にダークな世界観と敵の行動パターンを何度も死にながら覚えていくいわゆる「死にゲー」の要素を取り入れることでN1の好むジャンルであるソウルライクを目指しました。
ストーリーはメンバーのナムさんが出した案をチーム全体で推敲し何度も話し合いながら作り上げたため、短いながらも印象に残る物語になりました。
プロダクト制作にあたって
私たちのチームでは、他チームよりエンジニアの人数が1人少ない3人チームであったため、3週間という短い期間の中でN1の求めるゲームを作り上げるためには、開発のアプローチをより厳密に定める必要がありました。
エンジニアが2人しかいないことを逆に強みとして活かすため、インゲームとアウトゲームを完全に分けてそれぞれ独立して開発を行うという方針をとり、ある程度の細かい仕様についてはそれぞれの担当者の裁量に任せることで、開発へ費やせる時間を多く確保しました。
N1へのインタビューがスムーズに進み、他チームよりも早い段階で開発に取り掛かる準備ができたため、インゲーム担当の小西さんが最低限動く小さな機能を作り、定期的なヒアリングの際にN1に共有、FBをもらうことで認識をすり合わせていく...というプロトタイプ開発に近い形で制作を進めていきました。
インゲームのお話
インゲームを担当しました、ゲーム事業部クライアントエンジニアの小西です。今回のゲームでは、”爽快感”をどう演出するかについて注力しました。
私たちは、今回のゲーム最大の爽快ポイントは「プレイヤーが必殺技を使って敵に大ダメージを与えた時」であると考えました。ただ、内部データを大きく減らせば爽快感になるかと言われるとそうではないと私は考えています。
そこで、Unityの機能の一つであるTimelineを活用した必殺技カットインの作成に取り組みました。
Timelineとは?
Timelineとは、ざっくりUnityのアニメーションを同時に複数管理できるものといった感じです。今回の必殺技でいうと、
- カメラのズームインズームアウト
- プレイヤーの移動とSpriteの差し替え
- 背景を暗くする
- UIを一時的に見えなくする
- 敵を切ったタイミングでダメージ処理の呼び出し
これらを同時に管理していました。
演出よりの話にはなるのですが、必殺技がより派手により爽快になるように様々な工夫を実装しています。必殺技の流れは抜刀→斬撃→納刀の流れなのですが、抜刀してから斬撃までの間に短い間を作ったり、斬撃のダメージ処理は斬撃の瞬間ではなく、納刀の後に行ったりと様々な演出にこだわっています。
これらの演出を制作することに適した方法がTimelineだったというわけです。時間にして数秒のアニメーションではありますが、この必殺技を1つ作るために丸1日かかっています。このゲームには2種類のボスを実装しているので、2種類の必殺技を用意しました。そのため、この必殺技アニメーションのために丸2日かかったことになります。ただし、私たちはこのゲーム1番の爽快ポイントがこの必殺技であると考え、最も時間を割いてこの必殺技を完成させました。
アウトゲームのお話
ストーリーという要素を重視するにあたり、N1がその世界観に没頭できるように、可能な限り快適に遊んでもらえるように細部までこだわって作りました。敵との会話シーンでは、ノベルゲームのように1文字ずつセリフを表示させ、効果音を入れることで実際に敵が言葉を話しているような雰囲気が出るよう意識しています。
会話シーンもTimelineを活用しており、画面の暗転、主人公の足音や動きを同時に管理することで、全体を通して違和感のないアニメーションに仕上がりました。
プロダクトのFB
実際にN1にプレイしてもらいました!
開発中も定期的に行われたN1ヒアリングの時間にもプレイしていただき操作感や雰囲気がN1のイメージに適宜近づくよう調整していたため、最終的にN1の理想にかなり近づくことができたのではないかと感じています。
N1からのFB
1番惹かれたのはやはり各種演出部分です。
インゲームとアウトゲームのどの演出もゲームの雰囲気にマッチしたかっこいい仕上がりになっているのがよかったです。
特に必殺技は攻撃方法やダメージ表示の演出、与えるダメージ量が上手く調整されているため爽快感を感じました。
ゲームの難易度も、高めではありつつもプレイヤーが楽しめる範囲に調整されており、非常にやりごたえのあるゲームでした。
メンバーの感想
デザイナー:ナム
N1の方が望んでる「死にゲー」のイメージに近づくため、ムードボードを作り、チーム6が望んでいるゲームのイメージをまとめました。
また、ゲームの全体的な雰囲気に合わせるため、同じテイストである「エルデンリング」「ブラスフェマス」「偽りのP」のゲームのUIを参考にして、不気味な雰囲気が出るようにしました!
なるべくUIが目立たないようにするために、背景の加工や、色合いをまとめることに力を入れて作業に取り組みました。3人しかいなかったので、なるべくエンジニアさんにコーディング作業を任せて、自分はデザインの作成後、余った時間でスケジュール管理等、他の細かなタスクを行いました。
結構大変でしたが、それでもデザイナーとしてゲーム開発に携わることができ、良い経験になったと思います!
エンジニア:石黒
自分はUnityを全く使ったことがない初心者だったので、コルーチンの処理やアニメーションの管理など未知の挑戦の連続でしたが、チームメンバーである小西さんの手厚いサポートもあり、なんとかN1が世界観に没頭できるような演出が実装できたと思います。
デザイナーさんと話し合う際に「なぜ、その仕様の実現が難しくて、どんな方法なら実装が可能なのか」を技術的な用語を使わずにわかりやすく言語化する...といった他業種との共創ならではの難しさ、デザイナーさんのアイデアを尊重し同じ目線に立って開発することの大切さを学べたことは自分を大きく成長させてくれる経験になったと感じています。
エンジニア:小西
インタビューの結果から3週間でソウルライクの高難易度アクションゲームを作ることが決まった時は、絶対間に合わないと思いましたね(笑)
私たちのチームは他のチームと比べて1人エンジニアが少なく、2人のエンジニアと1人のデザイナーでゲームを制作しました。私の過去のゲーム制作の経験上、2人のエンジニアが3週間でゲームを作り上げること自体なかなか難しいと思いました。その中で、さらに難しいテーマを選択したことでより険しい道になったと感じました。そのため、優先順位を常に意識して、ハッカソン2日目からはすぐに開発に着手しました。
かなり実装は演出に特化しており、断念した機能も多数あります。例えば、キャラクターがレベルアップしたり、パラメータを振り分けたりといったソウルシリーズではお馴染みの機能は実装していません。理由としては、それらの機能を実装しても爽快感にはなかなか直結しないからです。そこで、演出面に多く時間を割いたことで、派手で爽快感のあるゲームになったと思います。何度も演出を修正したり、レベルデザインを見直したりすることで、N1に満足してもらえるクオリティのゲームに仕上がったと思います。
最後に
今回のハッカソン研修では初めに運営の方から「この期間中に何か1つ大きな挑戦をしてほしい」というお話をされました。自分の場合はゲーム開発に携わること自体が1つの大きな挑戦でしたが、限られた短い期間の中でN1のニーズに最大限応えたプロダクトを作ること、タスクの工数やプロダクトの目的・イメージについてチームで共通認識を持つことを常に意識して作業すること...など例を挙げればキリがないほどの挑戦の連続だったと思います。
長いようで短い、振り返ってみるとあっという間に終わってしまったハッカソンでしたが、この3週間は他では学ぶことのできないとても充実した経験だったと感じています。
レアゾン・ホールディングスは実際の業務でも、新しいこと・自分のやってみたいことに常に挑戦することができる環境なので興味のある方は、ぜひ!
▼採用情報recruit.reazon.jp