版权声明:本文可以不经作者同意任意转载,但转载时烦请保留文章开始前两行的版权、作者及出处信息。
当大家尝试了若干年由互联网信息资源大爆炸所带来的甜头后,我们开始为寻找有用资源以及有效利用这些庞大的资源而发愁,更多的时候,我们更象一只乱撞的苍蝇在这个URL和那个URL之间奔走,半天的忙碌说不定给我们带来的却是一场空。于是,我们不由自主的渴望着,如果有一种软件,能代替这种近乎体力劳动的“搜索”和“处理”工作,那该多好呀。
我自己也曾不止一次地发出过这种感慨,但我想,对这种软件有最强烈渴望的群体应该首选网络游戏玩家一族了。
在上海盛大把“传奇”引入中国,引发了至今还在继续发狂的网游热潮以来,越来越多的资金开始注入网络游戏,越来越多本不玩游戏的人开始关注网络游戏,甚至连国家的相关法规政策也从某种程度上开始保护起前几年被视为洪水猛兽的“电脑游戏”来。这一切,只缘于一个原因:网络游戏聚集了太多的社会财富,为电信行业带来了太多的增值,为国家财政创造了太多的税收。
然而,发展至今年的大陆网络游戏,与它刚出现时在模式上似乎并无什么大的不同:没完没了的升级,没完没了的PK。一时间,打网络游戏似乎成了纯粹的体力活,每天登录进来之后,除了聊天,剩下的就是为“升级”而努力了。但是,由于部分网络游戏的开发周期过于短暂,甚至有的游戏公司在游戏还是半成品时就已经拿出来作市场宣传并进入所谓的公测继而开始收取点卡费用。不难想象,这样弄出来的游戏在用户易操作性方面难免会存在这样那样的问题,而这些问题,对于资深的骨灰级玩家来说又是极其影响游戏效果的。于是,一种具有全新概念的“游戏机器人”的程序(也称外挂)诞生了。
游戏机器人,相当于一类似于游戏客户端的程序,它是独立运行的,不依赖于原游戏客户端。说到这里,我们得回过头来看一下外挂的分类。网游外挂,从大的方面,可以分为两类,一类是内嵌式的外挂,比如类似于按键精灵之类的辅助工具,另一类是独立式的外挂,也就是现在我们所说的游戏机器人。内嵌式外挂的工作原理是,先运行原游戏客户端,并在原游戏客户端中利用热键呼出外挂程序进行相应设置,然后返回原游戏客户端中进行游戏。而游戏机器人,从刚开始的游戏登录一直到后面的打怪升级等,全部由外挂程序自己完成。从这一点来看,内嵌式外挂要比游戏机器人简单地多,因为它甚至可以直接调用原游戏客户端的内存数据和函数模块,而游戏机器人必须自己处理这些数据和函数模块。但是,游戏机器人的最大好处便是难以被游戏服务器发现和屏蔽,在游戏功能的易扩展性上要比内嵌式外挂容易实现得多。如果大家对游戏机器人还是不怎么了解,请大家到GOOGLE随便搜索一下传奇或其它游戏的外挂,一看便一目了然了。
由于本文是一针对于网络机器人的专题文章,所以,这里我们只讨论游戏机器人,对于内嵌式外挂的原理及实现,本文不作阐述,如果有机会,我将在后续的其它系列文章里进行阐述。
我想有机会阅读此文的朋友,一定有很多非常关心游戏机器人到底是如何实现的?开发游戏机器人需要哪些基本功?用哪些工具?查哪些资料?等等,这一系列的问题,都将在这一个系列文章里进行表述,请大家随时关注。
现在,我来解答大家第一个疑问:开发游戏机器人需要哪些基本功?
在解答这个问题之前,请大家记住以下这点:开发游戏机器人是一件相当艰苦但趣味十足的差事,如果你自信有足够的抗打击能力,那么放手一试吧,否则,还是趁早回家哄孩子的好,呵呵。请大家自己对号入座:
1.熟悉TCP/IP协议(不熟悉没关系,但至少你要学会熟悉类似于commview一类的网络截包软件,并知道真正有用的数据是哪一块)
2.有比较强的分析、比对能力,有比较强的洞察力(主要应用于封包分析)
3.至少打过一两种网络游戏,熟悉网络游戏中的常见术语(诸如:PK,NPC等等概念,不熟悉网络游戏的人怎么可能按玩家要求写出好的游戏机器人?)。
4.能读懂WIN32汇编,有一定的反汇编静态分析能力(现在的网游基本都在数据封包上使用了诸如加密,加校验码等手段,凭借单纯的封包分析已经无能为力)
5.具备一定的win32汇编动态调试能力和一定程度的忍耐力(有些加密算法只有当实际跟踪运行时才会更容易理解)。
6.熟悉至少一门面向对象语言,并能够用之来完成游戏机器人程序(到于大一点规模的游戏机器人,甚至还要用到建模工具,要对系统进行规范的整体规划)。
7.具备一定的数据结构和算法功底(对于游戏数据的组织是很影响游戏机器人性能的,大型算法的应用主要是寻路算法)
如果你已经具备以上的各项,你就可以动手来作自己的游戏机器人了。当然,很多人开始的时候也并不是全具备这些,而是在作的过程中进行学习,当他们作完自己的游戏机器人,这些方面都是基本已经具备了的。呵呵。下一次,我们谈游戏机器人的开发工具和开发步骤。