XR x PvP シューティングゲーム制作
Unity 6,MetaQuest,Photon Fusionを用いた、マルチプレイヤーMRシューティングゲーム開発
本プロジェクトでは、Meta Quest 3をターゲットとした「現実空を戦場に変える」マルチプレイヤーMR(複合現実)FPSを、設計から実装まで一人で完結させました。
1. Photon Fusionによる超低遅延なネットワーク同期の実装
マルチプレイヤーFPSにおいて最も重要な「射撃の即時性」と「位置同期の精度」を担保するため、Unity向け最新ネットワークエンジンである Photon Fusion を採用しました。
• PhotonFusionの特徴である、LAN内で完結する通信の利点を生かし、毎秒120回の同期によるほぼ遅延0のゲーム体験を実現
2. Meta Quest MR機能(Scene API / Passthrough)のフル活用 現実の部屋の形状をリアルタイムに認識し、壁や家具を遮蔽物として利用できるMR体験を実現しました。
•空間認識の動的統合: Metaの Scene API を用い、取得したメッシュデータをネットワーク越しに全プレイヤーで共有・最適化する仕組みを実装。
•環境変化の動的な取り込み: 動的に環境変化を取り込み、ドアの開け閉めによって弾が通る/通らなくなる仕組みを実装。
•MR特有のUX設計: パススルー環境下での視認性を考慮したHUDデザインや、Oculus.Haptics を活用した没入感の高い触覚フィードバックを統合しました。
3. 拡張性と保守性を両立する設計(Zenject / UniTask)
個人開発でありながら、チーム開発でも耐えうる堅牢なアーキテクチャを採用しました。
• 依存注入(DI)の徹底: Zenject を導入し、各システム(武器、UI、ネットワーク、ゲーム状態)を疎結合に保つことで、機能追加や修正が容易な設計を実現。
• 非同期処理の最適化: UniTask を全面的に採用。ネットワーク通信やリソースロードなどの非同期処理を、メモリ負荷を抑えつつ可読性の高いコードで実装しました。
4. 開発効率を最大化する自動化パイプラインの構築
•CI/CDの導入: github workflowやactionsを活用したビルド自動化を行い、Meta Questへのデプロイフローを効率化。
結果: これらの取り組みによって「MR × マルチプレイヤー × FPS」というジャンルにおいて、高いパフォーマンスと安定性を備えたプロトタイプを構築することができました。