• 2014-8-15 精确随机掉落


    这个标题是否有些矛盾,又希望随机掉落,又希望精确掉落,是不是不好理解?
    实际上在游戏经济系统中,这个算法是必须实现的,意思是: 相对个体玩家,物品掉落是随机的, 可是相对整个server,所掉落的物品总量和总价值是精确的,这样才干达到精确控制整个游戏经济系统的目的系统,这种物品掉落管理系统,不是简单地调用一下随机数生成就能解决的.

    譬如,我在表格中指定,A装备相对个人的掉率为0.1%,也就是说单个玩家每杀死1000个怪物,才可能掉落该装备一次,假设採用简单的多面骰算法,或许玩家杀1000个怪物掉落了较多次(运气好时),或许一次都不掉落(运气不好时),这样游戏的经济系统就失去了控制,无法达到精确管理的可能,应该达到的需求是: 必须能确保玩家每杀1000个怪物才干掉落1次,不能多,也不能少. 这就是游戏物品掉落系统的精确随机掉落.
     
    另附: 在开发过程中发现,因为涉及到物品等级匹配,精确掉落无法做到下限可控,仅仅能做到上限可控,也就是说,对于A装备,仅仅能控制其在游戏中的掉落小于等于所指定概率. 形成这个情况的原因是: 因为我採用了"生产->消费"模型,当一个玩家须要拾取被杀死NPC掉落的物品或者开启一个箱子时,生产线出口位置处的当前物品并不见得符合被杀死NPC或被打开箱子的级别,此时所生产的物品将被轮空放弃,从而导致无法控制下限.此问题能够通过建立一个buffer的方式缓解,可是因为buffer不能过大,所以还是无法彻底解决.
    事实上这个问题依据游戏的"玩家吃亏"原则,也不算作问题了.
     
    另另附: 本来开发这个服务的时候,我感觉能够非常快搞定,仅仅是在开发的过程中越来越感觉到这个服务的重要性,它一旦出现纰漏,将可能导致整个游戏的经济系统出现故障甚至崩溃,所以我认为略微投入多一点时间是非常值得的.如今这个服务已经支持对每个玩家账户建立物品和货币的收支台账,以构造最大可能的容错性能.


    能够在例如以下站点中了解到引擎的最新相关信息,而且下载最新的演示程序,此地址长期不变:  
        http://www.volcano3d.cn


     

    
  • 相关阅读:
    __weak
    c++界面设计皮肤工具
    执行游戏时出现0xc000007b错误的解决方法
    2.4.1-Java语言基础(常量)
    句法模式识别(一)-串文法
    一步一步写算法(之hash表)
    LaTeX新人教程,30分钟从全然陌生到基本入门
    初次当面试官的经历和感触
    Android入门第八篇之GridView(九宫图)
    Android-Cannot merge new index 66195 into a non-jumbo instruction的解决的方法
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/7000928.html
Copyright © 2020-2023  润新知