浅谈游戏单位属性模块设计:属性组成、分级、计算与同步
一个单位的属性(攻击力、最大血量、防御力等)一般由多个模块决定,比如我们游戏的属性由三块决定:
1.基础属性:由单位的等级和成长决定。
2.装备属性:影响人物面板显示的属性值。最常见的是装备等。
3.外部属性:每次进入副本时都会重置。一般来说,都是由战斗过程中的buff等影响
属性分级
单位的属性一般分为多级,比如lv影响力量、敏捷,力量又影响血量、攻击力,那么把属性分级为:
0:等级
1:力量、敏捷
2:血量、攻击力
属性计算
属性的计算每次都是由低级属性开始,计算到最高级属性。
一般来说,每次修改了低级属性,那么高级属性都需要重新计算。
具体的计算方式根据策划需求可能不同。
属性同步
对于每个玩家,他都有一个面板属性(也就是显示在玩家属性UI上的数值),此属性包括了基础属性和装备属性,当玩家卖手游每次进入游戏时,首先根据他的等级信息和装备信息计算他的面板属性,并保存到player模块中。
每次进入场景创建一个玩家单位的时候,单位把面板属性保存在属性组件中,在战斗过程中buff等可能修改外部属性,但外部属性并不保存在player模块中,即玩家更换场景时buff对属性的修改就清空了。(不同游戏需求也不同,有的游戏可能要求buff信息也保存在玩家身上,这样玩家更换场景buff也存在)
状态同步
属性的同步应该使用状态同步而不是命令同步(battle server和client之间),这主要是因为AOI等问题,命令同步并不能保证属性的一致。
此外,因为伤害结算等大部分逻辑都在battle server中计算,其实client中并不需要保存太多属性信息,只需要将client需要知道的属性信息如血量/最大血量比例等同步到客户端用于表现。
浅谈游戏单位属性模块设计:属性组成、分级、计算与同步相关推荐
- 浅谈游戏服务器---功能模块上来看
游戏服务器在网游上的作用不容考虑,游戏能做大到什么程度,还是有很大的依靠的,这篇文章先从功能模块的角度来谈一个完善的游戏服务器需要实现哪. 一:游戏服务器的作用:连接各个网游客户端,实现各客户 ...
- c语言游戏人物结构buff,浅谈游戏中BUFF的设计要点
from http://www.gameres.com/msg_225241.html 其实这类帖子并没有多少的设计理论,对于策划的提升和帮助也并不大,原因其实在于其适用性太窄,当我要设计XX象棋的时 ...
- 浅谈STM32的DMA模块的使用
浅谈STM32的DMA模块的使用 转自:http://blog.ednchina.com/jack_chang/123085/message.aspx http://article.ednchina. ...
- ant man 什么意思_浅谈为什么很多蓝牙模块厂家选择nRF52832?
浅谈为什么很多蓝牙模块厂家选择nRF52832? 现在蓝牙低功耗(BLE)SOC作为新一代蓝牙,以其低功耗的优势,正凸显出强大的市场竞争力,而其中Nordic公司的nRF52832这一款低功耗蓝牙芯片 ...
- 转 浅谈游戏辅助程序的制作
标 题: 浅谈游戏辅助程序的制作[原创] 作 者: qINGfENG 时 间: 2006-04-17,21:06 链 接: http://bbs.pediy.com/showthread.php?t= ...
- 浅谈游戏程序设计入门
无论是学习何种 API ,一开始免不了都是需要熟记很多很多的函式名称.呼叫方式.传入参数等等繁复的东西.然后还需要把整个绘图 API 的程式设计流程架构,从头到尾的彻底了解:在学习 API 时很重要的 ...
- python sys模块作用_浅谈Python中的模块
模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为一个模块(Mod ...
- 浅谈ipad阅读类应用设计
自古以来,人们从阅读中了解最新资讯,学习知识,陶冶情操.随着社会和科技的发展,新的阅读设备,阅读方式,丰富的多媒体展示,让阅读这一人类行为更加高效化和多样化.对于平板电脑这个较新的媒介,我们如何能进一 ...
- 【第一章】浅谈游戏作弊类型与核心原理
浅谈游戏作弊与核心原理 导语 外挂发展史 外挂核心以及原理 本章总结 下期预告 建议收藏此专栏以免迷路 导语 为什么有的人说游戏外挂开发门槛极低,但为什么又有的人说游戏外挂开发门槛极高? 只有了解了外 ...
最新文章
- 计算机的五大主要应用领域是电大,电大计算机应用基础考答案
- java开发培训中消息中间件的优势有哪些
- DCMTK:DcmOtherLong类的测试程序
- matlab simulink笔记08——from workspace和from file模块的区别
- 文件上传速度查询方法
- C++笔记-shared_ptr与weak_ptr需要注意的地方
- 微信升级最新版本后,可在一对一聊天场景中访问外部链接
- 【江苏大学研究生小记】开学3个月的感想
- 技嘉z77主板msata速度_技嘉小雕、微星迫击炮、华硕电竞特工三款主板对比
- wⅰndows办公软件2003,办公软件2003
- 工业机器人转计算机编程,工业机器人编程怎么入门呢
- 教你DIY中文增强版Geexbox,且安装为硬盘版
- hevc编码merge 模式
- python数据分析之pandas数据合并
- 什么是Activity?Activity的生命周期!
- 光脚的快感!仅仅耐克1/8重,一个夏天不会臭脚!徒步不累脚!
- 华为路由器配置DHCP服务及给指定PC分配固定IP地址
- Atitti 住房部建设指南
- 我不是来表扬你们的 欢庆更多朋友一起来点赞
- 初中英语语法(012)-副词
热门文章
- NB!技术人都在关注的公众号~
- PHP大批量正则,php – 正则表达式匹配无限数量的选项
- 全称是什么_JDK,JRE和JVM是什么?三者有什么关系?二分钟搞定!!!
- html 选中tag标签,HTML Tag Selector标签选择器PFC020071801
- python whl 包制作
- python之函数名称空间,作用域,嵌套函数
- iOS Base64转码(使用ios7系统自带编码库 和 GMTBase64 两种方式)
- [PAT B1036]跟奥巴马一起编程(15分)
- Python之路_Day13
- 找规律 百度之星资格赛 1001 大搬家