Compare commits
208 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3837e3eafa | ||
|
|
5d69334b13 | ||
|
|
edaebe4406 | ||
|
|
305088390d | ||
|
|
af568d4244 | ||
|
|
37294dacd8 | ||
|
|
02eb094f2c | ||
|
|
c73c7361c8 | ||
|
|
abb2f6e07b | ||
|
|
561f1efe21 | ||
|
|
f301d67493 | ||
|
|
d6e5d334ca | ||
|
|
b43530ee99 | ||
|
|
3a47d48fb8 | ||
|
|
7197dd1acb | ||
|
|
1941218665 | ||
|
|
462c28fb30 | ||
|
|
4abd17e6f8 | ||
|
|
6dc0447293 | ||
|
|
17ca0cbbce | ||
|
|
e1f5e5e92a | ||
|
|
a3b8dd99aa | ||
|
|
f14ea0b92e | ||
|
|
d55ada7d66 | ||
|
|
f539b21801 | ||
|
|
b8a4850e80 | ||
|
|
5b0bba517a | ||
|
|
b83dffee20 | ||
|
|
7ee83ebca7 | ||
|
|
c53932966b | ||
|
|
853e74630e | ||
|
|
32c6bf1d46 | ||
|
|
ca9c0a69af | ||
|
|
05c31491c3 | ||
|
|
c2cb8098ee | ||
|
|
6a4059280a | ||
|
|
aef6fe6f74 | ||
|
|
ae28d3a546 | ||
|
|
67dee208e1 | ||
|
|
1983c36a35 | ||
|
|
6e380f1161 | ||
|
|
abd349084d | ||
|
|
3cc8e8638e | ||
|
|
b225d74ba0 | ||
|
|
162ea8efe2 | ||
|
|
e8489fcc25 | ||
|
|
55a3f3f8cb | ||
|
|
198b652993 | ||
|
|
3c586f936c | ||
|
|
57c669be47 | ||
|
|
8fb81c3473 | ||
|
|
3d117c2fb2 | ||
|
|
c772edfff0 | ||
|
|
9a681a51f8 | ||
|
|
3d6e11c428 | ||
|
|
a6db8b8c4f | ||
|
|
14d18e771d | ||
|
|
4cfea7eb9c | ||
|
|
085f3bdaee | ||
|
|
f2812a16ea | ||
|
|
0890fc18b2 | ||
|
|
acf7d9dd35 | ||
|
|
3ca5333246 | ||
|
|
2e3c3e51c4 | ||
|
|
30a10bbb1c | ||
|
|
6b0bf25699 | ||
|
|
864b03b460 | ||
|
|
32fc37125c | ||
|
|
fc668b3711 | ||
|
|
9ed511aafb | ||
|
|
1083ec3db6 | ||
|
|
b6bce76c36 | ||
|
|
1f45d13214 | ||
|
|
231450bd33 | ||
|
|
af3067477d | ||
|
|
f6bd854eaf | ||
|
|
9a16e2aa16 | ||
|
|
a51f0a0ad2 | ||
|
|
5590b83487 | ||
|
|
2c69383112 | ||
|
|
a1b7583f36 | ||
|
|
8124537cff | ||
|
|
303bffe413 | ||
|
|
33cf306e58 | ||
|
|
3bb993ccfe | ||
|
|
a76c08db95 | ||
|
|
bb1137a87d | ||
|
|
fb173b1f69 | ||
|
|
b094032eb2 | ||
|
|
e04be9f012 | ||
|
|
4c75d647bd | ||
|
|
ef0ff24783 | ||
|
|
880e83c53e | ||
|
|
bdf78bc3d6 | ||
|
|
06e43f2add | ||
|
|
9296cdde79 | ||
|
|
a5363a07ad | ||
|
|
31ab56251b | ||
|
|
ce7a1a0ca7 | ||
|
|
ee6a6bab51 | ||
|
|
950032eb6a | ||
|
|
7aa8aae55c | ||
|
|
39f158bbe8 | ||
|
|
f047251c0d | ||
|
|
1aaa4d4094 | ||
|
|
a5d2b192fe | ||
|
|
21a4666915 | ||
|
|
36ef26344f | ||
|
|
b3e62b8c22 | ||
|
|
26038004ef | ||
|
|
307bfa7e32 | ||
|
|
15fdc2a692 | ||
|
|
c4ed8044dd | ||
|
|
d7549d7d32 | ||
|
|
10dba3c418 | ||
|
|
0be4d068fb | ||
|
|
60ae27cc20 | ||
|
|
796f48315f | ||
|
|
a1210589b7 | ||
|
|
3f7bed61fe | ||
|
|
54cb096bd8 | ||
|
|
d55717592c | ||
|
|
06e7ed5e97 | ||
|
|
937e71db85 | ||
|
|
7980fc0705 | ||
|
|
6227ebd0e8 | ||
|
|
5fb5d0366a | ||
|
|
75ab17f568 | ||
|
|
bd0903edfc | ||
|
|
bb8614407d | ||
|
|
37b51b7650 | ||
|
|
e8bf436797 | ||
|
|
6c941c2393 | ||
|
|
8f3f095c27 | ||
|
|
ebd4f8be18 | ||
|
|
991f9908d6 | ||
|
|
9295d71a90 | ||
|
|
36bac598d6 | ||
|
|
1215a2edce | ||
|
|
5dc137837b | ||
|
|
ecf85da10d | ||
|
|
73fcdffd86 | ||
|
|
8303167add | ||
|
|
c6c56da1b9 | ||
|
|
befd158c46 | ||
|
|
9e1c536c07 | ||
|
|
4d245653a6 | ||
|
|
0cdcb6f5e1 | ||
|
|
9634ace682 | ||
|
|
0c0d4f8240 | ||
|
|
e7a630b143 | ||
|
|
39be21ae26 | ||
|
|
c41285603b | ||
|
|
45faba9990 | ||
|
|
d7dbe8a0da | ||
|
|
1c49d27c82 | ||
|
|
5aaf6abcbb | ||
|
|
c6d1814263 | ||
|
|
c25b652fbe | ||
|
|
a65a23726e | ||
|
|
6a6cc9e1c5 | ||
|
|
d4e0fdacf3 | ||
|
|
99e4871a5d | ||
|
|
8ae8b50e70 | ||
|
|
460984e5ab | ||
|
|
dfba5fda28 | ||
|
|
077cb5978f | ||
|
|
fb4d70a8ee | ||
|
|
522b522024 | ||
|
|
8e0c4beaba | ||
|
|
73a2f1ab5a | ||
|
|
52d953f565 | ||
|
|
85764cfa2e | ||
|
|
259d4a3794 | ||
|
|
870037d811 | ||
|
|
6ab05edab2 | ||
|
|
a234e621b7 | ||
|
|
327015fdea | ||
|
|
fcc67199ef | ||
|
|
c7a8cdd420 | ||
|
|
41d2103ffc | ||
|
|
5a51b6638d | ||
|
|
0713881b71 | ||
|
|
f4f62052ff | ||
|
|
dfe28bd8ba | ||
|
|
10d571e6bb | ||
|
|
cdc3322ff0 | ||
|
|
bfefb97ea2 | ||
|
|
32cb34c173 | ||
|
|
c5e2c2ff6d | ||
|
|
8e72acee57 | ||
|
|
b21e654aea | ||
|
|
05dd69b26e | ||
|
|
09401c37b7 | ||
|
|
e7d6ce7879 | ||
|
|
c4bc8daddc | ||
|
|
c341a1fddd | ||
|
|
d2cf568154 | ||
|
|
8a4e5ddd87 | ||
|
|
b23e1b68e8 | ||
|
|
c1963beef2 | ||
|
|
19f5faabf3 | ||
|
|
307ad405ac | ||
|
|
5ae2538d86 | ||
|
|
d5e8ad0ac9 | ||
|
|
0c55dbcb2a | ||
|
|
82d65ba64a | ||
|
|
e249babeb2 |
2
.gitignore
vendored
@@ -152,4 +152,4 @@ local_config.yml
|
||||
|
||||
台本/
|
||||
笔记/
|
||||
tmp/
|
||||
tmp*/
|
||||
160
EN_README.md
@@ -1,57 +1,86 @@
|
||||
<!-- Language / 语言 -->
|
||||
<p align="center">
|
||||
<h3 align="center">
|
||||
<a href="README.md">🇨🇳 中文</a> · <a href="EN_README.md">🇺🇸 English</a>
|
||||
</p>
|
||||
</h3>
|
||||
<p align="center">— ✦ —</p>
|
||||
|
||||
# Cultivation World Simulator
|
||||
|
||||
An AI-driven cultivation world simulator that aims to create a truly living, immersive xianxia world.
|
||||
<p align="center">
|
||||
<img src="assets/screenshot.gif" alt="Game Demo" width="100%">
|
||||
</p>
|
||||
|
||||
## Overview
|
||||
> **An AI-driven cultivation world simulator that aims to create a truly living, immersive xianxia world.**
|
||||
|
||||
Cultivation World Simulator combines traditional game-rule systems with large language models. By first establishing a complete ruleset for the cultivation world, it creates an autonomous, vibrant, immersive virtual world with emergent stories.
|
||||
## 📖 Introduction
|
||||
|
||||
Core idea: **Build a credible rule-based world model first, then plug in AI to bring it to life.**
|
||||
This is an **AI-driven open-world cultivation simulator**.
|
||||
|
||||
### Tech Stack
|
||||
Unlike traditional RPGs where you play a specific character, here **you play as the "Heavenly Dao" (God)**.
|
||||
You don't need to personally fight monsters or level up. Instead, you observe all living beings from a god's perspective. In an open world woven together by rules and AI, you witness the rise and fall of sects and the emergence of prodigies. You can quietly watch the world change, or bring down tribulations and alter minds, subtly intervening in the world's progress.
|
||||
|
||||
- **Frontend Rendering**: pygame (Web support in the future)
|
||||
- **Simulation Engine**: custom event-driven simulator
|
||||
- **World Model**: rule-based deterministic systems
|
||||
- **AI Integration**: LLM-generated actions, decisions, micro-stories
|
||||
### ✨ Core Highlights
|
||||
|
||||
## Background
|
||||
- 👁️ **Play as "Heavenly Dao" (God Perspective)**: You are not a cultivator, but the **Heavenly Dao** controlling the world's rules. Observe the myriad forms of life and experience their joys and sorrows.
|
||||
- 🤖 **Fully AI-Driven**: Every NPC is independently driven by LLMs, with unique personalities, memories, relationships, and behavioral logic. They make decisions based on the current situation, have love and hate, form factions, and even defy the heavens to change their fate.
|
||||
- 🌏 **Rules as the Cornerstone**: The world runs on a rigorous numerical system including spiritual roots, realms, cultivation methods, and lifespans. AI imagination is constrained within a reasonable cultivation logic framework, ensuring the world is authentic and credible.
|
||||
- 🦋 **Emergent Storytelling**: Even the developer doesn't know what will happen next. There is no preset script, only world evolution woven from countless causes and effects. Sect wars, righteous vs. demonic conflicts, the fall of geniuses—all are deduced autonomously by the world's logic.
|
||||
|
||||
I have been a long-time reader of xianxia novels, from classics to modern works. As a game AI practitioner, I believe today’s LLM capabilities are sufficient to support a xianxia-style world simulation.
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td width="33%" valign="top">
|
||||
<h4 align="center">Character Panel</h4>
|
||||
<img src="assets/角色.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">Personality Traits</h4>
|
||||
<img src="assets/特质.png" width="100%" />
|
||||
</td>
|
||||
<td width="33%" valign="top">
|
||||
<h4 align="center">Sect System</h4>
|
||||
<img src="assets/宗门.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">Life Experiences</h4>
|
||||
<img src="assets/经历.png" width="100%" />
|
||||
</td>
|
||||
<td width="33%" valign="top">
|
||||
<h4 align="center">Independent Thinking</h4>
|
||||
<img src="assets/思考.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">Short/Long Term Goals</h4>
|
||||
<img src="assets/目标.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">Nicknames</h4>
|
||||
<img src="assets/绰号.png" width="100%" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
However, LLM-only NPC decision/dialogue is not enough. A credible rule system must ground the world as the “world model”, and then AI makes it vivid.
|
||||
### Why make this?
|
||||
The worlds in cultivation novels are fascinating, but readers can only ever observe a corner of them.
|
||||
|
||||
I aim to create a pure, joyful, direct, living sense of immersion. Not a mere marketing demo, nor purely academic like “Stanford Town”, but a world that players can actually feel and inhabit.
|
||||
Cultivation games are either completely scripted or rely on simple state machines designed by humans, often resulting in forced and unintelligent behaviors.
|
||||
|
||||
If you like this project, consider starring it~ You can also watch intro videos for this project on my [Bilibili account](https://space.bilibili.com/527346837).
|
||||
With the advent of Large Language Models, the goal of making "every character alive" seems reachable.
|
||||
|
||||

|
||||
I hope to create a pure, joyful, direct, and living sense of immersion in a cultivation world. Not a pure marketing tool for some game company, nor pure research like "Stanford Town", but an actual world that provides players with real immersion.
|
||||
|
||||
## Contact
|
||||
|
||||
If you have any questions or suggestions, feel free to open an Issue or Pull Request.
|
||||
You're also welcome to leave a message on my [Bilibili account](https://space.bilibili.com/527346837)!
|
||||
You can also join the QQ group for discussion: 1071821688. Verification answer is my Bilibili nickname.
|
||||
|
||||
## Development Progress
|
||||
|
||||
### 🏗️ Foundation
|
||||
- ✅ World map basics
|
||||
- ✅ World map basics, time, event system
|
||||
- ✅ Diverse terrain types (plain, mountain, forest, desert, water, etc.)
|
||||
- ✅ Time system
|
||||
- ✅ Frontend UI
|
||||
- ✅ Web-based frontend interface
|
||||
- ✅ Simulation framework
|
||||
- ✅ Project documentation
|
||||
- ✅ Config system
|
||||
- ✅ Configuration files
|
||||
- ✅ Standalone release (packaged exe)
|
||||
- ✅ Menu bar & Save & Load
|
||||
|
||||
### 🔭 Long-term Systems
|
||||
- [ ] Web frontend support
|
||||
- [ ] ECS parallel toolkit
|
||||
- [ ] Player-customizable prompts
|
||||
- [ ] Novelization/imagery/video for history and events
|
||||
- [ ] Player-controlled character
|
||||
- ✅ Flexible custom LLM interface
|
||||
|
||||
### 🗺️ World System
|
||||
- ✅ Basic tile mechanics
|
||||
@@ -73,8 +102,10 @@ If you like this project, consider starring it~ You can also watch intro videos
|
||||
- ✅ Effect system: buffs/debuffs
|
||||
- ✅ Techniques
|
||||
- ✅ Combat equipment & auxiliary equipment
|
||||
- ✅ Short/Long term memory
|
||||
- ✅ Character's short and long term objectives, supporting player active setting
|
||||
- ✅ Avatar nicknames
|
||||
- [ ] Character compatibility
|
||||
- [ ] Epithets/nicknames
|
||||
- [ ] Skill learning system:
|
||||
- [ ] Learnable skills
|
||||
- [ ] Life professions (alchemy, formations, planting, forging, etc.)
|
||||
@@ -85,8 +116,9 @@ If you like this project, consider starring it~ You can also watch intro videos
|
||||
- [ ] Sect system
|
||||
- ✅ Settings, techniques, healing, base, styles
|
||||
- ✅ Special sect actions: Hehuan Sect (dual cultivation), Hundred Beasts Sect (beast taming)
|
||||
- [ ] Sect will AI, sect tasks
|
||||
- ✅ Sect tiers
|
||||
- [ ] Sect will AI
|
||||
- [ ] Sect tasks
|
||||
- [ ] Clans
|
||||
- [ ] Court/Empire (TBD)
|
||||
- [ ] Inter-organization relations
|
||||
@@ -101,14 +133,14 @@ If you like this project, consider starring it~ You can also watch intro videos
|
||||
- ✅ Multiplayer actions: initiator + responder flow
|
||||
- ✅ LLM actions that affect relationships
|
||||
- ✅ Systematic action registration and runtime logic
|
||||
- [ ] Richer actions
|
||||
|
||||
### 🎭 Event System
|
||||
- ✅ Heaven-earth Qi fluctuations
|
||||
- [ ] World-scale events:
|
||||
- [ ] Auctions
|
||||
- [ ] Secret realm exploration
|
||||
- [ ] Martial tournaments
|
||||
- [ ] Heaven-earth Qi fluctuations
|
||||
- [ ] Sect grand competition
|
||||
- [ ] Sudden events
|
||||
- [ ] Treasure/cave emergence
|
||||
- [ ] Natural events:
|
||||
@@ -121,8 +153,7 @@ If you like this project, consider starring it~ You can also watch intro videos
|
||||
|
||||
### 🎒 Items
|
||||
- ✅ Basic items and spirit stones
|
||||
- [ ] Trading mechanics
|
||||
- [ ] Economy system
|
||||
- ✅ Trading mechanics
|
||||
|
||||
### 🌿 Ecology
|
||||
- ✅ Animals and plants
|
||||
@@ -142,9 +173,7 @@ If you like this project, consider starring it~ You can also watch intro videos
|
||||
- ✅ Battle micro-theaters
|
||||
- ✅ Dialogue micro-theaters
|
||||
- ✅ Multiple writing styles
|
||||
- [ ] NPC observation space design
|
||||
- [ ] One-off choices (e.g., switch techniques or not)
|
||||
- [ ] Long-term memories / unforgettable memories
|
||||
- ✅ One-off choices (e.g., switch techniques or not)
|
||||
|
||||
### 🏛️ World Lore
|
||||
- [ ] Lore framework
|
||||
@@ -154,13 +183,23 @@ If you like this project, consider starring it~ You can also watch intro videos
|
||||
### Specials
|
||||
- ✅ Fortuitous encounters
|
||||
- ✅ Tribulations & Heart devils
|
||||
- [ ] Paths/Daos
|
||||
- [ ] Possession & Rebirth
|
||||
- [ ] Opportunities & Karma
|
||||
- [ ] Divination & Prophecy
|
||||
- [ ] Male appearance female traits & Female appearance male traits
|
||||
- [ ] Character Secrets & Two-faced
|
||||
- [ ] Ascension to Upper Realm
|
||||
- [ ] Formations
|
||||
- [ ] Opportunities
|
||||
- [ ] Flexible world rules
|
||||
- [ ] Divination & Omens
|
||||
- [ ] Male-female traits inversion
|
||||
- [ ] Paths/Daos
|
||||
- [ ] World Secrets & World Laws (Flexible customization)
|
||||
- [ ] Gu Refining
|
||||
- [ ] World-ending Crisis
|
||||
- [ ] Become a Legend of Later Ages
|
||||
|
||||
### 🔭 Long-term
|
||||
- [ ] ECS parallel toolkit
|
||||
- [ ] Novelization/imagery/video for history and events
|
||||
- [ ] Avatar calling MCP tools on their own
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -173,33 +212,42 @@ If you like this project, consider starring it~ You can also watch intro videos
|
||||
|
||||
2. Install dependencies:
|
||||
```bash
|
||||
# Backend dependencies
|
||||
pip install -r requirements.txt
|
||||
|
||||
# Frontend dependencies (Node.js environment required)
|
||||
cd web && npm install
|
||||
```
|
||||
|
||||
3. Configure LLM:
|
||||
Edit `static/config.yml`:
|
||||
```yaml
|
||||
llm:
|
||||
model_name: "qwen-plus" # or another model supported by LiteLLM
|
||||
key: "your-api-key-here" # your API key
|
||||
base_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"
|
||||
llm:
|
||||
key: "your-api-key-here" # your API key
|
||||
base_url: "https://api.xxx.com" # API base URL
|
||||
model_name: "model-name" # main model name
|
||||
fast_model_name: "fast-model" # fast model name
|
||||
```
|
||||
For supported models, refer to [litellm documentation](https://docs.litellm.ai/docs/providers)
|
||||
Supports all API providers compatible with OpenAI interface format (e.g., Qwen, DeepSeek, SiliconFlow, OpenRouter, etc.)
|
||||
|
||||
4. Run the simulator:
|
||||
You can also configure LLM parameters directly in the frontend:
|
||||
|
||||
<img src="assets/llm_config.png" alt="Frontend LLM Config" width="100%">
|
||||
|
||||
4. Run:
|
||||
```bash
|
||||
python -m src.run.run
|
||||
# Start service (Recommended dev mode, automatically starts frontend)
|
||||
python src/server/main.py --dev
|
||||
```
|
||||
The browser will automatically open the web frontend.
|
||||
|
||||
|
||||
## Contributors
|
||||
- Aku, for world design & discussion
|
||||
|
||||
## Acknowledgments
|
||||
- Referenced some UI elements from ailifeengine
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed as specified in the [LICENSE](LICENSE) file.
|
||||
|
||||
## Contact
|
||||
|
||||
If you have any questions or suggestions, feel free to open an Issue or Pull Request.
|
||||
You're also welcome to leave a message on my [Bilibili account](https://space.bilibili.com/527346837)!
|
||||
|
||||
|
||||
172
README.md
@@ -1,59 +1,90 @@
|
||||
<!-- 语言 / Language -->
|
||||
<p align="center">
|
||||
<h3 align="center">
|
||||
<a href="README.md">🇨🇳 中文</a> · <a href="EN_README.md">🇺🇸 English</a>
|
||||
</p>
|
||||
</h3>
|
||||
<p align="center">— ✦ —</p>
|
||||
|
||||
# 修仙世界模拟器 (Cultivation World Simulator)
|
||||
|
||||
一个AI驱动的修仙世界模拟器,旨在创造一个真正活着的、有沉浸感的仙侠世界。
|
||||

|
||||

|
||||
[](LICENSE)
|
||||
|
||||
## 简介
|
||||
|
||||
修仙世界模拟器是一个结合传统游戏规则和大语言模型的模拟器。通过建立完整的修仙世界规则,创造一个可以自主运行、充满生机、有沉浸感和涌现式剧情的虚拟修仙世界。
|
||||
<p align="center">
|
||||
<img src="assets/screenshot.gif" alt="游戏演示" width="100%">
|
||||
</p>
|
||||
|
||||
项目的核心理念是:**先建立可信的规则体系作为"世界模型"基础,再接入AI使世界生动起来**。
|
||||
> **一个AI驱动的修仙世界模拟器,旨在创造一个真正活着的、有沉浸感的仙侠世界。**
|
||||
|
||||
### 技术架构
|
||||
## 📖 简介
|
||||
|
||||
- **前端显示**: pygame (未来可能支持Web)
|
||||
- **模拟引擎**: 自研事件驱动模拟器
|
||||
- **世界模型**: 基于规则的确定性系统
|
||||
- **AI集成**: LLM接口生成动作、决策、小剧场
|
||||
这是一个 **AI 驱动的开放世界修仙模拟器**。
|
||||
|
||||
## 项目背景
|
||||
不同于传统的 RPG 扮演某个角色,在这里,**你将扮演“天道”(上帝)**。
|
||||
你不需要亲自打怪升级,而是以上帝视角观察众生,在规则与 AI 共同编织的开放世界中,见证门派兴衰与天骄崛起。你可以静观沧海桑田,也可以降下天劫或魔改心灵,微妙地干预世界进程。
|
||||
|
||||
从小一直是修仙网文的读者,从最早的蜀山仙侠传,到比较新的赤心巡天,修仙网文陪伴了我非常多的时间。
|
||||
### ✨ 核心亮点
|
||||
|
||||
作为游戏AI行业的从业者,对LLM这两年的进步感触很深。我认为,现在的LLM智能水平,已经足够支持起来一些仙侠风格的世界模拟了。
|
||||
- 👁️ **扮演“天道” (上帝视角)**:你不是修士,而是掌控世界规则的**天道**。观察众生百态,体味苦辣酸甜。
|
||||
- 🤖 **全员 AI 驱动**:每个 NPC 都独立基于LLM驱动,都有独立的性格、记忆、人际关系和行为逻辑。他们会根据即时局势做出决策,会有爱恨情仇,会结党营私,甚至会逆天改命。
|
||||
- 🌏 **规则作为基石**:世界基于灵根、境界、功法、寿元等严谨的数值体系运行。AI 的想象力被限制在合理的修仙逻辑框架内,确保世界真实可信。
|
||||
- 🦋 **涌现式剧情**:开发者也不知道下一秒会发生什么。没有预设剧本,只有无数因果交织出的世界演变。宗门大战、正魔之争、天骄陨落,皆由世界逻辑自主推演。
|
||||
|
||||
但是,纯粹只有LLM为NPC提供决策和对话能力是不够的。首先,要有可信的规则打底,作为修仙世界的"世界模型"。之后,才是接入LLM,使其生动起来。
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td width="33%" valign="top">
|
||||
<h4 align="center">角色面板</h4>
|
||||
<img src="assets/角色.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">性格特质</h4>
|
||||
<img src="assets/特质.png" width="100%" />
|
||||
</td>
|
||||
<td width="33%" valign="top">
|
||||
<h4 align="center">宗门体系</h4>
|
||||
<img src="assets/宗门.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">生平经历</h4>
|
||||
<img src="assets/经历.png" width="100%" />
|
||||
</td>
|
||||
<td width="33%" valign="top">
|
||||
<h4 align="center">自主思考</h4>
|
||||
<img src="assets/思考.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">长短期目标</h4>
|
||||
<img src="assets/目标.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">江湖绰号</h4>
|
||||
<img src="assets/绰号.png" width="100%" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
我希望能够创造出纯粹的、快乐的、直接的、活着的修仙世界的沉浸感。不是像一些游戏公司的纯粹宣传工具,也不是像斯坦福小镇那样的纯粹研究,而是能给玩家提供真实代入感和沉浸感的实际世界。
|
||||
### 为什么要做这个?
|
||||
修仙网文中的世界很精彩,但读者永远只能观察到一隅。
|
||||
|
||||
欢迎大家提出意见或者建议,喜欢的话可以点个star~也可以去[我的B站账号](https://space.bilibili.com/527346837)观看本项目的介绍视频。
|
||||
修仙品类游戏要么是完全的预设剧本,要么依靠人工设计的简单规则状态机,有许许多多牵强和降智的表现。
|
||||
|
||||

|
||||
在大语言模型出现后,让“每一个角色都是鲜活的”的目标变得似乎可以触达了。
|
||||
|
||||
希望能够创造出纯粹的、快乐的、直接的、活着的修仙世界的沉浸感。不是像一些游戏公司的纯粹宣传工具,也不是像斯坦福小镇那样的纯粹研究,而是能给玩家提供真实代入感和沉浸感的实际世界。
|
||||
|
||||
## 联系方式
|
||||
如果您对项目有任何问题或建议,欢迎提交 Issue 或 Pull Request。
|
||||
欢迎给我的[B站账号](https://space.bilibili.com/527346837)留言!
|
||||
也可以加入QQ群进行讨论:1071821688。进群需要输入我的B站昵称。
|
||||
|
||||
## 功能开发进度
|
||||
|
||||
### 🏗️ 基础系统
|
||||
- ✅ 基础世界地图系统
|
||||
- ✅ 基础世界地图、时间、事件系统
|
||||
- ✅ 多样化地形类型(平原、山脉、森林、沙漠、水域等)
|
||||
- ✅ 时间系统
|
||||
- ✅ 前端显示界面
|
||||
- ✅ 基于Web前端显示界面
|
||||
- ✅ 基础模拟器框架
|
||||
- ✅ 项目文档
|
||||
- ✅ 配置文件系统
|
||||
- ✅ 单独release打包好的exe文件
|
||||
- ✅ 配置文件
|
||||
- ✅ release 一键即玩的exe
|
||||
- ✅ 菜单栏 & 存档 & 读档
|
||||
|
||||
### 🔭 远期系统
|
||||
- [ ] Web前端支持
|
||||
- [ ] ECS并行工具
|
||||
- [ ] 玩家自定义prompt
|
||||
- [ ] 历史/事件的小说化&图片化&视频化
|
||||
- [ ] 玩家自主控制角色
|
||||
- ✅ 灵活自定义LLM接口
|
||||
|
||||
### 🗺️ 世界系统
|
||||
- ✅ 基础tile地块系统
|
||||
@@ -75,12 +106,14 @@
|
||||
- ✅ 角色Effects系统:增益/减益效果
|
||||
- ✅ 角色功法
|
||||
- ✅ 角色兵器 & 辅助装备
|
||||
- [ ] 角色之间的相性
|
||||
- [ ] 角色绰号
|
||||
- ✅ 角色长短期记忆
|
||||
- ✅ 角色的长短期目标,支持玩家主动设定
|
||||
- ✅ 角色绰号
|
||||
- [ ] 角色间相性
|
||||
- [ ] 技能学习系统:
|
||||
- [ ] 可学习技能
|
||||
- [ ] 生活职业(丹药、阵法、种植、铸造etc)
|
||||
- [ ] 凡人角色
|
||||
- [ ] 凡人系统
|
||||
- [ ] 天骄系统(更强能力,更强AI)
|
||||
|
||||
### 🏛️ 组织系统
|
||||
@@ -88,9 +121,10 @@
|
||||
- ✅ 设定、功法、疗伤、驻地、行事风格
|
||||
- ✅ 宗门特殊动作:合欢宗(双修),百兽宗(御兽)
|
||||
- ✅ 宗门等阶
|
||||
- [ ] 宗门意志ai、宗门任务
|
||||
- [ ] 宗门意志ai
|
||||
- [ ] 宗门任务
|
||||
- [ ] 世家系统
|
||||
- [ ] 朝廷系统(不确定)
|
||||
- [ ] 朝廷系统(未定)
|
||||
- [ ] 组织间关系网络
|
||||
|
||||
### ⚡ 动作系统
|
||||
@@ -103,14 +137,14 @@
|
||||
- ✅ 多人动作:动作发起与动作响应
|
||||
- ✅ 影响人际关系的LLM动作(LLM Action)
|
||||
- ✅ 系统性的动作注册与运行逻辑
|
||||
- [ ] 更丰富的角色动作
|
||||
|
||||
### 🎭 事件系统
|
||||
- ✅ 天地灵气变动
|
||||
- [ ] 世界范围大事件:
|
||||
- [ ] 拍卖会
|
||||
- [ ] 秘境探索
|
||||
- [ ] 比武大会
|
||||
- [ ] 天地灵气变动
|
||||
- [ ] 宗门大比
|
||||
- [ ] 突发事件
|
||||
- [ ] 宝物/洞府出世
|
||||
- [ ] 自然事件:
|
||||
@@ -123,13 +157,12 @@
|
||||
|
||||
### 🎒 物品系统
|
||||
- ✅ 基础物品、灵石框架
|
||||
- [ ] 物品交易机制
|
||||
- [ ] 经济系统
|
||||
- ✅ 物品交易机制
|
||||
|
||||
### 🌿 生态系统
|
||||
- ✅ 动植物
|
||||
- ✅ 狩猎、采集、材料系统
|
||||
- [ ] 魔兽系统
|
||||
- [ ] 魔兽
|
||||
|
||||
### 🤖 AI增强系统
|
||||
- ✅ LLM接口集成
|
||||
@@ -144,9 +177,7 @@
|
||||
- ✅ 战斗小剧场
|
||||
- ✅ 对话小剧场
|
||||
- ✅ 小剧场不同文字风格
|
||||
- [ ] NPC观测空间设计
|
||||
- [ ] 一次性选择(如是否要切换功法)
|
||||
- [ ] 长期记忆/刻骨铭心的记忆/长期目标
|
||||
- ✅ 一次性选择(如是否要切换功法)
|
||||
|
||||
### 🏛️ 世界背景系统
|
||||
- [ ] 背景故事框架
|
||||
@@ -156,14 +187,23 @@
|
||||
### 特殊
|
||||
- ✅ 奇遇
|
||||
- ✅ 天劫 & 心魔
|
||||
- [ ] 飞升上界
|
||||
- [ ] 道途
|
||||
- [ ] 夺舍 & 重生
|
||||
- [ ] 阵法
|
||||
- [ ] 机缘
|
||||
- [ ] 可灵活自定义的世界法则
|
||||
- [ ] 机缘 & 因果
|
||||
- [ ] 占卜 & 谶纬
|
||||
- [ ] 男生女相 & 女生男相
|
||||
- [ ] 角色隐秘 & 双面人
|
||||
- [ ] 飞升上界
|
||||
- [ ] 阵法
|
||||
- [ ] 道途
|
||||
- [ ] 世界秘密 & 世界法则 (可灵活自定义)
|
||||
- [ ] 炼蛊
|
||||
- [ ] 灭世危机
|
||||
- [ ] 成为后世传奇
|
||||
|
||||
### 🔭 远期展望
|
||||
- [ ] ECS并行
|
||||
- [ ] 历史/事件的小说化&图片化&视频化
|
||||
- [ ] MCP agent化,修士自行调用工具
|
||||
|
||||
## 使用方法
|
||||
|
||||
@@ -176,31 +216,41 @@
|
||||
|
||||
2. 安装依赖:
|
||||
```bash
|
||||
# 后端依赖
|
||||
pip install -r requirements.txt
|
||||
|
||||
# 前端依赖 (需Node.js环境)
|
||||
cd web && npm install
|
||||
```
|
||||
|
||||
3. 配置LLM:
|
||||
在 `static/config.yml` 中配置LLM参数:
|
||||
在 `static/config.yml` 中配置LLM参数(OpenAI格式):
|
||||
```yaml
|
||||
llm:
|
||||
model_name: "qwen-plus" # 或其他litellm支持的模型名称
|
||||
key: "your-api-key-here" # 你的API密钥
|
||||
base_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"
|
||||
llm:
|
||||
key: "your-api-key-here" # 你的API密钥
|
||||
base_url: "https://api.xxx.com" # API地址
|
||||
model_name: "qwen-plus" # 智能模型名称
|
||||
fast_model_name: "qwen-turbo" # 快速模型名称
|
||||
```
|
||||
具体支持的模型请参考 [litellm文档](https://docs.litellm.ai/docs/providers)
|
||||
|
||||
4. 运行模拟器:
|
||||
也支持在前端直接配入LLM参数:
|
||||
|
||||
<img src="assets/llm_config.png" alt="前端LLM配置" width="100%">
|
||||
|
||||
4. 运行:
|
||||
```bash
|
||||
python -m src.run.run
|
||||
# 启动服务 (推荐开发模式,会自动启动前端)
|
||||
python src/server/main.py --dev
|
||||
```
|
||||
浏览器会自动打开网页前端。
|
||||
|
||||
|
||||
## 贡献者
|
||||
- Aku, 世界观\玩法设计与讨论
|
||||
|
||||
## 致谢
|
||||
- 参考了ai life engine部分ui
|
||||
|
||||
## 许可证
|
||||
|
||||
本项目采用 [LICENSE](LICENSE) 文件中指定的许可证。
|
||||
|
||||
## 联系方式
|
||||
如果您对项目有任何问题或建议,欢迎提交 Issue 或 Pull Request。
|
||||
也欢迎给我的[B站账号](https://space.bilibili.com/527346837)留言!
|
||||
BIN
assets/cities/揽月城.jpg
Normal file
|
After Width: | Height: | Size: 192 KiB |
BIN
assets/cities/揽月城_0.jpg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
assets/cities/揽月城_0.png
Normal file
|
After Width: | Height: | Size: 292 KiB |
BIN
assets/cities/揽月城_1.jpg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
assets/cities/揽月城_1.png
Normal file
|
After Width: | Height: | Size: 281 KiB |
BIN
assets/cities/揽月城_2.jpg
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
assets/cities/揽月城_2.png
Normal file
|
After Width: | Height: | Size: 255 KiB |
BIN
assets/cities/揽月城_3.jpg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
assets/cities/揽月城_3.png
Normal file
|
After Width: | Height: | Size: 275 KiB |
BIN
assets/cities/沙月城.jpg
Normal file
|
After Width: | Height: | Size: 191 KiB |
BIN
assets/cities/沙月城_0.jpg
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
assets/cities/沙月城_0.png
Normal file
|
After Width: | Height: | Size: 263 KiB |
BIN
assets/cities/沙月城_1.jpg
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
assets/cities/沙月城_1.png
Normal file
|
After Width: | Height: | Size: 244 KiB |
BIN
assets/cities/沙月城_2.jpg
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
assets/cities/沙月城_2.png
Normal file
|
After Width: | Height: | Size: 238 KiB |
BIN
assets/cities/沙月城_3.jpg
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
assets/cities/沙月城_3.png
Normal file
|
After Width: | Height: | Size: 218 KiB |
BIN
assets/cities/沧澜城.jpg
Normal file
|
After Width: | Height: | Size: 173 KiB |
BIN
assets/cities/沧澜城_0.jpg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
assets/cities/沧澜城_0.png
Normal file
|
After Width: | Height: | Size: 222 KiB |
BIN
assets/cities/沧澜城_1.jpg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
assets/cities/沧澜城_1.png
Normal file
|
After Width: | Height: | Size: 230 KiB |
BIN
assets/cities/沧澜城_2.jpg
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
assets/cities/沧澜城_2.png
Normal file
|
After Width: | Height: | Size: 194 KiB |
BIN
assets/cities/沧澜城_3.jpg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
assets/cities/沧澜城_3.png
Normal file
|
After Width: | Height: | Size: 198 KiB |
BIN
assets/cities/翠林城.jpg
Normal file
|
After Width: | Height: | Size: 224 KiB |
BIN
assets/cities/翠林城_0.jpg
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
assets/cities/翠林城_0.png
Normal file
|
After Width: | Height: | Size: 357 KiB |
BIN
assets/cities/翠林城_1.jpg
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
assets/cities/翠林城_1.png
Normal file
|
After Width: | Height: | Size: 348 KiB |
BIN
assets/cities/翠林城_2.jpg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
assets/cities/翠林城_2.png
Normal file
|
After Width: | Height: | Size: 335 KiB |
BIN
assets/cities/翠林城_3.jpg
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
assets/cities/翠林城_3.png
Normal file
|
After Width: | Height: | Size: 325 KiB |
BIN
assets/cities/青云城.jpg
Normal file
|
After Width: | Height: | Size: 163 KiB |
BIN
assets/cities/青云城_0.jpg
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
assets/cities/青云城_0.png
Normal file
|
After Width: | Height: | Size: 204 KiB |
BIN
assets/cities/青云城_1.jpg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
assets/cities/青云城_1.png
Normal file
|
After Width: | Height: | Size: 208 KiB |
BIN
assets/cities/青云城_2.jpg
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
assets/cities/青云城_2.png
Normal file
|
After Width: | Height: | Size: 196 KiB |
BIN
assets/cities/青云城_3.jpg
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
assets/cities/青云城_3.png
Normal file
|
After Width: | Height: | Size: 191 KiB |
BIN
assets/clouds/cloud_0.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
assets/clouds/cloud_1.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
assets/clouds/cloud_2.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
assets/clouds/cloud_3.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
assets/clouds/cloud_4.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
assets/clouds/cloud_5.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
assets/clouds/cloud_6.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
assets/clouds/cloud_7.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
assets/clouds/cloud_8.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 218 KiB After Width: | Height: | Size: 197 KiB |
|
Before Width: | Height: | Size: 222 KiB After Width: | Height: | Size: 201 KiB |
|
Before Width: | Height: | Size: 209 KiB After Width: | Height: | Size: 220 KiB |
|
Before Width: | Height: | Size: 228 KiB After Width: | Height: | Size: 233 KiB |
|
Before Width: | Height: | Size: 215 KiB After Width: | Height: | Size: 224 KiB |
|
Before Width: | Height: | Size: 229 KiB After Width: | Height: | Size: 168 KiB |
BIN
assets/females/16.png
Normal file
|
After Width: | Height: | Size: 222 KiB |
BIN
assets/females/17.png
Normal file
|
After Width: | Height: | Size: 218 KiB |
BIN
assets/females/18.png
Normal file
|
After Width: | Height: | Size: 273 KiB |
BIN
assets/females/19.png
Normal file
|
After Width: | Height: | Size: 222 KiB |
|
Before Width: | Height: | Size: 213 KiB After Width: | Height: | Size: 191 KiB |
BIN
assets/females/20.png
Normal file
|
After Width: | Height: | Size: 209 KiB |
BIN
assets/females/21.png
Normal file
|
After Width: | Height: | Size: 236 KiB |
BIN
assets/females/22.png
Normal file
|
After Width: | Height: | Size: 228 KiB |
BIN
assets/females/23.png
Normal file
|
After Width: | Height: | Size: 220 KiB |
BIN
assets/females/24.png
Normal file
|
After Width: | Height: | Size: 215 KiB |
BIN
assets/females/25.png
Normal file
|
After Width: | Height: | Size: 193 KiB |
BIN
assets/females/26.png
Normal file
|
After Width: | Height: | Size: 229 KiB |
BIN
assets/females/27.png
Normal file
|
After Width: | Height: | Size: 208 KiB |
BIN
assets/females/28.png
Normal file
|
After Width: | Height: | Size: 236 KiB |
BIN
assets/females/29.png
Normal file
|
After Width: | Height: | Size: 187 KiB |
|
Before Width: | Height: | Size: 202 KiB After Width: | Height: | Size: 202 KiB |
BIN
assets/females/30.png
Normal file
|
After Width: | Height: | Size: 216 KiB |
BIN
assets/females/31.png
Normal file
|
After Width: | Height: | Size: 260 KiB |
BIN
assets/females/32.png
Normal file
|
After Width: | Height: | Size: 222 KiB |
BIN
assets/females/33.png
Normal file
|
After Width: | Height: | Size: 267 KiB |
BIN
assets/females/34.png
Normal file
|
After Width: | Height: | Size: 185 KiB |
BIN
assets/females/35.png
Normal file
|
After Width: | Height: | Size: 215 KiB |
BIN
assets/females/36.png
Normal file
|
After Width: | Height: | Size: 212 KiB |
BIN
assets/females/37.png
Normal file
|
After Width: | Height: | Size: 197 KiB |
BIN
assets/females/38.png
Normal file
|
After Width: | Height: | Size: 168 KiB |
BIN
assets/females/39.png
Normal file
|
After Width: | Height: | Size: 216 KiB |
|
Before Width: | Height: | Size: 196 KiB After Width: | Height: | Size: 202 KiB |
BIN
assets/females/40.png
Normal file
|
After Width: | Height: | Size: 265 KiB |
BIN
assets/females/41.png
Normal file
|
After Width: | Height: | Size: 219 KiB |
|
Before Width: | Height: | Size: 250 KiB After Width: | Height: | Size: 228 KiB |
|
Before Width: | Height: | Size: 197 KiB After Width: | Height: | Size: 196 KiB |
|
Before Width: | Height: | Size: 220 KiB After Width: | Height: | Size: 252 KiB |
|
Before Width: | Height: | Size: 224 KiB After Width: | Height: | Size: 250 KiB |
|
Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 230 KiB |
BIN
assets/llm_config.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 209 KiB After Width: | Height: | Size: 208 KiB |
|
Before Width: | Height: | Size: 218 KiB After Width: | Height: | Size: 224 KiB |