注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

游戏记忆...

竹石 Blog

 
 
 

日志

 
 

RPG游戏技能系统分析  

2010-06-07 16:08:56|  分类: 游戏 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

竹石  http://blianchen.blog.163.com/

自身
    级别
    要求职业
    五行属性等(加成、相克等)

    cd时间
    目标对象要求(敌方、友方、地面、npc等)

    目标数量
    有效距离
    影响范围,区域大小(行、列、圆形区域、矩形区域、自身周围一定大小的区域等)
    技能速度(按n像素/秒移动,直到根目标碰撞;也有可能技能一发出就算击到目标)

    +-属性,瞬发(血、魔法、速度、攻、防、闪避、角色动作:移动/站立/倒下等)
    +-状态,持续一定持续时间/回合

    ****使用条件判断函数
    ****伤害计算函数    (连击、反击、附加中毒等效果也在此计算)


    -------------------------------------------------
    角色改变状态(无敌、+-攻、+-防、+-速度等),发出技能者和被击者都有可能改变状态
        状态可拆分为:
            +-属性(对属性的影响,如无敌可以理解为闪避100%)
            对属性的影响时间(持续时间/回合)
            动画播放控制
                分2种形式:
                    叠加动画:如中毒后的绿烟效果等
                    人物动作改变:如虚弱后人物变弓腰等
            滤镜效果(如人物失血发红光等)
    -------------------------------------------------
    角色改变行为(聚气/吟唱/施法、冲撞等)   
        行为可拆分为两部分:
            状态改变
            人物动画(人物动作改变)
            滤镜效果(如人物施法时泛金光等效果)
    -------------------------------------------------
    ==============================================================================
    触发一个技能的动画播放全过程
        1. 技能发动者动画(发动时播放的动画和技能发出后的后续动画)
            分为两种:
                技能发出者改变行为
                    分为3阶段:
                        技能准备(战士发动攻击时的跑动、牧师的吟唱等)
                        技能发出(砍击动作等)
                        技能发出后的后续动作(收招、回跃等)
                技能发动特效(如光环等),应该很少用到
        2. 技能自身特效动画
            动画分为3段(不是所有动画都有):
                起始(时间固定)
                运动中(时间不固定,根据到目标的距离计算)
                击中(时间固定)
        3. 被击中者动画(可能多个被击中者)
            分为两种:
                被击中者的改变行为(受伤、格挡、闪避、被冲撞倒退等)
                技能击中特效(如刀光、血光)
        4. 环境动画,如地面震动、天空变暗等(这个在1到3的过程中均有可能发生)
    ==============================================================================
    动画特效处理:   
        色彩饱和特效
            R1、G1、B1 : 图象像素点的源色值;
            R2、G2、B2 : 底图像素点的源色值;
            R = R1 + R2;( IF R > 255 THEN R = 255 )
            G = G1 + G2;( IF G > 255 THEN G = 255 )
            B = B1 + B2;( IF B > 255 THEN B = 255 )
        Alpha混合特效(美工注意特效周围黑影处理)
    ==============================================================================

初步分析:
    技能的属性有:
        1. 自身属性:
            级别、cd时间/回合、速度等
            技能本身的动画编码(3段动画,注意第3段动画只有在击中目标后才开始播放)
            技能动画的特效类型

        2. 对角色的影响,一个技能可能伴随多种效果:
            对施放者+-属性值:瞬间产生,且不可恢复
            对被击者+-属性值:瞬间产生,且不可恢复

            对施放者+-状态:一定时间内+-属性值,并有可能有改变角色的动画播放和滤镜效果
            对被击者+-状态:一定时间内+-属性值,并有可能有改变角色的动画播放和滤镜效果

            施放者行为改变的各阶段动作:
                技能触发全过程中(上面的1至3项)角色的动作编码,最多5个
                注意:技能发出动画只有在到达攻击距离内才开始播放
            被击中者行为改变动作:
                被击中后角色的动作码

            施法者施法过程中特效
            击中被击中者后的技能特效(如刀光、血光)
       
        3. 对场景的影响:
            环境动画,如地面震动、天空变暗等(这个在技能的1到3过程中均有可能发生)
           

    技能的方法:
        构造函数(技能配置)
        触发技能(目标/地图位置)
        **使用条件判断函数
        **伤害计算函数(连击、反击、附加中毒等效果也在此计算)

        private:
            技能动画播放


   
    技能配置管理:
        载入技能配置(技能基本数据和升级数据)
        取得技能配置
           
   
    相关的操作:
        角色:
            增加属性(属性编号, +-属性值)
            改变动作(动作编码)
            增加动画(动画编号, 叠加类型, 循环次数)
            删除动画(动画编号)
            增加滤镜(滤镜接口)
            删除滤镜(滤镜接口)
           
            增加状态(状态)
            删除状态(状态id)

   

目标
    +-属性(血、魔法等)

    -------------------------------------------------
    改变状态(无敌、+-攻、+-防、+-速度等)
    改变行为(麻痹、击退、混乱等)


 

  评论这张
 
阅读(936)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018