大家好,我想与r/gamedev分享一下WordPVP(wordpvp.com)的真实故事。
游戏是什么: 每日单词锦标赛。 每个人从4个字母的单词开始,竞争猜出隐藏的单词。 只有前10%的玩家在一个房间中晋级到下一个级别(5个字母,6个字母,直到11个字母)。 房间每天重置,所以每天清晨的爬升开始。 有一张日周月排行榜,以保持竞争。
开发的经过: 我用AI生成的代码开始了整个项目。 速度很快,早期版本很快就完成了,实际上看起来像一个真正的产品。
然后我进行了压力测试。
后端崩溃了。 AI生成的Go代码根本不能处理真正的并发负载——竞争条件、死锁、不高效的连接处理,等等。 最终我用手工重写了整个后端代码。 这是这个项目中最宝贵的部分——我学到了很多关于什么是“生产就绪”和AI认为是什么的区别。
前端仍然是原来的AI生成的代码。 它工作着,但很脏——有很多冗余逻辑、不一致的模式、让我脸红的东西。 重写它是下一个要做的事情。
所学的经验:
- AI在速度方面很好,但在承载代码方面很差
- 压力测试应该在发布后尽早进行
- Go中实时多人游戏写起来实际上很有趣,只要你理解goroutines和channels的使用方法
期待对游戏本身或Go后端架构的任何反馈或问题!
评论 (0)