游戏测试,可不仅仅只是随便玩一下,找找BUG什么的,最基本的至少要有策划测试、程序测试、可玩性测试、游戏流程测试、压力测试,其中策划测试又包括游戏平衡、职业平衡、经济平衡等测试。
当然,一般的网游公司并不会搞的这么复杂,尤其是现在这个年代,大家的游戏都是代理过来的,想的是怎么快速捞钱,测试什么的,让玩家们自己施毒就好,找到问题直接甩给游戏开发商。
但对于沸腾公司来说,这一步不能省,毕竟游戏是自己开发的,自己有责任也有能力对游戏软件进行全面测试并作出相应的调整。
所以作为沸腾的第一款自制网游《传奇》,公司上下都非常重视,方杰下达的指示是,所有游戏开发人员必须参与这次为期半个月的游戏测试,顺便也是给大家放放假,休息休息。
方杰自己也参与了这次游戏测试,但他所进行的测试,显然就不是那种常规测试了,而应该称之为破坏性测试。
首先,他把老《传奇》里的所有复制BUG,对新《传奇》也使了一遍,结果发现,这方面新《传奇》做的很好,没有任何问题。
其实也不是游戏程序做的好,而是服务器端数据交换和架构做的好,从根本上杜绝了复制BUG。
老《传奇》的复制BUG,利用的是因网络延迟,服务器与服务器之间数据交换形成的漏洞。
这种漏洞如果在网速快、玩家少的韩国那边,根本察觉不了,韩国游戏开发商就没遇到过严重的网络延迟问题,但在华国这边,网络状况环境差,且服务器人数爆满的情况下,网络延迟时有发生。
但现在沸腾有自己的IDC数据中心,服务器也是自己架构,而且是十分奢侈地采用了几台服务器建组来运营游戏服务器端,所谓的网络延迟复制BUG就自动不存在了。
然后方杰又测试了刷钱BUG,暂时也没发现什么问题,至少老《传奇》的那一套刷钱手段在新《传奇》里是无用武之地的。
毕竟游戏策划理念虽然是借鉴的,但游戏程序又不是,那是旗下码农辛辛苦苦亲手码出来的,就算出问题,也绝不会出现同类问题。
接下来就是交易BUG测试,结果发现新《传奇》里也出现了类似的问题,这个BUG就是游戏程序编写得有问题,逻辑有漏洞,但问题不大,改起来十分方便,加一段代码就能解决问题。
除此之外,还测试了一下老《传奇》的城主刷钱BUG、仓库困金条BUG。
前世《传奇》里,城主只要与沙巴克使者对话,选择贮存资金,然后输入-5,000,000,当晚12点后,自己包袱里就会多出5,000,000了,当然,如果输入-5000万,也一样可以。
捆金条BUG则更简单,身上留1002000钱,找仓库管理员把钱捆成金条,因手续费需要2000,结果金条捆好后,背包里的钱数是0,因此判定捆金条操作失败,返还1002000。
于是,金条依然存在,而玩家只需要不断点击捆金条操作,就可以无限刷金条……
这些刷钱BUG,其实原理都是利用了“背包里的钱不能小于0”这个程序逻辑BUG,一旦小于0,系统就会自动判断交易失败,资金原路返还,但另一方面,却又忘了对关联道具或数值进行核查和回收。
改掉相关程序代码后,这些相关刷钱BUG就被全部封死。
以上这些BUG测试,还仅仅只是方杰进行测试的开胃菜而已。
随后,他还用WPE对游戏进行了欺骗性封包测试。
测试到这个程度,就不是测试什么游戏BUG了,封包程序跟游戏BUG其实没什么关联,这属于反封包程序功能测试。
最后测试的结果是……沸腾开发的这款《传奇》,对封包程序毫不设防,一地鸡毛!
通过WPE封包程序,方杰能够轻易做到无限刷钱、刷经验、刷道具,而且整个操作也没费什么时间,只研究了个把两个小时,就已经能够做到这些了。
出现这样的严重问题,不能怪游戏开发团队,毕竟这会儿大家根本没有这方面的意识,甚至大家连WPE这样的封包工具都没听说过,又何谈防范?
要防范服务器被WPE封包程序欺骗,方法也不难,只要将正常游戏封包加密解密独立成一个动态连接库,即DLL文件,供游戏主程序调用进行封包加解密,就能解决大部分问题,工作量并不大。
之所以说只能解决“大部分”问题,是因为道高一尺魔高一丈。
封包和反封包技术,就像黑客攻防战一样,没有永远攻不破的盾,也没有永远防不住的矛,关键还是看谁的技术更厉害。
即便封包进行了加密,技术高超的人,也能对其破解,即便单独建立一个DLL动态链接库,人家也可以拿自己制作的DLL文件将其的替换掉,即便再加入对DLL文件的自检程序,人家还能直接用老客户端登陆游戏,直接绕过自检,即便……
总之,攻与防、矛与盾,说下去没完没了。
方杰即便了解这些技术,但也不敢保证自己一定能防住所有封包手段。
顶多就是提高对手的破解技术难度和封包制作门槛,同时也提高对手的研究成本。
这个只能以后见招拆招,在斗争中学习和进步,不断推拉改进防护手段,仅此而已。
当然话又说回来,现在能在封包技术上跟他一较长短的对手,恐怕屈指可数。
而这些屈指可数的技术大牛,如果不是有特殊的原因,也不可能投入大量的时间精力和研究成本,去干这种下三滥的事情,所以其实也没啥好担心的。
真正值得方杰关注的,不是游戏BUG和封包程序,而是游戏外挂程序。
因为游戏BUG和封包程序,很容易被系统检测出来,亡羊补牢完全来得及,但游戏外挂,调用的是客户端里的内存地址,服务器一般情况下很难查得出来。
尤其是一些模拟键盘鼠标的简单功能,比如按键精灵那些能够实现的功能,服务器基本上是不可能检测出来的,如果只靠玩家举报,很容易被误封。
比如《传奇》练技能,有的玩家连按键精灵都不会,拿着易拉罐的环扣或者用纸折叠一下,卡在快捷技能的键盘按键上,以达到持续施展技能的目的,你能说这是用了外挂?
所以外挂如何界定,底线标准是什么,就是个首先要考虑的问题。