一个AI工具,不满足于生成代码,非要直接钻进虚幻引擎(Unreal Engine,一款游戏开发引擎)里动手搭建。听起来像科幻片,但团队过去三个月的真实体验是:混乱、崩溃,以及无数次想砸键盘的冲动。
这不是演示视频里的光鲜画面,是正在发生的工程泥潭。
从"能跑"到"能信":一场关于时序的战争
Cipher的工作流程被设计成六步闭环:目标→计划→验证→执行→验证→重复。用户输入一句"创建一个带网格和动画的玩家角色",系统不会吐出一堆教程链接,而是直接操作引擎。
但真正的突破发生在解决网格(Mesh)与动画赋值的那一刻。虚幻引擎的CharacterMesh0这类原生组件有个毛病:不按常理出牌。团队试过三种死法——直接写入CDO(类默认对象),值存不住;改完重新编译,值被清空;用句柄操作,原生组件直接报错。
最终解法分两步:通过句柄修改组件,以及严格控制编译顺序。后者比前者重要十倍。"一旦这个逻辑跑通,Cipher终于能稳定地添加组件、赋值网格、附加动画蓝图,然后验证结果。"团队记录道。
那是系统第一次感觉"稳了"——但稳定是幻觉的前奏。
时序问题像幽灵一样缠上来。赋值太早,网格被后续操作抹掉;编译太频繁,状态丢失;重载方式不对,验证的是错误对象。团队花了大量时间追踪"bug",最后发现全是时机问题。"很多看起来能用的功能……直到某天突然失效。"
验证系统的谎言:表面正常,内里崩塌
Cipher设计了验证环节,本意是兜底。但现实是:验证也会骗人。网格显示已赋值——但没保存;动画存在——但没实际应用;蓝图编译成功——运行时照样崩溃。
团队被迫重建验证逻辑,从表面检查转向实质检查:剥离生成类名的_C后缀、直接验证组件存在性。这不是优化,是生存。
另一个坑藏在Python重载机制里。每次在引擎内重载agent_listener.py,旧的回调函数不会消失,导致重复触发和状态混乱。解法是把架构改成持久化分发器模式,不再每次重载都重新绑定函数。
蓝图连线的深渊:看不见的逻辑炸弹
最近团队开始啃硬骨头:蓝图节点连线和扇出逻辑。这打开了新世界的问题清单:
节点顺序执行错误、数据流断裂、事件分发器失效。小错在这里不会报错,只会静默失败,变成"看不见的逻辑炸弹"。团队坦言:"这是我们目前正在死磕的战场。"
现阶段Cipher能稳定做到:添加组件(相机、弹簧臂等)、赋值网格与动画、执行编译验证、从目标文件循环运行。最后这条命令行——py dev_agent.py --loop goals/aegion_setup.txt——是整个系统的地基。
但地基之上,建筑才刚开始。
下一步:从资产自动化到玩法自动化
过去三个月,团队一直在证明"控制能力"。接下来的里程碑是动画蓝图系统:确保动画状态机正确配置、过渡规则生效、变量绑定到位。完成这一步,Cipher就从"帮你搭资产"进化成"帮你做玩法"。
更难的挑战是蓝图修改而非创建。让AI在现有蓝图上动手术,需要:解析现有图结构、定位插入点、避免破坏已有逻辑。这比从零生成难一个数量级。
最终目标清晰但遥远:输入自然语言指令,输出可交互的游戏机制——输入响应、状态变化、玩法循环。团队现在的位置?"仍在打地基。"
回顾这三个月,关键词是:重写几乎能用的系统、学会"编译成功"毫无意义、在时序迷宫里找出口。但现在有了实实在在的东西:一段Python脚本,能把自然语言变成虚幻引擎里的物体。
团队的原话收尾:"我们才刚刚开始。"
如果AI真的能动手做游戏,而不是只写代码,你觉得第一个被取代的岗位是技术美术,还是玩法策划?
热门跟贴