02 2012 档案

摘要:在网络游戏中常常会出现这样的情况,玩家在进行一些操作的同时是不能进行另一些操作的。比如说:正在移动的玩家不能释放带有吟唱的技能;死亡时不能交易;不能同时和两个玩家进行交易;不同阵营不允许交易等等。而很多需要交互的操作(比如交易)当一方取消或异常操作时,服务器会撤消双方的操作,并通知双方撤消的原因。在这就会面临一个问题,应该使用什么方式来通知客户端这些错误? 在设计游戏错误提示模块时应该考虑一下几个问题:易用性:每次添加新的错误提示都不费劲!可维护性:来个新人和他说两句,下次添加的时候他想都不想就能找到在哪加!可扩展性:今天加逻辑服务器给客户端的错误提示,明天要加连接服务器给客户端的错误提示也. 阅读全文
posted @ 2012-02-24 17:39 ychellboy 阅读(2325) 评论(2) 推荐(0)
摘要:网络游戏服务器端对于时间的需求很多,有些需求依赖于相对时间,比如开始采矿——需要随后几秒时间让客户端播动作。有些需求依赖绝对时间,比如只在2012年12月21日开启“末日之旅”的活动。正是由于有众多需求对时间有依赖性,使得时间服务、时间控制成为服务器端模块设计中较为重要的一部份。本系列将从游戏开发需求出发,循序渐进的介绍时间服务模块的设计和实现。 Attention:本文措辞比较调侃、夸张,非少数民族程序员请在父母陪同下观看:-) 壮族小伙本文简称“小伙”Scene 1 话说公元某年某月某日,帝都一个阳光明媚的早上,策划A笑眯眯的跑过来道“少年!我们想在4月1日愚人节开启一个活动,所有玩家发. 阅读全文
posted @ 2012-02-13 23:26 ychellboy 阅读(2227) 评论(1) 推荐(2)
摘要:网络游戏服务器的主要作用是模拟整个游戏世界,客户端用过网络连接把一些信息数据发给服务器,在操作合法的情况下,更新服务器上该客户端对应的player实体、所在场景等,并把这些操作及其影响广播出去。让别的客户端能显示这些操作。 在这个模拟过程中,需要解决的一个重要问题是:多长时间处理(更新)一次该服务器上的待处理事件,体现在实际开发中,这就是一个服务器端的心跳设计问题(tick)。 在网络游戏服务器端的心跳设计里主要面临以下几个问题:心跳函数的处理间隔往往是固定的,因为需要模拟现实世界中时间的性质,不能让游戏世界表现得忽快忽慢。但处理间隔固定不代表一定要和真实时间一致,有可能有快放慢放的需求。固. 阅读全文
posted @ 2012-02-10 17:37 ychellboy 阅读(13253) 评论(4) 推荐(6)