Compare commits
371 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e900c3e098 | ||
|
|
df8b1b9433 | ||
|
|
63fc2f828e | ||
|
|
0d34b27fff | ||
|
|
224e3e76f0 | ||
|
|
bb2e010930 | ||
|
|
95e1f11502 | ||
|
|
176fa95425 | ||
|
|
2caa5586be | ||
|
|
287f9d2ae4 | ||
|
|
57cf5ca51a | ||
|
|
5241f70ef3 | ||
|
|
fa4c0340fd | ||
|
|
19b9ddd8ba | ||
|
|
879a3c0d1f | ||
|
|
08e28f52c7 | ||
|
|
f33cfab0d5 | ||
|
|
488758764e | ||
|
|
090e8fe32c | ||
|
|
5143266442 | ||
|
|
3a0e432b02 | ||
|
|
2056538375 | ||
|
|
2d9f073435 | ||
|
|
ff6038b786 | ||
|
|
88cc7cd966 | ||
|
|
ed7d16b4f3 | ||
|
|
a0cfb3b9da | ||
|
|
ac8c6c1c73 | ||
|
|
33b01fa0e9 | ||
|
|
92fc6d4b83 | ||
|
|
79c375802d | ||
|
|
da43adac96 | ||
|
|
1499c0cbc8 | ||
|
|
e5f96b7f43 | ||
|
|
59824d9cd5 | ||
|
|
ff6d1b5de7 | ||
|
|
f8f0e8a59c | ||
|
|
f7d6554e9b | ||
|
|
a4dd29145f | ||
|
|
c6a574a2ac | ||
|
|
9c21259577 | ||
|
|
d1d7e7d7bd | ||
|
|
9e75d8dd2e | ||
|
|
9485b62cfd | ||
|
|
8631be501b | ||
|
|
624f697bee | ||
|
|
6b99552f08 | ||
|
|
58486f95e8 | ||
|
|
c4ca92efc9 | ||
|
|
06d1bed987 | ||
|
|
a6b8198c3f | ||
|
|
1647494c7d | ||
|
|
a007292b60 | ||
|
|
fabae13e87 | ||
|
|
060708bd79 | ||
|
|
4e95b57152 | ||
|
|
40d8a0425b | ||
|
|
b53f428cbb | ||
|
|
ea9a873589 | ||
|
|
345b759fff | ||
|
|
b2a021bf8a | ||
|
|
73c50286b7 | ||
|
|
7c69d612b0 | ||
|
|
2c8f73d290 | ||
|
|
968625d27b | ||
|
|
1dfce734ef | ||
|
|
8ee0c34f6f | ||
|
|
37518342fc | ||
|
|
2e5a2c3c12 | ||
|
|
355e4d0e3c | ||
|
|
a1f08dd0ab | ||
|
|
f5c40bae3b | ||
|
|
e4ff312f58 | ||
|
|
35c0756e85 | ||
|
|
649f66213e | ||
|
|
5793c4d2b9 | ||
|
|
8a23dc5576 | ||
|
|
db6df82ea8 | ||
|
|
fbb32adbf6 | ||
|
|
c266655af9 | ||
|
|
b60481c99c | ||
|
|
3f980d4593 | ||
|
|
fa909e5a2a | ||
|
|
d25a84953b | ||
|
|
9f5ad04e92 | ||
|
|
6873746d29 | ||
|
|
4bff8e503b | ||
|
|
8d7e11b021 | ||
|
|
2a68f352bc | ||
|
|
96c43c7cf5 | ||
|
|
53459b9abe | ||
|
|
cd40c1f201 | ||
|
|
8c8e28264f | ||
|
|
8d985e0a2b | ||
|
|
8727a4f29a | ||
|
|
8f99f3edb2 | ||
|
|
77390fa647 | ||
|
|
b74014f9f2 | ||
|
|
441f8c8e3a | ||
|
|
4fc74b1531 | ||
|
|
276902bca0 | ||
|
|
806e2c1262 | ||
|
|
5429e25b1e | ||
|
|
c24c0819ce | ||
|
|
7320773bfe | ||
|
|
9865bd170b | ||
|
|
5ffeef897a | ||
|
|
1ec3ec092b | ||
|
|
5633d113f8 | ||
|
|
5de69b8e6f | ||
|
|
21e56276cd | ||
|
|
f0290af13a | ||
|
|
0b773b1726 | ||
|
|
fafe1b5997 | ||
|
|
aca71bc2d4 | ||
|
|
354050e2b5 | ||
|
|
233aea47d3 | ||
|
|
1a94117607 | ||
|
|
b8de42aeb3 | ||
|
|
367b09fac3 | ||
|
|
f6ebe7c037 | ||
|
|
450d38e15a | ||
|
|
7245a89774 | ||
|
|
f9ad2dcd87 | ||
|
|
868e355e41 | ||
|
|
11cef02d74 | ||
|
|
ea0296f3e2 | ||
|
|
775d830ec3 | ||
|
|
6129e0f898 | ||
|
|
3a9a9fd6f0 | ||
|
|
5b5cd79cb5 | ||
|
|
f499f63c50 | ||
|
|
6cc0c355dd | ||
|
|
5b5ea31d87 | ||
|
|
e2d03b587d | ||
|
|
f7a4fb23c8 | ||
|
|
9cb98a61dd | ||
|
|
f562d4ea81 | ||
|
|
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 | ||
|
|
cb69c26978 | ||
|
|
efba680269 | ||
|
|
510b6f34cd | ||
|
|
250fb265ba | ||
|
|
3a8032124f | ||
|
|
62fa84a809 | ||
|
|
ec8e4db96f | ||
|
|
7af6757e64 | ||
|
|
f8c4f84c7a | ||
|
|
3d60df4dbf | ||
|
|
125d7891e5 | ||
|
|
e760ba107d | ||
|
|
2ded449ade | ||
|
|
2d13c43ec6 | ||
|
|
a20d978921 | ||
|
|
24d397d86c | ||
|
|
1a98678c4c | ||
|
|
9949265748 | ||
|
|
29092efa90 | ||
|
|
9b870475bf | ||
|
|
0cb7eacee7 | ||
|
|
ed4174d5ed | ||
|
|
ba536978e7 | ||
|
|
f8d675fccf | ||
|
|
bf2ba0b09f |
19
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
name: Bug Report 🐛
|
||||
about: 报告一个问题 (Report a bug)
|
||||
title: "[Bug] "
|
||||
labels: bug
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
**问题描述**
|
||||
简要描述你遇到的问题。
|
||||
|
||||
**复现步骤**
|
||||
1.
|
||||
2.
|
||||
|
||||
**环境信息**
|
||||
- OS:
|
||||
- 报错信息 (如有):
|
||||
|
||||
14
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
name: Feature Request 💡
|
||||
about: 建议一个新功能 (Propose a feature)
|
||||
title: "[Feat] "
|
||||
labels: enhancement
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
**功能描述**
|
||||
你希望添加什么功能?
|
||||
|
||||
**解决什么问题**
|
||||
这个功能解决了什么痛点?
|
||||
|
||||
7
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
## Summary
|
||||
|
||||
<!-- Brief description of what this PR does -->
|
||||
|
||||
## Test Plan
|
||||
|
||||
<!-- How was this tested? -->
|
||||
33
.github/workflows/test.yml
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
name: Tests
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
pull_request:
|
||||
branches: [main]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v3
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-dependency-glob: "requirements.txt"
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
uv pip install --system -r requirements.txt
|
||||
uv pip install --system pytest
|
||||
|
||||
- name: Run tests
|
||||
run: pytest -v
|
||||
6
.gitignore
vendored
@@ -143,9 +143,13 @@ logs/
|
||||
*.tmp
|
||||
*.temp
|
||||
|
||||
# Save files (ignore all files in saves directory but not the directory itself)
|
||||
assets/saves/*
|
||||
!assets/saves/README.md
|
||||
|
||||
TODO
|
||||
local_config.yml
|
||||
|
||||
台本/
|
||||
笔记/
|
||||
tmp/
|
||||
tmp*/
|
||||
53
CONTRIBUTING.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# 贡献指南 (Contributing Guide)
|
||||
|
||||
感谢你对 **Cultivation World Simulator** (修仙模拟器) 感兴趣!欢迎任何形式的贡献,包括修复 Bug、改进文档或开发新功能。
|
||||
|
||||
为了保持代码库的健康和风格统一,请在贡献前阅读以下指南。
|
||||
|
||||
## 🛠️ 开发环境搭建
|
||||
|
||||
具体的安装和启动步骤请参考 [README.md](./README.md) 中的说明。
|
||||
|
||||
**项目结构说明:**
|
||||
- **后端 (Python)**: 位于 `src/` 目录。
|
||||
- **前端 (Vue 3)**: 位于 `web/` 目录。
|
||||
|
||||
## ✅ 测试要求 (必须)
|
||||
|
||||
在提交 Pull Request 之前,请务必确保所有测试通过。这是保证代码质量的关键。
|
||||
|
||||
**运行后端测试:**
|
||||
```bash
|
||||
pytest tests/
|
||||
```
|
||||
|
||||
请确保所有测试用例都能通过(PASS)。如果你添加了新功能,建议同时也添加相应的测试用例。
|
||||
|
||||
## 📝 代码规范
|
||||
|
||||
我们追求**简洁、优雅、清晰易读**的代码风格。
|
||||
|
||||
### Python 后端
|
||||
- 遵循 PEP 8 风格指南。
|
||||
- 如果新增了功能,请加入对应的pytest测试。
|
||||
|
||||
### Vue 前端
|
||||
- 使用 **TypeScript** 编写逻辑。
|
||||
- 遵循 Vue 3 Composition API 的最佳实践。
|
||||
- 组件命名清晰,保持单一职责。
|
||||
|
||||
## 🚀 提交 Pull Request (PR)
|
||||
|
||||
1. **Fork** 本仓库到你的 GitHub 账户。
|
||||
2. **Clone** 你的 Fork 版本到本地。
|
||||
3. 创建一个新的分支进行开发:
|
||||
```bash
|
||||
git checkout -b feature/你的功能名称
|
||||
# 或者
|
||||
git checkout -b fix/修复的问题
|
||||
```
|
||||
4. 提交你的更改 (Commit),请使用清晰的提交信息。
|
||||
5. 推送 (Push) 到你的远程分支。
|
||||
6. 在 GitHub 上发起 **Pull Request**。
|
||||
|
||||
感谢你的贡献!一起打造更好的修仙世界。
|
||||
301
EN_README.md
@@ -1,92 +1,214 @@
|
||||
<!-- 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.
|
||||

|
||||
[](https://space.bilibili.com/527346837)
|
||||

|
||||
|
||||
## Overview
|
||||

|
||||

|
||||

|
||||
[](LICENSE)
|
||||
|
||||
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.
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
Core idea: **Build a credible rule-based world model first, then plug in AI to bring it to life.**
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
### Tech Stack
|
||||
<p align="center">
|
||||
<img src="assets/screenshot.gif" alt="Game Demo" width="100%">
|
||||
</p>
|
||||
|
||||
- **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
|
||||
> **An AI-driven cultivation world simulator that aims to create a truly living, immersive xianxia world.**
|
||||
|
||||
## Background
|
||||
## 📖 Introduction
|
||||
|
||||
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.
|
||||
This is an **AI-driven open-world cultivation simulator**.
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
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.
|
||||
### ✨ Core Highlights
|
||||
|
||||
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).
|
||||
- 👁️ **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.
|
||||
|
||||

|
||||
<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>
|
||||
|
||||
## Development Progress
|
||||
### 💭 Why make this?
|
||||
The worlds in cultivation novels are fascinating, but readers can only ever observe a corner of them.
|
||||
|
||||
Cultivation games are either completely scripted or rely on simple state machines designed by humans, often resulting in forced and unintelligent behaviors.
|
||||
|
||||
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: 肥桥今天吃什么
|
||||
|
||||
## 🚀 Usage
|
||||
|
||||
### ⚙️ Run Steps
|
||||
1. Clone the repo:
|
||||
```bash
|
||||
git clone https://github.com/your-username/cultivation-world-simulator.git
|
||||
cd cultivation-world-simulator
|
||||
```
|
||||
|
||||
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:
|
||||
key: "your-api-key-here" # your api key
|
||||
base_url: "https://api.xxx.com" # API addr
|
||||
model_name: "normal_model_name"
|
||||
fast_model_name: "fast_model_name"
|
||||
```
|
||||
Supports all API providers compatible with OpenAI interface format (e.g., Qwen, DeepSeek, SiliconFlow, OpenRouter, etc.)
|
||||
|
||||
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
|
||||
# Start service (Recommended dev mode, automatically starts frontend)
|
||||
python src/server/main.py --dev
|
||||
```
|
||||
The browser will automatically open the web frontend.
|
||||
|
||||
|
||||
## 📊 Project Status
|
||||
|
||||

|
||||
|
||||
## ⭐ Star History
|
||||
|
||||
If you find this project interesting, please give us a Star ⭐! It will motivate us to keep improving and adding new features.
|
||||
|
||||
<div align="center">
|
||||
<a href="https://star-history.com/#4thfever/cultivation-world-simulator&Date">
|
||||
<img src="https://api.star-history.com/svg?repos=4thfever/cultivation-world-simulator&type=Date" alt="Star History Chart" width="600">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
## 👥 Contributors
|
||||
- Aku, for world design & discussion
|
||||
- [@xzhseh](https://github.com/xzhseh), contributed code
|
||||
|
||||
## 🙏 Acknowledgments
|
||||
- Referenced some UI elements from ailifeengine
|
||||
|
||||
## 📋 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 (in progress)
|
||||
- [ ] Web frontend (later)
|
||||
- [ ] ECS parallel toolkit (later)
|
||||
- [ ] Player-configurable prompts (later)
|
||||
- ✅ Menu bar & Save & Load
|
||||
- ✅ Flexible custom LLM interface
|
||||
- ✅ Support macOS
|
||||
- [ ] Support multi-language localization
|
||||
- [ ] Game settings panel at startup
|
||||
|
||||
### 🗺️ World System
|
||||
- ✅ Basic tile mechanics
|
||||
- ✅ Normal, cultivate, city, sect regions
|
||||
- ✅ Same-tile NPC interactions
|
||||
- ✅ Qi distribution and yields
|
||||
- [ ] Dynamic worldview, map, history, sect, and notable figure generation
|
||||
- ✅ World event
|
||||
|
||||
### 👤 Character System
|
||||
- ✅ Core attributes
|
||||
- ✅ Cultivation realms
|
||||
- ✅ Spiritual roots
|
||||
- ✅ Basic movement actions
|
||||
- ✅ Personality
|
||||
- ✅ Trait & Personality
|
||||
- ✅ Breakthrough system
|
||||
- ✅ Relationships
|
||||
- ✅ Perception radius
|
||||
- ✅ Buff system: buffs/debuffs
|
||||
- ✅ Artifacts
|
||||
- [ ] Character compatibility
|
||||
- [ ] Special abilities
|
||||
- [ ] Epithets/nicknames
|
||||
- [ ] Combat-related
|
||||
- [ ] Attribute points allocation
|
||||
- [ ] Skill system (techniques)
|
||||
- [ ] Equipment system
|
||||
- [ ] Skill learning
|
||||
- [ ] Learnable skills
|
||||
- [ ] Personal techniques (flexible integration)
|
||||
- [ ] Life professions (alchemy, formations, farming, forging, etc., with tailored prompts and info space)
|
||||
- [ ] Mortals support
|
||||
- ✅ Interaction range
|
||||
- ✅ Effect system: buffs/debuffs
|
||||
- ✅ Techniques
|
||||
- ✅ Combat equipment & auxiliary equipment
|
||||
- ✅ Elixir
|
||||
- ✅ Short/Long term memory
|
||||
- ✅ Character's short and long term objectives, supporting player active setting
|
||||
- ✅ Avatar nicknames
|
||||
- [ ] Life Skills
|
||||
- ✅ Forging
|
||||
- ✅ Refine
|
||||
- [ ] Planting
|
||||
- [ ] Taming
|
||||
- [ ] Evolving skills
|
||||
- [ ] Mortals
|
||||
- [ ] Prodigies (stronger abilities and AI)
|
||||
|
||||
### 🏛️ Organizations
|
||||
- [ ] Sect system
|
||||
- ✅ Settings, techniques, healing, base, styles
|
||||
- ✅ Special sect actions: Hehuan Sect (dual cultivation), Hundred Beasts Sect (catch spirit animal)
|
||||
- [ ] sect will AI, tasks, recruiting
|
||||
- [ ] Sect tiers: different titles, abilities, actions
|
||||
- ✅ Special sect actions: Hehuan Sect (dual cultivation), Hundred Beasts Sect (beast taming)
|
||||
- ✅ Sect tiers
|
||||
- [ ] Sect will AI
|
||||
- [ ] Sect tasks
|
||||
- [ ] Clans
|
||||
- [ ] Court/Empire (TBD)
|
||||
- [ ] Inter-organization relations
|
||||
@@ -94,36 +216,34 @@ If you like this project, consider starring it~ You can also watch intro videos
|
||||
### ⚡ Action System
|
||||
- ✅ Basic movement
|
||||
- ✅ Action execution framework
|
||||
- ✅ Defined actions (rule-complete)
|
||||
- ✅ Defined actions
|
||||
- ✅ Long-duration actions and settlement
|
||||
- ✅ Multi-month actions (cultivate, breakthrough, play, etc.)
|
||||
- ✅ Auto-settlement upon completion
|
||||
- ✅ 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
|
||||
- [ ] Sect grand competition
|
||||
- [ ] Sudden events
|
||||
- [ ] Treasure/cave emergence
|
||||
- [ ] Novelized/CG/film-style presentations
|
||||
- [ ] Natural events:
|
||||
- [ ] Natural disasters
|
||||
- [ ] Beast tides
|
||||
|
||||
### ⚔️ Combat
|
||||
- [ ] Combat design (roots influence skills and styles)
|
||||
- [ ] Advantages and counters
|
||||
- ✅ Win-rate estimation (simple)
|
||||
- ✅ Advantages and counters
|
||||
- ✅ Win-rate estimation system
|
||||
|
||||
### 🎒 Items
|
||||
- ✅ Basic items and spirit stones
|
||||
- [ ] Trading mechanics
|
||||
- [ ] Economy system
|
||||
- ✅ Trading mechanics
|
||||
|
||||
### 🌿 Ecology
|
||||
- ✅ Animals and plants
|
||||
@@ -143,64 +263,27 @@ 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
|
||||
- [ ] Worldbuilding
|
||||
- [ ] Ancient history generation
|
||||
- ✅ Inject basic world knowledge
|
||||
- ✅ User input history, dynamic generation of techniques, equipment, sects, and region info
|
||||
|
||||
### Specials
|
||||
### ✨ Specials
|
||||
- ✅ Fortuitous encounters
|
||||
- [ ] Paths/Daos
|
||||
- ✅ Tribulations & Heart devils
|
||||
- [ ] Possession & Rebirth
|
||||
- [ ] Opportunities & Karma
|
||||
- [ ] Divination & Prophecy
|
||||
- [ ] Male appearance female traits & Female appearance male traits
|
||||
- [ ] Character Secrets & Two-faced
|
||||
- [ ] Ascension to Upper Realm
|
||||
- [ ] Formations
|
||||
- [ ] Opportunities
|
||||
- [ ] Tribulations & Heart devils
|
||||
- [ ] Flexible world rules
|
||||
- [ ] Divination & Omens
|
||||
- [ ] Male-female traits inversion
|
||||
|
||||
## Usage
|
||||
|
||||
### Run Steps
|
||||
1. Clone the repo:
|
||||
```bash
|
||||
git clone https://github.com/your-username/cultivation-world-simulator.git
|
||||
cd cultivation-world-simulator
|
||||
```
|
||||
|
||||
2. Install dependencies:
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
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"
|
||||
```
|
||||
For supported models, refer to [litellm documentation](https://docs.litellm.ai/docs/providers)
|
||||
|
||||
4. Run the simulator:
|
||||
```bash
|
||||
python -m src.run.run
|
||||
```
|
||||
|
||||
## Contributors
|
||||
- Aku, for world design & discussion
|
||||
|
||||
## 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)!
|
||||
- [ ] Paths/Daos
|
||||
- [ ] World Secrets & World Laws (Flexible customization)
|
||||
- [ ] Gu Refining
|
||||
- [ ] World-ending Crisis
|
||||
|
||||
### 🔭 Long-term
|
||||
- [ ] Novelization/imagery/video for history and events
|
||||
- [ ] Avatar calling MCP tools on their own
|
||||
309
README.md
@@ -1,86 +1,215 @@
|
||||
<!-- 语言 / 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驱动的修仙世界模拟器,旨在创造一个真正活着的、有沉浸感的仙侠世界。
|
||||

|
||||
[](https://space.bilibili.com/527346837)
|
||||

|
||||
|
||||
## 简介
|
||||

|
||||

|
||||

|
||||
[](LICENSE)
|
||||
|
||||
修仙世界模拟器是一个结合传统游戏规则和大语言模型的模拟器。通过建立完整的修仙世界规则,创造一个可以自主运行、充满生机、有沉浸感和涌现式剧情的虚拟修仙世界。
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
项目的核心理念是:**先建立可信的规则体系作为"世界模型"基础,再接入AI使世界生动起来**。
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

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

|
||||
<table border="0">
|
||||
<tr>
|
||||
<td width="33%" valign="top">
|
||||
<h4 align="center">宗门体系</h4>
|
||||
<img src="assets/screenshots/宗门.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">城市区域</h4>
|
||||
<img src="assets/screenshots/城市.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">生平经历</h4>
|
||||
<img src="assets/screenshots/经历.png" width="100%" />
|
||||
</td>
|
||||
<td width="33%" valign="top">
|
||||
<h4 align="center">角色面板</h4>
|
||||
<img src="assets/screenshots/角色.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">性格特质</h4>
|
||||
<img src="assets/screenshots/特质.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">自主思考</h4>
|
||||
<img src="assets/screenshots/思考.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">江湖绰号</h4>
|
||||
<img src="assets/screenshots/绰号.png" width="100%" />
|
||||
</td>
|
||||
<td width="33%" valign="top">
|
||||
<h4 align="center">洞府探秘</h4>
|
||||
<img src="assets/screenshots/洞府.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">长短期目标</h4>
|
||||
<img src="assets/screenshots/目标.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">丹药/法宝/武器</h4>
|
||||
<img src="assets/screenshots/丹药.png" width="100%" />
|
||||
<img src="assets/screenshots/法宝.png" width="100%" />
|
||||
<img src="assets/screenshots/武器.png" width="100%" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## 功能开发进度
|
||||
### 💭 为什么要做这个?
|
||||
修仙网文中的世界很精彩,但读者永远只能观察到一隅。
|
||||
|
||||
修仙品类游戏要么是完全的预设剧本,要么依靠人工设计的简单规则状态机,有许许多多牵强和降智的表现。
|
||||
|
||||
在大语言模型出现后,让“每一个角色都是鲜活的”的目标变得似乎可以触达了。
|
||||
|
||||
希望能够创造出纯粹的、快乐的、直接的、活着的修仙世界的沉浸感。不是像一些游戏公司的纯粹宣传工具,也不是像斯坦福小镇那样的纯粹研究,而是能给玩家提供真实代入感和沉浸感的实际世界。
|
||||
|
||||
## 📞 联系方式
|
||||
如果您对项目有任何问题或建议,欢迎提交 Issue 或 Pull Request。
|
||||
欢迎给我的[B站账号](https://space.bilibili.com/527346837)留言!
|
||||
也可以加入QQ群进行讨论:1071821688。进群问题的答案:肥桥今天吃什么
|
||||
|
||||
## 🚀 使用方法
|
||||
|
||||
### ⚙️ 运行步骤
|
||||
1. 克隆项目到本地:
|
||||
```bash
|
||||
git clone https://github.com/your-username/cultivation-world-simulator.git
|
||||
cd cultivation-world-simulator
|
||||
```
|
||||
|
||||
2. 安装依赖:
|
||||
```bash
|
||||
# 后端依赖
|
||||
pip install -r requirements.txt
|
||||
|
||||
# 前端依赖 (需Node.js环境)
|
||||
cd web && npm install
|
||||
```
|
||||
|
||||
3. 配置LLM:
|
||||
在 `static/config.yml` 中配置LLM参数(OpenAI格式):
|
||||
```yaml
|
||||
llm:
|
||||
key: "your-api-key-here" # 你的API密钥
|
||||
base_url: "https://api.xxx.com" # API地址
|
||||
model_name: "normal_model_name" # 智能模型名称
|
||||
fast_model_name: "fast_model_name" # 快速模型名称
|
||||
```
|
||||
|
||||
也支持在前端直接配入LLM参数:
|
||||
|
||||
<img src="assets/llm_config.png" alt="前端LLM配置" width="100%">
|
||||
|
||||
4. 运行:
|
||||
```bash
|
||||
# 启动服务 (推荐开发模式,会自动启动前端)
|
||||
python src/server/main.py --dev
|
||||
```
|
||||
浏览器会自动打开网页前端。
|
||||
|
||||
|
||||
## 📊 项目状态
|
||||
|
||||

|
||||
|
||||
## ⭐ Star History
|
||||
|
||||
如果你觉得这个项目有趣,请给我们一个 Star ⭐!这将激励我们持续改进和添加新功能。
|
||||
|
||||
<div align="center">
|
||||
<a href="https://star-history.com/#4thfever/cultivation-world-simulator&Date">
|
||||
<img src="https://api.star-history.com/svg?repos=4thfever/cultivation-world-simulator&type=Date" alt="Star History Chart" width="600">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
## 👥 贡献者
|
||||
* Aku, 世界观\玩法设计与讨论
|
||||
* [@xzhseh](https://github.com/xzhseh), 贡献代码
|
||||
|
||||
## 🙏 致谢
|
||||
- 参考了ai life engine部分ui
|
||||
|
||||
## 📋 功能开发进度
|
||||
|
||||
### 🏗️ 基础系统
|
||||
- ✅ 基础世界地图系统
|
||||
- ✅ 基础世界地图、时间、事件系统
|
||||
- ✅ 多样化地形类型(平原、山脉、森林、沙漠、水域等)
|
||||
- ✅ 时间系统
|
||||
- ✅ 前端显示界面
|
||||
- ✅ 基于Web前端显示界面
|
||||
- ✅ 基础模拟器框架
|
||||
- ✅ 项目文档
|
||||
- ✅ 配置文件系统
|
||||
- ✅ 单独release打包好的exe文件
|
||||
- [ ] 菜单栏(施工中)
|
||||
- [ ] Web前端支持(后期考虑)
|
||||
- [ ] ECS并行工具(后期考虑)
|
||||
- [ ] 玩家自定义prompt(后期考虑)
|
||||
- ✅ 配置文件
|
||||
- ✅ release 一键即玩的exe
|
||||
- ✅ 菜单栏 & 存档 & 读档
|
||||
- ✅ 灵活自定义LLM接口
|
||||
- ✅ 支持mac os
|
||||
- [ ] 支持多语言本地化
|
||||
- [ ] 开始游戏时的游戏设定栏
|
||||
|
||||
### 🗺️ 世界系统
|
||||
- ✅ 基础tile地块系统
|
||||
- ✅ 基础区域、修行区域、城市区域、宗门区域
|
||||
- ✅ 同地块NPC交互
|
||||
- ✅ 灵气分布与产出设计
|
||||
- [ ] 动态世界观设定、地图、历史、宗门、名人生成
|
||||
- ✅ 世界事件
|
||||
|
||||
### 👤 角色系统
|
||||
- ✅ 角色基础属性系统
|
||||
- ✅ 修炼境界体系
|
||||
- ✅ 灵根系统
|
||||
- ✅ 基础移动动作
|
||||
- ✅ 角色性格
|
||||
- ✅ 角色特质与性格
|
||||
- ✅ 境界突破机制
|
||||
- ✅ 角色间的相互关系
|
||||
- ✅ 角色交互范围
|
||||
- ✅ 角色Buffs系统:增益/减益效果
|
||||
- ✅ 法宝
|
||||
- ✅ 角色特质
|
||||
- [ ] 角色之间的相性
|
||||
- [ ] 角色绰号
|
||||
- [ ] 战斗相关
|
||||
- [ ] 属性点分配
|
||||
- [ ] 技能系统(功法)
|
||||
- [ ] 装备系统
|
||||
- [ ] 技能学习系统:
|
||||
- [ ] 可学习技能
|
||||
- [ ] 个人技(灵活融入代码)
|
||||
- [ ] 生活职业(丹药、阵法、种植、铸造etc,配合特殊prompt和信息空间)
|
||||
- [ ] 凡人角色支持
|
||||
- ✅ 角色Effects系统:增益/减益效果
|
||||
- ✅ 角色功法
|
||||
- ✅ 角色兵器 & 辅助装备
|
||||
- ✅ 丹药
|
||||
- ✅ 角色长短期记忆
|
||||
- ✅ 角色的长短期目标,支持玩家主动设定
|
||||
- ✅ 角色绰号
|
||||
- [ ] 生活技能
|
||||
- ✅ 铸造
|
||||
- ✅ 炼丹
|
||||
- [ ] 种植
|
||||
- [ ] 饲养
|
||||
- [ ] 技能可升级
|
||||
- [ ] 凡人系统
|
||||
- [ ] 天骄系统(更强能力,更强AI)
|
||||
|
||||
### 🏛️ 组织系统
|
||||
@@ -88,49 +217,48 @@
|
||||
- ✅ 设定、功法、疗伤、驻地、行事风格
|
||||
- ✅ 宗门特殊动作:合欢宗(双修),百兽宗(御兽)
|
||||
- ✅ 宗门等阶
|
||||
- [ ] 宗门意志ai、宗门任务、接引新人
|
||||
- [ ] 宗门意志ai
|
||||
- [ ] 宗门任务
|
||||
- [ ] 世家系统
|
||||
- [ ] 朝廷系统(不确定)
|
||||
- [ ] 朝廷系统(未定)
|
||||
- [ ] 组织间关系网络
|
||||
|
||||
### ⚡ 动作系统
|
||||
- ✅ 基础移动动作
|
||||
- ✅ 动作执行框架
|
||||
- ✅ 有明确规则的定义动作(Defined Action)
|
||||
- ✅ 有明确规则的定义动作
|
||||
- ✅ 长动作执行和结算系统
|
||||
- ✅ 支持多月份持续的动作(如修炼、突破、游戏等)
|
||||
- ✅ 动作完成时的自动结算机制
|
||||
- ✅ 多人动作:动作发起与动作响应
|
||||
- ✅ 影响人际关系的LLM动作(LLM Action)
|
||||
- ✅ 影响人际关系的LLM动作
|
||||
- ✅ 系统性的动作注册与运行逻辑
|
||||
- [ ] 更丰富的角色动作
|
||||
|
||||
### 🎭 事件系统
|
||||
- ✅ 天地灵气变动
|
||||
- [ ] 世界范围大事件:
|
||||
- [ ] 拍卖会
|
||||
- [ ] 秘境探索
|
||||
- [ ] 比武大会
|
||||
- [ ] 宗门大比
|
||||
- [ ] 突发事件
|
||||
- [ ] 宝物/洞府出世
|
||||
- [ ] 突发事件的小说化&CG化&影视化
|
||||
- [ ] 自然事件:
|
||||
- [ ] 自然灾害
|
||||
- [ ] 兽潮
|
||||
|
||||
### ⚔️ 战斗系统
|
||||
- [ ] 战斗方式设计(灵根影响技能与战斗风格)
|
||||
- [ ] 优劣互克关系
|
||||
- ✅ 胜率计算系统(简单)
|
||||
- ✅ 优劣互克关系
|
||||
- ✅ 胜率计算系统
|
||||
|
||||
### 🎒 物品系统
|
||||
- ✅ 基础物品、灵石框架
|
||||
- [ ] 物品交易机制
|
||||
- [ ] 经济系统
|
||||
- ✅ 物品交易机制
|
||||
|
||||
### 🌿 生态系统
|
||||
- ✅ 动植物
|
||||
- ✅ 狩猎、采集、材料系统
|
||||
- [ ] 魔兽系统
|
||||
- [ ] 魔兽
|
||||
|
||||
### 🤖 AI增强系统
|
||||
- ✅ LLM接口集成
|
||||
@@ -145,62 +273,27 @@
|
||||
- ✅ 战斗小剧场
|
||||
- ✅ 对话小剧场
|
||||
- ✅ 小剧场不同文字风格
|
||||
- [ ] NPC观测空间设计
|
||||
- [ ] 一次性选择(如是否要切换功法)
|
||||
- [ ] 长期记忆/刻骨铭心的记忆
|
||||
- ✅ 一次性选择(如是否要切换功法)
|
||||
|
||||
### 🏛️ 世界背景系统
|
||||
- [ ] 背景故事框架
|
||||
- [ ] 世界观生成
|
||||
- [ ] 上古历史生成
|
||||
- ✅ 注入基础世界知识
|
||||
- ✅ 用户输入历史,动态生成功法、装备、宗门、区域信息
|
||||
|
||||
### 特殊
|
||||
### ✨ 特殊
|
||||
- ✅ 奇遇
|
||||
- [ ] 道途
|
||||
- ✅ 天劫 & 心魔
|
||||
- [ ] 夺舍 & 重生
|
||||
- [ ] 阵法
|
||||
- [ ] 机缘
|
||||
- [ ] 天劫 & 心魔
|
||||
- [ ] 可灵活自定义的世界法则
|
||||
- [ ] 机缘 & 因果
|
||||
- [ ] 占卜 & 谶纬
|
||||
- [ ] 男生女相 & 女生男相
|
||||
- [ ] 角色隐秘 & 双面人
|
||||
- [ ] 飞升上界
|
||||
- [ ] 阵法
|
||||
- [ ] 道途
|
||||
- [ ] 世界秘密 & 世界法则 (可灵活自定义)
|
||||
- [ ] 炼蛊
|
||||
- [ ] 灭世危机
|
||||
|
||||
## 使用方法
|
||||
|
||||
### 运行步骤
|
||||
1. 克隆项目到本地:
|
||||
```bash
|
||||
git clone https://github.com/your-username/cultivation-world-simulator.git
|
||||
cd cultivation-world-simulator
|
||||
```
|
||||
|
||||
2. 安装依赖:
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
3. 配置LLM:
|
||||
在 `static/config.yml` 中配置LLM参数:
|
||||
```yaml
|
||||
llm:
|
||||
model_name: "qwen-plus" # 或其他litellm支持的模型名称
|
||||
key: "your-api-key-here" # 你的API密钥
|
||||
base_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"
|
||||
```
|
||||
具体支持的模型请参考 [litellm文档](https://docs.litellm.ai/docs/providers)
|
||||
|
||||
4. 运行模拟器:
|
||||
```bash
|
||||
python -m src.run.run
|
||||
```
|
||||
|
||||
## 贡献者
|
||||
- Aku, 世界观\玩法设计与讨论
|
||||
|
||||
## 许可证
|
||||
|
||||
本项目采用 [LICENSE](LICENSE) 文件中指定的许可证。
|
||||
|
||||
## 联系方式
|
||||
如果您对项目有任何问题或建议,欢迎提交 Issue 或 Pull Request。
|
||||
也欢迎给我的[B站账号](https://space.bilibili.com/527346837)留言!
|
||||
### 🔭 远期展望
|
||||
- [ ] 历史/事件的小说化&图片化&视频化
|
||||
- [ ] MCP agent化,修士自行调用工具
|
||||
BIN
assets/cities/city_301_0.jpg
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
assets/cities/city_301_0.png
Normal file
|
After Width: | Height: | Size: 204 KiB |
BIN
assets/cities/city_301_1.jpg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
assets/cities/city_301_1.png
Normal file
|
After Width: | Height: | Size: 208 KiB |
BIN
assets/cities/city_301_2.jpg
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
assets/cities/city_301_2.png
Normal file
|
After Width: | Height: | Size: 196 KiB |
BIN
assets/cities/city_301_3.jpg
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
assets/cities/city_301_3.png
Normal file
|
After Width: | Height: | Size: 191 KiB |
BIN
assets/cities/city_302_0.jpg
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
assets/cities/city_302_0.png
Normal file
|
After Width: | Height: | Size: 263 KiB |
BIN
assets/cities/city_302_1.jpg
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
assets/cities/city_302_1.png
Normal file
|
After Width: | Height: | Size: 244 KiB |
BIN
assets/cities/city_302_2.jpg
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
assets/cities/city_302_2.png
Normal file
|
After Width: | Height: | Size: 238 KiB |
BIN
assets/cities/city_302_3.jpg
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
assets/cities/city_302_3.png
Normal file
|
After Width: | Height: | Size: 218 KiB |
BIN
assets/cities/city_303_0.jpg
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
assets/cities/city_303_0.png
Normal file
|
After Width: | Height: | Size: 357 KiB |
BIN
assets/cities/city_303_1.jpg
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
assets/cities/city_303_1.png
Normal file
|
After Width: | Height: | Size: 348 KiB |
BIN
assets/cities/city_303_2.jpg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
assets/cities/city_303_2.png
Normal file
|
After Width: | Height: | Size: 335 KiB |
BIN
assets/cities/city_303_3.jpg
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
assets/cities/city_303_3.png
Normal file
|
After Width: | Height: | Size: 325 KiB |
BIN
assets/cities/city_304_0.jpg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
assets/cities/city_304_0.png
Normal file
|
After Width: | Height: | Size: 222 KiB |
BIN
assets/cities/city_304_1.jpg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
assets/cities/city_304_1.png
Normal file
|
After Width: | Height: | Size: 230 KiB |
BIN
assets/cities/city_304_2.jpg
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
assets/cities/city_304_2.png
Normal file
|
After Width: | Height: | Size: 194 KiB |
BIN
assets/cities/city_304_3.jpg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
assets/cities/city_304_3.png
Normal file
|
After Width: | Height: | Size: 198 KiB |
BIN
assets/cities/city_305_0.jpg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
assets/cities/city_305_0.png
Normal file
|
After Width: | Height: | Size: 292 KiB |
BIN
assets/cities/city_305_1.jpg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
assets/cities/city_305_1.png
Normal file
|
After Width: | Height: | Size: 281 KiB |
BIN
assets/cities/city_305_2.jpg
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
assets/cities/city_305_2.png
Normal file
|
After Width: | Height: | Size: 255 KiB |
BIN
assets/cities/city_305_3.jpg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
assets/cities/city_305_3.png
Normal file
|
After Width: | Height: | Size: 275 KiB |
BIN
assets/cities/揽月城.jpg
Normal file
|
After Width: | Height: | Size: 192 KiB |
BIN
assets/cities/沙月城.jpg
Normal file
|
After Width: | Height: | Size: 191 KiB |
BIN
assets/cities/沧澜城.jpg
Normal file
|
After Width: | Height: | Size: 173 KiB |
BIN
assets/cities/翠林城.jpg
Normal file
|
After Width: | Height: | Size: 224 KiB |
BIN
assets/cities/青云城.jpg
Normal file
|
After Width: | Height: | Size: 163 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 |