摘要:接上篇,技能的表格属性字段我们已经设计好了,可以满足策划短期需求了,接下来我们来设计一下技能程序的框架技能系统服务器和客户端是有交互的,具体流程看下图:‘服务器要通知客户端是否能释放技能,吟唱时间,技能命中结果,伤害数字,服务器还要广播技能释放结果,让同区域的玩家可以看到别人在释放技能需要立即同步的1. hp,众所周知2,角色状态,角色的各种状态,比如天神下凡,沉默,死亡不需要同步的角色属性改变,如力量,敏捷等角色属性ps:服务器和客户端同一套代码,客户端进行预判,除了血量和角色状态服务器向客户端发同步消息,其他属性改变可以不发消息,这样可减少服务器和客户都的消息数量代码的结构设计这里只画一个
阅读全文
摘要:本文主要从一个程序员的角度阐述一下mmorpg服务器技能系统的程序框架设计,最近在做这个,就当做一个总结吧,其中某些概念可能没有解释清楚,欢迎大家拍砖讨论技能其实是战斗系统的一个组成部分,战斗基本上都可以由技能触发,技能系统实际上就是一套完整的逻辑,我们用表格来设计,将技能的逻辑用属性字段抽象出来,然后依据属性字段来控制逻辑,策划人员可以通过更改属性字段来配置出不同的逻辑属性1.表格属性字段的设计为了减少冗余,我们将技能属性字段设计在4个不同的表中Skill表:技能表的入口表,包括cast表,buffer表,op表,技能的释放需求,伤害Cast表: 技能的释放过程表,包括技能吟唱时间,技能命中
阅读全文
摘要:同步在网络游戏中是非常重要的,它保证了每个玩家在屏幕上看到的东西大体是一样的。其实呢,解决同步问题的最简单的方法就是把每个玩家的动作都向其他玩家广播一遍,这里其实就存在两个问题:1,向哪些玩家广播,广播哪些消息。2,如果网络延迟怎么办。事实上呢,第一个问题是个非常简单的问题,不过之所以我提出这个问题来,是提醒大家在设计自己的消息结构的时候,需要把这个因素考虑进去。而对于第二个问题,则是一个挺麻烦的问题,大家可以来看这么个例子: 比如有一个玩家A向服务器发了条指令,说我现在在P1点,要去P2点。指令发出的时间是T0,服务器收到指令的时间是T1,然后向周围的玩家广播这条消息,消息的内容是“玩家A.
阅读全文
摘要:位图字体工具Bitmap Font ToolsBMFont(Windows)FonteditorGlyph DesignerHieroLabelAtlasCreator粒子编辑工具Particle Editing ToolsParticleCreatorParticle Designer物理编辑工具Physics Editing ToolsMekanimoPhysicsBenchPhysicsEditorVertexHelper场景编辑工具Scene Editing ToolsCocosBuilderCocoshopLevelHelper纹理地图集工具Texture Atlas ToolsDa
阅读全文