Unityクライアント、Rustの APIサーバー、C#/MagicOnion のバトルサーバーで作る、リアルタイム対戦のモンスター収集ゲーム。
会員登録なしで始められる(端末単位のゲストアカウント)、リアルタイム対戦のモンスター収集ゲーム。 「パチモン」と呼ばれるモンスターをスカウトで集めて育成し、パーティを組んでほかのプレイヤーとオンラインで対戦する。 対戦は、本家ポケモンの対戦ルールから天候・フィールド・持ち物・特性・技の追加効果などを外した小さなルールで遊ぶ。
① スカウトでパチモンを集める(ジェムを使う)
↓
② 育成する(技の付け替え、ステータスポイントの割り振り)
↓
③ パーティを編成する(最大6体)
↓
④ マッチングに参加し、対戦相手と組む
↓
⑤ パーティを見せ合って3体を選び、リアルタイムで対戦する
↓
① へ戻る(勝つとジェムがもらえる)
仕様と設計は Atlas wiki にまとめている(実装に合わせて更新)。
| 機能 | 概要 | 仕様 | 設計 |
|---|---|---|---|
| アカウント | 会員登録なしのデバイス認証、プレイヤー作成、所持データの同期 | 遊びの流れとアカウント | 認証・サインイン |
| パーティ編成・育成 | パーティ編成、技の付け替え、ステータスポイントの割り振り(追加予定) | パーティ編成・育成 | パーティ編成・技の付け替え |
| スカウト(ガチャ) | ジェムを使い、候補10体から1体を選んで入手する | スカウト | スカウト(API) |
| ショップ | ジェムで育成チケットを購入する(追加予定) | ショップ | — |
| 対戦 | マッチング、パーティの見せ合いと選出、リアルタイム対戦、結果の記録 | 対戦のルール | マッチング・対戦の進行 |
| 層 | 技術 | 詳しく |
|---|---|---|
| クライアント | Unity 6.6(IL2CPP)、VContainer、UniTask、R3、LitMotion、ZLinq、Addressables、UnityScreenNavigator(フォーク)、MasterMemory、MessagePack、MagicOnion.Client | 採用ライブラリ・アセンブリとレイヤー |
| APIサーバー | Rust、tonic(gRPC)、sqlx、MySQL、jsonwebtoken | APIサーバーの構成 |
| バトルサーバー | C#(.NET 10)、ASP.NET Core、MagicOnion、xUnit | バトルサーバーの構成 |
| 共通 | Protocol Buffers、VolTech gRPC(自作)、Supplement(自作)、master-data-pipeline(自作) | 概要・マスターデータの生成・配布・運用 |
| 知りたいこと | 読む場所 |
|---|---|
| システム構成・通信の経路・リポジトリ構成 | 概要 |
| 設計の見どころ | Atlas wikiの「見どころ」 |
| 仕様と設計(実装に合わせて更新) | Atlas wiki |
| 環境構築・起動手順 | docs/DEVELOPMENT.md |
| 残タスク | GitHub Issues |