最终打造一个体面的 ADV 游戏引擎,使用 Antigravity 与 Chat GPT
Source: Dev.to
Introduction
我完全没有预料到会这样——起初我以为只需要用 Antigravity 搭建一个 Phaser 3 项目,然后手动编写所有代码。
结果我甚至还没写任何代码;我所做的唯一事情就是提供场景/图片数据,而 AI 对这些数据的理解程度和能力让我不断惊讶。我对游戏设计有非常具体的需求(Phaser 3 本身已经具备很多功能),根据以往经验,我对场景文件的结构有一个大致的想法。AI 将这个想法扩展到了我想象之外的程度。
Original Scenario Format
我最初的格式是一个 CSV 文件,表头类似:
scene,idx,op,speaker,message,text_id,bg,char1,char2,char3,icon,ui,tags,goto
如果你玩过 ADV 游戏,应该能猜到这些列代表什么。我很高兴能够把场景数据从主游戏代码库中抽离出来,这样可以快速迭代、修复和测试。然而,CSV 并不是最容易让人编辑的格式,于是我向 Chat GPT 寻求建议。
AI‑Suggested Workflow
Chat GPT 建议使用 Antigravity 编写一个 Node 实用工具,读取一种更简洁的“原始场景”格式并将其转换为 CSV 结构。经过简短的说明后,Antigravity 给出了“一次性实现”(只需要做少量微调)。
Raw Scenario Example (opening_jp.txt)
@bg destruction_of_world
@ui DIALOG
@chars alexis@C:neutral
@face alexis:neutral
アクシス:な、何が起きてるんだ?
@bg black
@ui NODIALOG
@chars clear
@face clear
[NARR] それは、もう終わったはずの物語だった
Converted CSV (scene_script.csv)
opening,10,SAY,アクシス,な、何が起きてるんだ?,,destruction_of_world,alexis@C:neutral,,,alexis:neutral,DIALOG,,
opening,20,NARR,,それは、もう終わったはずの物語だった,,black,,,,,NODIALOG,,
(我在用日语制作这款游戏,但结构应该已经很清晰了。)
In‑Game Result
转换后的数据在游戏中显示如下:
注意:这仍然是一个早期原型,后续会不断演进。当前的目标是显示角色、展示表情图标并呈现对话。
Conclusion
结合通过 events.json 实现的初步但强大的事件系统,这套工作流让我可以专注于写故事,而不是处理底层逻辑。我大约用了一天时间完成了整个搭建,与我之前的 Android 游戏开发经验相比,这种效率提升巨大——全都要归功于 AI!
