王石发现梦想在学习过程中需要计算资源非常巨大,由于硬件的限制,当运算紧张的时候,梦想显示在屏幕上的暗夜精灵的动作甚至有点变形,影响了工作室的正常业务的进行。当时,为了保证工作室的稳定运行,王石不得不限制用来学习的线程数量。
按照梦想的设计原理,很显然,在保证反应速度的前题下,系统的硬件投入与数据库的规模是成指数增长的关系。越到后面,这个硬件投入就越不是王石能负担得起的。
经过通盘考虑,王石觉得有两个方案可以考虑实施,一个是通过黑客手段,得到尽量多的肉鸡,组成肉鸡网络,再安装分布式运算的部件。再一个就是发布一个免费的网游,来吸引尽可能多的玩家。通过这些玩家的机器组成的网络进行部分布式运算。
这两个方案各有优缺点,肉鸡网络的在法律上是不允许的,而且肉鸡的寻找的捕获也是也需要花费一定的功夫,肉鸡数量的增长速度受限制。而且还有暴露的危险。当然优点也有不少,由于肉鸡是直接控制,可以把大部分的运算资源拿来使用。而网游的话,由于是玩家自己主动加入的,所以可以正大光明的拿来使用。但是由于计算资源有一大部分用在了网游本身的运行上,所以效率没有第一方案那么高。不过只要游戏有足够的吸引力,那么机器的规模就是十分巨大的。
这两个方案一明一暗,优势互补。都有极大的可行性。所以王石决定将两个方案同时投入实行。
一方面逐步增加肉鸡的数量,通过给肉鸡安装分布式运算组件,来扩展梦想的运算能力。
一方面开始设计这一个网游程序。
先要考虑的一个问题就是要制作一个什么样的游戏。按照王石的爱好,游戏的定位是角色扮演游戏,就是通常说的MMRPG。这也符合大众的口味。
经过综合考虑,游戏采用2.5D的画面方式,这对大量玩家所采用的集成显卡和配置进行的选择。
为了提高可玩性,游戏采用了类似p2p的对等互联技术。这样就会玩家上线的人数越多,游戏越流畅。
按照王石的规划,整个游戏没有通常意义上的主机,只有临时的主机。所有机器都将参与运算。整个游戏的设计分为三大块,其中引擎部分参考了不少网络上公开的引擎源码后,由王石设计,梦刀重新制作的。效率与开源的引擎相比有了成倍的提高。
而地图部分,王石参考了暗黑破坏神的随机生成地图后,也设计成了随机生成。按照设计,当某个新的客户端连上游戏的时候,游戏会在已经生成的地图周围为他/她生成一块新的土地,这块土地将会被分配给他/她。这样当玩家越来越多的时候,这个地图就会越来越大。当地图越来越大的时候,那么对于单个客户端来讲,压力就会越来越大,导致机器越来越卡。所以王石在综合比较了各种方案后,采用了动态地图模式。那就是将当前角色所在地图的周围5乘5的地图存放于内存中,在这个范围之外的地图内容就根据情况进行更新。
不知道大家有没有玩过《仙剑奇侠传I》,这个游戏的地图切换速度非常快。其实它就采用了一个类似的技术,那就是把相接的地图预先读入内存。当需要切换的时候,就可以在极快的显示出来。而这个动态地图就是参考了这个技术。
由于没有通常意义上的主机,所以这个地图的存放也是一个相当伤脑筋的问题。王石采用这样的办法解决了它。那就是把地图分成三级,按照比较容易理解的说法,就是象谷歌地图上放大和缩小分辨率一样。最高一级的地图,也就是分辨率最低一级的地图存放于临时主机上,然后把次一级地图按照地域存放于机器配置相对较好的机器中。然后把最低一级的地图直接用于客户端。低一级的地图需要通过上一级地图的检定才能被使用,而最高一级的地图存放于临时主机上,而一般临时主机会有十台,地图之间互相备份,互相校验。以保证地图不会被恶意修改。由于临时主机也是由玩家的机器充当的,而玩家有上线的时候,也有下线不玩的时候,这种情况王石也考虑到了。当有一台充当临时主机的客户端下的时候,其他几台临时主机会立马设置一台新的临时主机来进行补充。为了保证安全,临时主机的选择有一定的要求。平常上线时间比较长的,主机之间在现实中的实际保证一定的距离,还有就是由于机器的硬件上要符合要求。而次一级的地图存放也有差不多的要求。
为了保证地图小巧精悍。提高效率。还特别采用了图形分形技术。这样可以让地图拥有更小的体积。因为地图需要不断互相传递,这一点是非常关键的。
当一个角色被建立起来以后,系统会分配在原有地图的周围分配一块随机生成的地图给他。然后将地图随机存放于五台不同的机器上,以保证地图的可靠性。
对于角色的处理。王石的设想是这样。通过与P2P相类似技术,把在一定地图的范围内人物集中起来,把他们的机器当作都作为一个运算集群的单元来进行处理,这应答这个范围内所有玩家的请求。这个范围就是3乘3的最低一级地图的大小了。梦想童鞋对这个分布式运算已经相当熟悉了,所以这部分解决起来也没有什么难度。
为了保证有一定的吸引力,王石还特地在角色头像上作文章,就是所有头像都是摄像头拍摄,经梦想童鞋立体化后放入游戏当中的。
相信玩家会对这个感兴趣。
最后构造了能够执行分布运算的组件,经过变形加密。组装到了客户端上。
把这些困难的地方都搞好了以后,王石就网络上找了一篇修真网游小说,按照它的设定按排情节。通过网络寻找构建一些基本素材后,一个网络游戏就完成了。
从决定做网游到完成整个程序。前前后后大约有一个月时间,虽然有梦想童鞋专业家级的支持和配合,但整个框架还是王石自己来完成的。所以工作是相当繁重的。
现在网游完成了,王石就把它上传到了各大游戏下载网站。免费供人下载。整个客户端很小,只有十兆不到一点。称得上是短小精悍型了。
王石又一次让梦想在各大游戏论坛和网站上发帖做广告。用来宣传这个游戏。以期得到大家的认可。
随着宣传的进行,这个名叫《双剑》的网游下载量越来越大,而且由它的一些优点也逐渐被发现出来。
先一个是角色的头像就是玩家自己的相貌,这让玩家很有新奇感,代入感得到了大大的增强。而且由于没有帐号系统。在客户端第一次运行的时候,就与这台机器进行了绑定。这虽然让部分玩家感到不方便,但也减少了游戏角色被盗的问题,而深层次的原因就不用说了。
其次,就是可以无限增长的同时在线人数。这一点更让人激动了,现在市面上大部分网游一个服务器同时在线人数上千已经很了不起了,魔兽世界好是一个服务器同时上线人数上限是1500个,超过了就要排队等候。这已经非常了不起了。而这个不起眼的游戏居然没有上限,这大大激发了广大玩家的热情。
再次就是网游戏里还有免费的语音视频通讯以及相应的聊天室。这个可比市面上的QQ和MS都要好很多。因为游戏的模式决定了这个聊天室将会有更大的自由度。