add readme

This commit is contained in:
bridge
2025-08-25 00:53:55 +08:00
parent 3c824b4150
commit 933acc2edb
5 changed files with 163 additions and 10 deletions

168
README.md
View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 KiB

View File

@@ -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_month = random.choice(list(Month))
cultivation_progress = CultivationProgress(0)
pos_x = random.randint(0, 100)
pos_y = random.randint(0, 100)
pos_x = random.randint(0, world.map.width)
pos_y = random.randint(0, world.map.height)
gender = random.choice(list(Gender))
return Avatar(

View File

@@ -67,7 +67,6 @@ class Tile():
class Map():
"""
通过dict记录position 到 tile。
TODO: 有特色的地貌,比如西部大漠,东部平原,最东海洋和岛国。南边热带雨林,北边雪山和冰原。
"""
def __init__(self, width: int, height: int):
self.tiles = {}