# 仿兵棋引擎-无限扩展架构-py **Repository Path**: naturalcaduceus/ChessEngine ## Basic Information - **Project Name**: 仿兵棋引擎-无限扩展架构-py - **Description**: 简易兵棋引擎 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-08 - **Last Updated**: 2026-06-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python ## README ## 项目结构 ``` core/ │── entity/ │ ├── hex_grid.py # 六边形坐标、通视、邻居 │ ├── unit.py # 单位定义 │ ├── game_core.py # 兵棋逻辑:移动、攻击、胜负 -地形编辑器(算规则的一种) │── env/ │ ├── hex_wargame_env.py # Gym 环境封装 -物体编辑器 │── entity/ │ ├── hex_grid.py # 六边形坐标、通视、邻居 -触发编辑器 │── rule/ │ ├── hex_grid.py # 六边形坐标、通视、邻居 ``` easyengine是另一个简化开发分支 类·兵棋系统,吸收兵棋的复杂性与RTS的实时性,同时极致简化内核又保留最重要的对抗要素。 核心——定义,规则,推演-cq20230927 -cq20260607 把RTS的一切归结为「实体」和「规则」两个原语,本质上是在做一种"游戏化的逻辑编程语言"。 实体是哑巴数据,规则是唯一会动的东西 需要定义的类型: 【ER模型是 实体、属性、联系,这里是方便修改编辑的变种】 实体(兵力、物体):包含的属性、行为,以及子实体。 规则:真正判定的计算,其他的都是影响因素需要汇聚在这里。 联系(技能):一个实体发出的对各个实体的属性修改、武器(攻击方式类别的特例)。 -行为(触发): 一个技能与规则的对照表, -环境(地形等) :归类于空间规则,有地图、想定、。 超级干预(裁决):因果律级别的武器,类似于胜负判定,或者强制干预修改。 接口就是给智能体的行为空间。 分文件夹这么做: entity/ 实体 rule/ 规则 ai/ 智能体 logs/ 日志 tools/ 工具 env/ 环境 skill/ 技能 简化环境的设计与实现 兵考虑到原始兵棋环境具有状态空间大、奖励稀疏、决策链条长等特点,直接用于强化学习训练存在收敛困难的问题。为提高算法验证效率,本文构建了一个简化版对抗环境,用于强化学习阶段的策略训练与验证。 该环境保留了兵棋对抗的核心要素,包括多算子协同、局部可观测性以及夺控机制,同时对规则进行适度简化: 地图规模为 13×23 网格; 双方各控制3个算子,每个算子具有固定生命值; 每回合(因为模拟20帧算作一回合)可执行一次移动或攻击操作; 攻击具有一定范围与冷却时间; 存在战争迷雾机制,视野范围有限且队友共享; 地图中设置夺控点,持续占领可获得积分; 在固定回合数结束后,根据综合得分判定胜负。 通过该简化环境,强化学习模型可以在较低计算成本下快速学习基础策略,并验证“对手预测信息”对策略优化的影响。 该设计类似于课程学习(Curriculum Learning)思想,即先在简化环境中学习基础策略,再逐步迁移至复杂环境,从而提升整体训练效率与稳定性。