Godot 接入
适用 Godot 4.3+、GDScript、Compatibility 渲染器、单线程 Web。此 Skill 指导 AI 修改源工程;SDK 只提供桥接,不自动理解游戏玩法。只有成品时见“只有成品”。
先读哪一页
| 当前任务 | 阅读资料 |
|---|---|
| 判断是否能做 | 能力与支持边界 |
| 首次安装、接线、导出 | 本页,随后阅读 完整开发流程 |
| 查函数、参数、返回值 | Godot 接口手册 |
| 自绘商店或使用平台页面 | 界面与交互建议 |
| 遇到失败、超时、重复操作 | 异常与恢复 |
| 上传前验收 | 功能验收及与 iNeed 沟通 |
SDK 获取:GitHub Godot 插件。可运行的最小工程在同一目录的 example 中。正式交付记录所用 Release 标签、插件版本和哈希,不让游戏启动时从 GitHub 下载浮动版本。
1. 检查工程并确认范围
从已解压的创作者技能包根目录运行:
python3 scripts/project.py inspect "/完整路径/游戏工程"
python3 scripts/project.py install "/完整路径/游戏工程"
AI 应解析包根后使用脚本绝对路径,不能假定用户终端就在技能目录。安装脚本把插件复制到工程 addons/ineed/ineed.gd 并注册 INeed Autoload;不是 EditorPlugin,不需要勾选编辑器插件。重复安装不会重复注册;现有插件内容不同或 Autoload 冲突时先比较,不能覆盖。
先查项目版本、语言、导出预设、现有 SDK、主菜单、开局、结算、商店、存档和暂停逻辑。只询问尚不能从工程/用户指示确定的事项:需要哪些能力、商品/奖励语义、榜单规则、界面分工。问题清单见完整开发流程。
2. 建立一处平台适配层
在项目已有服务节点或新增的适配节点中初始化一次,连接一次 platform_event。逐个检查实际方法名的 supports;不能使用 supports("payments") 这样的分类名称。初始化失败保留原免费玩法,对依赖平台的按钮显示原因,不能伪装成功。
extends Node
func _ready() -> void:
var result: Dictionary = await INeed.initialize()
if not result.get("ok", false):
push_warning(str(result.get("error", {})))
return
if INeed.supports("account.get"):
var account_result: Dictionary = await INeed.request("account.get")
print(account_result)
统一返回结构是成功 {ok: true, value: ...} 或失败 {ok: false, error: {code, message}}。Dictionary 非空不代表成功;value 的形状随方法变化。详细示例见接口手册。
3. 按实际需求绑定事件
- 登录与账号:游客入口、登录按钮、账号切换和恢复。
- 商品购买与消耗:购买增加库存;真实使用才扣减;已有库存不重复购买。
- 排行榜:真实开局生成 runId,结束冻结成绩,重试复用原数据。
- 激励广告:确认平台开通、绑定触发动作、按可信 receipt 去重。
- 存档:绑定现有保存/读取入口,处理版本与冲突。
修改前寻找已有连接,避免 repeated connect、重复开局、重复扣减;不要改原游戏规则。新增方法只能由平台登记并授权,不得通过 request 执行远程 GDScript 或任意 HTTP 接口。
4. 暂停、界面和导出
按界面建议连接 pause/resume,恢复先前状态,不能无条件解除用户主动暂停。适配节点和 INeed Autoload 在暂停期间仍应处理回调。
游戏自绘 UI 要覆盖动态商品名、昵称的字体,不能只保留剧情字集。示例附带的 OFL 字体覆盖常见中文,补充生僻字或 emoji 仍需另行验证。不要把玩家头像 URL 任意转换为可执行内容;头像缺失要有占位。
检查 thread_support=false、extensions_support=false,保留匹配的 JS/WASM/PCK/worklet,按Godot 导出设置生成新目录,再按功能验收逐项测试。Godot 4.0–4.2、C# Web、多线程、Unity 不属于当前接入范围。
只有成品
只做托管兼容检查和平台壳功能。不能声称已绑定内部奖励、真实开局结算、原生存档或暂停;不要盲改 PCK。需要完整接入时列出所缺源工程及事件。
交付给平台
输出修改文件、节点/按钮位置、已绑定标识、插件版本、待配置项、测试证据及配置交接单。标明预览模拟与真实服务的差别。保持旧接口、旧语义及旧存档;不因新增需求绕过兼容性原则。