導入・挨拶
こんにちは、ゲーム事業部 Unityエンジニアの松尾です。
今回は、新卒研修で行われたハッカソンでUnityを使って開発した2Dアクションゲームについてご紹介いたします!
研修の概要
研修の概要はオウンドメディアの記事で詳しく紹介していますので、こちらからご覧ください。 media.reazon.jp
ハッカソンの概要
ハッカソンとは、「ハック(Hack)」と「マラソン(Marathon)」を組み合わせた言葉で、短期間でアプリケーションを開発するイベントです。 通常は24時間から数日間にわたって開催されますが、今回は3週間にわたる長期間のハッカソンが行われました。
今回のテーマは「N1エンジニアリング」で、1人のユーザー(N=1)を対象に、そのニーズに応えるプロダクトを開発するというものです。 プロダクトはWebアプリ開発とゲーム開発で分かれており、エンジニアだけでなく、同期の新卒デザイナーと協力して行いました。
プロダクト概要
まずは実際のプレイ動画をご覧ください!
※背景画像はCanvaAIで生成しています。
いかがでしたか?
プレイヤー強化の要素、ステージごとのボスやギミック、エフェクトなどの演出、ストーリー…要素が盛り沢山な内容になっているかと思います。
ここで皆さんに質問です。
Q.このゲームのアピールポイントやコンセプト、皆さんはどこだと感じましたか?
ある人はアクション要素、ある人は世界観やストーリーと捉えるかもしれません。
では、ハッカソン終了 1ヶ月後、実際に開発に携わったチームメンバーに「このゲームのアピールポイントはどこか」答えを聞いてみましょう。
Sくん: 「派手なところ」
Mくん: 「操作しやすいところ」
Aちゃん: 「片手操作と賑やかな演出」
そうです。 当時チームで決めた1番のアピールポイントは「快適な片手操作、派手な演出」です! 通勤中でも快適に遊べることを重視していたので、満員電車の中でも安全に快適にプレイできる片手操作とそれをサポートするUIの工夫、演出が1番のアピールポイントです。
アピールポイントについて
片手操作で完結するUI
- スワイプ操作で画面のどこからでも呼び出せる移動スティック
- 攻撃はタップのみで行う直感的でシンプルな操作
→ 満員電車の中で吊り革に掴まりながらでも安全かつ快適にプレイできる
タッチ開始位置からの動きをトラッキングすることで、移動方向の取得と計算をできるようにしました。これによって、スワイプに基づいた移動を可能に!タッチが解除されると、スティックの位置が中央に戻り、移動方向もリセットされます。
メーターとボタンのUI統合
- チャージメーター…満タンになると必殺ボタンに切り替わる
- 必殺ボタン…指一本で簡単に発動できるように画面全体に広がっている
→ 一つのUIに統合することで画面のスペースを効率的に活用、指一本で全て完結できる ※背景画像はCanvaAIで生成しています。
必殺技の発動に必要なチャージメーターはSliderコンポーネントを使用しており、数値はプレイヤーの行動に応じてリアルタイムで増加します。Slider.valueが一定の値に達したら必殺ボタンに切り替わるという処理をUIManagerで管理することで、スムーズなボタンの変形と画面全体に広がるエフェクトの統合を実現しました。
「にぎにぎしい」の演出や表現について
エフェクト
- 武器や防具のレベルに応じて変化する攻撃エフェクト
- 必殺技発動時には画面全体を覆う派手なエフェクトに変化
視覚的な追加効果
- 画面の揺れや点滅によって視覚的なインパクトを高める
カットイン
- 必殺時にカットインが流れる
上記の演出について
フリーアセットを基にカスタマイズしたParticleSystem やシェーダーを使用しました。武器や防具のレベルに応じて異なるエフェクトを設定し、粒子のサイズや色、発生率を変えることで視覚的な豪華さを演出。また、画面を揺らしたり一時停止させる処理を実装し、演出に合わせて呼び出すようにスクリプトで制御しています。
※背景画像はCanvaAIで生成しています。
振り返りと改善案
このように、片手操作の快適さや派手な演出はしっかりと実現されていますが、それでも「もっとこのゲームは磨き上げられる!」という気持ちが強いです。
チームメンバー全員、アピールポイントについては共通の認識を持った状態で開発を進められていました。しかし、「これもあった方がN1は喜ぶ!楽しいはず!」と、長きに渡って白熱した論争を繰り返し、要素を増やし広げていったことでゲームの軸となるアピールポイントが少しずつ埋もれていってしまった部分があります。
「面白い要素を足す」のではなく、何を削ってどこに焦点を当てるかを選定できていたら、よりコンセプトを強めることができたと思います! ゲーム開発における引き算の重要性を学ぶことができました。 これはゲームの面白さやN1ターゲットへの共感をチーム全員が重視し、アイデアを詰め込む熱意があったからこそ得られた気づきです。
N1からのフィードバック
実際にN1にこのゲームを遊んでいただき、フィードバックをいただきました!以下はN1のコメントです。
自分から「通勤中の電車内」で遊べる「にぎにぎしい(賑やかな)」ゲームというテーマを提示され、そこからグループ5の面々は平日休日のスケジュールや趣味嗜好を自分からヒアリングし、N1にどういう要素が刺さるのかを探る所は手際もよくとても順調に進んでいるなと感じました。
その後は開発をしつつ定期的にヒアリングを受ける形で開発が進んで行きましたが、自分というN1を強く意識してしまったがために、ヒアリング中に出てきたゲームに似たアイデアから脱却して発想することが出来ずに悩んでいたのが印象に残っています。制作期間中にチーム内で納得がいくまで議論を続けていたので、チーム内でこのゲームをより面白いものにしようという熱量はとても伝わりました。
なかなかアイデア出しに苦戦していたグループ5でしたが、「通勤中の電車内」というテーマから吊革に捕まっていても遊べるようにと片手でどこを触っても遊べるようにする強みを初回ヒアリングの段階で見出ていて、それをMVP(Minimum Viable Product 最小限の実行可能な製品)として実装するまではとても早く、実機で触れる所まで漕ぎ着けられていたのはとても驚きました。
その後もエフェクトや必殺技、画像生成などを駆使して、「にぎにぎしさ」を効率よく追求しつつ、自分が好みであるドット絵によるデザインで作成されており、デザイン案を見た時点でとてもワクワクしておりました。そんな中でも片手で遊べる操作性も損なわずに開発することが出来ていたので、最終的な成果物は問題なく満員の電車内でも楽しめる内容にまとまっており、個人的にはとても満足する出来でした!
自分を模したキャラクターをゲーム内に組み込んでくれたのもとても嬉しかったです(笑)
業務で生かされていること
このハッカソンを通して学んだ「要素を増やすだけでなく、軸を持って削ることの大切さ」は、現在の業務にも大いに生かされています。Unityエンジニアとして、機能や要素を追加する際は、その目的と影響を慎重に考え、ゲームやコードの全体のバランスを常に意識しています。
また、チーム内での意見交換や議論の大切さも、この経験から学んだ重要なポイントです。みんなが持つ異なる視点やアイデアを取り入れつつも、共通の目標に向かって進める環境が、良いプロダクトを作る鍵だと考えています。
最後に
今回の研修で得た学びを生かして、今後もより魅力的なゲーム作りに励んでいきたいと思います!
ここまで読んでいただきありがとうございました!
▼採用情報 recruit.reazon.jp