如何从软件工程和编程技术角度评价魔兽世界?

比如技术方面,
它的C/S架构前端有30G的客户端,涉及3D模型与视觉特效(具体UI与美工先算作文艺而不是技术不讨论);
通信方面可能因为数据通信流量问题,要自己从socket开始实现一套应用协议;
后端方面,它要搭建一个三维的带虚拟重力效果,且实现各种技能与副本阶段的业务逻辑的“虚拟世界”。
如果从软件工程的角度,如何衡量这样一个大型网络应用?从技术与工程的角度而言,BLZ和BAT乃至Facebook,谷歌他们相比如何?

推荐  (0) | 5人关注关注
3个答案
2 1
支持者: 他傲娇丁叔 we_cry

1.为什么前端有30G,这是将运行游戏所需要的数据(对象模型、视频、语音等)尽量前置,减少游戏运行时的通讯量和服务器的运算量。

2.并不需要独立开发一套通讯协议,使用TCP/IP系列即可。

3.你看到的三维效果是在前端,服务器上的模型其实并不很复杂。比如一个副本或者一个战场,服务器上的地形的数据量比你在游戏里看到的要小的多,因为一个服务器上会同时存在很多的战场和副本,所以服务器上的模型要尽量小,以减少内存占有。

4.从硬件,系统架构,客户数量,在线用户数量、数据量、业务逻辑复杂度来说,网络游戏还比不上淘宝、亚马逊这样的电商平台。

0 0

严格来说,楼主的问题问错了地方。

我们并不知道,魔兽世界在软件工程上是怎样做的,我们也不知道它到底用到了哪些编程技术。这些只有参加过魔兽世界开发的程序员才会知道。

————————————————————

从软件工程上来说,有一点是显而易见的:迭代式开发。

也就是说,并非一次性作出完整的游戏,而是先做好一部分并且发布,同时接受玩家的意见,然后一个版本一个版本的修改游戏(并不仅仅是修改数据和内容)。许多现在魔兽世界采用的游戏模式(包括小队副本、团队副本、战场、竞技场、成就等),是在第二版(燃烧的远征)和第三版(巫妖王之怒)中逐渐建立起来的。技能和天赋系统更是经过了数次的完全重做。

在这里,可以看出迭代开发的几个优势。
1、减少工作量的压力;
2、始终吸收玩家的意见,并持续进行改进。
3、确保玩家经常有新内容可以玩,保持长期的吸引力。
4、适应当时的硬件水平。


查看更多

添加回答

登录 后回答问题,你也可以用以下帐号直接登录

相关问答

关于我们 加入果壳 媒体报道 帮助中心 果壳活动 家长监控 免责声明 联系我们 移动版 移动应用

©果壳网    京ICP证100430号    京网文[2018] 6282-492号    新出发京零字东150005号     京公网安备11010502007133号

违法和不良信息举报邮箱:jubao@guokr.com    举报电话:18612934101    网上有害信息举报专区    儿童色情信息举报专区