update
This commit is contained in:
7
Cargo.toml
Normal file
7
Cargo.toml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
[package]
|
||||||
|
name = "aiverse"
|
||||||
|
version = "0.2.2"
|
||||||
|
edition = "2021"
|
||||||
|
authors = ["syui"]
|
||||||
|
description = "game system unrealengine verse"
|
||||||
|
license = "MIT"
|
283
README.md
283
README.md
@@ -1,220 +1,111 @@
|
|||||||
# ai.verse
|
# ai.verse
|
||||||
|
|
||||||
## 概要
|
このゲームには4つの柱があり、それらはsystemで分けられています。そして、systemは根本的な2つの価値観に基づきます。
|
||||||
**現実とゲームを結合する3D世界** - atproto分散SNS統合メタバースプロジェクト
|
|
||||||
|
|
||||||
ai.verseは単なるゲームではなく、現実の個人の唯一性をデジタル世界で担保し、Play-to-Workを実現する革新的メタバースです。
|
根本的な2つの価値観は、(1)現実の反映、(2)この世界に同じものはない唯一性です。
|
||||||
|
|
||||||
## プロジェクト情報
|
1. 現実の反映
|
||||||
- **タイプ**: metaverse
|
2. 唯一性の担保
|
||||||
- **説明**: 現実とゲーム結合3D世界
|
|
||||||
- **ステータス**: UE実装予定
|
|
||||||
- **ブランチ**: main
|
|
||||||
- **技術**: Unreal Engine + atproto + Three.js
|
|
||||||
|
|
||||||
## 中核思想: yui system(唯一性担保)
|
では、各systemについて説明していきます。
|
||||||
|
|
||||||
### 基本原則
|
## world system
|
||||||
- **現実の個人 ↔ ゲーム内avatar**: 1:1紐付け(改ざん不可能)
|
|
||||||
- **atproto DID**: 暗号学的唯一性担保
|
|
||||||
- **unique skill**: その人だけが使えるスキル・能力
|
|
||||||
- **motion capture**: その人だけがカメラでキャラを動かせる
|
|
||||||
|
|
||||||
### 現実反映の仕組み
|
別名、planet systemといいます。
|
||||||
```
|
|
||||||
現実の個人 → atproto account (DID) → ゲーム内avatar → 固有スキル
|
現実の反映という価値観から、ゲーム世界もできる限り現実に合わせようと思い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を基盤とした新しいゲーム体験
|
|
||||||
|
|
||||||
**特徴**:
|
例えば、`at system`では現実のsnsアカウントをゲームアカウントに使用したり、現実の出来事をゲームに反映したり、またはゲームの出来事を現実に反映する仕組みを考えます。
|
||||||
- **現実SNS連携**: 実際のSNSアカウントでゲームプレイ
|
|
||||||
- **データ主権**: ゲームデータはユーザーのatprotoアカウントに保存
|
|
||||||
- **selfhost運用**: 独自atprotoサーバーで完全自律性
|
|
||||||
|
|
||||||
**実装**: `./at/` で分散SNS基盤構築済み
|
全ては一つ、一つはすべて。
|
||||||
**省略記法**: `verse.ue.system.at` → `verse.at`
|
|
||||||
|
|
||||||
### 3. verse.yui system(唯一性システム)
|
同一性と唯一性は一見して矛盾しますが、その統合を考えます。
|
||||||
**目的**: 現実の個人の唯一性をゲーム内で完全担保
|
|
||||||
|
|
||||||
**特徴**:
|
## 物語と実装
|
||||||
- **unique character**: 1キャラクター = 1プレイヤー(他人は使用不可)
|
|
||||||
- **unique skill**: プレイヤー固有の特殊能力
|
|
||||||
- **配信統合**: ゲーム画面 = 配信画面として使用可能
|
|
||||||
|
|
||||||
**VTuber活用例**: 声優さんが自分の声を使ったキャラクターでプレイ
|
```md
|
||||||
**省略記法**: `verse.ue.system.yui` → `verse.yui`
|
# 物語-存在
|
||||||
|
同一性
|
||||||
|
唯一性
|
||||||
|
|
||||||
### 4. verse.ai system(存在属性)
|
# system-実装
|
||||||
**目的**: 現実の物理法則を反映した属性システム
|
world system
|
||||||
|
yui system
|
||||||
**特徴**:
|
ai system
|
||||||
- **原子属性**: 原子・中性子・陽子・電子に基づく属性
|
at 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
|
|
||||||
```
|
```
|
||||||
|
|
||||||
この省略により、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の構造と哲学を基に生成されました*
|
|
2
at
2
at
Submodule at updated: ded3110fce...b43360e32a
2
world
2
world
Submodule world updated: 0dc2cb9ecf...ea43f0ebda
Reference in New Issue
Block a user