老油条玩dota多了,突然心血来潮想看看这个图的内涵.
于是就用mpq拆了图拿出来研究了一下,
发现dota这个东西,讲真的确是很一般般的,
没有黑科技,代码编写水准也不高,很多技术停留在10年以前的水准上,
没错我拆的是6.81.
就说几点给你们感受下:
1.物品合成用的是配方枚举
2.有局部变量泄露
3.各种句柄都没有循环使用机制
4.大段的设置变量动作,初始化英雄和物品资料全都是 设置变量——封装个函数或者触发都不搞
5.没有成体系的属性附加机制,也没有把距离角度计算这样的常用函数封装起来,大段冗余的重复语句,效率不高还麻烦
当然也有个不错的设计:
英雄的技能触发,在地图读取时并不初始化,而是选择英雄之后初始化相应英雄的技能触发——节能环保有效率
所以总结起来,DotA的技术确实不高明,明显是一张大段使用GUI触发混杂少量代码的图,论工艺手法现在有很多图都超越DotA了.
于是就用mpq拆了图拿出来研究了一下,
发现dota这个东西,讲真的确是很一般般的,
没有黑科技,代码编写水准也不高,很多技术停留在10年以前的水准上,
没错我拆的是6.81.
就说几点给你们感受下:
1.物品合成用的是配方枚举
2.有局部变量泄露
3.各种句柄都没有循环使用机制
4.大段的设置变量动作,初始化英雄和物品资料全都是 设置变量——封装个函数或者触发都不搞
5.没有成体系的属性附加机制,也没有把距离角度计算这样的常用函数封装起来,大段冗余的重复语句,效率不高还麻烦
当然也有个不错的设计:
英雄的技能触发,在地图读取时并不初始化,而是选择英雄之后初始化相应英雄的技能触发——节能环保有效率
所以总结起来,DotA的技术确实不高明,明显是一张大段使用GUI触发混杂少量代码的图,论工艺手法现在有很多图都超越DotA了.