游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5672|回复: 4

[讨论] 如何理解游戏:游戏排行榜是如何算出来的

[复制链接]

8360

主题

9283

帖子

2万

积分

论坛元老

Rank: 8Rank: 8

积分
29945
发表于 2015-3-31 13:20:15 | 显示全部楼层 |阅读模式
  文/ 林博昱  授权GameRes游资网发布。林博昱,游戏制作人,大约三四年的从业经验。两年前牵头成立了一个创业团队,致力于休闲游戏的开发。

  喜欢玩游戏的人很多,但游戏作为一门复杂的艺术形式,它的生产原理并不被广大玩家们所理解;而游戏开发团队里的设计、美术、运营等非技术类的从业者,很多时候也会对游戏开发的原理产生疑问。

  我常常为上述第二件事感到苦恼,因为这是一个看似正常实则对游戏最终品质有很大影响的状况。为了解决这个苦恼,我给这些非技术类的同事们讲了几节课,试图用比较浅显的语言和更加具象化的表述来讲述技术上的来龙去脉。积累了一段时间后,就有了这个系列的几篇短文。每篇短文针对游戏开发中的某个特定主题,做一个浅显的介绍

  相关阅读:如何理解游戏:游戏与动画的不同及游戏内事件的实现
       如何理解游戏:图片是怎么画到屏幕上的
       如何理解游戏:游戏进度是如何恢复的?

37419283.jpg


  当游戏在运行的时候,它把状态存储在内存中,而在某些特定的时刻,例如退出游戏时或者某一局游戏结束时,它会把一些数据抄送到硬盘里,以备将来的需要。在多人游戏里,仅仅把数据抄送到硬盘里并不能解决问题,比如当我们需要一个分数排行榜时,就得想办法收集每个人的分数,这时分数这个数据必须被抄送到一台远程计算机上,这台远程计算机就是服务器。

  我们同样可以把服务器的内存和硬盘想象成一面巨大的墙,墙上有许许多多的抽屉。当你结束一局《水果忍者》,获得了567分,这时游戏会把你的名字和567这个数字寄送给服务器。服务器收到之后,会找一个抽屉,把567放到里面,然后在抽屉上贴一个标签,并在标签上写下你的名字。由于玩游戏的人很多,服务器会不断地收到许多人寄送来的数据,带标签的抽屉也会越来越多。

  这时如果某个人点了「查看排行榜」的按钮,游戏会寄送一个「我要看排行榜」的请求给服务器,服务器收到后把当前所有抽屉的数据按分数高低排个序,再把这些数据给寄送回来,于是这个人就看到了《水果忍者》的分数排行榜。

  一个很简单的过程,对吧?我们再看个稍微复杂点的。

  《涂鸦跳跃》里有一个模式,可以让A、B两个人在线比赛,双方同时起跳,看谁先跳到一个指定的高度。在比赛过程中,每个人都得知道对方跳到哪了,所以当A的高度发生变化的时候,游戏会把这个新高度寄送给服务器,再由服务器转寄给B,B收到后就会立刻改变游戏里A角色的高度,反之亦然。于是双方都能在自己的iPhone里看到对方这时跳到哪里了。

  以上两个例子有一个共同的特点:游戏的状态是通过一台公共服务器来维护的,不同的人通过它改变游戏的状态,也通过它获取当前的游戏状态,从而共享着一个虚拟的世界。绝大部分多人游戏正是通过这种模式来实现的。

  多人游戏的本质使得它具有很强的社会性:它一方面涵盖了人和计算机的互动,另一方面孕育了人与人之间的各种关系。这种关系有很多,可能是野外打怪时的一次偶遇;可能是集市交易时的讨价还价;可能在副本任务中互相配合;也可能在竞技场里拼个你死我活或者在排行榜上争个你强我弱。

  我们完全可以把多人游戏当做是一个虚拟社会。电影《黑客帝国》的Matrix实际上就像是一款多人游戏,大部分人沉迷其中以为这就是真正的生活,而少数觉醒者发现自己是用生命在玩游戏后,壮士断网,愤然下线,来到了革命根据地锡安,在这里展开了轰轰烈烈的反矩阵运动,尴尬的是,锡安或许也只是另外一款游戏而已。

  我们还可以把微博、论坛等社区看做是一款多人游戏,用户在这里扮演着自己的角色,涨粉升级拿称号,混帮派,打团战,玩得不亦乐乎。前文曾提起过Avatar这个词,说它有神灵下凡、附体的本意,是游戏者在虚拟世界里的象征,而很多社交站点里的用户头像就叫做Avatar。

  不用等到未来,即使在眼下,虚拟社会和真实社会的关系已经是一个值得讨论的问题。

0

主题

7

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2015-3-31 15:40:50 | 显示全部楼层
看标题是讲排行榜的编程原理,又分为了及时更新和断点更新,甩尾又出来一个游离在虚拟现实之感叹,结构比较松散,文章比较跳跃感性。缸中之脑类的看多了么

0

主题

51

帖子

308

积分

中级会员

Rank: 3Rank: 3

积分
308
发表于 2015-4-1 10:43:06 | 显示全部楼层
标题跟内容、前段内容和后端内容不符啊

2

主题

149

帖子

709

积分

高级会员

Rank: 4

积分
709
发表于 2015-4-1 14:47:06 | 显示全部楼层
最近这位选手出了好几篇文章,一篇比一篇水

13

主题

832

帖子

1875

积分

金牌会员

空想家

Rank: 6Rank: 6

积分
1875
发表于 2015-4-1 20:04:35 | 显示全部楼层
该先找有名字标签的抽屉,再更新里面的分数吧。没抽屉就要先加这个抽屉。
感觉是写反了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-24 07:50

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表