关于 godot-genre-educational
面向 Godot 教育游戏开发的技能指南,涵盖教学设计、学生进度、适应性难度与课堂无障碍。通过配套脚本和架构建议,帮助将学习机制融入玩法并支持长期掌握。
主要功能
- 01将学习目标融入游戏机制
- 02间隔重复与动态难度
- 03学生档案、掌握度与 XP 持久化
- 04本地化、TTS 与键盘导航
- 05线程化评分和性能监控
适用场景
- 01设计带提示和渐进挑战的测验
- 02追踪学生掌握度与学习进度
- 03构建适配多语言课堂的界面
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ thedivergentai/ game-dev-agentic-skills --skill godot-genre-educational安装后在 Claude Code 中输入/godot-genre-educational确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/expert-educational-patterns.mdmigration-notes.mdscripts/adaptive_difficulty_adjuster.gdadaptive_ui_anchors.gdassessment_pause_handler.gddynamic_localization.gdfocus_navigation_manager.gdinteractive_rich_text.gdlow_processor_optimizer.gdspaced_repetition_scheduler.gdstudent_profile.gdstudent_progress_config.gdtext_reveal_effect.gdthreaded_scoring_engine.gdtts_manager.gd详细介绍
绝对不要做(专家级反模式)
教学法与流程
- 绝不要用“Game Over”惩罚失败;务必使用 “再试一次” 或 情境提示,营造安全、鼓励式的学习环境。
- 绝不要把学习与游戏玩法分开(“巧克力裹着的西兰花”);务必确保 机制本身就是学习内容(例如,基于数学的轨迹计算)。
- 绝不要用大段文字说明操作;务必采用 展示而非讲解 的方式:交互式图表、非语言教程或 3 秒循环 GIF。
- 绝不要跳过 间隔重复 逻辑;务必确保答对的问题会以逐渐延长的间隔再次出现,以检验长期记忆。
- 绝不要只关注失败;务必醒目展示 掌握度 %、XP 条 和 技能树,通过可见的进度激励学生。
- 绝不要假定难度固定不变;务必实现 动态支架,根据学生的掌握程度调整挑战,帮助他们保持在“最近发展区”内。
- 绝不要在 UI 组件中硬编码学生数据;务必使用
Resource脚本(StudentProfile),将学生数据与表现层解耦,以支持持久化和扩展。 - 绝不要在开发过程中自定义调试面板来跟踪性能;务必使用
Performance.add_custom_monitor(),将实时学生指标注入 Godot 编辑器调试器。
技术与无障碍
- 绝不要在 UI 中硬编码文本;务必使用 翻译键(PO 文件),以支持国际化和本地化课堂。
- 绝不要在未经用户同意的情况下强制使用 TTS;务必在游戏中提供开关,并遵循操作系统级屏幕阅读器设置。
- 绝不要使用绝对像素定位;务必使用 锚点与容器 系统,确保在平板电脑和课堂笔记本电脑上自适应缩放。
- 绝不要在主线程上执行繁重的数据评分;务必使用
WorkerThreadPool,避免自动评估时 UI 卡顿。 - 绝不要忘记处理 IME 更新;务必监控
NOTIFICATION_OS_IME_UPDATE,以支持复杂字符输入(例如,东亚文字)。 - 绝不要忽略覆盖层上的
mouse_filter;务必将其设为PASS,避免不可见容器悄无声息地拦截点击。 - 绝不要在
_process()中更新静态字符串;仅在状态变更事件中更新标签,以节省手机/平板电脑的电量。 - 绝不要在导出内容中嵌入敏感的数据库凭据;务必使用 环境变量 或代理 API 来保护学生数据。
可用脚本
必须遵守:实现前,先阅读与场景匹配的脚本。不要把测验/档案教程直接粘贴到代码中。
教学法 / 自适应
- adaptive_difficulty_adjuster.gd — 面向约 70% 沉浸度 / 渐进式提示时 必须使用。
- spaced_repetition_scheduler.gd — 安排问题再次出现(答对/答错后的间隔)时 必须使用。
- student_progress_config.gd — 持久化掌握度/XP 前 必须使用(ConfigFile 档案)。
- threaded_scoring_engine.gd — 在学校硬件上执行繁重评估/评分前 必须使用。
无障碍 / 课堂 UI
- tts_manager.gd — 使用 DisplayServer TTS 前 必须使用(先提供同意开关)。
- dynamic_localization.gd — 运行时切换区域设置 / 复数形式。
- adaptive_ui_anchors.gd — 平板电脑/笔记本电脑自适应课程布局。
- focus_navigation_manager.gd — 用于课堂导航的键盘/控制器焦点。
- interactive_rich_text.gd — 元数据点击词汇表 / 公式提示。
- text_reveal_effect.gd — 逐步显示文本,避免大段文字。
评估体验
- assessment_pause_handler.gd — 暂停世界逻辑,同时保持测验 UI 可交互。
- low_processor_optimizer.gd — 为学校设备上的教育应用实现省电待机。
核心循环
- 学习 → 2. 应用 → 3. 反馈 → 4. 调整 → 5. 精通
技能链
| 阶段 | 技能 | 目的 |
|---|---|---|
| 1. UI | godot-ui-rich-text, godot-ui-theming | 易读文本、拖放式答案 |
| 2. 数据 | godot-save-load-systems | 学生档案、进度跟踪 |
| 3. 逻辑 | godot-state-machine-advanced | 测验流程(问题 → 回答 → 结果) |
| 4. 趣味效果 | godot-particles, godot-tweening | 让学习过程更有成就感 |
| 5. 元系统 | godot-scene-management | 在课程与地图之间导航 |
| 6. 平衡 | godot-monte-carlo-balancer | 将难度调整到约 70% 的流畅度/精通度 |
架构决策树
选定负责的脚本;不要在 SKILL 中重复粘贴 StudentProfile / quiz_manager。
| 需求 | 决策 | 必须使用的脚本 |
|---|---|---|
| 跟踪精通度 / XP / 徽章 | 一个 StudentProfile Resource + ConfigFile I/O | student_progress_config.gd |
| 让学习者保持流畅状态(约 70%) | 滑动窗口成功率 + 提示分支 | adaptive_difficulty_adjuster.gd |
| 长期记忆 | 间隔队列(成功 → 延长间隔;失败 → 缩短间隔) | spaced_repetition_scheduler.gd |
| 前置课程地图 | 课程体系 Resource 图(id + required_topics)——仅数据,无 UI | 同级的 godot-resource-data-patterns |
| 评分时避免卡顿 | 将评分任务卸载 | threaded_scoring_engine.gd |
| 课堂无障碍 | TTS + 语言环境 + 焦点 + 锚点 | tts_manager / dynamic_localization / focus_navigation_manager / adaptive_ui_anchors |
| 实时调试器指标 | Performance.add_custom_monitor("edu/...") — 不要自定义仪表板 | (可内联一行代码) |
StudentProfile(统一结构): @export mastery Dictionary + XP;发出变更信号;通过 student_progress_config.gd 持久化。不要在此技能中重复定义该类。
测验流程: 状态机负责 Question → Answer → Result → Adapt;间隔重复与自适应难度脚本决定接下来做什么——不要在这里内联完整的 quiz_manager.gd 教程。
趣味效果(Duolingo 效应)
学习并不容易——要奖励努力:令人满足的音效、答对时的粒子效果、使用 Tween 动画的 XP 条。教学优先;趣味效果绝不能取代间隔重复/最近发展区(ZPD)支架。
常见陷阱
- 巧克力裹西兰花 — 机制本身必须就是学习。
- 惩罚失败 — 提供重试/提示,答错时绝不要直接游戏结束。
- 大段文字 — 先展示/互动;使用
text_reveal_effect/ 富文本 meta。
专家知识(按需)
LLM 无知原则: 如果通用 Agent 在阅读前不会了解某项内容,就加载参考资料——绝不要删除专家补充内容。
- expert-educational-patterns.md — 恢复基础教学法(架构、原因、实现深度)
- student_profile.gd
参考
渐进式披露:仅在研究特定 API 时打开官方文档链接;在需要转交给同级领域时加载相关技能——不要预加载整个技能网络。
官方文档
- 游戏国际化 — 用于课堂多语言 UI 的
tr()/ 地区设置工作流,无需将字符串硬编码。 - 使用 gettext 进行本地化 — 运行时切换地区设置所用的 PO/CSV 流程和复数形式。
- 文本转语音 — DisplayServer TTS 语音、朗读/停止,以及兼顾用户同意的无障碍朗读功能。
- RichTextLabel 中的 BBCode — 用于课程的彩色关键词、公式、meta 链接和自定义 RichTextEffect 显示效果。
- 使用容器 — 适用于平板电脑和课堂笔记本电脑的自适应测验/布局组合。
- 尺寸和锚点 — 用锚点/偏移规则取代绝对像素定位,适配不同屏幕方向。
- 键盘/控制器导航与焦点 — 用于仅通过键盘进行课堂导航的焦点邻居和 grab_focus 模式。
- 资源 — 与呈现层解耦的 StudentProfile / 课程节点 Resources。
- 保存游戏 — 持久化掌握度、XP 和进度,而不将凭据打包进导出文件。
- 使用多个线程 — 使用 WorkerThreadPool 进行评分,避免繁重的评估导致测验 UI 卡顿。
- 暂停游戏 — 使用树暂停和
process_mode,让评估冻结世界逻辑,同时保持 UI 可交互。 - 性能 — 自定义监视器、低处理器模式,以及适用于教育应用的省电待机屏幕。
相关技能
前置条件
- godot-project-foundations — 在创建课堂 UI 和 TTS 开关之前,必须先设置项目地区设置、显示和输入映射默认值。
- godot-gdscript-mastery — 类型化 Resources、信号和 await 模式是学生档案与测验流程的基础。
- godot-ui-containers — 锚点/容器是多设备课程屏幕不可或缺的布局基础。
补充
- godot-ui-rich-text — 为词汇表和公式繁多的提示词提供 BBCode、元信息点击和自定义效果。
- godot-ui-theming — 为平板与笔记本混用的课堂提供易读的主题比例和对比度。
- godot-save-load-systems — 提供持久化的 StudentProfile/掌握度存储,而非临时拼凑的 ConfigFile 代码片段。
- godot-tweening — 通过 XP 条、彩纸屑时机和叠加层淡出,营造“Duolingo 效果”。
- godot-signal-architecture — 处理掌握度提升、提示揭示和难度变化事件,避免 UI↔逻辑紧密耦合。
- godot-input-handling — 为测验提供焦点操作、拖放答案和兼容 IME 的文本输入。
下游/使用方
- godot-monte-carlo-balancer — 模拟覆盖范围,确保自适应难度实际达到约 70% 的心流/掌握度成功率。
- godot-state-machine-advanced — 当测验的 Question → Answer → Result → Adapt 流程超出单个脚本的承载范围时,构建 FSM。
- godot-scene-management — 实现课程地图 ↔ 测验 ↔ 结果之间的切换,同时避免暂停的场景树状态泄漏。
- godot-performance-optimization — 当计分线程、TTS 或富文本效果在学校硬件上仍产生性能分析器开销时,进行优化。
- godot-particles — 将彩纸屑/奖励爆发效果关联到答对反馈,同时不影响教学。
主技能
- godot-master — 库路由器和镜像模块入口;在需要查明哪个领域技能负责跨领域教育问题时打开。
评论
支持 Markdown