SuperAPI AI 工具集

scaffolding-godot-mini-games

编程与开发

查看项目

更新于 10-16 08:08

技能介绍

用途:从可复用的纯基础设施模板搭建最小 Godot 迷你游戏项目,适用于需要无头测试、启动冒烟检查与 Web 导出的 Godot 4.2+ 小游戏。模板 assets/godot-base/ 只提供基础设施,不含玩法或视听风格;复制后应保留 main.gd 作编排,把游戏专属职责写进独立脚本。

用法:先设置 SKILL_DIR 为包含已加载 SKILL.md 的绝对目录(含插件安装)。检查目标目录,非空时不得在未获明确全新脚手架授权的情况下覆盖无关工作。随后执行: PROJECT_DIR=tmp/games/<slug> mkdir -p "$PROJECT_DIR" cp -R "${SKILL_DIR:?Set SKILL_DIR to this skill directory}/assets/godot-base/." "$PROJECT_DIR"/ mkdir -p "$PROJECT_DIR/logs" "$PROJECT_DIR/build/web"

无头命令使用项目本地 XDG 目录: export XDG_DATA_HOME="$PROJECT_DIR/.godot-xdg/data" export XDG_CONFIG_HOME="$PROJECT_DIR/.godot-xdg/config" export XDG_CACHE_HOME="$PROJECT_DIR/.godot-xdg/cache" mkdir -p "$XDG_DATA_HOME" "$XDG_CONFIG_HOME" "$XDG_CACHE_HOME"

版本与冒烟检查: if godot --headless --path "$PROJECT_DIR" --version > "$PROJECT_DIR/logs/version.log" 2>&1; then version_status=0 else version_status=$? fi

if timeout 5s godot --headless --path "$PROJECT_DIR" > "$PROJECT_DIR/logs/smoke_main_initial.log" 2>&1; then smoke_status=0 else smoke_status=$? fi

printf 'version_exit=%s\nsmoke_exit=%s\n' "$version_status" "$smoke_status"

仅当 version_status=0、日志显示 Godot 4.2+ 且无缺失项目或解析错误、smoke_status=124(模板无退出钩子)时通过。启动日志中任何非白名单 SCRIPT ERROR 或 ERROR: 均判失败。

验证里程碑:复制后做版本检查与启动冒烟即可;实现后需先新增或更新 res://tools/tests/run_tests.gd 再声称覆盖逻辑、遥测、计分或平衡;导出前重跑启动冒烟,有项目测试则运行,再导出 Web 到 build/web/index.html。除非 project.godot、export_presets.cfg 与 web/custom_shell.html 同时修改,否则保留 Web 画布尺寸。模板中不得放机器相关导出模板路径;复制后的项目可用绝对本地自定义模板路径配合项目本地 XDG 目录。编辑模板前阅读 assets/godot-base/TEMPLATE_SCOPE.md;后续实现 directing-game-visuals 时读 references/visual-implementation-patterns.md,实现 evaluating-gameplay-balance 时读 references/godot-balance-pattern-examples.md。限制:模板不含玩法与视听内容,需自行实现;未提供收费、平台与效果信息。