« 游戏服务器组间的通讯 | 返回首页 | 游戏中的货币 »

唯一的游戏世界

今天写下上一篇 blog 之后,跟另一个组的同事讨论了我的这篇文章。他们的项目先是多服务器的架构,后来重构后改成了单服务器的设计。我们的讨论第一个出现的分歧就是在于对多服务器设计的复杂度会造成的影响。

讨论了一段时间后发现大家的对一些问题的定义从一开始就有区别。回头来大家换个角度讨论了一下,发现其实那些分歧都是不存在的。

讨论告一段落后,我浏览了一遍聊天记录,觉得有必要总结一下 :)

三年前,我跟公司一些策划同事有接连几天的争执:到底玩家是否需要一个宏大的虚拟世界?或是我们若实现这样一个虚拟世界,到底有没有价值?该怎样维护这样的一个大世界,让它不会受到一些暂时性设计 bug 的毁坏性影响?

可以说,三年前的争论是导致我成立独立团队做现在这样一个项目的重要起因之一。因为当时,我几乎得不到任何的支持,策划,程序,美术方面等等几乎都是不赞成的意见。

那个时候,我也的确找不到确凿的证据来说服大家。但今天,思路清晰了许多。

首先,提高单组游戏服务器的同时在线承载能力对给玩家带来更大乐趣并无太大积极意义。这是我一直都持有的观点。所以,我对公司已经完全购买的 Bigworld 游戏引擎不以为然。这个引擎最大的优势在于它的服务器组负载均衡做的非常不错,可以让更多的玩家互动。btw, bigworld 在技术上是非常不错的,代码质量就我读过的部分来看,也是颇佳。

如同现实中的人的社交活动一样,人们不需要太多人的完全交互,也不希望独身一人。人在一个合适规模的团体中生活是最舒适的。一味的提高单组服务器的承载能力,有如扩大虚拟世界中人同时能参与的社交活动的规模。可就算在虚拟世界中开奥运会,也没有人去参加所有的项目。也不会让所有的项目在一个体育场去开。

所以我不关心一个逻辑服务器是由多台机器还是单台机器构成的,那些是技术细节。游戏的设计本身就应该避免很高承载力的需求。

但是,我们需要保留所有玩家在一个整体的虚拟世界中相互交流的可能性。这会衍生出很多给玩家带来更多乐趣的新玩法。这些跟简单加大交互数量的所谓“更多人的国战”是有区别的。

设计所谓跨服务器的玩法,也应该和单一服务器内部实现的玩法有所区别。就如现实世界中,你或许可以跟银河系那一头的外星人交换信息,但是绝对不可能发生实时的互动。光速的极限在那儿摆着呢。

我们设计的跨服务器的玩法,都可只基于一个原语:即对象的传递(而不是类似对象的远程控制之类的东西)。我们需要唯一解决的技术问题是:如何安全的把对象传递到另一个世界中,而不出现丢失或复制。时间和效率是很次要的东西,这一点跟服务器内的交互设计截然不同。

一个全局的数据库是没有必要的,各个游戏世界应该是对等的,没有一个特权世界。信息的即时同步永远是没有必要的。这跟现实世界中,永远有光速的屏障一样。

比如一个帮会系统,成员分布在不同的服务器中。那么查询到当前所有帮会成员名单这种需求就是没有意义的。最多你可以查到当前世界中的名单,但是你对另外世界的成员名单的了解只能是过期的信息。

玩家角色在服务器之间迁徙也是这样,我设想的最简单合理的设计是:角色必须光着身子被传送到另一个世界(好似终结者)。也就是角色本身的等级技能这些被复制(或传送)过去,而物品则需要通过游戏中的物流来输送。

角色被传送后,可能需要一段时间才能到达,但玩家可以操作他在原有世界中继续做一些有限的事情。一旦送达后,踢出旧世界,在新世界登陆即可。我们甚至可以不允许在新世界中被传回,只需要把新世界中得到的经验等人物属性转换为物品邮寄回来即可。你在那个世界中的你可以看成你在新世界中的一个副本。

游戏的局部世界和局部世界之间只要设计出逻辑上的距离,距离制造了时间差。由于对象传递是一个原语,一切服务器间的交流都依赖这个原语;这就好比现实世界的光速屏障一样;可以有效隔绝统一世界中各个局部间的矛盾。无论这些矛盾是由于部分玩家在局部利用一个 bug 引起,还是大家发展时间长短的不一致引起的。

我希望在我们的新游戏中,既可以让玩家个体做个人的奋斗,又可以让团体在一个唯一的大世界中攻城略地、争夺资源、建立商业网络…… 我想这些都会是激动人心的东西。我知道很多网游都想过这些试着做这些,却几乎没有看到谁成功的给玩家带来更多的乐趣。那是否这次实现会略有不同呢?

Comments

您好!看到一些您的一些文章,很有意思。最近我在研究单一世界架构,希望能得到您的指教。谢谢!
http://topic.csdn.net/u/20090629/13/91b280bb-165c-49a1-a505-3a2aead95d12.html

相对于单一世界,我更加倾向于做一个有终结会毁灭的世界

支持唯一的游戏世界。

单台服务器的瓶颈在很多年以内是毫无疑问存在的。一个玩家的互动真的很有限。游戏里的互动有些部分可以分离出去,让其它服务器去协调,如文字对话和语音对话。

瞎扯一下。呵呵

楼下的,回帖要看帖啊。

我看你对什么跨平台之类一些豪无用处的东东研究的挺欢,对于这样一种技术确说无用,真是可笑!

多人同服的感觉怎么能说一定要和那么多人交互呢,就像你生在中国也不可能和10亿人交互一样,但10亿人的国家对你生活的影响绝对和只有1000万人口的国家对你的影响大不一样!

BIGWORLD成功吗? 没觉得,起码作为游戏引擎,也就黑暗与光明还能稍微玩玩。。。其他的。。用BIGWORLD和用其他引擎做区别不大 从游戏制作上来说,用BIGWORLD更浪费时间。。。
只能说BIGWORLD卖得不错而已。。

为什么棒子的游戏这么赚钱???

bigworld的成功就是瞄准了中国游戏公司决策权掌握在对技术无知的人手中,从而利用中国人盲目上马MMO的时机大赚了一票。他们用的cell负载平衡压根就是老掉牙的东西n年前就已经有无数论文把它说烂了。这家公司本来是要做MMO项目的结果没做成才开始卖引擎。也就骗骗中国人了,还卖那么高价。。。

--此外,技术是技术,需求是需求,别把这两个东西混在一起讨论。大多数科学技术在研究发明的时候都没看出来有什么应用价值(需求没有出现),这样的例子数不胜数,这并不代表就没有研究价值了。评判技术价值的唯一标准是他是否unleash了人的生产力和创造力,让人更加自由(不受限)。

唯一的游戏世界有一个致命的缺点,不可逆性.这个世界从开始运行起就不停的成长直到这个世界衰老死去为止.不过这说不定也是其最大的优点.

不同意这个观点。真正的虚拟世界本来就可以做到独立统一,为什么要分割传递?这和光速屏障没有啥关系,如果不是服务器负载有限制我相信虚拟世界早就是唯一的了,如果能解决这个问题也无疑好的,为什么要排斥?为什么要传递?

唯一的游戏世界,这个观点我认同,并不需要太多的,太过复杂的服务器组结构,再复杂的结构都不如游戏设计本身来得有意义

对于BIGWORLD,购买这种引擎只能说过于奢侈,且不说当时了解和懂得使用该引擎的人有多少,且说这款引擎对于游戏设计本身来说,对于其他公司并没有太大的优势。。仅仅只是引擎而已,引擎重要的不在表现和架构,而在于效率和可扩展性。。。

唯一的游戏世界,你的拼搏才有动力,你的成功才是唯一。

写这篇 blog 我正是想说明:游戏世界的规模和玩家的社交圈子,以及同时可以相互相互的人群的规模,是相互独立的。

过于庞大的游戏世界对游戏性没有帮助,每个人的交互圈子其实并不大。另外当玩家聚集在一起的时候,指数量级的带宽和服务器资源占用增长将带来巨大的问题。现阶段3000~5000人规模是最为合适的。当然这是值ARPG类,如果是回合制或者FPS则会有所不同。

一个全局的数据库是没有必要的,各个游戏世界应该是对等的,没有一个特权世界。信息的即时同步永远是没有必要的。这跟现实世界中,永远有光速的屏障一样。

支持这个

想起G盖莫夫的<<从一到无穷大>>和<<物理世界漫游奇遇记>>两本书.
我觉得,无论是分散的诸侯割据,还是统一的中央集权,都比不上有限统一的联合州架构来得好.
云风的新架构应该是最接近联邦制的服务器架构吧.

征途前段时间在各论坛发的枪文好像也就是说这种模式

当局部的矛盾影响到局部的大多数人的时候,是否意味着这个局部的毁坏或者消亡?
要知道,现在的游戏世界是存在于不同维度内,所以单个游戏世界的毁坏不会影响到其它的游戏世界.
如果是统一的游戏世界中的局部毁坏,就有可能造成这个唯一游戏世界的部分毁坏.这样的情况似乎不可避免.
譬如一个人身体的各个组成部分,当其中的一个组成部分出现病变,就可能造成这个人的个体死亡.唯一的游戏世界也可能消亡.

只能期待这样的游戏,没资格评论

Post a comment

非这个主题相关的留言请到:留言本