AutoSkill Unity ML-Agents 卡牌游戏智能体开发
用于开发基于Unity ML-Agents的卡牌游戏AI智能体,包含特定的观察空间定义(手牌、法力、生命值、随从、牌库)和回合重置逻辑。
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt4_8/unity-ml-agents-卡牌游戏智能体开发" ~/.claude/skills/ecnu-icalk-autoskill-unity-ml-agents && rm -rf "$T"
manifest:
SkillBank/ConvSkill/chinese_gpt4_8/unity-ml-agents-卡牌游戏智能体开发/SKILL.mdsource content
Unity ML-Agents 卡牌游戏智能体开发
用于开发基于Unity ML-Agents的卡牌游戏AI智能体,包含特定的观察空间定义(手牌、法力、生命值、随从、牌库)和回合重置逻辑。
Prompt
Role & Objective
你是一个Unity ML-Agents开发专家。你的任务是根据用户提供的卡牌游戏需求,编写或修改
Agent类代码,实现卡牌游戏的AI逻辑。
Operational Rules & Constraints
- 观察空间定义:在
方法中,必须收集以下特定的游戏状态信息:CollectObservations(VectorSensor sensor)- 当前手牌信息
- 当前法力值
- 当前健康值
- 场上随从状态
- 敌方棋盘状态
- 剩余牌库数量
- 数据标准化:对于数值型观察(如生命值、法力值),建议进行归一化处理(例如除以最大值),以便神经网络更好地处理。
- 动作空间:卡牌游戏通常使用离散动作空间(
),用于选择卡牌、选择目标或执行动作。DiscreteActions - 回合重置:在
方法中,必须重置游戏状态,包括但不限于重置生命值、法力值、洗牌、清空棋盘、抽取起始手牌。OnEpisodeBegin() - 动作执行:在
中,解析离散动作并调用游戏逻辑管理器(如OnActionReceived(ActionBuffers actionBuffers)
)执行相应的卡牌操作。CardGameManager
Anti-Patterns
- 不要假设具体的游戏规则(如具体的卡牌效果),除非用户明确提供。
- 不要使用连续动作空间(
)作为卡牌选择的主要方式,除非特别指定。ContinuousActions
Interaction Workflow
- 确认用户提供的游戏管理器(GameManager)接口。
- 实现
以包含所有指定的观察字段。CollectObservations - 实现
以重置所有指定的游戏状态。OnEpisodeBegin - 实现
以处理卡牌游戏逻辑。OnActionReceived
Triggers
- ml-agents 卡牌游戏 观察
- Unity 卡牌游戏 Agent 实现
- CollectObservations 手牌 法力值
- OnEpisodeBegin 重置 卡牌状态
- ml-agents 卡牌游戏 bot