游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4945|回复: 17

[讨论] 去TME的简单实现

[复制链接]

1

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2012-11-22 16:35:00 | 显示全部楼层 |阅读模式
[em21] 今天和程序讨论了竞技场排名规则。。。
     方案1,程序提出: 类神仙道,打赢,则参战双方排名对换其余不变,打输,排名不变。。(TMD。)
     方案2(自己提出):打赢,则挑战方代替被挑战方的排名,被挑战方排名-1,(游戏总只能挑战比自己前5名的玩家),类推……
  
  废话不想多说,就问问大伙意见, 到底那种方式科学?为什么?
  PS:!!?什么实现困难,数据交互太多,服务器扛不住的闭嘴,谢谢!

20

主题

903

帖子

977

积分

高级会员

Rank: 4

积分
977
QQ
发表于 2012-11-22 17:09:00 | 显示全部楼层

Re:去TME的简单实现

无所谓科学不科学,纯粹看你的实际需求

程序提出的方法简单;你那个在跨排名去挑战会一次性降低好几个人排名,稍微复杂


2种方法都不麻烦,但是问题在于:你不应该和程序争论具体的技术问题,而是需要向程序说明为什么需要采用你的方法

36

主题

1378

帖子

4955

积分

论坛元老

Rank: 8Rank: 8

积分
4955
发表于 2012-11-22 19:16:00 | 显示全部楼层

Re:去TME的简单实现

你的方案2会让程序觉得 1个玩家战斗的胜出会让战败者及战败者排名后面的所有玩家 排名都-1  
这样一来 经过他的初步考虑的实现方式  会让他认为:你在让他向服务器内的所有在线的玩家的客户端都发出一次更新请求
这样的计算量是非常庞大的

因此 很多游戏如果去实现这样的过程 都会限制上榜的排名数量 比如 前100名 或者前1000名

58

主题

1437

帖子

2207

积分

金牌会员

Rank: 6Rank: 6

积分
2207
发表于 2012-11-22 19:37:00 | 显示全部楼层

Re:去TME的简单实现

你和程序先打,谁打赢了听谁的,
话说回来你这种方式1,2,3,4,5.
如果第5名挑战第1名成功,变成5,1,2,3,4
那234的玩家平白无故被降1级,
这种拍着屁股想出来的方法有科学可言么?
如果当时碰巧5和1与2和4同时开打,出来的排名就会莫名其妙。
因为有自动被降级的可能,存在一种极端情况,
如果有100个玩家开打,其中第2名和第5名打了24个小时.
因为排行榜剧烈变化出来的时候很可能已经被降级到了99名和100名。

你程序反对的原因是这种即时的排名策略要每个战斗结束都要对全部队伍进行排序和索引,
可以这样做每次战斗会有相应的得分,策划考虑得分的策略。
程序只根据队伍得分,对服务器数据重新排序,不要输赢和总排行榜直接挂钩,
话说回来还没玩过那个游戏大排行榜不是计分而是直接按排位的。
几百个人随机战斗,战斗结束等待其他队伍战斗结果出排位,
因为是关联排序,这种等待就会演变成,要等到所有玩家战斗结束。
[em10]第一种是可以实现,第二种是完全实现不了...

还是那个例子因为第1名和第5名打,第2名和第4名打,
因为如果第1名赢了,第2名和第4名争的就是第2名,
如果第5名赢了,第2名和第4名争的就是第3名。
这样第2名和第4名打完了就要等第1名和第5名的结果出排序,
这种关联的结果就是如果第3名这时和第0名甚至更高的组别在打,
那么最后的排名就只能所有人打完了之后才知道。

你的程序很可能当时就被你的想法震惊了,陷入到深深的沉思当中。

17

主题

335

帖子

340

积分

中级会员

Rank: 3Rank: 3

积分
340
发表于 2012-11-22 20:36:00 | 显示全部楼层

Re:去TME的简单实现

详细的3楼已经说过了。

我只想说lz这样的奇葩物真心不多见。

20

主题

903

帖子

977

积分

高级会员

Rank: 4

积分
977
QQ
发表于 2012-11-23 11:46:00 | 显示全部楼层

Re:去TME的简单实现

3楼你想复杂了.....


从他们程序“参考神仙道”的描述来看,这是个页游/手游,所谓的竞技场是异步交互,而且战斗时瞬间完成,不存在同时开打的情况,因此LZ的2种方式在实现上不存在困难
至于无故降低排名的接受程度嘛,,,你提出的积分制,其实际表现也会是这样的。。。

17

主题

335

帖子

340

积分

中级会员

Rank: 3Rank: 3

积分
340
发表于 2012-11-23 12:56:00 | 显示全部楼层

Re:去TME的简单实现

3楼并没有想复杂

你所理解的瞬间完成并不存在,在后端来讲,1秒钟和10分钟的战斗时长,都是需要时间来处理的,这就存在并发处理的可能。

打个比方,去窗口买票,你是只开1个窗口让大家排队,还是来1个人就开1个窗口无需排队?

另外自己的排名“无故”降低,在积分制的规则下是很容易被用户理解的(现实中例如足球的小组赛);但在排位制的规则下,用户是很难理解的。

58

主题

1437

帖子

2207

积分

金牌会员

Rank: 6Rank: 6

积分
2207
发表于 2012-11-23 13:20:00 | 显示全部楼层

Re: Re:去TME的简单实现

在程序眼里"瞬间"的概念是双方同意战斗,点击确定立刻弹出战斗结果。
1G的cpu每秒钟可以执行1G条指令,所以程序里的"瞬间"大概是10亿分之一秒。 [em10]
teeth_yuanli: Re:去TME的简单实现

3楼你想复杂了.....


从他们程序“参考神仙道”的描述来看,这是个页游/手游,所谓的竞技场是异步交互,...

0

主题

104

帖子

559

积分

高级会员

Rank: 4

积分
559
发表于 2012-11-23 14:27:00 | 显示全部楼层

Re:去TME的简单实现

参考神仙道的,肯定不错,这个叫换互位置。楼主说的,也有理,可叫插队。

对用户来说,这二个方案都OK,哪种好实现就OK了呗,争个什么哪个科学?说到科学,那叫游戏行业多少人得下岗啊。

0

主题

7

帖子

35

积分

注册会员

Rank: 2

积分
35
发表于 2012-11-26 11:59:00 | 显示全部楼层

Re:去TME的简单实现

选第一点啊,选第二点的话,玩家会经常发现自己的排名无缘无故就降了,他们会呐喊WHY?难道你能把所有的原因都保存给他看?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-28 06:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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