大家好,我想与r/gamedev分享一下WordPVP(wordpvp.com)的真实故事。

游戏是什么: 每日单词锦标赛。 每个人从4个字母的单词开始,竞争猜出隐藏的单词。 只有前10%的玩家在一个房间中晋级到下一个级别(5个字母,6个字母,直到11个字母)。 房间每天重置,所以每天清晨的爬升开始。 有一张日周月排行榜,以保持竞争。

开发的经过: 我用AI生成的代码开始了整个项目。 速度很快,早期版本很快就完成了,实际上看起来像一个真正的产品。

然后我进行了压力测试。

后端崩溃了。 AI生成的Go代码根本不能处理真正的并发负载——竞争条件、死锁、不高效的连接处理,等等。 最终我用手工重写了整个后端代码。 这是这个项目中最宝贵的部分——我学到了很多关于什么是“生产就绪”和AI认为是什么的区别。

前端仍然是原来的AI生成的代码。 它工作着,但很脏——有很多冗余逻辑、不一致的模式、让我脸红的东西。 重写它是下一个要做的事情。

所学的经验:

  • AI在速度方面很好,但在承载代码方面很差
  • 压力测试应该在发布后尽早进行
  • Go中实时多人游戏写起来实际上很有趣,只要你理解goroutines和channels的使用方法

期待对游戏本身或Go后端架构的任何反馈或问题!

https://wordpvp.com