計画
1. 概要
1.1. ドキュメントについて
このドキュメントの目的は、Clarus Victoria がどのようなゲームを作り、どのような道筋でそれを実現しようとしているのか、その立場と意図を示すことです。
スタジオが今後数年で開発するゲームは、Nexus と呼ばれる、より大きく長期的なプロジェクトへ向かう段階として位置付けられています。
本ドキュメントは技術仕様書や要件定義、特定のスケジュールや成果の約束ではありません。プロジェクトの進展と新しいアイデアの登場に合わせて更新・改訂される可能性があります。
本ドキュメントは、Nexus プロジェクトの全体像や Clarus Victoria の方向性に関心のあるプレイヤー、そして新しいシステムの原理やメカニクスをより理解したい開発者に向けたものです。
1.2. プロジェクトについて
Nexus は、プレイヤーが自分のゲームを作成・調整し、ジャンルや世界観、メカニクスを混ぜ合わせ、他の人と共有できるユニバーサルなコンピュータゲームです。
従来のゲームと異なり、Nexus ではあらかじめ定められたジャンルや単一のシナリオは提示されません。ゲームジャンルは、プレイヤーが選び、組み合わせ、プレイ中に変更できるルールとシナリオの集合として扱われます。
Nexus は単なる Roblox や Garry's Mod の別版ではありません。多くの類似プラットフォームでは、世界はスクリプトやエディタで組み立てられます。Nexus では、人間の言語に近い言語に基づいて世界が構築され、意味やルール、内容が形成されます。このアプローチにより、何をどのように遊ぶかについて、より柔軟で自由な選択が可能になります。
1.3. ドキュメント構成
本ドキュメントは、ナビゲーションとリンク共有を容易にするため、番号付きのセクションで構成されています。
全体の構造は以下のとおりです:
- セクション1は導入です。Nexus プロジェクトと本ドキュメントに関する基本情報を含みます。
- セクション2は、実装後の Nexus プロジェクトがどのような姿になり得るかというアイデアをまとめています。
- セクション3は、プロジェクトを技術的に実現するためのアイデアとアプローチを記載します。
- セクション4はロードマップであり、プロジェクトを構築するために必要な手順の連なりです。
- セクション5は課題であり、プロジェクトのリスクと制約、そしてそれらへの対処方針を扱います。
セクション3以外は、幅広い読者を対象としています。 セクション3は、主に専門家やゲーム開発者向けの内容です。
本ドキュメントはモジュール構造であり、順番に従わずに必要な部分だけ選んで読めます。
1.4. 著者について
本ドキュメントの著者は、Clarus Victoria の創設者・ゲームデザイナー・開発者であるミハイル・ワシリエフです。 本ドキュメントは著者の主観的な見解を反映しており、完全性や最終的な真実を主張するものではありません。
2. コンセプト

2.1. セクションの目的
このセクションの目的は、Nexus プロジェクトが実装後にどのような姿になり得るか、その機能がどうなるかを示すことです。ここではユニバーサルコンピュータゲームというジャンルの形成という考え方を扱い、Nexus をその代表の一つとして位置づけています。
記載されたアイデアの一部は実現が難しいように見えるかもしれませんが、あくまで指針と開発方向として示されています。このセクションはゲームメカニクスのコンセプトとゲームの全体像にのみ焦点を当て、ルール設計や技術的実装はセクション3に移しています。
2.2. ゲームの開始
メインメニューには YouTube を思わせるインターフェースがあり、動画の代わりにゲームシナリオが表示されます。 画面の中心はおすすめブロックと履歴セクションです。 そのほか、気に入ったシナリオや後で戻りたいシナリオのリストも利用できます。
2.2.1. おすすめからゲームを作成
初回起動時には、さまざまなカテゴリのトレンドと人気シナリオが提案されます。 2回目以降の起動では、ゲームがあなたの興味を把握し、おすすめに未プレイだが好みそうなシナリオを表示します。 例として、古代ローマ、宇宙、レースが好きなら、次のようなテーマが並ぶかもしれません: 「皇帝トラヤヌス」「ローマの没落」「古代ゲルマン」「火星の植民」「モンツァ・サーキット」「ジェットエンジン」。 任意のテーマを選択できます。
2.2.2. ゲームの読み込み
履歴セクションを開き、過去に作成したゲームを再開できます。これはセーブと過去セッションへの復帰の標準的な表現です。 セーブデータは他のプレイヤーと共有できます。
2.2.3. シナリオの設定
シナリオの基本アイデアを選んだ後、キャンペーンの性質をさらに定義できます。 必要に応じて開始条件を設定します: 世界の特徴、あなたのキャラクターの特徴、そして物語の出発点となる主要な特性です。
2.2.4. ゲーム生成
選択したシナリオに基づき、そのテーマに合ったゲーム世界が生成されます。 同じおすすめを選んでも開始条件が異なるため、毎回新鮮なスタートになります。 必要であればゲームシードを設定して、似た開始条件を再現できます。
2.3. 世界
2.3.1. ルール
世界のユニバーサルルールは、理想的にはRPGとストラテジーに適合する共通の法則セットです。 これらを通じて、アクション、スポーツ、レース、アドベンチャーなど他のジャンルやサブジャンルも表現できます。 ここで扱うのは具体的なメカニクスではなく、多くのゲーム世界の論理を表現できる原則です。
2.3.2. ジャンル
ゲームにはメカニクスを縛る固定ジャンルが存在しません。代わりに、ジャンルはモジュールとして存在し、組み合わせたり調整したりできる構成要素になります。 その土台はロールプレイであり、人間にとって最も自然で理解しやすい世界との関わり方です。
たとえば戦略的な体験としてカエサルの人生を追体験したい場合、あなたは人として軍団を率い、出来事の内側から一人称で戦いに参加します。 全体像が必要なら、人間という役割から離れて特別な能力を得て、上空から戦場を眺め戦略的俯瞰を得ることもできます。 ロールプレイモードでは命令は即時には実行されません。伝令や将校の連鎖を経て伝わり、遅延したり歪んだり、失われることもあります。しかし役割の外に出て、命令をテレパシーのように直接伝える能力を与えることもできます。そうすれば、自己犠牲が必要な命令でも即時かつ無条件に実行されます。この一歩は体験をロールプレイから古典的なストラテジーへと徐々に移行させます。
一般的なアクションでは反射神経が決め手ですが、ここでは行動の結果はキャラクターの技能レベルに依存します。特に敏捷な英雄にとって時間が遅く感じられることもあります。 レースでは、高速でコーナーを曲がれるかどうかは、ドライバーの技能と状態、車両性能、路面品質、グリップ、周囲のライバル、そして偶然の要素が組み合わさった結果として現れます。
2.3.3. 知識としての世界
ユニバーサルゲームの世界は知識に基づいています。過去と現在の事実、未来の想像、そして創作や幻想が含まれ、それらはゲーム内の実体、属性、相互関係として表現されます。
バイオーム、装備、生物、自然現象、惑星、世界全体は知識のオブジェクトとして扱われます。基本的には現実に近く、植物や動物、季節の移り変わり、地質・歴史時代、科学技術の発展が存在します。人間には技能、長所と短所、個人史、動機があり、病気になったり、怪我をしたり、助けがなければ死に至ることもあります。 ファンタジー、SF、オルタナティブ、ポストアポカリプスなどのシナリオは、この基盤の上に重ねられ、世界の一部を変えても全体の整合性は保たれます。
2.3.4. 出来事
出来事は自発的に起こるのではなく、他のプロセスの結果として発生します。干ばつは草を枯らし、草不足は草食動物の死を引き起こし、獲物を失った肉食動物は人間を襲うかもしれません。世界は原因と結果の連鎖として進み、あらゆる変化が次のプロセスを生み出します。
世界はあなたが介入して名乗りを上げるのを待ちません。世界史はあらかじめ定められたものでもスクリプトでもなく、あなたの選択、他の存在の行動、世界の法則、そして偶然から組み上がります。歴史を題材にするシナリオで出来事が繰り返されるのは、プログラムされているからではなく、同じ原因が再び同じ結果を生むからです。気候に起因する連鎖変化が引き起こした青銅器時代の危機のように。
2.3.5. プレイヤーの決断の結果
プレイヤーの行動は、世界に残り続ける連鎖を引き起こします。たとえば危機的な状況で、グループのリーダーが仲間を犠牲にする決断をし、その結果として評判が傷つき、以後の人生に影を落とすことがあります。
影響が大きいほど結果も大きくなります。川の流れを変え、時間を数世紀早めて地形がどう変わるかを見ることもできます。偉業を成し遂げ、千年の眠りから目覚めると、あなたの名が神話となった新しい時代に帰還することもあります。
世界は独自の歴史を記録し、重要な出来事、その原因、遠い結果を保持します。あなたは何百年後に過去のプレイセッションを、書物や考古学を通じて調べ、かつての決断が現在の世界をどう形作ったかを観察できます。
2.3.6. 動機
あらゆる存在――人間、動物、組織、国家――は、それぞれの役割と動機に従って行動します。彼らはあなたとは無関係に自分の目標を追います。夢、愛、攻撃性、欲望といった状態が振る舞いに影響し、行動を促します。例として:
- 愛する人から長く離れると、精神状態に大きな影響が出て、判断が変わる。
- ファラオが宰相にピラミッド建設を命じると、宰相にとってそれが最重要課題になる。
- 鹿は食べ物を探し、繁殖し、捕食者を避ける。
- 犯罪シンジケートは影響力を広げ、新たな領土を奪おうとする。
2.3.7. ドラマ性
完全にシミュレーションされた世界では、長い「静かな期間」があり得ます。農民として遊べば、戦争や災害、大きな変化のない10年を過ごすこともあるでしょう。 役割を忠実に生き、空白の日々も含めて楽しみたいなら、世界をそのままにしておけます。
しかし退屈に感じたら、ドラマ性を高めることもできます。テンポが上がり、出来事が密度を増し、静けさと緊張のバランスが世界の論理を崩さない範囲でシフトします。 このモードでは世界はより予測不能になり、小さな事件、思わぬ出会い、稀な運命の転機が起きます。シミュレーション自体は壊れず、人物の人生がより映画的になり、普通の警官が追跡や捜査、ドラマティックな分岐を経験するような展開も生まれます。
最大の動きを望むなら、さらにドラマ性を上げることができます。するとほぼ曲がり角ごとに新しい物語が生まれ、出来事は濃密なアクション映画のようになります。
2.3.8. ゲームルールの変更
選んだ役割の枠を越え、世界のルールそのものを変えることができます。たとえば日本のオフィスワーカーとして遊んでいて、突然スーパーヒーローになる決断をした場合、それは世界内の通常行動ではなく、物語の論理を変える一歩になります。
あなたは世界とその法則を変えられます。魔法を加えたり、物や存在の性質を変更したりできます。水が木のように燃え、鳩が知性を持つ世界も作れます。その後の世界は新しいルールのもとで発展し、整合性を保ち続けます。
さらに基礎そのものを実験し、パラドックスの世界や鏡の世界、異なる物理法則を持つ宇宙など、常識と相反する世界を創ることも可能です。 このアプローチはゲーム、シミュレーション、世界編集を結びつけ、ほぼ無限の可能性を開きます。法則を変えても因果性の原則は新しい枠組みの中で働き続けるため、世界は一貫性を保ちます。
現在の世界のスナップショットは、新しいゲームの基盤になり得ます。神の役割を持つプレイヤーが世界を作り、そこに別のプレイヤーが住むこともできます。これはモッドやマップエディタに似ていますが、ユニバーサルゲームの論理の中に組み込まれています。
2.4. ゲームプレイ
2.4.1. 役割の演じ分け
一番の富豪になりたいですか? 超能力を得て不老不死になりたいですか? 宇宙を征服したいですか? 現在の知識を持ったまま過去に行きたいですか?
望む役割で即座に始めることも、ゼロから始めて徐々に能力と境界を広げることもできます。 人間だけでなく、出来事、抽象、理念として演じることも可能です: 火災、疫病、組織、宗教、言語など。 初期シナリオは出発点にすぎず、その後の展開はあなたの選択に完全に委ねられます。
2.4.2. ゲームの目的
ゲームの目的はシナリオで定めても、あなた自身が決めても、両方の組み合わせでも、あるいは存在しない場合もあります。日常的な課題から歴史的な偉業まで、どんな目標でも設定できます。たとえば夢の仕事を得る、あるいは「賢者の石」を発明するなど。 目的を達成してもゲームは終わらず、世界は続き、あなたは望む限りそこに留まれます。
2.4.3. 役割の動的変更
いつでも役割を切り替え、同じ世界の別の存在として物語を続けられます。この変更は出来事を中断せず、別の視点から世界を見ることができます。 例えば同じ家族のメンバーを順に演じたり、戦場の異なる兵士に乗り移ったりできます。この体験は、魂の移動を前提としたゲームでない限り、通常の単一役割のロールプレイを超えたものになります。
2.4.4. プレイヤーの行動
利用できる行動は現在の状況とキャラクターの特性に対応しており、文脈と今の自分が誰かによって決まります。
例えば火災では、逃げる、消火する、他者を助けるといった期待される行動が現れます。しかし逆に、火を広げるような選択もできます。 こうした選択肢の違いはキャラクターの性質を反映します。放火魔にとっては、火事の状況は普通の人とは違って見えるのです。
2.4.5. 自動と手動の管理
デフォルトでは、世界の各存在は自律的に存在し、性質・動機・目標に従って行動します。これはあなたのキャラクターも同じで、あなたが直接操作するまで自律的です。 リーダーとして集団に関わる場合、管理は直接操作ではなく、依頼・命令・期待のシステムとして扱われます。
他の存在は、あなたの命令に従うこともあれば拒否することもあります。関係性、利用可能な資源、恐怖、疲労、身体的制約によって変わります。
2.4.6. 観察
直接プレイしなくても構いません。面白いキャラクターを作り、変わった状況に置き、望むドラマ性(2.3.7 ドラマ性)を設定して、出来事がどう展開するかを観察できます。 それは、物語が自動で展開する映画を見ているような体験になるかもしれません。
観察の結果は他のプレイヤーと共有できます。世界の状態を保存し、共有し、誰かの物語が新たな大作になる可能性もあります。 このモードは娯楽だけでなくモデリングにも向いており、例えば「カメ文明」を作って石器時代から宇宙飛行までの進化を追うこともできます。
2.5. ゲームのインタラクション
2.5.1. カメラと表示
ゲーム内の出来事は、一人称、三人称、俯瞰、あるいはテキスト表示など、さまざまな形で表示されます。表示方法は文脈と選んだ役割によって変わります。例えば人間は一人称で見るのが自然で、思考はテキストとして表現されるかもしれません。国や惑星として遊ぶ場合は、視点が上空の戦略的俯瞰に移ります。
ユニバーサルゲームは一つの表示方法に固定されず、あなたにとって最も便利な形で表現されます。 視覚障害のある人でも、音や説明を通じて世界とやり取りできるようになります。
知覚できる世界の範囲は常に役割に対応します。人間としての役割なら感覚の限界に縛られますが、特別な能力を与えると、隠れたものや遠くのものまで見えるようになります。
2.5.2. グラフィックと音
インターフェース、ビジュアルスタイル、アニメーション、音楽、効果音はゲーム体験を強め、選んだ役割への没入を助けます。 古代や魔術的思考の世界では、視覚と音の表現が人間と神々の二重性を強調し、あらゆる行動に神聖な意味が宿る追加次元のような感覚を生みます。 ポストアポカリプスの世界では、グラフィックと音が生存の脆さ、喪失感、そして新しい始まりへの希少な希望を伝えます。 コウモリの世界では空間の感じ方が異なり、スケールや形は視覚ではなく音で知覚されます。
2.5.3. マップ
世界またはその地図は、選んだ役割に応じて惑星、地域、船、人間の身体など、どのような表面にもなり得ます。例えばアリとして遊ぶなら、小川沿いの草地がマップになります。 空間の知覚はスケールとともに変わり、視点は近づいたり遠ざかったりし、視野角も変化します。
近づくと詳細が現れ、離れると消えて大きな構造や関係が浮かび上がります。
2.5.4. 時間
時間は役割と好みに応じてさまざまな速度で流れます。戦闘中は秒単位、地質プロセスを扱うグローバルモードでは1秒が数百万年に相当することもあります。 時間の加速は、植物や長命種など時間感覚が異なる存在で遊ぶ際に特に適しています。
時間は停止、加速、スキップ、巻き戻しが可能です。望むなら、意思決定を急がないターン制で遊ぶこともできます。 状況によっては、特定のキャラクターを操作している時だけ時間が流れ、次の行動を考える間は停止します。
2.5.5. Online play
Players online can simultaneously play as different characters and entities in the same world, having agreed in advance on the rules of time flow. One may be Napoleon issuing orders to the army, another a grenadier attacking enemies on the battlefield. Players may also be in opposition: some are villagers, others are raiders terrorizing a settlement, others are bounty hunters hunting bandits.
2.6. Universality
2.6.1. Meaning
Nexus can express and reproduce the logic of most existing games at the level of their rules and interactions. This is not about literally copying specific implementations, but about reproducing their core gameplay logic.
This is possible because any game is a set of rules, and rules can be described through simple semantic statements (triplets).
Examples: Dark Souls (in terms of rules):
- Death -> causes -> loss_of_souls
- Bonfire -> is -> respawn_point
- Enemy -> difficulty -> high
- Strike -> depends_on -> stamina
Civilization (in terms of rules):
- Turn -> duration -> depends_on_era
- City -> produces -> [units, buildings]
- Victory -> conditions -> [science, military, culture]
The Sims (in terms of rules):
- Character -> needs -> [hunger, sleep, socialization]
- Need_low -> causes -> bad_mood
- Action -> satisfies -> need
2.6.2. Genre mixes
Since rules are organized as modules, they can be combined. This makes it possible to assemble new gameplay formats from known sets of rules.
Examples: Dark Souls + Civilization:
- You rule the kingdom of Lordran as a civilization.
- Battles and encounters follow Dark Souls rules (skill, timing, danger).
The Sims + zombie apocalypse:
- Everyday needs of Sims (food, sleep, socialization).
- On top of them, survival rules are added (shelter, weapons, danger).
Principle of universality: if game logic can be expressed in words, it can be implemented in Nexus.
2.7. Example
2.7.1. Situation in the world
The player is Ivan, a peasant in the village of Zarechye. He is hungry, his wife is pregnant, and the neighbor Pyotr has lost a cow. Rain is approaching.
2.7.2. How the system understands it (triplets)
Inside the system, this situation is described by a set of simple statements:
- Ivan -> is -> peasant
- Ivan -> hunger -> 30% (or Ivan -> satiety -> 30%)
- Ivan -> located_in -> Zarechye
- Marya -> relation -> Ivan_wife
- Marya -> pregnant -> 8_months
- Cow -> belongs_to -> Pyotr
- Cow -> location -> forest
- Weather -> approaching -> rain
Each statement is an atom of knowledge. Together they form the current state of the world.
2.7.3. How the player sees it
Logic is separated from visualization and remains unchanged. Depending on the display mode, the same triplets are shown differently. More about the UX Language is in section 3.9.
2.7.3.1. Text mode
"You are Ivan, a peasant. Your stomach growls with hunger. Your wife Marya will give birth soon. You hear your neighbor shouting—his cow has run away. A rainy haze is on the horizon."
2.7.3.2. Hex-map mode with icons
- Village tile with objects: 🏠 (house), 🏚️ (barn), 💧 (stream)
- Character: 👤 Ivan [🍞30% red]
- Family: 👩 Marya 🤰 ~30 days
- Event: 🏠 Pyotr 🔊, tracks 🐾🐾 -> 🌲
- Effect: 🌧️ approaching
2.7.3.3. 3D mode
A full village, Ivan’s model holds his stomach, Marya sits by the house, in the distance shouts are heard and a broken fence is visible, dark clouds on the horizon.
2.7.4. Player action
The player formulates an intention: "Help Pyotr find the cow" This action is converted into triplets:
- Ivan -> intention -> help
- Help -> whom -> Pyotr
- Help -> task -> find_cow
The system interprets: 1. Can Ivan help? -> Yes (physically healthy, nearby) 2. Does it take time? -> Yes (~1 hour) 3. Will it affect hunger? -> Yes (it will increase) 4. What will happen? -> Search in the forest, chance to find the cow
2.7.5. Result
After one hour of game time:
- Cow -> location -> found_at_stream
- Ivan -> hunger -> 20% (increased)
- Pyotr -> relation_to_Ivan -> gratitude +10
- Pyotr -> obligation -> help_with_roof
Visually:
- The player sees the animation of returning with the cow
- 🍞 20% (even redder)
- A notification appears: "Pyotr is grateful. He promised to help with the roof."
2.8. From concept to implementation
Sections 2.1–2.7 describe the desired image of Nexus from the player's perspective: what they see, how they interact with the world, what opportunities they get.
Key principles:
- Any game situation can be described in words.
- Words can be formalized as triplets (simple statements).
- Triplets can be interpreted (inferences can be made).
- The result can be visualized in any way.
3. 実装コンセプト

3.1. セクションの目的
このセクションは、Nexus プロジェクトが技術的にどのように実現され、内部でどう構成されるかというアイデアに焦点を当てています。 ここで扱うのは具体的な技術解決策ではなく、こうしたゲームを可能にする原則と方向性です。具体的な実装は開発プロセスで決まり、実践の中で具体化されるものとします。
このセクションではゲームコンセプトそのものを扱わず、実装へのアプローチに焦点を当てます。 対象は主に専門家やゲーム開発者です。
3.2. 柔軟なアプローチ
従来のコンピュータゲーム開発は、あらかじめ設計された堅牢なシステムの中でプレイヤーが動けるようにする方式に基づいています。自由度の高いサンドボックスであっても、本質的には複数の独立したシステムの集合です。これにより多様性の錯覚は生まれますが、固定されたアーキテクチャという原則自体は変わりません。新しいシステムを追加すると、主に開発・保守の複雑さが増すだけで、体験が質的に拡張されるわけではありません。
真の柔軟性を得るためには、この基盤を見直す必要があります。新しいゲームメカニクスの追加がアーキテクチャの複雑化を招いてはならず、代わりにゲームの基本要素を「原子」のような最小・汎用・相互互換の単位として組み合わせるべきです。
このアプローチを示す良い例が Minecraft です。そこでは、数百万個のブロックからなる城や都市、宇宙ステーションなど非常に複雑な構造物を作れます。オブジェクト数が増えても内部アーキテクチャは複雑化しません。システム自体が拡張を前提に設計されているからです。
深くユニバーサルなゲームでは、同じ原則をアーキテクチャ全体に適用できます。ゲームメカニクスの数は無限に増えても、互いに矛盾せず、組み合わせられ、システムの一貫性と管理性を保ちながらどんな複雑な世界も構築できる形で整理されるべきです。
3.3. セマンティックネットワーク
柔軟なアプローチを実現する方法の一つは、ゲームのデータを原子的な論理単位であるトリプレットとして表現することです。 トリプレットとは「主語 – 述語 – 目的語」という形式の単純な命題です。例:
- りんご – は – 食べられる
- りんご – は栄養価を持つ – 5
- 人間 – は食べられる – 果物
- 草 – は成長する – 一定以上の湿度で
- 鹿 – は – 草食動物
- シンジケート – は支配する – 都市の地区
トリプレットを用いれば、物体、その属性や状態、関係、行動、ゲームルール、技術や魔法まで、あらゆるものを記述できます。 これは特定の実装に依存しない知識の表現であり、単なるデータフォーマットではなく、世界の意味を記述する方法です。
深く一貫した世界を作るには、世界の原理から個別の事実まで膨大なデータが必要です。 これらのデータは具体的な内容で満たされます: 動物、技術、アイテム、建物、歴史的出来事など。
3.4. インタープリタ
データ層の上で動作するのがインタープリタです。Apache Jena のような論理システムや、ニューラルネットワーク的なアプローチを利用できます。 インタープリタの役割は、トリプレットを処理し論理推論を行うことです。例:
- りんご – は – 果物
- 人間 – は食べられる – 果物
- 推論: 人間はりんごを食べられる
インタープリタは複数の事実を照合して結論を得ます。推論の連鎖はさらに長くなることもあります。
ゲーム内では、インタープリタは世界の内容を構成し、許可される行動を定義するために使われます。次のような問いに答えます:
- アラビアの熱帯砂漠にどの木が生えるか。
- 初期石器時代と近代で、人々が犬に対してどんな行動を取れるか。
- 現在のプレイヤーが知覚できるオブジェクトは何か。
インタープリタはこれらの問いを単純なデータクエリに分解し、統一されたセマンティック表現に落とし込みます。 インタープリタはすでに形式化されたクエリを扱い、自然言語を直接扱うことはありません。
3.5. セマンティックECS
ユニバーサルゲームの世界がセマンティクス、論理、大量の事実データに基づいて機能するためには、オブジェクトと属性を最大限柔軟に表現できるアーキテクチャが必要です。ハードコードに依存しないことが求められます。
この課題に対する解として、セマンティックECS(従来のECSを知識表現と関係性の表現に適合させたもの)があります。この文脈でECSは、更新ループではなく主にデータモデルとして捉えられ、実用的な入口として使われます。
世界の基盤には、キャラクター、物体、動物、組織、船、植物といったエンティティが存在します。従来のECSと同様に、エンティティ自身はロジックやデータを持たず、コンポーネントが結び付く識別子です。
重要な違いはコンポーネントの構造です。従来のECSではコンポーネントは複数フィールドを持つ構造体ですが、セマンティックECSでは「である」「持つ」「含む」「できる」「属する」といった述語コンポーネントを使います。各述語は世界に関する一つの関係や命題を表します。
例えば「りんご」というエンティティは「である」述語を持ち、「果物」「食べられる」と結び付きます。「食べられる」も独自の属性を持つエンティティであり、「持つ - 栄養価」「持つ - 味」といった形で表現されます。各値コンポーネントは「栄養価 = 5」「味 = 甘い」「重量 = 0.2」のように1つの値だけを持ちます。
このようにして属性のネットワーク/ツリーが形成され、すべての要素が原子的になります。世界内のどんなオブジェクト、属性、関係も最小単位の事実として記述されます。結果として、ルールや相互作用はコードに埋め込まれずデータとして存在します。
性能確保のためにキャッシュ、インデックス、詳細レベル(LOD、後述)などが使われます。 これにより、何百万もの事実からなる世界でもパフォーマンスを維持しつつ、論理的に一貫し、セマンティックなルールで管理できるようになります。
3.6. ゲームルール
データとそれを扱う論理だけでは、ゲームにはなりません。ゲームプレイを生むには追加の層、つまりゲームルールが必要です。これらはハードコードではなく、基本言語ルールの拡張として必要に応じて接続されます。言葉遊びのように、ルールは枠を定めます: 何が許されるか、どんな目的があるか、どんな役割が可能か、ゲーム進行がどのように発展するか。ゲームルールは言語の無限の可能性を、ゲームプレイが成立する限定空間へと絞り込みます。
ゲーム業界では、新作ごとにゲームルールをゼロから再構築するのが一般的です。その結果、多くのRPGやストラテジーは概念的に似通い、違いはメカニクス、グラフィック、世界観に留まることが多くなります。これは標準的な開発手法となり、体験の類似性が当たり前になります。多様性は主にビジュアル、雰囲気、ナラティブによって生み出され、根本的な可能性の差ではありません。
ユニバーサルなゲームルールは、実績あるメカニクスを体系化し統一することを目指します。これにより、開発者は毎回基盤を再構築せずに、より高度な要素に集中できます。ルールはモジュールとして整理され、必要に応じて接続され、特定のゲーム体験を形作ります。
この考え方はゲームエンジンに少し似ています。例えば Unity や Unreal は低レベル機能を実装する必要を減らしますが、ここでは技術ではなくゲームルールの普遍性に焦点があります。近いアイデアは GURPS のようなテーブルトークRPGシステムや、Minecraft、Dwarf Fortress、RimWorld のような複雑なサンドボックスにも見られます。
デフォルトの「ルール」は空の構造であり、モジュールを接続することで初めて内容が生まれます。モジュールの構成が世界の挙動を決めます: ダメージ計算、イニシアチブ、経済、相互作用、イベント処理、制約などです。こうして世界のメカニクスは構成要素として組み上げられます。
モジュールは自由に組み合わせ、ジャンルを混ぜられます。たとえば戦闘モジュールとターン制モジュールを組み合わせると、ユニットが健康値とスキルを持つキャラクターになります。プラットフォーマーモジュールを追加すればジャンプが可能になり、経済モジュールを入れると資源生産が導入されます。ルール構成はゲームの一部となり、シナリオや世界観、ジャンルは他の要素と同様に設定可能になります。
ルールのモジュール化は、固定的な制約集合から柔軟なアーキテクチャへとゲームロジックを変えます。同じシステムで、RPG、ストラテジー、シミュレーション、レースなどをコード変更なしで支えることができるのは、ルールとデータの組み合わせによるからです。これこそが、ユニバーサルゲームを本当にユニバーサルにする要素です。
3.7. 抽象化とLOD
3.7.1. 知覚の限界と抽象化の必要性
ユニバーサルゲームの世界には、動物の移動や都市の成長から、微生物の振る舞いや星系のダイナミクスまで膨大なプロセスが存在し得ます。全空間・全スケールを完全に再計算することは不可能であり不要です。プレイヤーは常に主観的かつ限定的に世界を知覚します。そのため、論理を保ったままスケール可能にするために抽象化の層が必要になります。
抽象化は、詳細がゲーム結果に影響しない場所で適用されます。ミクロな世界、惑星規模の生態圏、星系規模など、それぞれのスケールに応じたエンティティとルールを使います。従って、個々の存在をすべてシミュレートするのではなく、プロセスの総合結果を即座に考慮します。
3.7.2. 時間と空間のスケーリング
時間を早送りする際、ゲームは飛ばした全ての瞬間を再計算しません。代わりに、現在の世界状態を分析し、因果関係を大局的なスケールで適用して、人口がどう変わるか、どの傾向が強まり、どの出来事が起きやすいかといった結果を補間します。これにより、数十年や数千年先へ移動しても世界の整合性を保てます。
空間のスケーリングは世界の構造を変えず、シミュレーションが扱うエンティティとプロセスのレベルを決定します。大きなスケールでは、気候、移住、政治構造といった集約された要素が扱われ、ローカルスケールでは個々の存在とその属性が開きます。どのスケールでも因果関係の統一ロジックは維持されます。
抽象化によって、村、惑星、生態系、銀河といったどの規模の世界でもゲームに収めることができます。詳細はプレイヤーや出来事の論理にとって重要になった時だけ現れ、それ以外は簡略化された形で記述されますが、因果関係は保持されます。
プレイヤーは世界の構造を深掘りし、エンティティを学び、参照システムを辿るように属性を閲覧できます。ここでの制約は、利用可能なデータと世界のルールだけです。
3.7.3. 世界のマテリアライズ
世界は探索とともに形作られます。プレイヤーが訪れるまでは、場所はデータとルールとして存在し具体的なオブジェクトはありません。オブジェクトはプレイヤーが世界と相互作用する瞬間に具現化します。これは Minecraft のチャンク読み込みに似ており、世界全体は計算されないものの、主観的には既に存在しているように感じられます。
出来事は、プレイヤーの観測外であっても世界が完全に存在しているかのように生成されます。
場所や存在との相互作用が終わると、その状態は新しい世界知識として保存され、以後のアクティブ計算には参加しません。このアプローチにより、ミクロから銀河まで、無駄な詳細を保存・再計算することなく世界を拡大できます。
長期スパンでは統計的傾向が利用されます。例えば、直径約1kmの小惑星が地球に衝突するのはおよそ100万年に1回と知られています。技術文明が数千年の時間軸で消滅する確率を見積もるモデルもあります。これらは正確な結果を与えるのではなく、起こり得るシナリオの範囲を示します。したがって、プレイヤーが千年先へ移動すると、システムは文明の廃墟、安定した発展、または別の整合的な未来の中から選択します。
3.7.4. オンラインプレイ
オンラインモードでも、相互作用に応じて世界がマテリアライズされる原則が用いられます。サーバーは世界を完全に計算された固定マップとして保持しません。代わりに、データ、ルール、そしてプレイヤーによって発見・変更された事実を扱います。
一つの地域に複数のプレイヤーが関与すると、サーバーはその地域の共有された具現化状態を作り、参加者間で同期します。その状態は、実際に観測され利用される詳細度に限って存在します。
相互作用のない場所では世界は継続的に再計算されず、ルール、統計的傾向、蓄積された事実として潜在状態のまま残ります。これにより、多数のプレイヤーが存在する大規模で連続的な世界を維持しつつ、実際に観測され重要な部分だけを同期できます。
3.8. エージェントと世界シミュレーション
世界のあらゆる存在――人間、動物、組織、国家――は、自分の目標、動機、状態を持つエージェントとして扱われます。エージェントは:
- 知識の範囲で世界を知覚する。
- 取れる行動の選択肢を評価する。
- 目標と世界ルールに基づいて意思決定する。
- 世界の状態を変える出来事を引き起こす。
世界全体は多層シミュレーションとして動きます:
- 自然は気候と資源の影響で変化する。
- 生態系は環境変化に反応する。
- 人々や社会は、自然・技術・政治の変化に応答する。
- プレイヤーはそのプロセスに世界の一つの存在として参加する。
世界の歴史は事前に決められたり手書きされたりしません。共通の法則と因果関係の中で行動する多数のエージェントの相互作用から生まれます。
例えば、干ばつは草を減らし、草不足は草食動物の飢えを生み、飢えは移動を引き起こし、その移動が捕食者や人間との衝突へつながります。こうした連鎖は事実とルールに基づいて形成され、現在の条件から自然に導かれる結果を定めます。
3.9. UX言語
ゲームとのインタラクション言語は、人間の言語に近い論理で構築されています。この言語を通じてプレイヤーとゲームは実際に対話します。言語には、ほぼ任意の複雑さの意味構造を作れる規則があります。
インターフェースやマップの各状態は「今何が見えているか?」という問いとして捉えられ、利用可能な行動は「この状況で何ができるか?」という問いになります。ゲームは世界の状態、アバターの位置、想定される対象を分析し、新しい世界状態と新しい表示として答えを返します。
最も単純なレベルでは、言語は世界で知覚される物事の名称です: 「木」「母」「太陽」など。 次のレベルでは、それらの属性や状態を表現できます: 「怒った人」「たくさんの星」「強いライオン」「スパルタ300」など。
ゲーム内では、こうした概念は具体的なエンティティとして表現することも、アイコンのような図記号で表現することもできます。 各単語や概念にはアイコンが対応します。
属性は視覚的な手法で示されます:
- 「怒っている」「悪い」「ネガティブ」— 赤い背景。
- 「多い」「300」「数百万」「無限」— 数量を示すミニアイコン。
- 「強い」「危険」「強力」「レベル3」— レベルを示すミニアイコン。
- 枠の色で、他プレイヤーや派閥への所属を示す。
主要アイコンには、追加のピクトグラム、アニメーション、発光などを重ね、頻繁に使われる属性や感情的トーンを伝えることができます。 より複雑または稀な属性は、主要エンティティの横や内部に縮小表示される補助アイコンで表現されます。
アイコンはアニメーション化することもでき、追加の情報層を提供します。例えば重度のダメージでは、ハートが不規則に弱く鼓動し、危険な状態を示します。
この言語はキャラクターの知識の制限も反映します。アバターが他文化の代表に遭遇し、言語を理解できない場合、アイコンは歪んだり読めない記号になります。情報が一部しか分からない場合は該当要素が隠され、例えば敵の種類は分かっても数は分からないという状態になります。
同じエンティティでも文化によって見え方が異なります。古代エジプト人にはヒエログリフとして見え、ロボット的な存在にはデジタル記号として見えるでしょう。
プレイヤーが行動を行うとき、世界のオブジェクトと相互作用します。直接シミュレーションでは一人称の物理的な行動であり、抽象モードでは条件付きアイコンの選択になります。 行動自体は基本的な言語構文から形成されます。
ゲーム言語の核はセマンティック・トリプレットです: 主語 - 動詞 - 目的語。
例:
- 「私 - 欲しい - りんご」
- 「私たち - 宣戦布告 - あなたへ」
- 「私たち - 攻撃する - 白い羽根の部族」
インターフェースでは、主語(プレイヤーのアバターや別の存在)を選び、対象を指定し、行動を選択する形になります。
この構文には修飾子を追加できます: 時間、形容詞、条件など。 例えば: 「奴隷(主語) - 建設する(述語) - ピラミッド(目的語) - 速く(述語修飾)」。 「速く」という修飾子は特別なルールを適用します。作業は速くなる代わりに事故のリスクが増えたり結果の品質が下がります。
行動がアバター自身ではなく別の主体に向けられる場合、それは依頼または命令として解釈されます。
4. ロードマップ

4.1. 戦略的ビジョン
このセクションは Nexus プロジェクトの実装計画を記述します。
単一プロジェクトを作ってその後アーリーアクセスに入る方法は、このケースには適していません。 より適切なのは、複数の段階プロジェクトを順に開発するアプローチです。それぞれが個別のアイデアや方向性を実装・検証し、Nexus の最終的なビジョンに近づけます。 各段階のプロジェクトはフィードバックや批評を受け、初期コンセプトとの整合性や方向性の正しさを評価できます。 時間が経つにつれて、これらのプロジェクトはより複雑かつ高品質になり、最終的にセクション2で描かれた Nexus に成長する可能性があります。
Nexus の開発は段階プロジェクトの連鎖に分割されています。 現在に近い段階では目標と課題がより明確で具体的に定義されます。遠い段階は方向性やアイデアのレベルで示され、詳細な設計は行いません。 段階の順序は厳密に固定されません。ロードマップは詳細な計画ではなく、全体の方向性を示すものです。 開発の進行に応じて段階とタスクは調整・補完されます。
4.2. 段階
4.2.1. ステージ0: ユニバーサルゲームの理解形成(完了)
2013年以降の Clarus Victoria の取り組み、6つのプロジェクトのリリース、長年の研究・実験・プロトタイプ作成により、ユニバーサルゲームの基礎的理解とその原理が形成されました。この段階の成果が本ドキュメントです。
4.2.2. ステージ1: ECS とエンティティ統合(完了)
- ECS アーキテクチャは Next Run プロジェクトで検証されました。エンティティはコンポーネント集合を持つ空のコンテナとして表現され、アイテム、クリーチャー、バイオーム、イベント、効果などの世界オブジェクトを柔軟に構築できます。
- RPG とストラテジーの統合、ユニバーサルアクション、時間の流れモデル、部隊制御など、複数のアイデアが検証されました。
- スタジオとして初めて六角形マップを実装し、異なるゲーム世界の迅速な構築と組み合わせを可能にしました。
- スタジオとして初めて Steam Workshop を通じたモッド対応を追加しました。
この段階の詳細はこちら: https://clarusvictoria.com/blog/almost-ten-years-of-search
4.2.3. ステージ2: 現実世界ベースのゲームプレイ(開発中)
Next Run ではユニバーサルゲームの多くのアイデアが検証されましたが、世界の法則が仮想的なファンタジー設定に限定されていました。第2段階では、自然的・社会的なパターンを持つ現実世界のモデル化へ移行します。 この段階の目標は、現実世界の論理に基づいたリアルなゲームプレイ基盤を築くことです。
実装予定の特徴:
- 社会の進化: 動物と共に生きる原始人から、最初の文明の誕生まで。
- バイオームとタイル生態系: 飢え、移動、資源競争。植物・動物・地形が人間の生存に直接影響。
- 事前に書かれたスクリプトではなく、ルールから発生するゲーム状況やイベント。例: 資源不足から人間同士の争いが起こり、捕食者の襲撃が発生する。
- ユニット行動の自動化または手動制御、共有行動ルールによる集団制御。能動的プレイと観察の両方。
- 個人キャラクターまたは集団としてのプレイ。
- 1マップ上での複数プレイヤーの競争。
- 既存の Clarus Victoria ゲームでおなじみの技術ツリーの復活。
- 設定可能な世界: マップサイズ、時代、気候、地域特性。
- エージェントモデルの初期版。
- 想定される時代設定: 石器〜青銅器時代。
4.2.4. ステージ3: セマンティックアーキテクチャ(計画)
Nexus プロジェクトのリスクを下げる重要なステップの一つが、ゲームアーキテクチャをセマンティック基盤へ移行することです(セクション3.3〜3.5)。
この段階では、すべてのシステムを最低限の機能で導入します:
- セマンティックトリプレットによる世界記述。
- インタープリタ。
- 既存の ECS からセマンティック ECS への移行。
- 新しいアーキテクチャの基本ルール。
- 想定される時代設定: 初期文明のいずれか。
ゲームメカニクス的には大きな複雑さは増えません。主な目的は、既に検証済みのソリューションとメカニクスを新しい基盤に移すことです。
4.2.5. ステージ4: エージェントモデル(計画)
この段階では、ステージ2で導入が難しいと判断された重要システムを実装します。具体的にはエージェントモデルの主体に関する深い設計です。ステージ2は土台を整える段階であり、ステージ4でエージェントが完全に実装されます。 ゲームアーキテクチャはより複雑な現実世界のプロセスをサポートし、ステージ2よりも高い複雑性で社会をモデル化できるようになります。
実装予定の特徴:
- 完全なエージェント行動モデル: エンティティが目標・状態・動機を持つ。
- 実行が保証されず、状態や文脈に依存する依頼・命令システム。
- 世界の豊かさと複雑なシステム、オブジェクトロジックの拡張。
- 主体ごとのインベントリ、物流チェーン、輸送システム。
- Lua によるゲームロジックの一部外部化で高度なモッドを可能にする。
- 想定される時代設定: 古代世界。
4.2.6. ステージ5: 抽象化とLOD(計画)
セマンティックアーキテクチャと世界の複雑化により、プレイヤー端末の計算負荷が増加します。この段階では、プレイヤーの行動範囲外のエンティティをアクティブシミュレーションから除外する抽象化ルールを導入します(3.7参照)。 これにより、負荷の増加を抑えたまま世界の複雑性を高め、低スペックやモバイル端末でも動作可能にします。 実装順序は開発に応じて調整される可能性があります。
4.2.7. ステージ6以降: Nexus エンジンの主要機能(計画)
ステージ1〜5で Nexus の基礎機能が形成されます。ステージ6以降では、エンジン能力の拡張、スケーラブルな機能、詳細、コンテンツの追加に焦点が移ります。これらはセクション2と3で述べられています。
この段階で想定される開発領域:
- 時間と空間のスケーリング、詳細レベルと抽象化。
- ネットワークプレイ。
- ゲームシナリオと設定の生成。
- 一人称視点からグローバルスケールまでの表示モード対応。
- プレイスタイルや没入度に応じた適応型UIとサウンド。
- セクション2・3で記述された追加機能。
4.2.8. Nexus 1.0(計画)
Nexus 1.0 のリリース時期は、セクション2および3に記載された主要アイデアと機能が基礎的に実装された段階で決まります。
5. 課題
5.1. 計算量の高さ
課題: セマンティックアーキテクチャと多数のトリプレットはリアルタイム動作に重く、ハードウェア上でのスケーリングに限界が出る可能性があります。
対応: 抽象化ルールとLODによって対処します。プレイヤーがある程度関与するエンティティのみを計算します(3.7参照)。セマンティック表現は全てを論理推論で処理するわけではなく、頻用操作には直接データ構造やキャッシュを使います。
5.2. ゲームプレイ焦点の曖昧さ
課題: Nexus の普遍性は、プレイヤーが何を遊んでいるのか分からなくなるリスクを持ちます。何でもできるが、目的が不明確になる可能性があります。
対応: Nexus は固定された目的を必要としません。方向性はシナリオ、世界の論理、プレイヤーの役割によって形成されます。普遍性は無秩序を意味しません。世界そのものがスケールを制限し、プレイヤーの役割に応じた制御と情報が提供されます。例えば支配者として行動する場合、何千もの村を直接管理する必要はなく、補佐役や大臣が処理します。
5.3. 未完成のまま長期化するリスク
課題: Nexus の規模と複雑さにより、開発が長期化し明確な完成状態に到達しない可能性があります。外部からは多大な資金と大規模チームを要するAAA級プロジェクトと見なされるかもしれません。
対応: Nexus は連続する段階プロジェクトとして開発され、定期的なリリースと具体的な成果を積み重ねます。長期的なプロトタイプではなく、完成度の高い中間版を積み上げる進行です。成功基準とプレイヤーのフィードバックが、計画通りの進行を支えます。
5.4. デバッグと論理制御の難しさ
課題: セマンティックアーキテクチャとインタープリタは論理連鎖と推論のデバッグを難しくし、開発やバランス調整、世界挙動の制御を複雑にします。
対応: セマンティック論理のデバッグ難易度は副作用ではなく、アーキテクチャの一部として受け入れます。Nexus では、因果連鎖、推論の出所、状態を制御する仕組みが基盤として組み込まれます。説明可能性と可観測性がなければ、そのような世界モデルは管理できません。
5.5. 初期フォーカスの欠如リスク
課題: 初期段階での Nexus 概念の広さは、明確なMVPを作りにくくし、特定のオーディエンスに向けた検証や、誰のためのプロジェクトかを理解することを困難にします。その結果、ゲーム価値を検証する前にアーキテクチャに投資するリスクが高まります。
対応: Clarus Victoria には10年以上築いてきた既存のニッチとオーディエンスがあります。抽象的なMVPを作る代わりに、明確で馴染みのあるゲームプレイを持つ独立したプロジェクトを用います。各プロジェクトでゲームプレイを段階的に拡張し、Nexus 1.0 に近づけます。成功の基準はプレイヤーのフィードバックと、宣言した開発方向との整合性です。
ドキュメント最終更新日: 18.01.2026
