V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
imherer
V2EX  ›  程序员

关于游戏定点重置和定点发放奖励逻辑问题

  •  
  •   imherer · 2017-07-21 19:12:26 +08:00 · 2455 次点击
    这是一个创建于 2690 天前的主题,其中的信息可能已经有所发展或是发生改变。
    游戏里都有定点重置(一些积分什么的)和定点发放奖励的功能

    一般这种功能在逻辑上实现的呢?什么样的方式最高效?

    我想到的方法:

    1.服务器发起:服务器上跑一个定时任务,到了重置时间执行重置命令。但这样如果数据庞大的话在重置的那一瞬间肯定会有很大量的更新,对服务器性能肯定有影响(虽然可以做成分段更新)
    2.玩家发起:每个玩家一个标记,玩家每次和服务器交互的时候(或者指定时候)判断是否要重置或者有奖励要发放
    5 条回复    2017-07-22 14:04:35 +08:00
    Phoinikas
        1
    Phoinikas  
       2017-07-21 19:36:32 +08:00   ❤️ 1
    就这两种咯。
    第一种,一般就是只重置在线玩家,离线玩家等登陆的时候处理,并且在线玩家一般都分散在不同游戏服务器,其实性能压力也不大。
    第二种,就是记录一个更新时间,每次取数据的时候判断一下。
    changnet
        2
    changnet  
       2017-07-21 20:04:41 +08:00 via iPad   ❤️ 1
    多种方法混用的。具体功能具体分析,如果策划要求反馈及时肯定要跑定时器。
    lowzoom
        3
    lowzoom  
       2017-07-21 22:07:34 +08:00   ❤️ 1
    要实时推送的 -> 1
    其他 -> 2
    akira
        4
    akira  
       2017-07-22 00:44:27 +08:00   ❤️ 1
    一个游戏服能有几个人哦,就算 1 万人,sql 的 update 也是秒完成的
    liangweijia6000
        5
    liangweijia6000  
       2017-07-22 14:04:35 +08:00   ❤️ 1
    都有~
    只影响单个用户的就 2
    有排行啊之类的要重置就 1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2838 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 12:26 · PVG 20:26 · LAX 04:26 · JFK 07:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.