这篇文章详细介绍了拳头游戏公司为了实现《英雄联盟》游戏服务器的确定性所做的努力。确定性是指在给定相同输入的情况下,游戏服务器始终产生相同输出的状态。实现确定性需要识别和控制所有非确定性输入,包括玩家操作、随机数生成和系统时间等。文章还讨论了为验证和记录游戏状态而开发的工具,以及克服实现过程中遇到的挑战,例如统一游戏时钟、处理异步操作和防止内存泄漏等。
本文阐述了游戏英雄联盟开发过程中遇到的技术债务问题,并将其分为四类:局部债务、权宜债务、基础债务和数据债务。作者详细介绍了每种债务的特点、影响和解决方法,并强调了“传染性”指标在评估技术债务时的重要性。文章建议开发者在修复技术债务时,应权衡其影响、修复成本和传染性,并选择最合适的策略,例如逐步替换、功能切换或数据修复等。