大家好,我是今年刚从私立学店毕业的肥宅。
正好我的专题是做VR连线运动游戏,所以对这方面有点涉猎。
(虽然连线部分最后没做出来。)
先跟大家聊一下我亲戚家的状况。
亲戚家为了省钱,所以没办实体网络,家中如4K电视、笔电全部都是透过其中一台手机分享。
根据我的实测,速率大概可以在6~20Mbps之间浮动,尖峰时间当然是6,离峰可到20。
在这种环境下,想当然的,网络一定常常会延迟、掉封包。
而网络延迟、掉封包就是造成游戏无法及时运算的元凶之一。
※ 引述《greydust (灰)》之铭言:
: 闲聊一下, 以下都是按照我看见的部份做的猜测
: 我还没空去拆公主连结的apk, 欢迎有拆过的指正
: 说实话要治本真的很简单, 所有会影响到他人的战斗都在服务器算就好了(战队/竞技)
: 一场战斗90秒, 一格用1/30秒就好, 也就至多2700动
其实这种游戏也不是2700个影格都有角色在动作。
而且网络并不可靠,UDP会掉封包,TCP速度有点慢。
再加上有些人的设备真的有问题,像是上面提到的状况。
: 虽然会增加成本但应该也不至于太夸张
拿Unity官方服务器来看的话,一个月1.22GB的流量大概是900NTD。
Google的便宜一些,比较烂的机器每个月也要700多NTD,网络每GB在加0.12NTD。
朋友架网站每个月也不到300NTD
但是使用者的设备如果有问题的话也没用,因为还是会延迟。
: 而想要让战斗可以在服务器端运算的大前提是战斗逻辑要能独立出来
: 可是公主连结的战斗我看起来非常像是直接把各种运算直接套在物件上让它真实的去跑
: 而非先抽象的把战斗结果算出来再用画面表现
: 最明显的例子就是常常会出现在心得中的, 调framerate可以改变放招次序的方法
: 如果战斗的逻辑有拉出来算, 很难理解会出这种问题
: 没弄错的话公主连结应该是用Unity写的
: 我可以想像很可能整个战斗就是一堆角色物件挂在那边用Unity的Update在触发
: (所以调framerate才会让战斗产生变化, 甚至手机太烂也会)
: 这种战斗要搬上服务器算也不是不行, 但一来成本会飞天
上面好像说成本不会增加太多......
: 二来都没有办法把战斗逻辑独立出来了, 又怎么可能有技术力在服务器上套用Unity运算?
: 再说到事后的检查, 用统计或是ML的方式去抓离群的数字
: 讲难听一点, 都没钱请工程师把战斗逻辑拆到服务器上了
: 又怎么会想要再多花钱请有统计专门的Data Engineer之类的人就为了抓外挂?
: 外包的机会又更低了, 先不说钱的问题, 光是外包抓错人要谁扛就超级麻烦了吧...
: 至于Sonet代理到底能做什么, 我没代理过游戏也没个谱
: 或许Sonet根本没数据库的权限, 或许CY的战斗记录根本没保存太多资讯, 可能性太多了
: 反正有事就可以推给原厂, 根本也没人知道真实情况是怎样
: 总而言之就是, 虽然应该已经是老调重弹
: 但是觉得很不爽就该罢玩罢储, 这才是真正对CY和Sonet有影响力的办法
: 营收下降太多了上面提到那些困难100%都会被立刻解决
: 没被解决就是... 嗯, 其实大家并没那么在意
: 比如说我就没很在意, 反正养养老婆看神仙打架, 也是蛮有趣的
我个人是觉得,每个人使用的网络环境不同,在恶劣的环境下使用会有延迟的状况发生。
所以我还是比较喜欢在事后侦测玩家是否有开外挂。
至于事后怎么侦测,那就不知道了~~~ 学店学生听不懂回归分析、机器学习~