diff --git a/README.md b/README.md index 30b82a7..e60a724 100644 --- a/README.md +++ b/README.md @@ -2,14 +2,16 @@ このゲームには4つの柱があり、それらはsystemで分けられています。そして、systemは根本的な2つの価値観に基づきます。 -根本的な2つの価値観は、(1)現実の反映、(2)この世界に同じものはない唯一性です。 +根本的な価値観は現実の反映です。 -1. 現実の反映 -2. 唯一性の担保 +- 現実の反映 + +ゲームに現実を反映し、現実をゲームに反映すること。そして、それを繰り返すことで、価値を高めます。 では、各systemについて説明していきます。 -## world system +## system +### world system 別名、planet systemといいます。 @@ -21,7 +23,7 @@ しかし、現実世界では、上に行けば、やがて大気圏を越え、宇宙に出ます。 -最初は昔から認知されていた地球、月、太陽という3つの星を現実に合わせて作りました。 +最初は地球、月、太陽という3つの星を現実に合わせて作りました。 そして、マップをできる限り惑星形式にします。 @@ -35,7 +37,7 @@ 最初から広い世界があるのではなく`狭い世界 -> 広い世界`への移行が重要だと考えています。この移行に関しては、演出というテーマに基づき、設計する必要があります。それがゲームとしての面白さを作る、ということなのだと思います。 -## yui system +### yui system 別名、unique systemといいます。プレイヤーの唯一性を担保するためのsystemです。 @@ -43,7 +45,7 @@ どのように担保していくかは未定ですが、いくつか案があります。配信との連携、vmcでモーションキャプチャなどを考えていました。 -## ai system +### ai system 別名、ability systemといいます。 @@ -53,7 +55,7 @@ まずは属性を物語から考えます。物語は最も小さい物質の探求です。アクシオンやバリオンなどの架空の物質、そして、中性子や原子などの現実の物質が属性となり、1キャラクターにつき1属性を持ちます。 -## at system +### at system 別名、account systemといいます。 @@ -109,3 +111,80 @@ > アイは、この世界と一緒だからね。同じものは一つもないよ。 +## ゲームと配信 + +最近、配信をよくみます。vtuberの配信です。しかし、いくつか問題があることに気づきました。 + +ゲームと配信が分かれているのです。自分の配信キャラを使って、ゲームも配信もできたら便利ですよね。 + +そして、今の人たちは、とにかくhololiveに入ろうとしています。なぜなら成功が約束されているからです。しかし、調べてみてもわかるとおり、応募しても受かるとは思えません。倍率的に不可能に近い。 + +では違う事務所に、と言っても、大手はどこも難しいはずです。また、hololiveの人気が確固たるものになると、多くのvtuber事業が立ち上がりました。しかし、そのどれも成功とはいえない状況です。 + +何が言いたいのかというと、「売れたものをみて、それに飛びつこうとしても、既に遅い」ということです。 + +hololiveはvtuberという言葉がない時代から活動し、ようやくブームを作ってきたような企業です。ブームに乗っかろうとしただけの企業が廃れ、ブームを作った企業が利益を上げるのは、当然のことと言えるでしょう。 + +とすると、私にできるのは、今までにない形の全く別のものを作ること。 + +現在、私が開発しているゲームは、いくつかの問題を解決できると思います。 + +- 3d-modelや配信環境、ゲームの提供 + +vtuberになりたいと思っている人は増えているようですが、応募採用も難しいし、個人でやろうにも、3dモデルを買うのも作るのもお金や時間がかかります。とても大変なのです。しかし、ゲームをプレイすると、その提供を受けることができればどうでしょう。そのような形態を考えています。 + +また、「vtuberをやりませんか」ではなく「あなた(のキャラ)をゲームに登場させてみませんか」と誘うほうが適正ある人を見つけやすいかもしれません。 + +私はよく原神のゲームをvtuber配信を見るんだけど、自分のキャラがそんな世界で動かせて敵と戦えたら嬉しいと思うんだよね。 + +## ユニークスキル + +1. 最初にそのキャラを獲得した人が所有者になる +2. 配信してもらう +3. その後、ガチャでピックアップ期間があり、配信者のキャラを他の人も使えるようになる +4. ただし、ユニークするるだけは所有者しか使えない + +このようなルールを考えていました。 + +## gaspへの統合 + +ue5.6でgasp(game animation sample project)をベースにゲーム、特にキャラクターの操作を作っています。 + +そして、enemy(敵)を作り、バトルシーンを作成する予定ですが、これはどのように開発すればいいのでしょう。その方針を明確にします。 + +1. enemyもgaspの`cbp_character`に統合し、自キャラ、敵キャラどちらでも使用可能にする +2. 2番目のcharacterは動物型(type:animal)にし、gaspに統合する +3. enemyとして使用する場合は、enemy-AI-component(logic-driver)を追加するだけで完結する +4. characterのすべての操作を統一する + +このようにすることで、応用可能なenemyを作ることができます。 + +例えば、`2番目のcharacterは動物型(type:animal)にする`というのはどういうことでしょう。 + +登場するキャラクターを人型(type:human), 動物型(type:animal)に分けるとして、動物型のテンプレートを作る必要があります。そのまま動物のmeshをgaspで使うと動きが変になってしまうので、それを調整する必要があるということ。そして、調整したものをテンプレート化して、他の動物にも適用できるようにしておくと、後の開発は楽ですよね。 + +ですから、早いうちにtype:humanから脱却し、他のtypeを作るほうがいいと判断しました。 + +これには、`dragon ik plugin`を使って、手っ取り早く動きを作ります。 + +`characterのすべての操作を統一する`というのは、1キャラにつき1属性、1通常攻撃、1スキル、1バースト、などのルールを作り、それらを共通化することです。共通化というのは、playerもenemy-AI-componentも違うキャラを同じ操作で使用できることを指します。 + +原作には、西洋ドラゴンのドライ(drai)というキャラが登場します。その父親が東洋ドラゴンのシンオウ(shin-oh)です。これをshinという名前で登録し、2番目のキャラクターとして設定しました。 + +3d-modelは今のところue5のcrsp(control rig sample project)にあるchinese dragonを使用しています。後に改造して原作に近づけるようにしたいところですが、今は時間が取れません。 + +## データ構造の作成と適用 + +ゲームデータはatproto collection recordに保存して、そこからゲームに反映させたいと考えています。 + +まず基本データを`ai.syui.ai`のアカウントに保存。個別データをplayerのatprotoアカウントに保存する形が理想です。 + +基本データは、ゲームの基本的な設定のこと。例えば、キャラクターの名前や属性、スキルなど変更されることがない値。 + +個別データは、プレイヤーが使えるキャラ、レベル、攻撃力など、ゲームの進行とともに変更される値です。 + +ゲームをスタートさせると、まず基本データを取得し、それを`cbp_character`に適用します。ログインすると、`cbp_character`の変数(var)に値が振り分けられます。例えば、`skill-damage:0.0`があったとして、この値が変わります。 + +しかし、ゲームを開発していると、基本データも個別データも構造が複雑になります。 + +それを防ぐため、`{simple, core} mode`のような考え方を取り入れます。必要最小限の構成を分離、保存して、それをいつでも統合、適用できるように設計しておきます。