《Cocos 电子凶宅接盘日记》

第 1 集: 《AI 写了 52 万行代码,入口藏在广告失败回调里》

昨天公司把我调去接一个 Cocos Creator 项目。

交接文档只有一句话:

项目已完成 95%,剩下 5% 为不可描述部分。

我当时没懂什么叫不可描述。

直到我打开仓库。

52 万行代码。
14 个启动场景。
23 个 GameManager
以及一个叫 main_real_final_backup_不要点.scene 的文件。

我点了。

Cocos Creator 闪退了。

我重新打开项目,发现那个 scene 自己改名了:

main_real_final_backup_真的不要点.scene

那一刻我知道。

这不是项目。

这是电子凶宅。

我问交接的人:
“游戏入口在哪?”

他说:
“理论上在 Main.ts 。”

我说:
“实际上呢?”

他说:
“实际上在一个广告回调里。”

我以为他在开玩笑。

结果项目启动流程是这样的:

  1. 初始化 SDK
  2. 拉广告配置
  3. 广告失败
  4. 进入游戏

也就是说,这个游戏不是被玩家打开的。

是被广告拒绝之后,顺手活下来的。

最诡异的是资源加载。

正常项目加载资源:

resources.load("xxx")

这个项目加载资源:

resources.load(path || backupPath || oldPath || aiGuessPath || "随便试试")

我查了一下。

随便试试 这个目录真的存在。

里面有 800 多张图。

每一张都叫:

new.png
new_new.png
new_final.png
new_final_use_this.png
new_final_use_this2.png

美术说她没见过。
程序说不是他传的。
AI 说它没有记忆。

我说那它们是谁的?

群里安静了三分钟。

最后产品说:

“先别删,线上可能在用。”

这句话在我们项目里不是建议。

是丧钟。

第一天我修了一个 bug:

“点击开始游戏没反应。”

我查按钮事件。
没有绑定脚本。

我查节点。
节点是空的。

我查代码。
代码里监听的是另一个透明按钮。

我查透明按钮。
它被一个新手引导遮罩挡住了。

我查遮罩。
遮罩的点击事件绑定在音效管理器上。

我查音效管理器。
音效管理器里有一行:

if (Date.now() % 2 === 0) startGame()

我盯着这行代码看了很久。

这个项目不是点击开始游戏。

是偶数时间赐予玩家进入游戏的资格。

3赞

这叙事只当个程序员可惜了 :+1: :+1: :rofl: :rofl:

催更 :writing_hand: :writing_hand: :writing_hand:

催更:rofl: :rofl::rofl: :rofl:

以严肃看完!速更!!!

我认真的看了标题好久,再看了帖子好久,

我逛的是论坛,还好不是小说网站!

精彩,太精彩了

精彩,太玄幻了。开出系统了吗

image 看到这句代码, 沉默了好久. 这什么脑回路才能写这样的代码

精彩 精彩。

精彩,催更,更新啊

精彩,催更催更

《不要点》
《我点了》
《闪退了》
《真的不要点》
:rofl::rofl::rofl:

催更催更催更催更

肯定是豆包干的

现在cocos 论坛都开始小说连载了 :grinning:

这么有意思的,明天再看

这代码都能在线上运行 也是心大 :joy:

如果是虚构的:up的文笔真不错
如果是真的:while(true) delay no more