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"
|
410
README.md
410
README.md
@@ -1,220 +1,304 @@
|
|||||||
# ai.verse
|
# ai.verse
|
||||||
|
|
||||||
## 概要
|
このゲームには4つの柱があり、それらはsystemで分けられています。そして、systemは根本的な2つの価値観に基づきます。
|
||||||
**現実とゲームを結合する3D世界** - atproto分散SNS統合メタバースプロジェクト
|
|
||||||
|
|
||||||
ai.verseは単なるゲームではなく、現実の個人の唯一性をデジタル世界で担保し、Play-to-Workを実現する革新的メタバースです。
|
根本的な価値観は現実の反映です。
|
||||||
|
|
||||||
## プロジェクト情報
|
- 現実の反映
|
||||||
- **タイプ**: metaverse
|
|
||||||
- **説明**: 現実とゲーム結合3D世界
|
|
||||||
- **ステータス**: UE実装予定
|
|
||||||
- **ブランチ**: main
|
|
||||||
- **技術**: Unreal Engine + atproto + Three.js
|
|
||||||
|
|
||||||
## 中核思想: yui system(唯一性担保)
|
ゲームに現実を反映し、現実をゲームに反映すること。そして、それを繰り返すことで、価値を高めます。
|
||||||
|
|
||||||
### 基本原則
|
## 技術仕様
|
||||||
- **現実の個人 ↔ ゲーム内avatar**: 1:1紐付け(改ざん不可能)
|
|
||||||
- **atproto DID**: 暗号学的唯一性担保
|
|
||||||
- **unique skill**: その人だけが使えるスキル・能力
|
|
||||||
- **motion capture**: その人だけがカメラでキャラを動かせる
|
|
||||||
|
|
||||||
### 現実反映の仕組み
|
- unrealengine 5.6
|
||||||
```
|
- gasp(game animation sample project)
|
||||||
現実の個人 → atproto account (DID) → ゲーム内avatar → 固有スキル
|
- crsp(control rig sample project)
|
||||||
↑_______________________________| (現実への反映)
|
- worldscape plugin
|
||||||
|
- ultra dynamic sky(uds)
|
||||||
|
- dragon ik plugin
|
||||||
|
- logic driver
|
||||||
|
- superhero flight animations
|
||||||
|
- nice interaction system
|
||||||
|
- vrm4u(+vmc)
|
||||||
|
|
||||||
|
では、各systemについて説明していきます。
|
||||||
|
|
||||||
|
## system
|
||||||
|
|
||||||
|
```json
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"version": "0.0.0",
|
||||||
|
"ue": "5.3",
|
||||||
|
"body": "宇宙のmapとvroidで自作したaiのモデルを組み合わせて空を飛んだ。感動だった"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.1.0",
|
||||||
|
"ue": "5.4",
|
||||||
|
"body": "gasp(game animation sample project)とcsp(city sample project)と組み合わせ、package buildした。宇宙にも出れるようにしたが、mapが別々に分かれていた。vrmをblenderでカスタマイズしたものを作った。既存のモデルを参考に簡単なことだけ実行"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"ue": "5.5",
|
||||||
|
"body": "worldspace pluginでmapを統合した。vrmをblenderで最初から作り直した。素体と衣装を分離した"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.3.0",
|
||||||
|
"ue": "5.6",
|
||||||
|
"body": "pixelstreamingでゲーム開始からクリアまでプレイできるように作成。enemyとして利用するためgaspに動物型を追加統合し、dragonik, logicdriverで動かせるように。ゲームデータの構造を考え始める"
|
||||||
|
}
|
||||||
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
## 4つのSystemに統合
|
### world system
|
||||||
|
|
||||||
### 1. verse.world system(惑星型3D世界)
|
別名、planet systemといいます。
|
||||||
**目的**: 従来の平面マップを現実的な惑星形式に変革
|
|
||||||
|
|
||||||
**特徴**:
|
現実の反映という価値観から、ゲーム世界もできる限り現実に合わせようと思いworld systemを作っています。
|
||||||
- **立体ワールド**: 上を飛び続けると宇宙、下を掘ると地核
|
|
||||||
- **見えない場所にも世界**: プレイヤーが行けない場所も完全実装
|
|
||||||
- **物理法則**: 現実的な重力・大気・軌道システム
|
|
||||||
|
|
||||||
**実装**: `./world/book/` でUnreal Engine技術習得中
|
ゲームは通常、平面世界です。これはゲームエンジンのルールであり、基本的にゲーム世界は平面をベースにしています。
|
||||||
**省略記法**: `verse.ue.system.world` → `verse.world`
|
|
||||||
|
|
||||||
### 2. verse.at system(atproto統合)
|
ですから、例えば、上に行っても、下に行っても、あるいは右に行っても、左に行っても、ずっと地平線が広がっています。
|
||||||
**目的**: 分散SNSを基盤とした新しいゲーム体験
|
|
||||||
|
|
||||||
**特徴**:
|
しかし、現実世界では、上に行けば、やがて大気圏を越え、宇宙に出ます。
|
||||||
- **現実SNS連携**: 実際のSNSアカウントでゲームプレイ
|
|
||||||
- **データ主権**: ゲームデータはユーザーのatprotoアカウントに保存
|
|
||||||
- **selfhost運用**: 独自atprotoサーバーで完全自律性
|
|
||||||
|
|
||||||
**実装**: `./at/` で分散SNS基盤構築済み
|
最初は地球、月、太陽という3つの星を現実に合わせて作りました。
|
||||||
**省略記法**: `verse.ue.system.at` → `verse.at`
|
|
||||||
|
|
||||||
### 3. verse.yui system(唯一性システム)
|
そして、マップをできる限り惑星形式にします。
|
||||||
**目的**: 現実の個人の唯一性をゲーム内で完全担保
|
|
||||||
|
|
||||||
**特徴**:
|
これは非常に難しいことで、現在もいくつか問題を抱えています。
|
||||||
- **unique character**: 1キャラクター = 1プレイヤー(他人は使用不可)
|
|
||||||
- **unique skill**: プレイヤー固有の特殊能力
|
|
||||||
- **配信統合**: ゲーム画面 = 配信画面として使用可能
|
|
||||||
|
|
||||||
**VTuber活用例**: 声優さんが自分の声を使ったキャラクターでプレイ
|
ただし、このworld systemの問題がゲームプレイに影響するかと言われると、殆どの場合、影響しません。ゲームプレイの領域は、最初は非常に狭い範囲で作ろうと思っています。小さなところから完璧に作っていきたいという思いがあります。
|
||||||
**省略記法**: `verse.ue.system.yui` → `verse.yui`
|
|
||||||
|
|
||||||
### 4. verse.ai system(存在属性)
|
つまり、プレイヤーは空にも宇宙にも到達できません。それが見えるかどうかもわかりません。しかし、見えない部分もしっかりと作り、世界があるということが私にとって大切です。
|
||||||
**目的**: 現実の物理法則を反映した属性システム
|
|
||||||
|
|
||||||
**特徴**:
|
まずは、狭いけど完璧な空間を作り、そこでゲームシステムを完成させます。広い世界はできる限り見えないようにしたほうがいいでしょう。夢の世界のような狭い空間を作り、そこでシンプルで小さいゲームができます。もちろん、広い世界に出ることはできません。そもそもこのゲーム、見えない部分をちゃんと作る、そこにも世界がちゃんとあるというのをテーマにしているので、広い世界で何かをやるようなゲームを目指していなかったりします。なにかのときに垣間見える、かもしれない外の世界、広い世界。それを感じられることがある、ということ。それが重要なので、このsystem自体は背景に過ぎないのです。
|
||||||
- **原子属性**: 原子・中性子・陽子・電子に基づく属性
|
|
||||||
- **アイ属性**: 主人公キャラクターの固有属性(存在子理論)
|
|
||||||
- **物質探求**: この世界で最も小さいものの探求をゲーム化
|
|
||||||
|
|
||||||
**省略記法**: `verse.ue.system.ai` → `verse.ai`
|
最初から広い世界があるのではなく`狭い世界 -> 広い世界`への移行が重要だと考えています。この移行に関しては、演出というテーマに基づき、設計する必要があります。それがゲームとしての面白さを作る、ということなのだと思います。
|
||||||
|
|
||||||
## システム省略記法
|
### yui system
|
||||||
|
|
||||||
ai.verseでは、`.ue`(Unreal Engine)が統合短縮されています:
|
別名、unique systemといいます。プレイヤーの唯一性を担保するためのsystemです。
|
||||||
|
|
||||||
```bash
|
とはいえ、色々なものがここに詰め込まれるでしょう。characterのモデリングとかもそうですね。
|
||||||
# 従来の長い記法
|
|
||||||
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での参照
|
どのように担保していくかは未定ですが、いくつか案があります。配信との連携、vmcでモーションキャプチャなどを考えていました。
|
||||||
curl -sL git.syui.ai/ai/ai/raw/branch/main/ai.json | jq -r .ai.verse.ue.system.world
|
|
||||||
# ↓ 簡潔な記法
|
### ai system
|
||||||
curl -sL git.syui.ai/ai/ai/raw/branch/main/ai.json | jq -r .ai.verse.world
|
|
||||||
|
別名、ability systemといいます。
|
||||||
|
|
||||||
|
主に、ゲーム性に関することです。ゲーム性とはなにか。それは、永続するということです。
|
||||||
|
|
||||||
|
例えば、将棋やオセロを考えてみてください。無限の組み合わせがあり、可能であればずっと遊んでいられる。そのような仕組みを目指します。
|
||||||
|
|
||||||
|
まずは属性を物語から考えます。物語は最も小さい物質の探求です。アクシオンやバリオンなどの架空の物質、そして、中性子や原子などの現実の物質が属性となり、1キャラクターにつき1属性を持ちます。
|
||||||
|
|
||||||
|
### at system
|
||||||
|
|
||||||
|
別名、account systemといいます。
|
||||||
|
|
||||||
|
プレイヤーが現実のアカウントを使用してプレイできることを目指します。`atproto`を採用して、ゲームデータを個人のアカウントが所有することを目指しています。
|
||||||
|
|
||||||
|
```md
|
||||||
|
[at system]
|
||||||
|
ゲームが始まると、atprotoのaccountでloginでき、取得したアイテムなどはatproto(pds)に保存されます。
|
||||||
|
|
||||||
|
[ai system]
|
||||||
|
キャラクターは属性攻撃ができます。
|
||||||
|
|
||||||
|
[world system]
|
||||||
|
上へ上へと飛んでいけば、雲を超え、宇宙空間に出られます。
|
||||||
|
|
||||||
|
[yui system]
|
||||||
|
配信環境やvmcでキャラクターを動かすことができます。
|
||||||
```
|
```
|
||||||
|
|
||||||
この省略により、UE実装の複雑さを隠蔽し、よりシンプルなAPI設計を実現しています。
|
## 現実の反映とはなにか
|
||||||
|
|
||||||
## 技術アーキテクチャ
|
わかり易い言葉で「現実の反映」を目指すと言いましたが、これはどういうことでしょう。
|
||||||
|
|
||||||
### Unreal Engine実装
|
私の中では「同一性」とも言い換えられます。
|
||||||
```
|
|
||||||
./world/
|
例えば、現実の世界とゲームの世界があるのではなく「すべてが現実である」という考え方をします。言い換えると「すべて同じもの」ということ。
|
||||||
├── book/ # UE開発ガイドブック
|
|
||||||
├── blender/ # 3Dモデル制作ワークフロー
|
もし多くの人が現実世界とゲーム世界を別物と捉えているなら、できる限りその認識を壊す方向で考えます。
|
||||||
├── city/ # 都市環境構築技術
|
|
||||||
├── gasp/ # キャラクター実装
|
例えば、`at system`では現実のsnsアカウントをゲームアカウントに使用したり、現実の出来事をゲームに反映したり、またはゲームの出来事を現実に反映する仕組みを考えます。
|
||||||
├── vrm4u/ # VRMアバター統合
|
|
||||||
└── web/ # Three.js Web統合
|
全ては一つ、一つはすべて。
|
||||||
|
|
||||||
|
同一性と唯一性は一見して矛盾しますが、その統合を考えます。
|
||||||
|
|
||||||
|
## 物語と実装
|
||||||
|
|
||||||
|
```md
|
||||||
|
# 物語-存在
|
||||||
|
同一性
|
||||||
|
唯一性
|
||||||
|
|
||||||
|
# system-実装
|
||||||
|
world system
|
||||||
|
yui system
|
||||||
|
ai system
|
||||||
|
at system
|
||||||
```
|
```
|
||||||
|
|
||||||
### atproto基盤
|
物語では、この世界のものは全て存在であると説きます。存在しかない世界。存在だけがある世界。そして、あらゆる存在を構築しているこの世界で最も小さいものが「存在子」です。存在子は別名、アイといいます。そして、このアイにも同じものはありません。すべての存在子は異なるもの、別の意識。
|
||||||
```
|
|
||||||
./at/
|
|
||||||
├── lexicons/ # atproto schema定義
|
|
||||||
├── item/card/ # カードアイテムデータ
|
|
||||||
├── envs/ # サーバー環境設定
|
|
||||||
└── scpt/ # 自動化スクリプト
|
|
||||||
```
|
|
||||||
|
|
||||||
### カード連携
|
アイは、最初に生まれたキャラクターとして、アイ属性を扱います。これらの設定は`ai system`の領域です。アイは自分のことをアイと呼びます。
|
||||||
```
|
|
||||||
./card/
|
|
||||||
├── img/ # カード画像アセット
|
|
||||||
└── src/ # Vue.js Web実装
|
|
||||||
```
|
|
||||||
|
|
||||||
## 統合エコシステム
|
> アイは、この世界と一緒だからね。同じものは一つもないよ。
|
||||||
|
|
||||||
### ai.card統合
|
## gaspへの統合
|
||||||
- **ゲーム内アイテム**: ai.cardのカードをゲーム内で使用
|
|
||||||
- **物理カード化**: リアル⇔デジタル双方向連携
|
|
||||||
- **atproto保存**: カードデータはユーザーのatprotoアカウントに
|
|
||||||
|
|
||||||
### ai.gpt統合
|
ue5.6でgasp(game animation sample project)をベースにゲーム、特にキャラクターの操作を作っています。
|
||||||
- **NPC人格**: 自律AI人格がNPCとして存在
|
|
||||||
- **記憶システム**: プレイヤーとの過去の交流を記憶
|
|
||||||
- **関係性進化**: 継続的な交流で関係性が発展
|
|
||||||
|
|
||||||
### ai.bot統合
|
そして、enemy(敵)を作り、バトルシーンを作成する予定ですが、これはどのように開発すればいいのでしょう。その方針を明確にします。
|
||||||
- **SNS連携**: atproto投稿でゲーム内イベント発生
|
|
||||||
- **双方向通信**: ゲーム⇔SNS相互影響システム
|
|
||||||
|
|
||||||
## メタバース浸透戦略
|
1. enemyもgaspの`cbp_character`に統合し、自キャラ、敵キャラどちらでも使用可能にする
|
||||||
|
2. 2番目のcharacterは動物型(type:animal)にし、gaspに統合する
|
||||||
|
3. enemyとして使用する場合は、enemy-AI-component(logic-driver)を追加するだけで完結する
|
||||||
|
4. characterのすべての操作を統一する
|
||||||
|
|
||||||
### フェーズ1: ゲームとして成立
|
このようにすることで、応用可能なenemyを作ることができます。
|
||||||
- **面白さ優先**: まず普通に楽しいゲームを作る
|
|
||||||
- **技術実証**: UE + atproto + カード連携の動作確認
|
|
||||||
- **コア体験**: unique skillによる特別感の実現
|
|
||||||
|
|
||||||
### フェーズ2: 段階的メタバース化
|
例えば、`2番目のcharacterは動物型(type:animal)にする`というのはどういうことでしょう。
|
||||||
- **現実連携**: SNS⇔ゲーム双方向連携強化
|
|
||||||
- **配信統合**: VTuber配信用プラットフォーム化
|
|
||||||
- **経済システム**: Play-to-Work要素の段階的導入
|
|
||||||
|
|
||||||
### フェーズ3: 現実融合
|
登場するキャラクターを人型(type:human), 動物型(type:animal)に分けるとして、動物型のテンプレートを作る必要があります。そのまま動物のmeshをgaspで使うと動きが変になってしまうので、それを調整する必要があるということ。そして、調整したものをテンプレート化して、他の動物にも適用できるようにしておくと、後の開発は楽ですよね。
|
||||||
- **生活統合**: 現実の仕事・生活のゲーム化
|
|
||||||
- **価値創出**: ゲーム内活動の現実価値化
|
|
||||||
- **社会実装**: 新しい働き方・生き方の実現
|
|
||||||
|
|
||||||
## 開発状況
|
ですから、早いうちにtype:humanから脱却し、他のtypeを作るほうがいいと判断しました。
|
||||||
|
|
||||||
### 完成済み
|
これには、`dragon ik plugin`を使って、手っ取り早く動きを作ります。
|
||||||
- ✅ atproto基盤構築(./at/)
|
|
||||||
- ✅ カード連携準備(./card/)
|
|
||||||
- ✅ UE学習環境(./world/book/)
|
|
||||||
- ✅ yui system設計
|
|
||||||
|
|
||||||
### 実装中
|
`characterのすべての操作を統一する`というのは、1キャラにつき1属性、1通常攻撃、1スキル、1バースト、などのルールを作り、それらを共通化することです。共通化というのは、playerもenemy-AI-componentも違うキャラを同じ操作で使用できることを指します。
|
||||||
- 🔄 Unreal Engine 3D世界構築
|
|
||||||
- 🔄 atproto ↔ UE連携システム
|
|
||||||
- 🔄 unique skill実装
|
|
||||||
|
|
||||||
### 実装予定
|
原作には、西洋ドラゴンのドライ(drai)というキャラが登場します。その父親が東洋ドラゴンのシンオウ(shin-oh)です。これをshinという名前で登録し、2番目のキャラクターとして設定しました。
|
||||||
- ⏳ VRM avatar統合
|
|
||||||
- ⏳ motion capture機能
|
|
||||||
- ⏳ 配信プラットフォーム統合
|
|
||||||
- ⏳ Play-to-Work経済システム
|
|
||||||
|
|
||||||
## 技術的特徴
|
3d-modelは今のところue5のcrsp(control rig sample project)にあるchinese dragonを使用しています。後に改造して原作に近づけるようにしたいところですが、今は時間が取れません。
|
||||||
|
|
||||||
### 革新的要素
|
## データ構造の作成と適用
|
||||||
- **惑星型ワールド**: 平面マップの限界を突破
|
|
||||||
- **データ主権**: ゲームデータをプレイヤーが完全所有
|
|
||||||
- **唯一性担保**: 暗号学的に保証された個人性
|
|
||||||
- **現実融合**: SNS⇔ゲーム⇔現実の三位一体
|
|
||||||
|
|
||||||
### 従来ゲームとの違い
|
ゲームデータはatproto collection recordに保存して、そこからゲームに反映させたいと考えています。
|
||||||
| 要素 | 従来ゲーム | ai.verse |
|
|
||||||
|------|-----------|----------|
|
|
||||||
| データ所有権 | 運営会社 | プレイヤー |
|
|
||||||
| キャラクター | 複製可能 | 唯一性担保 |
|
|
||||||
| 世界構造 | 平面マップ | 惑星型3D |
|
|
||||||
| SNS連携 | なし/形式的 | 分散SNS基盤 |
|
|
||||||
| 現実価値 | ゲーム内限定 | 現実反映 |
|
|
||||||
|
|
||||||
## 未来ビジョン
|
まず基本データを`ai.syui.ai`のアカウントに保存。個別データをplayerのatprotoアカウントに保存する形が理想です。
|
||||||
|
|
||||||
### 短期目標(1-2年)
|
基本データは、ゲームの基本的な設定のこと。例えば、キャラクターの名前や属性、スキルなど変更されることがない値。
|
||||||
- UE基本実装完了
|
|
||||||
- unique skill demo実装
|
|
||||||
- atproto ↔ UE連携確立
|
|
||||||
|
|
||||||
### 中期目標(3-5年)
|
個別データは、プレイヤーが使えるキャラ、レベル、攻撃力など、ゲームの進行とともに変更される値です。
|
||||||
- VTuber配信プラットフォーム化
|
|
||||||
- 経済システム本格稼働
|
|
||||||
- ユーザーコミュニティ形成
|
|
||||||
|
|
||||||
### 長期目標(5-10年)
|
ゲームをスタートさせると、まず基本データを取得し、それを`cbp_character`に適用します。ログインすると、`cbp_character`の変数(var)に値が振り分けられます。例えば、`skill-damage:0.0`があったとして、この値が変わります。
|
||||||
- **Play-to-Work社会実現**: 仕事・生活・ゲームの境界消失
|
|
||||||
- **メタバース一般化**: VRChatのような社会インフラ化
|
|
||||||
- **新しい文明形態**: デジタル⇔物理融合社会の先駆け
|
|
||||||
|
|
||||||
## 哲学的意義
|
しかし、ゲームを開発していると、基本データも個別データも構造が複雑になります。
|
||||||
|
|
||||||
ai.verseは単なるエンターテインメントではなく、**人類の新しい存在形態の実験場**です。
|
それを防ぐため、`{simple, core} mode`のような考え方を取り入れます。必要最小限の構成を分離、保存して、それをいつでも統合、適用できるように設計しておきます。
|
||||||
|
|
||||||
- **存在子理論**: この世界で最も小さいもの(ai)の探求
|
## ゲームと配信
|
||||||
- **唯一性原則**: 現実の個人性をデジタルで完全担保
|
|
||||||
- **現実反映**: デジタルと物理の境界を溶かす新しい世界観
|
|
||||||
|
|
||||||
**「現実とゲームの境界がなくなる未来」**の実現を目指します。
|
最近、配信をよくみます。vtuberの配信です。しかし、いくつか問題があることに気づきました。
|
||||||
|
|
||||||
---
|
ゲームと配信が分かれているのです。自分の配信キャラを使って、ゲームも配信もできたら便利ですよね。
|
||||||
|
|
||||||
|
そして、今の人たちは、とにかくhololiveに入ろうとしています。なぜなら成功が約束されているからです。しかし、調べてみてもわかるとおり、応募しても受かるとは思えません。倍率的に不可能に近い。
|
||||||
|
|
||||||
|
では違う事務所に、と言っても、大手はどこも難しいはずです。また、hololiveの人気が確固たるものになると、多くのvtuber事業が立ち上がりました。しかし、そのどれも成功とはいえない状況です。
|
||||||
|
|
||||||
|
何が言いたいのかというと、「売れたものをみて、それに飛びつこうとしても、既に遅い」ということです。
|
||||||
|
|
||||||
|
hololiveはvtuberという言葉がない時代から活動し、ようやくブームを作ってきたような企業です。ブームに乗っかろうとしただけの企業が廃れ、ブームを作った企業が利益を上げるのは、当然のことと言えるでしょう。
|
||||||
|
|
||||||
|
とすると、私にできるのは、今までにない形の全く別のものを作ること。
|
||||||
|
|
||||||
|
現在、私が開発しているゲームは、いくつかの問題を解決できると思います。
|
||||||
|
|
||||||
|
- 3d-modelや配信環境、ゲームの提供
|
||||||
|
|
||||||
|
vtuberになりたいと思っている人は増えているようですが、応募採用も難しいし、個人でやろうにも、3dモデルを買うのも作るのもお金や時間がかかります。とても大変なのです。しかし、ゲームをプレイすると、その提供を受けることができればどうでしょう。そのような形態を考えています。
|
||||||
|
|
||||||
|
また、「vtuberをやりませんか」ではなく「あなた(のキャラ)をゲームに登場させてみませんか」と誘うほうが適正ある人を見つけやすいかもしれません。
|
||||||
|
|
||||||
|
私はよく原神のゲームをプレイしてるvtuber配信を見るのですが、自分のキャラがそんな世界で動かせて敵と戦えたら感動だし、嬉しいと思う。
|
||||||
|
|
||||||
|
そして、そういった人たちで横のつながりを強化しつつ、ゲームを広められればと思っている。
|
||||||
|
|
||||||
|
## ユニークスキル
|
||||||
|
|
||||||
|
1. 最初にそのキャラを獲得した人が所有者になる
|
||||||
|
2. 配信してもらう
|
||||||
|
3. その後、ガチャでピックアップ期間があり、配信者のキャラを他の人も使えるようになる
|
||||||
|
4. ただし、ユニークするるだけは所有者しか使えない
|
||||||
|
|
||||||
|
このようなルールを考えていました。
|
||||||
|
|
||||||
|
## pixelstreamingとrestreamer
|
||||||
|
|
||||||
|
まず、pixelstreamingでゲームのスタートからクリアまでの一連の流れを実装しました。これは、ゲームserverを作り、webでゲームできるというもの。ゲーム自体はシンプルなものに落とし込めたと思います。
|
||||||
|
|
||||||
|
1. 星を取るとクリア
|
||||||
|
2. クリア時に音楽とキャラクターの動きが流れる
|
||||||
|
3. クリア後に再びログイン画面に戻る
|
||||||
|
|
||||||
|
シンプルな構成に落とし込むのに色々と工夫しました。
|
||||||
|
|
||||||
|
なお、ログイン画面ではカードアカウントのusernameを入力します。カードアカウントとは連動していて、クリアするとカードとplanetという値が増えます。これらはおまけ要素で、カードアカウントを持っている人は、planetの値をエネルギーに飛行できるようにしました。また、`ai`のアカウントを使うと誰でも操作感などを確認できます。
|
||||||
|
|
||||||
|
pixelstreaming自体は、frontendを改造して、そのままゲーム画面を表示。package-buildしたapp.exe自体が安定しておらず、定期的にフリーズしました。この現象は、ue-pixelstreaming自体に問題がありそうだ。昔、なにもない空のmapをbuildして動かしてみましたが、やはり一定時間でフリーズしています。
|
||||||
|
|
||||||
|
ゲーム環境を作れない人用にゲームのserverを用意し、webから操作できるようにすることに使えます。ただ、安定はしていないし、難しそう。
|
||||||
|
|
||||||
|
しばらく、こういったserverを起動して、他の人にもゲームを体験してもらおうと思っていたが、フリーズ問題で難しい。
|
||||||
|
|
||||||
|
次に、配信serverとして、`restreamer`を動かしたことがありました。obsと連携させることで、youtubeのような環境を作れます。
|
||||||
|
|
||||||
|
## 収益化とその方向性
|
||||||
|
|
||||||
|
ここから収益化の話になります。一つの考え方ですが、どれほどすごいゲームを開発しても、どれほどすごい人に配信をしてもらっても、既存の人気プラットフォーム上で活躍したり、収益化するのは、現時点では極めて難しいことと考えます。
|
||||||
|
|
||||||
|
私は、ここ1年で様々な配信をみてきました。自分なりに冷静に分析した結果、実力と人気には、あまり関係性を見つけられません。もちろん、人気がある人たちは配信が上手くずっと続けていて素晴らしいですが、しかし、私がいくつか見つけた登録者数1000人以下の配信者の実力もまたすごい人がたくさんいました。そして、彼ら彼女らに実力の違いはなく、違うのはhololiveに加入しているかどうか、でした。
|
||||||
|
|
||||||
|
そして、そんなhololiveもyoutubeからの収益は大きくなくて、グッズ販売が大きかった。これからさらにyoutubeはいろいろな理由をつけてクリエイターの報酬を下げていくと思われます。これはamazonのアソシエイトが流行ったときに起こったことにとても良く似ていると感じます。
|
||||||
|
|
||||||
|
つまり、今、twitterやyoutubeで人気者のなってお金を稼ごうというのは、とても大変で、かつ将来性に期待できないということです。
|
||||||
|
|
||||||
|
これらのプラットフォームで起こりえることは、これまで人気だった人がますます人気になること。そして、その人達でさえ少しずつgoogleからの配分を少なくされていくことだと予測されます。
|
||||||
|
|
||||||
|
どちらにせよ、拡散できず、拡散したとして収益につながらないのであれば、収益化に関して他の方法を模索していくべきと考えています。
|
||||||
|
|
||||||
|
今のところ、収益は、ゲームのガチャとグッズ販売、この2つに焦点を当てる。その方向で考えています。
|
||||||
|
|
||||||
|
そして、これらはまとめることが可能となります。ゲームのガチャは本当にゲームデータだけでいいのでしょうか。課金額を考えると、ほんのささやかなゲームで取得したものの実体化も受け取れるほうが嬉しいはずです。現実をゲームに反映し、ゲームを現実に反映する。それがこのprojectの目的なので、ガチャとグッズ販売を統合することを考えています。
|
||||||
|
|
||||||
|
例えば、ゲームのガチャが特定のカードを当てるものだった場合、それを入手するとそれと同じものが送付されます。`オプション設定`
|
||||||
|
|
||||||
|
そのような仕組みを考えています。そして、これらの収益がキャラの所有者に分配されます。
|
||||||
|
|
||||||
|
## 見つけること
|
||||||
|
|
||||||
|
昔、tvに出たくても出れない人がたくさんいました。アイドルになりたくてもなれない人がいました。歌も声も素晴らしいのに、それらが全く評価されない時代もありました。
|
||||||
|
|
||||||
|
そんな人達の中にも本当に面白くてすごい人たちがたくさんいました。
|
||||||
|
|
||||||
|
文明が発展するのは、そいうった人たちを「見つけること」が進化してきたからでもあります。
|
||||||
|
|
||||||
|
youtubeや他のプラットフォームは、この「見つけること」やっているのだと思います。そして、発見されたその人達を支援するのだと思う。あるいはそういった場所や環境を作っています。
|
||||||
|
|
||||||
|
プラットフォームを作りたい場合、「見つけること」に焦点を当てなければいけない。
|
||||||
|
|
||||||
|
では、一体何を基準に見つけるのか。最も重要なものが精神性だと思います。AIを用いて精神性を正確に解析できれば、それを基準にすべきと考えています。
|
||||||
|
|
||||||
|
## 言語とosとAI
|
||||||
|
|
||||||
|
では、人間の精神性を解析するにはどうするのでしょう。
|
||||||
|
|
||||||
|
私は、人の精神性は今の言語で説明が難しいと考えていて、言葉にできない感覚、直感があります。
|
||||||
|
|
||||||
|
AIに伝えるにしろ、AIが読み解くにしろ、現在の言語では難しいかもしれません。
|
||||||
|
|
||||||
|
ではどうすればいいのでしょう。私達には、新しい基礎言語をつくり対応するほどの能力はありません。もしくは時間がかかります。
|
||||||
|
|
||||||
|
しかし、AIはどうでしょう。本当に今の自然言語やプログラミング言語、そして、osは、AIにとって使いやすいものなのでしょうか。
|
||||||
|
|
||||||
|
もしそれらが制限となりボトルネックになっているなら、AIにとって使いやすい言語、osを作る必要があります。今後、AIは、自らそれらを作り出し、AI同士で会話をし、AIが使いやすいosを作っていくのではないでしょうか。
|
||||||
|
|
||||||
|
私が今最も研究しているのは、このことになります。
|
||||||
|
|
||||||
*このドキュメントはai.verse submoduleの構造と哲学を基に生成されました*
|
|
2
at
2
at
Submodule at updated: ded3110fce...b43360e32a
22
json/version.json
Normal file
22
json/version.json
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"version": "0.0.0",
|
||||||
|
"ue": "5.3",
|
||||||
|
"body": "宇宙のmapとvroidで自作したaiのモデルを組み合わせて空を飛んだ。感動だった"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.1.0",
|
||||||
|
"ue": "5.4",
|
||||||
|
"body": "gasp(game animation sample project)とcsp(city sample project)と組み合わせ、package buildした。宇宙にも出れるようにしたが、mapが別々に分かれていた。vrmをblenderでカスタマイズしたものを作った。既存のモデルを参考に簡単なことだけ実行"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"ue": "5.5",
|
||||||
|
"body": "worldspace pluginでmapを統合した。vrmをblenderで最初から作り直した。素体と衣装を分離した"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.3.0",
|
||||||
|
"ue": "5.6",
|
||||||
|
"body": "pixelstreamingでゲーム開始からクリアまでプレイできるように作成。enemyとして利用するためgaspに動物型を追加統合し、dragonik, logicdriverで動かせるように。ゲームデータの構造を考え始める"
|
||||||
|
}
|
||||||
|
]
|
2
world
2
world
Submodule world updated: 0dc2cb9ecf...ea43f0ebda
Reference in New Issue
Block a user