游戏中拥有类似 [农田] 的建筑,该建筑每小时的产量是 [x] 。那么就需要每隔指定时间(不一定是一小时),为玩家添加 [x] 份资源。
请问添加资源这个步骤,是由玩家客户端定时器发送资源结算请求,还是由游戏服务器定时器直接结算,还是有更好的处理方法呢?
1
favourstreet 2020-04-13 14:16:31 +08:00 via Android
这位策划自己的工作请自己完成[滑稽]客户端免费的计算能力不香吗,为什么让自己的服务器干活
|
2
mcfog 2020-04-13 15:26:03 +08:00 via Android
一个复杂度是 O(日活)另一个是 O(注册)你觉得呢
|
3
mizzle 2020-04-13 15:31:31 +08:00 1
服务端存上一次访问时的时间和存量。
登录时发给客户端。 用户查看时客户端自己算。 交互时服务端结算。 |
4
Vdream 2020-04-13 15:42:16 +08:00
@favourstreet 客户端修改自己本机时间咋办
|
5
LucasW 2020-04-13 18:26:12 +08:00 1
假如你是款农场养成类游戏,分为在线产出收入和离线产出收益,两种收益方式产出额不一样,你需要这样做:
1 、服务器与客户端之前有 ping-pong 通信或帧同步,或其他方案,能拿到玩家上线和下线时间戳; 2 、玩家上线固定收益、操作收益由客户端定时器计算,服务端校验; 3 、玩家离线收入由服务端根据上次离线时间与离线产出比计算返回给客户端; 4 、假如你是随机类收益,如类 moba 暴击,上线、开始时直接发送给客户端随机种子,保证收益数据固定,单位时间或者节点服务端校验。 |
6
beiyu OP #5 感谢方案。目前有些许思路了,正在尝试。
|