|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
从一个编程语言的普及程度来将,一个好的IDE是至关中要的,而现在的java的IDE虽然已经很好了,但是和.net网页编程比起来还是稍微差一些的,这是个客观事实。java要想普及的更好。DE是必须加以改进的。
厚道说,提早下载游戏资本及挪用只是一种帮助手腕,与游戏开辟自己干系其实不年夜,本色也不过只是文件下载及文件读取的混用。但思索到上周有网友问及此类成绩,笔者以为与其回邮件独自注释,倒不如写篇博文看起来更详细明晰,还能令人人匡助笔者匡正刊误,故成此文,仅供参考。
一样平常来说,我们之以是会必要经由过程下载体例加载游戏资本,不过是出于以下几种目标:
1、精简游戏体积:
假定我做了个100MB的游戏,却非想把它宣扬成唯一1MB的精致程序,这时候我该怎样办呢?
往棍骗用户,用大批庞大的手艺名词忽悠他们说1MB和100MB等值吗?——用户不是傻子,最少不都是傻子,不管你的话术何等奇妙,也很难让尽年夜部分人都信任1MB和100MB是一样的。但诳言已然出口,一直要想举措办理。
实在呢,在现有手艺系统下,要弄定他们好复杂的,只需将游戏初始界面夹杂下载器打包成1MB的文件公布,再“骗”他们下载实行,尔后——就让他们渐渐守候体系加载剩下那99MB吧!究竟没人说过这个游戏不必要分外的收集资本同步嘛……
2、网游资本的提早加载必要:
今朝的收集游戏——出格是网页游戏,为了尽量的削减不用要的资本消耗,进步运转效力,年夜多半时分其实不会一口吻将一切资本都加载到游戏中,而是“年夜而化之,分而治之”,将游戏资本构建成一个个小小的资本包,仅仅在必要时,才或同步、或异步的加载到游戏中。这也恰是我们在良多网游中所见到的,当脚色过屏、读取新舆图或遭受新怪物时,画面会呈现稍候字样大概部分马赛克以致停留的缘故原由。
故此,经由过程收集合时地往加载必要的资本,几近已成为网游开辟中必不成少的技能之一。
3、融进特别的加密解密机制:
我们都晓得,凡是是人所做出的程序,就没有人所不克不及破解失落的。可是——却极可能产生一团体做出来的程序,另外一团体数年以内没法破解的征象。而当数年以后,另外一团体破解出来时,这段程序却早已过气,白送都没人要了。
因而,当你极度的不想本人游戏被反向工程——特别是想回护Java这类极好反编译的代码时,经由过程收集下载的另外一种意义便展现出来了。你能够将下载的jar或class以致别的各种保留到一个分歧于实行目次的“秘密”场合,而且不管密钥也好,特别布局也罢,总之变着方的将资本加密搅浑,就算搅浑到连你本人都不晓得这是甚么工具也无所谓——能注释成字节码就好,最年夜限制的增添反向难度。而当你实行终了,再一删了事——下次还能够再下嘛。如许做的话,固然不克不及完全根绝代码被别人盗用,但,最少也可以让反向我代码那哥们累失落层皮(^^)。
4、当地程序及资本正当性考证:
在年夜多半收集游戏中,为了包管用户不做出一些诸如利用外挂的“犯规”举动,是会对体系情况以致封包数据举行正当性考证的,而一旦发明“不法”的工具存在,则会令“守法”玩家吊线大概爽性封号以示处分。
但这些考证,次要都只针对程序“内部”,即当“犯规”对象“不是我的游戏时”才干发扬功能,但万一“犯规”者“来自游戏自己时”大概“考证程序以为来自游戏自己时”,则变得力所不及,这也是为何年夜多半网游都“内挂”众多的原因。
侥幸的是,Java程序因为其“资质所限”,是很难在假造机内部被攻破使用的,假如用Java制造网游,准绳上年夜可不用忧虑“内挂”成绩——但,这也有个年夜条件,那就是在“内挂”运转于假造机以外时才行的通。
而假如“内挂”运转在假造机以内呢?假如我的“内挂”是一小段拔出原始游戏中的代码呢?要晓得,静态加载class,静态修正字节码,早就不算甚么事变了。
这时候,就必要校验Java程序的正当性。
原本要考证这类事变是对照泯灭工夫的,但假如我们擅长使用每次下载资本(对照年夜的,好比过图大概游戏更新),假如不但单“下载”,更同步“下行”,使用空档同服务器校正当地Java程序的正当性及完全性,便能很年夜水平上制止这类偶然义的校验工夫华侈。这时候出缺少的文件便增加,有过剩的——也就是呈现不应存在的Jar或class以致原始字节码修正,便借机强行“咔”失落它,以免它“为祸人世”。
<p>
一旦你有了思想,那你编的程序就有了灵魂,不管是什么语言到了你的手里都会是你的工具而已,他们的价值是能尽快帮助你实现你想要的目标。但是如果你没有了思想,那就像是海里的帆船失去了船帆,是很难到打海的另一边的。 |
|