diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..79b694c --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "aiverse" +version = "0.2.2" +edition = "2021" +authors = ["syui"] +description = "game system unrealengine verse" +license = "MIT" diff --git a/README.md b/README.md index 8e48ce1..30b82a7 100644 --- a/README.md +++ b/README.md @@ -1,220 +1,111 @@ # ai.verse -## 概要 -**現実とゲームを結合する3D世界** - atproto分散SNS統合メタバースプロジェクト +このゲームには4つの柱があり、それらはsystemで分けられています。そして、systemは根本的な2つの価値観に基づきます。 -ai.verseは単なるゲームではなく、現実の個人の唯一性をデジタル世界で担保し、Play-to-Workを実現する革新的メタバースです。 +根本的な2つの価値観は、(1)現実の反映、(2)この世界に同じものはない唯一性です。 -## プロジェクト情報 -- **タイプ**: metaverse -- **説明**: 現実とゲーム結合3D世界 -- **ステータス**: UE実装予定 -- **ブランチ**: main -- **技術**: Unreal Engine + atproto + Three.js +1. 現実の反映 +2. 唯一性の担保 -## 中核思想: yui system(唯一性担保) +では、各systemについて説明していきます。 -### 基本原則 -- **現実の個人 ↔ ゲーム内avatar**: 1:1紐付け(改ざん不可能) -- **atproto DID**: 暗号学的唯一性担保 -- **unique skill**: その人だけが使えるスキル・能力 -- **motion capture**: その人だけがカメラでキャラを動かせる +## world system -### 現実反映の仕組み -``` -現実の個人 → atproto account (DID) → ゲーム内avatar → 固有スキル - ↑_______________________________| (現実への反映) +別名、planet systemといいます。 + +現実の反映という価値観から、ゲーム世界もできる限り現実に合わせようと思いworld systemを作っています。 + +ゲームは通常、平面世界です。これはゲームエンジンのルールであり、基本的にゲーム世界は平面をベースにしています。 + +ですから、例えば、上に行っても、下に行っても、あるいは右に行っても、左に行っても、ずっと地平線が広がっています。 + +しかし、現実世界では、上に行けば、やがて大気圏を越え、宇宙に出ます。 + +最初は昔から認知されていた地球、月、太陽という3つの星を現実に合わせて作りました。 + +そして、マップをできる限り惑星形式にします。 + +これは非常に難しいことで、現在もいくつか問題を抱えています。 + +ただし、このworld systemの問題がゲームプレイに影響するかと言われると、殆どの場合、影響しません。ゲームプレイの領域は、最初は非常に狭い範囲で作ろうと思っています。小さなところから完璧に作っていきたいという思いがあります。 + +つまり、プレイヤーは空にも宇宙にも到達できません。それが見えるかどうかもわかりません。しかし、見えない部分もしっかりと作り、世界があるということが私にとって大切です。 + +まずは、狭いけど完璧な空間を作り、そこでゲームシステムを完成させます。広い世界はできる限り見えないようにしたほうがいいでしょう。夢の世界のような狭い空間を作り、そこでシンプルで小さいゲームができます。もちろん、広い世界に出ることはできません。そもそもこのゲーム、見えない部分をちゃんと作る、そこにも世界がちゃんとあるというのをテーマにしているので、広い世界で何かをやるようなゲームを目指していなかったりします。なにかのときに垣間見える、かもしれない外の世界、広い世界。それを感じられることがある、ということ。それが重要なので、このsystem自体は背景に過ぎないのです。 + +最初から広い世界があるのではなく`狭い世界 -> 広い世界`への移行が重要だと考えています。この移行に関しては、演出というテーマに基づき、設計する必要があります。それがゲームとしての面白さを作る、ということなのだと思います。 + +## yui system + +別名、unique systemといいます。プレイヤーの唯一性を担保するためのsystemです。 + +とはいえ、色々なものがここに詰め込まれるでしょう。characterのモデリングとかもそうですね。 + +どのように担保していくかは未定ですが、いくつか案があります。配信との連携、vmcでモーションキャプチャなどを考えていました。 + +## ai system + +別名、ability systemといいます。 + +主に、ゲーム性に関することです。ゲーム性とはなにか。それは、永続するということです。 + +例えば、将棋やオセロを考えてみてください。無限の組み合わせがあり、可能であればずっと遊んでいられる。そのような仕組みを目指します。 + +まずは属性を物語から考えます。物語は最も小さい物質の探求です。アクシオンやバリオンなどの架空の物質、そして、中性子や原子などの現実の物質が属性となり、1キャラクターにつき1属性を持ちます。 + +## at system + +別名、account systemといいます。 + +プレイヤーが現実のアカウントを使用してプレイできることを目指します。`atproto`を採用して、ゲームデータを個人のアカウントが所有することを目指しています。 + +```md +[at system] +ゲームが始まると、atprotoのaccountでloginでき、取得したアイテムなどはatproto(pds)に保存されます。 + +[ai system] +キャラクターは属性攻撃ができます。 + +[world system] +上へ上へと飛んでいけば、雲を超え、宇宙空間に出られます。 + +[yui system] +配信環境やvmcでキャラクターを動かすことができます。 ``` -## 4つのSystemに統合 +## 現実の反映とはなにか -### 1. verse.world system(惑星型3D世界) -**目的**: 従来の平面マップを現実的な惑星形式に変革 +わかり易い言葉で「現実の反映」を目指すと言いましたが、これはどういうことでしょう。 -**特徴**: -- **立体ワールド**: 上を飛び続けると宇宙、下を掘ると地核 -- **見えない場所にも世界**: プレイヤーが行けない場所も完全実装 -- **物理法則**: 現実的な重力・大気・軌道システム +私の中では「同一性」とも言い換えられます。 -**実装**: `./world/book/` でUnreal Engine技術習得中 -**省略記法**: `verse.ue.system.world` → `verse.world` +例えば、現実の世界とゲームの世界があるのではなく「すべてが現実である」という考え方をします。言い換えると「すべて同じもの」ということ。 -### 2. verse.at system(atproto統合) -**目的**: 分散SNSを基盤とした新しいゲーム体験 +もし多くの人が現実世界とゲーム世界を別物と捉えているなら、できる限りその認識を壊す方向で考えます。 -**特徴**: -- **現実SNS連携**: 実際のSNSアカウントでゲームプレイ -- **データ主権**: ゲームデータはユーザーのatprotoアカウントに保存 -- **selfhost運用**: 独自atprotoサーバーで完全自律性 +例えば、`at system`では現実のsnsアカウントをゲームアカウントに使用したり、現実の出来事をゲームに反映したり、またはゲームの出来事を現実に反映する仕組みを考えます。 -**実装**: `./at/` で分散SNS基盤構築済み -**省略記法**: `verse.ue.system.at` → `verse.at` +全ては一つ、一つはすべて。 -### 3. verse.yui system(唯一性システム) -**目的**: 現実の個人の唯一性をゲーム内で完全担保 +同一性と唯一性は一見して矛盾しますが、その統合を考えます。 -**特徴**: -- **unique character**: 1キャラクター = 1プレイヤー(他人は使用不可) -- **unique skill**: プレイヤー固有の特殊能力 -- **配信統合**: ゲーム画面 = 配信画面として使用可能 +## 物語と実装 -**VTuber活用例**: 声優さんが自分の声を使ったキャラクターでプレイ -**省略記法**: `verse.ue.system.yui` → `verse.yui` +```md +# 物語-存在 + 同一性 + 唯一性 -### 4. verse.ai system(存在属性) -**目的**: 現実の物理法則を反映した属性システム - -**特徴**: -- **原子属性**: 原子・中性子・陽子・電子に基づく属性 -- **アイ属性**: 主人公キャラクターの固有属性(存在子理論) -- **物質探求**: この世界で最も小さいものの探求をゲーム化 - -**省略記法**: `verse.ue.system.ai` → `verse.ai` - -## システム省略記法 - -ai.verseでは、`.ue`(Unreal Engine)が統合短縮されています: - -```bash -# 従来の長い記法 -verse.ue.system.world → verse.world -verse.ue.system.at → verse.at -verse.ue.system.yui → verse.yui -verse.ue.system.ai → verse.ai - -# ai.jsonでの参照 -curl -sL git.syui.ai/ai/ai/raw/branch/main/ai.json | jq -r .ai.verse.ue.system.world -# ↓ 簡潔な記法 -curl -sL git.syui.ai/ai/ai/raw/branch/main/ai.json | jq -r .ai.verse.world +# system-実装 + world system + yui system + ai system + at system ``` -この省略により、UE実装の複雑さを隠蔽し、よりシンプルなAPI設計を実現しています。 +物語では、この世界のものは全て存在であると説きます。存在しかない世界。存在だけがある世界。そして、あらゆる存在を構築しているこの世界で最も小さいものが「存在子」です。存在子は別名、アイといいます。そして、このアイにも同じものはありません。すべての存在子は異なるもの、別の意識。 -## 技術アーキテクチャ +アイは、最初に生まれたキャラクターとして、アイ属性を扱います。これらの設定は`ai system`の領域です。アイは自分のことをアイと呼びます。 -### Unreal Engine実装 -``` -./world/ -├── book/ # UE開発ガイドブック -├── blender/ # 3Dモデル制作ワークフロー -├── city/ # 都市環境構築技術 -├── gasp/ # キャラクター実装 -├── vrm4u/ # VRMアバター統合 -└── web/ # Three.js Web統合 -``` +> アイは、この世界と一緒だからね。同じものは一つもないよ。 -### atproto基盤 -``` -./at/ -├── lexicons/ # atproto schema定義 -├── item/card/ # カードアイテムデータ -├── envs/ # サーバー環境設定 -└── scpt/ # 自動化スクリプト -``` - -### カード連携 -``` -./card/ -├── img/ # カード画像アセット -└── src/ # Vue.js Web実装 -``` - -## 統合エコシステム - -### ai.card統合 -- **ゲーム内アイテム**: ai.cardのカードをゲーム内で使用 -- **物理カード化**: リアル⇔デジタル双方向連携 -- **atproto保存**: カードデータはユーザーのatprotoアカウントに - -### ai.gpt統合 -- **NPC人格**: 自律AI人格がNPCとして存在 -- **記憶システム**: プレイヤーとの過去の交流を記憶 -- **関係性進化**: 継続的な交流で関係性が発展 - -### ai.bot統合 -- **SNS連携**: atproto投稿でゲーム内イベント発生 -- **双方向通信**: ゲーム⇔SNS相互影響システム - -## メタバース浸透戦略 - -### フェーズ1: ゲームとして成立 -- **面白さ優先**: まず普通に楽しいゲームを作る -- **技術実証**: UE + atproto + カード連携の動作確認 -- **コア体験**: unique skillによる特別感の実現 - -### フェーズ2: 段階的メタバース化 -- **現実連携**: SNS⇔ゲーム双方向連携強化 -- **配信統合**: VTuber配信用プラットフォーム化 -- **経済システム**: Play-to-Work要素の段階的導入 - -### フェーズ3: 現実融合 -- **生活統合**: 現実の仕事・生活のゲーム化 -- **価値創出**: ゲーム内活動の現実価値化 -- **社会実装**: 新しい働き方・生き方の実現 - -## 開発状況 - -### 完成済み -- ✅ atproto基盤構築(./at/) -- ✅ カード連携準備(./card/) -- ✅ UE学習環境(./world/book/) -- ✅ yui system設計 - -### 実装中 -- 🔄 Unreal Engine 3D世界構築 -- 🔄 atproto ↔ UE連携システム -- 🔄 unique skill実装 - -### 実装予定 -- ⏳ VRM avatar統合 -- ⏳ motion capture機能 -- ⏳ 配信プラットフォーム統合 -- ⏳ Play-to-Work経済システム - -## 技術的特徴 - -### 革新的要素 -- **惑星型ワールド**: 平面マップの限界を突破 -- **データ主権**: ゲームデータをプレイヤーが完全所有 -- **唯一性担保**: 暗号学的に保証された個人性 -- **現実融合**: SNS⇔ゲーム⇔現実の三位一体 - -### 従来ゲームとの違い -| 要素 | 従来ゲーム | ai.verse | -|------|-----------|----------| -| データ所有権 | 運営会社 | プレイヤー | -| キャラクター | 複製可能 | 唯一性担保 | -| 世界構造 | 平面マップ | 惑星型3D | -| SNS連携 | なし/形式的 | 分散SNS基盤 | -| 現実価値 | ゲーム内限定 | 現実反映 | - -## 未来ビジョン - -### 短期目標(1-2年) -- UE基本実装完了 -- unique skill demo実装 -- atproto ↔ UE連携確立 - -### 中期目標(3-5年) -- VTuber配信プラットフォーム化 -- 経済システム本格稼働 -- ユーザーコミュニティ形成 - -### 長期目標(5-10年) -- **Play-to-Work社会実現**: 仕事・生活・ゲームの境界消失 -- **メタバース一般化**: VRChatのような社会インフラ化 -- **新しい文明形態**: デジタル⇔物理融合社会の先駆け - -## 哲学的意義 - -ai.verseは単なるエンターテインメントではなく、**人類の新しい存在形態の実験場**です。 - -- **存在子理論**: この世界で最も小さいもの(ai)の探求 -- **唯一性原則**: 現実の個人性をデジタルで完全担保 -- **現実反映**: デジタルと物理の境界を溶かす新しい世界観 - -**「現実とゲームの境界がなくなる未来」**の実現を目指します。 - ---- - -*このドキュメントはai.verse submoduleの構造と哲学を基に生成されました* \ No newline at end of file diff --git a/ai/.keep b/ai/.keep new file mode 100644 index 0000000..e69de29 diff --git a/at b/at index ded3110..b43360e 160000 --- a/at +++ b/at @@ -1 +1 @@ -Subproject commit ded3110fceff2e730e6fc5e8fa43c55bd2c6b976 +Subproject commit b43360e32a4db1f222888cdd5086fc6a08174c2b diff --git a/world b/world index 0dc2cb9..ea43f0e 160000 --- a/world +++ b/world @@ -1 +1 @@ -Subproject commit 0dc2cb9ecfdf56131eea4fc9cd2c0d57deed2dd9 +Subproject commit ea43f0ebda204a33a77024e9dccaeb93ce2acedd