Dota2技能系统设计分析

本文分析了Dota2的技能系统设计,指出其灵活性和功能实现都非常出色,采用数据和Lua脚本来驱动。技能配置可通过Override进行调整,事件回调如OnSpellStart、OnAttack等触发一系列Action,如Damage、Stun、AddModifier。Modifier作为Buff包含Properties,可实现复杂效果。RunScript使用Lua实现更多自定义行为,整个系统具备高度扩展性。
摘要由CSDN通过智能技术生成

        前两周写完了新游戏的技能系统。虽然也算灵活,但是跟Dota2的技能系统设计比起来,就差了很多。无论从灵活性还是功能实现上,其技能系统设计的都相当漂亮。如果早一些分析它的技能系统的话,我想我可以实现的更快更好。

        与之类比还有一些游戏,其技能系统设计的也很漂亮,比如魔兽争霸3  火炬之光2   星际争霸2,它们都很灵活,从其众多的MOD就可以看出来,甚至MOD的作者可以做出游戏开发者想象不到的华丽效果。它们也有对应的编辑器可以进行分析和研究。

        

        Dota2的技能系统是数据和脚本来驱动的。配置文件是v社自己定义的格式,我们可以用json来替代。脚本是lua,这个其实要比暴雪自己创作一个新的脚本语言要简单和清晰的多。

        

"bounty_hunter_wind_walk_2"
{
    "BaseClass"                     "ability_datadriven"
    "AbilityBehavior"               "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE | DOTA_ABILITY_BEHAVIOR_IGNORE_CHANNEL"
    "AbilityUnitDamageType"         "DAMAGE_TYPE_PHYSICAL"
    "AbilityTextureName"            "bounty_hunter_wind_walk"
 
    // Time     
    //----------------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值