add readme
This commit is contained in:
168
README.md
168
README.md
@@ -1,13 +1,167 @@
|
|||||||
从小一直是修仙网文的读者,从最早最早的蜀山仙侠传,到比较新的赤心巡天,修仙网文陪伴了我非常多的时间。
|
# 修仙世界模拟器 (Cultivation World Simulator)
|
||||||
|
|
||||||
由于我本人也是游戏AI行业的工作者,对LLM这两年的进步感触很深。我认为,现在的LLM智能水平,已经足够支持起来一些仙侠风格的世界模拟了。
|
一个基于规则和AI驱动的修仙世界模拟器,旨在创造一个真正活着的、有沉浸感的仙侠世界。
|
||||||
|
|
||||||
但是,纯粹只有LLM为NPC提供决策和对话能力是不够的。首先,要有可信的规则打底,作为修仙世界的“世界模型”。之后,才是接入LLM,使其生动起来。
|
## 简介
|
||||||
|
|
||||||
我是希望,能够有纯粹的、快乐的、直接的、活着的修仙世界的沉浸感。
|
修仙世界模拟器是一个结合传统游戏规则系统和现代AI技术的仿真项目。通过建立完整的修仙世界模型,包括地形、角色、修炼体系、人际关系等要素,创造一个可以自主运行、充满生机的虚拟修仙世界。
|
||||||
|
|
||||||
有一些游戏公司其实有宣扬过自己可以实现类似的功能,但是最后都沦为了纯粹的宣传工具。
|
项目的核心理念是:**先建立可信的规则体系作为"世界模型"基础,再接入AI使世界生动起来**。
|
||||||
|
|
||||||
也不是像斯坦福小镇那样的纯粹的研究,而是能给玩家提供代入感和沉浸感的实际世界。
|
## 截图预览
|
||||||
|
|
||||||
我想了下,不如干脆自己来干吧。先动手,动起手来比什么都强。
|

|
||||||
|
|
||||||
|
## 功能开发进度
|
||||||
|
|
||||||
|
### 🏗️ 基础系统
|
||||||
|
- ✅ 基础世界地图系统
|
||||||
|
- ✅ 多样化地形类型(平原、山脉、森林、沙漠、水域等)
|
||||||
|
- ✅ 时间系统(年月日历)
|
||||||
|
- ✅ 前端显示界面(pygame)
|
||||||
|
- ✅ 基础模拟器框架
|
||||||
|
- ✅ 项目文档(README)
|
||||||
|
- [ ] 配置文件系统(config)
|
||||||
|
- [ ] Web前端支持(从pygame切换)
|
||||||
|
- [ ] ECS并行工具(后期考虑)
|
||||||
|
|
||||||
|
### 🗺️ 地块系统
|
||||||
|
- ✅ 基础tile地块系统
|
||||||
|
- [ ] 同tile内NPC相互交互
|
||||||
|
- [ ] 乡村和城镇的机制
|
||||||
|
- [ ] 灵气分布与产出设计
|
||||||
|
- [ ] 地块间移动(move_to_region action)
|
||||||
|
|
||||||
|
### 👤 角色系统
|
||||||
|
- ✅ 角色基础属性系统
|
||||||
|
- ✅ 修炼境界体系
|
||||||
|
- ✅ 灵根系统
|
||||||
|
- ✅ 基础移动动作
|
||||||
|
- [ ] 角色关系系统
|
||||||
|
- [ ] 性格系统设计
|
||||||
|
- [ ] 角色特殊能力
|
||||||
|
- [ ] 战斗相关
|
||||||
|
- [ ] 属性点分配
|
||||||
|
- [ ] 技能系统
|
||||||
|
- [ ] 装备系统
|
||||||
|
- [ ] 法宝系统
|
||||||
|
- [ ] 阵法
|
||||||
|
- [ ] 技能学习系统:
|
||||||
|
- [ ] 可学习技能
|
||||||
|
- [ ] 个人技(灵活融入代码)
|
||||||
|
- [ ] 生活技能
|
||||||
|
- [ ] 凡人角色支持
|
||||||
|
- [ ] 角色突破机制
|
||||||
|
|
||||||
|
### 🏛️ 组织系统
|
||||||
|
- [ ] 宗门系统
|
||||||
|
- [ ] 世家系统
|
||||||
|
- [ ] 朝廷系统(待定)
|
||||||
|
- [ ] 组织间关系网络
|
||||||
|
|
||||||
|
### ⚡ 动作系统
|
||||||
|
- ✅ 基础移动动作
|
||||||
|
- [ ] 有明确规则的定义动作
|
||||||
|
- [ ] 影响人际关系的LLM动作
|
||||||
|
- [ ] 动作执行框架
|
||||||
|
|
||||||
|
### 🎭 事件系统
|
||||||
|
- [ ] 世界范围大事件:
|
||||||
|
- [ ] 拍卖会
|
||||||
|
- [ ] 秘境探索
|
||||||
|
- [ ] 比武大会
|
||||||
|
- [ ] 规则发起事件
|
||||||
|
- [ ] NPC发起事件
|
||||||
|
- [ ] 自然事件:
|
||||||
|
- [ ] 自然灾害
|
||||||
|
- [ ] 天灾
|
||||||
|
- [ ] 战争
|
||||||
|
- [ ] 兽潮
|
||||||
|
|
||||||
|
### ⚔️ 战斗系统
|
||||||
|
- [ ] 战斗方式设计
|
||||||
|
- [ ] 优劣互克关系
|
||||||
|
- [ ] 胜率计算系统
|
||||||
|
- [ ] 战斗规则引擎
|
||||||
|
|
||||||
|
### 🎒 物品系统
|
||||||
|
- [ ] 基础物品框架
|
||||||
|
- [ ] 物品属性系统
|
||||||
|
- [ ] 物品交易机制
|
||||||
|
|
||||||
|
### 🌿 生态系统
|
||||||
|
- [ ] 魔兽系统
|
||||||
|
- [ ] 动植物生态
|
||||||
|
- [ ] 生物间相互关系
|
||||||
|
|
||||||
|
### 🤖 AI增强系统
|
||||||
|
- [ ] 角色AI系统(规则AI + LLM接口预留)
|
||||||
|
- [ ] LLM驱动的NPC对话
|
||||||
|
- [ ] 智能决策系统
|
||||||
|
- [ ] 动态剧情生成
|
||||||
|
- [ ] NPC观测空间设计
|
||||||
|
- [ ] NPC之间关系交互
|
||||||
|
- [ ] LLM接口集成
|
||||||
|
|
||||||
|
### 🏛️ 世界背景系统
|
||||||
|
- [ ] 上古历史生成
|
||||||
|
- [ ] 世界观设定
|
||||||
|
- [ ] 背景故事框架
|
||||||
|
|
||||||
|
## 使用方法
|
||||||
|
|
||||||
|
### 环境要求
|
||||||
|
- Python 3.8+
|
||||||
|
- pygame
|
||||||
|
- PyYAML
|
||||||
|
|
||||||
|
### 运行步骤
|
||||||
|
1. 克隆项目到本地:
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/your-username/cultivation-world-simulator.git
|
||||||
|
cd cultivation-world-simulator
|
||||||
|
```
|
||||||
|
|
||||||
|
2. 安装依赖(如需要的话):
|
||||||
|
```bash
|
||||||
|
pip install pygame pyyaml
|
||||||
|
```
|
||||||
|
|
||||||
|
3. 运行模拟器:
|
||||||
|
```bash
|
||||||
|
python run.py
|
||||||
|
```
|
||||||
|
|
||||||
|
### 基本操作
|
||||||
|
- 启动后会自动生成随机地图
|
||||||
|
- 可以观察角色在世界中的移动和行为
|
||||||
|
- 按ESC退出程序
|
||||||
|
|
||||||
|
## 项目背景
|
||||||
|
|
||||||
|
从小一直是修仙网文的读者,从最早的蜀山仙侠传,到比较新的赤心巡天,修仙网文陪伴了我非常多的时间。
|
||||||
|
|
||||||
|
作为游戏AI行业的从业者,对LLM这两年的进步感触很深。我认为,现在的LLM智能水平,已经足够支持起来一些仙侠风格的世界模拟了。
|
||||||
|
|
||||||
|
但是,纯粹只有LLM为NPC提供决策和对话能力是不够的。首先,要有可信的规则打底,作为修仙世界的"世界模型"。之后,才是接入LLM,使其生动起来。
|
||||||
|
|
||||||
|
我希望能够创造出纯粹的、快乐的、直接的、活着的修仙世界的沉浸感。不是像一些游戏公司的纯粹宣传工具,也不是像斯坦福小镇那样的纯粹研究,而是能给玩家提供真实代入感和沉浸感的实际世界。
|
||||||
|
|
||||||
|
## 技术架构
|
||||||
|
|
||||||
|
- **前端显示**: pygame (计划未来支持Web)
|
||||||
|
- **模拟引擎**: 自研事件驱动模拟器
|
||||||
|
- **世界模型**: 基于规则的确定性系统
|
||||||
|
- **AI集成**: 预留LLM接口,支持混合决策
|
||||||
|
|
||||||
|
## 贡献指南
|
||||||
|
|
||||||
|
欢迎对修仙世界模拟器项目的贡献!无论是代码、创意还是测试反馈都非常宝贵。
|
||||||
|
|
||||||
|
## 许可证
|
||||||
|
|
||||||
|
本项目采用 [LICENSE](LICENSE) 文件中指定的许可证。
|
||||||
|
|
||||||
|
## 联系方式
|
||||||
|
|
||||||
|
如果您对项目有任何问题或建议,欢迎提交 Issue 或 Pull Request。
|
||||||
|
|||||||
BIN
assets/screenshot.png
Normal file
BIN
assets/screenshot.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 371 KiB |
@@ -147,8 +147,8 @@ def get_new_avatar_from_ordinary(world: World, current_year: Year, name: str, ag
|
|||||||
birth_year = current_year - age.age
|
birth_year = current_year - age.age
|
||||||
birth_month = random.choice(list(Month))
|
birth_month = random.choice(list(Month))
|
||||||
cultivation_progress = CultivationProgress(0)
|
cultivation_progress = CultivationProgress(0)
|
||||||
pos_x = random.randint(0, 100)
|
pos_x = random.randint(0, world.map.width)
|
||||||
pos_y = random.randint(0, 100)
|
pos_y = random.randint(0, world.map.height)
|
||||||
gender = random.choice(list(Gender))
|
gender = random.choice(list(Gender))
|
||||||
|
|
||||||
return Avatar(
|
return Avatar(
|
||||||
|
|||||||
@@ -67,7 +67,6 @@ class Tile():
|
|||||||
class Map():
|
class Map():
|
||||||
"""
|
"""
|
||||||
通过dict记录position 到 tile。
|
通过dict记录position 到 tile。
|
||||||
TODO: 有特色的地貌,比如西部大漠,东部平原,最东海洋和岛国。南边热带雨林,北边雪山和冰原。
|
|
||||||
"""
|
"""
|
||||||
def __init__(self, width: int, height: int):
|
def __init__(self, width: int, height: int):
|
||||||
self.tiles = {}
|
self.tiles = {}
|
||||||
|
|||||||
Reference in New Issue
Block a user