大家好,
不久前我分享了如何通过无头脚本模拟1.3百万场比赛,因为我的基于浏览器的篮球GM模拟器核心循环完全崩溃了。大家对数学和模拟逻辑的反馈简直太棒了。
本周我推送了游戏到生产环境,结果发现... 真实玩家比无头脚本要疯狂得多。
发布周的技术大火:
1. 状态管理与内存泄漏:
模拟一个完整的82场赛季会产生大量的盒分数和球员进步数据。很快我就意识到我的React状态结构效率不高。当用户点击“联盟历史”选项卡时,它会引起大量的延迟。我不得不激进地重构如何使用 Zustand 以防止重新渲染整个DOM树仅仅为了简单的统计更新。
2. “交易漏洞”:
真实玩家发现了一个漏洞,玩家可以通过连续进行多个3方交易来几乎抢劫AI的所有未来选秀权。我对交易进行评估时只考虑了一个单独的会话,而不是玩家在整个会话中积累的资产。因此,我不得不在实时编码中重写AI评估逻辑。
我推送了一个重大更新,通过将更重的计算任务推送到后端(Vercel)来解决这些问题,从而节省了客户端内存。
实时演示(试着打破它!):
如果有人想检查UI性能、查看数据表格的渲染或只是看看你能否出smart我的修复后的交易AI,游戏就可以在这里查看:hoops-gm.com
如果有人有高级的浏览器内存分配或在React中处理大量数据表格而不使用分页的技巧,我非常欢迎您的反馈!
评论 (0)