摘要: 记录时间:2009年12月14日 更依赖于事件的技能设计方案 如果我们将技能事件的定义和功能扩展,会发现其实远程技能,近程技能的共通点。前期设计中,我们只考虑了事件的瞬时性,换句话说,我们认为只有瞬时发生,并只发生一次的逻辑才属于技能事件。如果我们在事件上加入时间,变化性等特点,可以惊喜的发现原来近程/远程技能的逻辑是如此统一。 我们可以尝试用新的事件结构来描述近程和远程技能 就像上面所描绘的一样,近程技能和远程技能在设计上达成了统一。近程/远程技能在技能控制,时序更新,事件触发和结果派发的各个关键点上的逻辑达成了一致,它们之间的差异性被转移到事件本身中。采用这种设计,技能的... 阅读全文
posted @ 2009-12-14 20:54 BadKeeper 阅读(907) 评论(0) 推荐(0) 编辑
摘要: 记录时间:2009年12月14日 一种新的技能系统设计 这次设计的主要目的是解决掉第一版设计的各种已有问题和可预期的潜在问题,并保证技能制作的主要流程,不对当前已经完成的技能功能做出太大的调整。 我们先将需要达到的目标列一下: 统一远程技能和近程技能的设计,简化子弹和技能执行之间的逻辑关系和制作流程 技能的逻辑计算应该完全以服务器为准,在保证逻辑和表现的一致性前提下,尽可能避免网络延时带来的体验误差 技能的一次事件,结果应该是唯一的,参与事件的双方应该处理这个唯一结果,并在处理过程中相互不依赖 技能的逻辑制作流程与美术制作流程应该尽可能独立 新的设计应该着重于解决和优化上述问题,但不能对目.. 阅读全文
posted @ 2009-12-14 20:53 BadKeeper 阅读(739) 评论(0) 推荐(0) 编辑
摘要: 记录时间:2009年12月14日 接12月12日 另外一个问题是操作与逻辑的一致性和即时性,例如本地玩家在执行一个技能时突然中断了当前操作,技能的逻辑也应该立即中断,后面的关键事件不会执行。看起来合理的需求在网络上实现起来就有问题了,因为中断信号也许不能即时的到达网络终端。实现时这带来了或多或少的麻烦。例如在技能开始后0.5″打断它,在网络终端上可能表现成0.6″才被打断,如果两个终端都进行逻辑计算,那情况就会变得更加严重。 由于早期实现时两个终端都要进行逻辑计算,因此唯一的办法是保证两个终端的运行时间完全一致。我们使用客户端时间去更新服务器上的技能逻辑,虽然问题被解决了,但带来了更严重... 阅读全文
posted @ 2009-12-14 17:41 BadKeeper 阅读(687) 评论(0) 推荐(0) 编辑
摘要: 记录时间:2009年12月12日 技能的同步设计: 如果只是考虑客户端的功能,技能的同步功能是不会影响到技能的设计的。可惜我们并非生存于一个完美的世界,MMORPG中网络的不稳定性,安全性导致了技能同步的复杂度和对技能设计的深层次影响。 技能同步主要面对的问题是: 1.客户端表现的既时性 最理想的情况下,用户不需要为网络状况买单,即使是在网络质量很差的情况下,我们也希望他能够拥有完美的游戏体验。 2.客户端之间表现的一致性 不要出现网络玩家与本地玩家在技能表现上有明显差异 3.技能逻辑的一致性 如果在本地看到一次技能成功暴击,而对方实际没有受到任何伤害,玩家的... 阅读全文
posted @ 2009-12-14 17:40 BadKeeper 阅读(1161) 评论(0) 推荐(0) 编辑
摘要: 记录时间:2009年11月24日 早期的技能系统设计在实现过程中首先发现了子弹模块的设计问题。 从技能系统的实现角度来看,子弹应该只是技能执行的一种扩展,本身不应该单独存在。否则加大了技能系统的制作难度,让逻辑变得分散。 当初考虑的原则是基于状态机。根据技能的表现,认为技能执行可以看成人物的一种行为状态。人物在技能执行时会中断掉其普通行为状态,在执行完技能后会回到普通行为状态。 这种设计的考虑是根据游戏内技能的表现来决定的,如果要求游戏中可以一边跑一边发技能,则前面的设计假设都不成立了。 如果将技能本身考虑为人物行为状态的一种延伸,则子弹的存在会影响这种设计的一致性。因为人物不可能要在执行完. 阅读全文
posted @ 2009-12-14 17:39 BadKeeper 阅读(973) 评论(0) 推荐(0) 编辑
摘要: 记录时间: 2009年11月23日 对前期技能系统设计和实现的总结 技能系统根据目前的需求和设计,经历了几次设计变动。 最早期设计将技能系统拆分为3个部分:技能 子弹 状态。 以下是前期设计文档 阅读全文
posted @ 2009-12-14 17:34 BadKeeper 阅读(1813) 评论(0) 推荐(0) 编辑
摘要: 记录时间:2009年11月23日 该笔记记录《侠客行》项目的技能系统设计思路和重构过程。主要目的是记录技能系统的设计过程和修改过程,并作为后期功能扩展的参考和指导。 技能系统预计从开始设计到最终版本会经历3个阶段 初期设计和实现阶段 包括前期整理需求,设计实现原型和完成大部分功能开发。这个阶段的主要目的是尽可能全的收集并实现技能系统的需求,验证设计思路。发布稳定游戏版本,经历PVE,PVP的测试。通过这个阶段,可以基本完成对技能设计的技术验证和功能验证,整理清楚战斗流程,技能逻辑和美术资源的整合流程,并且可以作为后期重构和优化的一个明确目。 这个阶段使用CSV+Lua脚步完成。以达到快速... 阅读全文
posted @ 2009-12-14 17:18 BadKeeper 阅读(1784) 评论(0) 推荐(0) 编辑
摘要: 最近项目完成了一个基本的雏形,团队的工作流程和各系统的开发都逐渐的走上正轨了。也有一定的时间可以空下来对以前的设计和各种问题进行回顾。 贴一些前面整理了关于技能系统的一些想法,以后可能会再整理服务器的框架和其他逻辑系统。 阅读全文
posted @ 2009-12-14 17:11 BadKeeper 阅读(406) 评论(0) 推荐(0) 编辑