这是一个单机的生物进化模拟器,支持命令行玩法与 Web 前端观战/游玩模式。适合新手快速上手并体验 AI 对战、物种进化、食谱与生活方式调整等机制。
主要特性
- CLI 本地游戏与 Web 前端两种体验。
- 高级 AI(AdvancedAI)用于观战和自动托管,能主动修改食谱与生活方式。
- 集成基因漂移(Genetic Drift)与天赋系统(Talent)。
文件结构(重要)
main.py,game.py:命令行游戏主流程。web/app.py:Flask Web 后端(观战 / Web 游玩)。spectator_mode.py:观战模式逻辑(10 个 AI 对战)。advanced_ai.py,ai_player.py,smart_ai.py:AI 实现。ai_utils.py:统一把 AdvancedAI 的决策应用到物种上的工具。config.py:配置开关与参数(如PLAYER_USE_ADVANCED_AI)。
先确保机器安装了 Python 3.8+(推荐 3.10/3.11)。
- 在项目根目录创建并激活虚拟环境(可选但推荐):
python -m venv .venv
.venv\Scripts\activate- 安装依赖(如果需要,Web 后端需要 Flask):
pip install -r web/requirements.txt- 命令行运行(CLI):
python main.py
# 或运行测试脚本(只执行一次进化轮用于调试)
python test_ai_actions.py- 启动 Web 服务(在项目根目录):
python run_web.py
# 然后打开浏览器访问 http://127.0.0.1:5000- 启动 CLI 游戏后会让你选择一个物种进行操控。玩家物种默认由你通过交互式输入做出进化选择(属性提升/降低、添加/移除食物、切换生活方式)。
- 每回合有固定进化点(默认
3点),花费规则:属性改变 1 点,添加/移除食物 2 点,切换生活方式 3 点。 - 玩家在
PLAYER_USE_ADVANCED_AI = True时可选择让玩家物种在无人交互时由高级 AI 自动托管(包括修改食谱/生活方式),以便与观战行为保持一致。
- 观战模式是启动一个仅由 AI 控制的比赛(10 个 AI),用于观察 AI 策略。
- 观战 AI 与 Web 后端/命令行中使用的 AdvancedAI 在决策与行为应用上保持一致:通过
ai_utils.apply_advanced_ai_actions将决策应用到物种上,保证食谱/生活方式等修改会被实际执行并记录事件。
- Web 模式在
api_select_species时会初始化AdvancedAI实例,以便服务器端在end_evolution阶段对非玩家物种使用高级 AI 决策。 - 如果你希望玩家模式下玩家的物种也在无人交互时由 AI 托管,请在
config.py中保持PLAYER_USE_ADVANCED_AI = True(默认已启用)。
config.py中包含大量可调参数,常用的:TOTAL_ROUNDS:总回合数。EVOLUTION_POINTS_PER_TURN:每回合进化点。PLAYER_USE_ADVANCED_AI:玩家物种是否在无人交互时使用 AdvancedAI。AI_DIFFICULTY:默认 AI 难度(easy|medium|hard|expert)。
-
如果 Web 页面没有正确显示 AI 更改(例如食谱未变),请确认:
- 后端是否成功启动(查看控制台日志)。
web/app.py中advanced_ai是否被正确创建(在选择物种后会创建)。ai_utils.apply_advanced_ai_actions在不同模式下已被统一调用(spectator_mode.py、game.py与web/app.py)。
-
如果遇到导入错误或依赖问题,尝试激活虚拟环境并运行:
pip install -r web/requirements.txt- 若要查看 AI 决策细节,可在
ai_utils.apply_advanced_ai_actions中添加print或在advanced_ai.py的decide/apply_action中打印日志。 - 新增天赋或参数建议同步更新
config.py、talent.py与文档说明。
欢迎提交 issue 或 pull request。代码中无附加许可头,按项目需要添加 LICENSE 文件。
- 主要入口:main.py
- Web 后端:web/app.py
- 观战模式:spectator_mode.py
祝你玩得开心!如需我把 README 翻译成英文或补充截图/前端使用说明,我可以继续完善。