前Dota2开发员以为20亿场比赛需要60多年
17173 新闻导语
前Valve员工和Dota 2开发员Zoid最近谈到了他在职时犯的一个错误。他在和知名游戏设计师John Carmack交谈时谈到他估算Dota2进行20亿场游戏大约需要60年,但结果只花了4年。
前Valve员工和Dota 2开发员Zoid最近谈到了他在职时犯的一个错误。他在和知名游戏设计师John Carmack交谈时谈到他估算Dota2进行20亿场游戏大约需要60年,但结果只花了4年。
我在32位上最大的错误是在Dota 2中使用32位索引的比赛ID。我计算了一下,以每秒钟一场比赛计算,需要60年才能达到极限。结果我错的很离谱,我们每秒钟有15场比赛,四年后就达到了极限。
当然,我们之后换成了64位的索引。但那时我们在SQL中已经有了一个约20亿行(2 billion row)的工作表,涉及有史以来的每场比赛,我们花了七天时间将工作表从32位改为64位。事先做了脱机处理,然后在一次更新中发布了它。
据了解,ID索引的改变发生在2015年9月过渡到Dota 2 Reborn期间。32位索引可能的最大数字约为21.5亿。如果到现在Dota2的游戏频率没有太大改变的话,到现在应该有约总计50亿场游戏,包括那些机器人练习赛和因为各种原因取消的对局。
Zoid在Valve工作了约10年,于2018年离开公司。他参与了《Dota 2》、《Left 4 Dead》、《Portal: Still Alive》和DotaTV的开发。在为Valve工作最初的一段时间,他参与开发了Quake World、Quake II和Quake III: Arena的夺旗模式。
关于的新闻
- (2025-11-28) 《DOTA2》裂变天地S2瑞士轮分组赛VG 1-2不敌Tundra
- (2025-11-27) 《DOTA2》苦战取胜PVISION进入1-0组 Nigma进入0-1组
- (2025-11-26) 《DOTA2》分组赛Falcons 2-1战胜MOUZ Falcons战队进入1-0组
- (2025-11-25) 《DOTA2》Spirit 2-0战胜Yandex Spirit晋级1-0组
- (2025-11-24) 《DOTA2》裂变天地S2瑞士轮 VG 2-0战胜VP
-
《DOTA2》裂变天地S2瑞士轮分组赛VG 1-2不敌Tundra
-
《DOTA2》苦战取胜PVISION进入1-0组 Nigma进入0-1组
-
《DOTA2》分组赛Falcons 2-1战胜MOUZ Falcons战队进入1-0组
-
《DOTA2》Spirit 2-0战胜Yandex Spirit晋级1-0组
-
《DOTA2》裂变天地S2瑞士轮 VG 2-0战胜VP
-
《DOTA2》MOUZ 2-0战胜Aureus BLAST Slam S4入围赛
-
《DOTA2》两极反转Aurora 2-1战胜NAVI BLAST Slam S4入围赛
-
《DOTA2》绝活上阵Spirit 2-1战胜BB BLAST Slam S4小组赛晋级赛
-
《DOTA2》勇于亮剑Heroic 2-0战胜Liquid BLAST Slam S4入围赛
-
《DOTA2》BLAST Slam S4最后机会组:BB 2-0战胜XctN
- 《DOTA2》裂变天地S2瑞士轮分组赛VG 1-2不敌Tundra
- 《DOTA2》苦战取胜PVISION进入1-0组 Nigma进入0-1组
- 《DOTA2》分组赛Falcons 2-1战胜MOUZ Falcons战队进入1-0组
- 《DOTA2》Spirit 2-0战胜Yandex Spirit晋级1-0组
- 《DOTA2》裂变天地S2瑞士轮 VG 2-0战胜VP
- 《DOTA2》MOUZ 2-0战胜Aureus BLAST Slam S4入围赛
- 《DOTA2》两极反转Aurora 2-1战胜NAVI BLAST Slam S4入围赛
- 《DOTA2》绝活上阵Spirit 2-1战胜BB BLAST Slam S4小组赛晋级赛
- 《DOTA2》勇于亮剑Heroic 2-0战胜Liquid BLAST Slam S4入围赛
- 《DOTA2》BLAST Slam S4最后机会组:BB 2-0战胜XctN

