|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。计谋--------------------------------------------------------------------------------
《星际》、《魔兽》、《文化》……这些都是PC游戏玩家们耳熟能详的名字,能够说以这些游戏为代表的计谋游戏是PC游戏的典范代表,计谋游戏的玩家也是浩瀚PC游戏范例里忠实度最高的玩家。计谋游戏分为回合制和立即计谋两类,两种计谋游戏都无数量浩瀚玩家,尔后者更由于严重剧烈的游戏性渐渐压服了回合制计谋游戏,近几年来,一向在计谋游戏中占统治位置。
在“J2ME平台上开辟收集立即计谋游戏”,这个话题在当今年夜多半J2ME开辟者听来无异于天方夜谭。立即计谋游戏名字的“立即”两个字决意了庞大的运算和数据交互、不乱疾速的收集毗连请求、复杂的资本和绘制义务,我们都晓得J2ME设备的资本和功能都极其无限,现有GPRS收集业不尽善尽美……这些仿佛都成了在J2ME上开辟收集立即计谋游戏不成超越坚苦。
坚苦实其实在的挡在我们眼前,但中国三亿手机用户中储藏的复杂的潜伏立即计谋玩家促使我们往克制这些坚苦,只需另有一点大概,我们也要往寻觅一条跨过这些停滞的路途。怎样才干在手机上完成收集立即计谋游戏呢?
从功能和用户量思索,我们选择诺基亚的60系列作为早期的开辟平台。
我们不思索接纳HTTP协定,固然它是J2ME设备中广泛接纳的协定,但其绝对SOCKET的低效性和自己是无毗连协定决意了它不合适立即计谋这类游戏情势。从上表能够看出创建毗连的工夫要凌驾毗连后的数据传送工夫很多,HTTP协定必要消费很多分外开支在创建毗连上;HTTP均匀的数据传送工夫也要比SOCKET高很多。我们测试了年夜部分的60机型(7650,3650,3660,6600,N-GAGE,N-GAGEQD),一切测试的机型均撑持socket。
从上表能够看出,socket毗连数据往复一次的均匀工夫在1~2秒间,这对回合制的计谋游戏也许充足,但对立即计谋游戏来讲仍是太长了。有甚么举措能年夜幅紧缩数据传送的工夫呢?
我们能够从server和数据包协定思索。
以上测试的服务器是用Serverlet写的,而serverlet是构建在Webserver上的,那末这个数据里包括的服务器反响和处置的工夫就不容疏忽了,为了取得更快的呼应和处置速率,我们必需从头计划和构建游戏的公用Server。传送的数据包巨细也是影响速率的一个关头。平常人人开辟J2ME的收集使用,习气于用文本流来传送数据,由于年夜多半使用Server端都是基于WebServer,并且接纳文本暗示信息十分直不雅,也便于Server处置,但关于J2ME平台和gprs收集来讲,没有经由紧缩的文本仍是华侈了一些。
复杂思索一下流戏服务器:一台主机应当能支持一百到两百名玩家同时在线;为了便于设置,Server使用应当是跨平台的,而客户端也是J2ME的,因而Server的开辟情况java当是首选;接纳Java1.4后新增的Java异步通讯功效,功能上也能到达我们的请求。
由于Server必需我们本人写,以是没有需要利用文本编码协定,代之以字撙节编码。复杂预算一下,暗示不异的信息,接纳文本和字节编码体例数据巨细的比例年夜于4:1,并且数据原本以数字为主,省往了文本转换的一年夜笔开支。更小的数据响应的也带来了更快的速率,别的,也为用户节俭了年夜笔高贵的GPRS流量开支。
接纳以上的措施后,我们再次测试了数据传送的呼应工夫,均匀小于1秒!大概在良多人看来,这个工夫仍是太长,达不到及时的请求,但应当晓得,相对的及时是不成能完成的,只需在筹划和开辟中接纳一些公道的战略,这小于1秒的提早完整能够很好的掩饰。
典范的PC立即计谋游戏如《星际》,在局域网对战时实践上其实不必要服务器的,对战中的一台或多台客户机充任了服务器的脚色,即便是上战网,战网服务器完成的也只是社区办理的事情。在手机上完成不克不及接纳这类布局:起首,经由过程GPRS收集,两部手机没法间接毗连(不扫除蓝牙或红外的互连,这不在我们的会商局限内),只能经由过程服务器直达;别的,手机的运算才能无限,为了游戏能优秀的运转,必需把良多的运算转移到资本绝对更丰厚的Server端,这和一样平常的CS布局中,只管让Client分管Server的事情以使得Server能支持更多的Client的做法南辕北辙,也表现了J2ME收集使用的特别性吧:)
再复杂说一下全部体系的架构:
服务器按功效分为毗连服务器、年夜厅服务器、游戏逻辑服务器、用户办理服务器和日记服务器五种。视用户的数目,假如数目很小,一切的服务器都能够置于一台主机中;跟着用户量增加,各服务器能够挪动到分歧的主机中,经由过程调剂各服务器主机的数目到达平衡负载。
首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。 |
|