Unityでも使える? Epic Online Services(EOS)とは何か
最近、インディーゲーム
めっちゃカメレオン
の大ヒットが話題になっています。
このゲームで特に驚かれたのが、
- 広告費 0円
- サーバー代 0円
- 開発期間 2か月
という点です。
オンラインマルチプレイゲームなのに、なぜサーバー代がほぼかからないのでしょうか。
その理由の1つとして挙げられているのが
Epic Online Services
(以下 EOS)です。
今日は、
EOSって何?
Unityでも使えるの?
という話を、Unity開発者目線で整理してみます。

EOSとは?
EOS は
Epic Games
が提供しているオンラインサービス群です。
簡単に言うと、
オンラインゲームに必要な裏側を提供してくれる仕組み
です。
例えばオンラインゲームには、見えないところでたくさんの仕組みが必要です。
- プレイヤー認証
- フレンド管理
- ロビー作成
- マッチング
- 通信同期
- ボイスチャット
- ランキング
- 実績管理
これを全部ゼロから作るのは大変です。
EOS は、その多くを提供してくれます。
Unityでも使える?
答えは、
はい、使えます。
Unity専用のプラグインも存在します。
つまり、
- Unity
- Unreal Engine
両方で利用可能です。
「Epic だから Unreal 専用でしょ?」
と思われがちですが、そうではありません。
Unityでも問題なく導入できます。
EOSでできること
代表的な機能を見てみます。
認証(Authentication)
ログイン機能。
- メール
- Epicアカウント
- 外部認証
など。
ロビー
オンライン対戦で重要です。
例えば:
- 部屋を作る
- フレンドを招待
- 満員になったら開始
こういう処理。
マッチメイキング
ランダムマッチです。
例えば:
- 4人集まったら開始
- レートが近い人を優先
など。
P2P通信
ここが重要です。
サーバーを自前で持たなくても、
プレイヤー同士が直接通信できる仕組みがあります。
これが、
サーバー代を大幅に減らせる
理由の1つです。
なぜ「無料」が話題になるのか
オンラインゲームで意外に重いのがサーバー費です。
例えば、
- AWS
- Google Cloud
- Microsoft Azure
などを使うと、
ユーザー数が増えるほど費用も増えます。
ヒットすると嬉しい反面、
売れたのにサーバー代で赤字
ということもあります。
EOS のような仕組みを使うと、その負担をかなり減らせます。
ただし、魔法ではない
ここは重要です。
「EOSを入れれば簡単にマルチプレイできる」
わけではありません。
実際には、
- 接続切断
- ホスト離脱
- 遅延
- 同期ズレ
- チート対策
などの問題があります。
特にUnity初心者には難しいです。
初学者におすすめなのは?
もしUnity学習者がマルチプレイを始めるなら、私はこう考えます。
初学者
まずはこちら。
- Netcode for GameObjects
- Unity Technologies の
Unity Gaming Services
理由はシンプル。
Unityとの統合が楽
だからです。
中級者以上
こちら。
- EOS
- Mirror
- Photon Fusion
より本格的な選択肢です。
教育でも同じ
職業訓練校でもよくあるのが、
初心者がいきなり
- MMO
- PvP対戦
- 大規模同期
を作ろうとするケースです。
すると、ほぼ止まります。
理由は明確です。
ゲームロジック以前に、
ネットワーク同期が難しすぎる
からです。
私なら生徒にこう伝える
いきなりオンラインゲームを作らなくていいです。
順番があります。
Step1
1人用ゲームを完成させる
- プレイヤー移動
- 敵
- 当たり判定
- UI
Step2
ローカル2人対戦
同じPCで遊ぶ。
Step3
オンライン化
ここで初めてEOSやネットコード。
まとめ
Epic Online Services は、Unityでも使えます。
しかも強力です。
特に、
- 鬼ごっこ
- かくれんぼ
- 協力プレイ
- 対戦ゲーム
との相性が良いです。
ただし、初心者向けではありません。
最後に伝えたいこと。
オンラインゲーム制作で最も難しいのは、
「ゲームを作ること」ではなく、
「同期を正しく保つこと」です。
だからこそ、まずは小さく作る。
これはプログラミング全般にも共通する大事な考え方です。








ディスカッション
コメント一覧
まだ、コメントがありません