本申请涉及计算机技术领域,尤其涉及一种虚拟道具分配方法、装置、设备和存储介质。
背景技术:
随着高速互联网通信网络的发展,出现了各种类型的在线游戏。在一些在线游戏中,用户可以通过宝箱来获得期望的道具。
用户在获取宝箱之后,可以向服务器发送宝箱开启请求。服务器在收到宝箱开启请求之后,会确定宝箱开启请求所对应的多个道具以及每个道具所对应的概率区间。然后,服务器会生成一个随机数,将该随机数所属的概率区间对应的道具作为目标道具,并将目标道具作为宝箱开启结果返回给用户。
为了避免出现极端不幸运或者极端幸运的情况出现,保障用户的开箱体验,产品运营人员可以通过配置策略,来调整各个道具被抽中的几率,然而配置策略的方式较为单一,使得产品功能也较为单一。
技术实现要素:
本申请实施例提供了一种虚拟道具分配方法、装置、设备和存储介质,可以灵活配置目标道具的抽取策略,丰富产品的功能。所述技术方案如下:
一方面,提供了一种虚拟道具分配方法,所述方法包括:接收宝箱开启请求,所述宝箱开启请求包括宝箱标识和用户的标识;
确定所述宝箱标识对应的虚拟道具池,所述虚拟道具池包括至少两个道具集合,每个所述道具集合包括至少两个道具;
获取所述用户的道具分配记录,所述用户的道具分配记录包括道具集合分配记录和每个道具集合的道具分配记录;
基于所述道具集合分配记录,从所述至少两个道具集合中选择目标道具集合;
基于所述目标道具集合的道具分配记录,从所述目标道具集合中选择一个道具作为目标道具;
将宝箱开启结果发送给所述用户的终端,所述宝箱开启结果包括所述目标道具的标识。
一方面,提供了一种虚拟道具分配装置,所述装置包括:
接收模块,用于接收宝箱开启请求,所述宝箱开启请求包括宝箱标识和用户的标识;
确定模块,用于确定所述宝箱标识对应的虚拟道具池,所述虚拟道具池包括至少两个道具集合,每个所述道具集合包括至少两个道具;
获取模块,用于获取所述用户的道具分配记录,所述用户的道具分配记录包括道具集合分配记录和每个道具集合的道具分配记录;
第一选择模块,用于基于所述道具集合分配记录,从所述至少两个道具集合中选择目标道具集合;
第二选择模块,用于基于所述目标道具集合的道具分配记录,从所述目标道具集合中选择一个道具作为目标道具;
发送模块,用于将宝箱开启结果发送给所述用户的终端,所述宝箱开启结果包括所述目标道具的标识。
一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现前述方法。
一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现前述方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
在本申请实施例中,通过将宝箱对应的虚拟道具池中的道具分为多个道具集合,每个道具集合包括至少两个道具,并且通过用户的道具分配记录分别记录道具集合的历史分配情况和道具集合中道具的历史分配情况,基于道具集合分配记录,从该至少两个道具集合中选择目标道具集合,基于所述道具分配记录,从目标道具集合中选择一个道具作为目标道具,即分两次选择才确定出目标道具,并将目标道具发送给用户的终端,产品运营人员可以为每次选择过程配置不同的策略,更加灵活地调整道具的分配,丰富了产品的功能。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请的一个示例性实施例的道具分配系统的结构示意图;
图2为本申请一个示例性实施例的虚拟道具分配方法的流程示意图;
图3为本申请一个示例性实施例中的宝箱开启结果的展示界面示意图;
图4为本申请一个示例性实施例中的宝箱的购买界面示意图;
图5为本申请一个示例性实施例中的宝箱的展示界面示意图;
图6是为本申请一个示例性实施例的虚拟道具分配方法的交互示意图;
图7显示了抽奖模块、数据库和仓库模块之间的交互过程;
图8为本申请一个示例性实施例的目标道具集合的选择过程的流程示意图;
图9为本申请一个示例性实施例的目标道具的选择过程的流程示意图;
图10为本申请一个示例性实施例的道具集合分配记录的更新流程示意图;
图11为本申请一个示例性实施例的道具集合的道具分配记录的更新流程示意图;
图12为本申请一个示例性实施例的虚拟道具分配装置的结构框图;
图13为应用本申请一个示意性实施例的计算机设备的一个硬件组成结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了便于理解本公开实施例,下面先对本公开实施例中的一些词语进行解释。
道具:游戏中具备一定功能的虚拟物品,包括武器、角色、道具卡、虚拟货币等。游戏玩家可以通过不同手段获得道具,包括但不限于购买、通过开启宝箱的方式获得等等。
宝箱:游戏中的一种特殊道具。玩家可以通过购买或系统下发等方式获取宝箱,获取后开启可获得一个或多个道具,在开启之前,玩家有可能无法获知自己即将获得的道具种类及数量;系统需要通过后台配置的一整套概率系统及各种特殊的保底逻辑进行随机概率计算,继而决定掉落的道具。
虚拟道具池:玩家在游戏前端可见的道具池。在开启宝箱之前,玩家将提前获知自己即将获取的道具必定是池子里的某个(或某几个)。
掉落:一种系统为玩家分发道具的方式。
掉落组:宝箱中存在多个掉落组,策略规划人通过将奖池内的道具分组来规划不同的掉落策略,下文中,将掉落组称为道具集合。
抽中:玩家购买宝箱后,打开宝箱,获得该宝箱对应的多个道具中的某件道具,即为抽中了该道具。计算过程是,先从宝箱对应的多个道具集合(也可以称为掉落组),随机选中一个道具集合,那么这个道具集合就是被抽中1次。再从这个被抽中的道具集合,随机选中一个道具,那么这个道具也称为抽中1次。也就是在一次开箱操作(也可以称为抽奖操作)中,是从多个道具集合中选中1个道具集合,再从该道具集合内的多个道具(包括普通道具、珍稀道具)选1个。
错失:在1次抽奖过程中,没被抽中的道具集合,就称为错失了1次;除了被抽中的道具,该宝箱内的所有没被抽中的道具,也错失了1次。
商城(商店):玩家在游戏中购买道具的地方。宝箱作为一种特殊道具,玩家亦可以在商城购买获得。
珍稀道具:指游戏内价值量较高的一类道具。由于本身美术品质较高、或商城售卖价格较高,一般会更受玩家追求。
普通道具:与珍稀道具相对,指游戏内价值量相对不高的一类道具。
保底:一种保障玩家在连续开启宝箱的过程中拥有较好的开箱体验的策略。除了为道具池中每个道具分配对应的随机掉落概率之外,策略规划人通过施加额外的策略,确保玩家不会因为在随机概率机制中的过度“不幸运”造成“付出却无所得”的情况,具体实施方式包括明保底、暗保底、幸运值保底、反向保底等。
明保底:一种前端不可见、确保玩家能在第n次开启宝箱之前必得指定道具,例如珍稀道具的后台策略。
暗保底:一种前端不可见、控制针对指定道具(例如珍稀道具)的随机概率在玩家连续开启宝箱的过程中逐步升高的后台策略。
幸运值保底:一种前端可见、通过开箱次数累积分数、从而期待在分数积满时掉落指定道具,例如珍稀道具的后台策略。
反向保底:一种前端不可见、确保玩家在前n次开启宝箱均不能抽中指定道具,例如珍稀道具的后台策略。
有状态抽奖:记录玩家对宝箱的每次抽奖结果(即宝箱开启结果),根据玩家的以前的抽奖结果,使用明保底、暗保底、幸运值、反向保底等策略计算最新一次的抽奖结果。
图1为本申请一个示意性实施例的道具分配系统的结构示意图。如图1所示,该系统包括服务器10和终端20。服务器10和终端20通信连接,例如通过网络30连接。
示例性地,服务器10可以为单个服务器,或者服务器集群,也即是包括多个协同工作的服务器。例如,如图1所示,服务器10包括游戏服务器11、身份验证服务器12和道具分配服务器13。其中,游戏服务器11用于提供游戏相关的内容;身份验证服务器12,用于对访问游戏服务器11以得到游戏内容的用户的信息进行管理;道具分配服务器13,用于向登录游戏服务器11的用户提供在线抽奖服务,在线抽奖服务包括宝箱开启分配道具。
对于用户而言,如果宝箱开启,获得相对较少的珍稀道具,则会认为是中奖;如果宝箱开启,获得的是相对较多的普通道具,则会认为是未中奖。
终端20为用户为了进行游戏而使用的计算机,包括但不限于手机、笔记本电脑、平板电脑、台式计算机等。
网络30用于实现终端和服务器10之间的通信连接,包括但不限于互联网、通信网络等等。
图2为本申请一个示例性实施例的虚拟道具分配方法的流程示意图。该方法可以由服务器运行,例如,由图1中的道具分配服务器13运行。如图2所示,该方法可以包括:
101:接收宝箱开启请求。
宝箱开启请求包括宝箱标识和用户的标识。
该宝箱标识包括但不限于宝箱类型、宝箱编号等,宝箱类型可以根据宝箱的等级划分,例如钻石宝箱、黄金宝箱、白银宝箱、青铜宝箱等;也可以根据宝箱的价格划分,例如1000g的宝箱、500g的宝箱等,这里,g可以表示金币数量。
示例性地,用户标识可以为用户账号、设备标识等,用于唯一标识某个用户。
102:确定宝箱标识对应的虚拟道具池。
该虚拟道具池包括至少两个道具集合,每个道具集合包括至少两个道具。
可选地,不同标识的宝箱对应的虚拟道具池中的道具至少部分不同。例如,等级较高的宝箱对应的虚拟道具池中的至少部分道具的价值高于等级较低的宝箱对应的虚拟道具池中的道具。
可选地,不同的道具集合中的道具完全不同。
可选地,不同道具集合中道具的数量可以相同,也可以不同。
示例性地,每个道具集合中的多个道具可以是等级相同的道具,或者,是价值相等或相当的道具。例如,某个道具集合中的道具全部为珍稀道具。
103:获取该用户的道具分配记录。
示例性地,该道具分配记录用于记录该用户的历史宝箱开启结果,用户的道具分配记录可以包括道具集合分配记录和每个道具集合的道具分配记录。
例如,该道具集合分配记录可以包括各个道具集合的错失次数,错失次数表示该道具集合连续未被抽中的次数,用于明保底策略、暗保底策略和反向保底策略。该道具集合分配记录还可以包括指定道具集合的幸运值,用于幸运值保底策略。每个道具集合的道具分配记录可以包括道具集合中各个道具的错失次数,该错失次数表示该道具连续未被抽中的次数,用于明保底策略、暗保底策略和反向保底策略。
104:基于道具集合分配记录,从至少两个道具集合中选择一个目标道具集合。
105:基于目标道具集合的道具分配记录,从目标道具集合中选择一个道具作为目标道具。
106:将宝箱开启结果发送给用户的终端。
该宝箱开启结果包括目标道具的标识。可选地,宝箱开启结果可以包括一个或多个目标道具的标识,目标道具的数量可以与宝箱开启请求对应的宝箱数量相同。
终端在接收到宝箱开启结果后,会将宝箱开启结果所指示的目标道具展示给用户。例如,如图3所示,用户终端供展示了10个目标道具,也就是说,用户一次开启了10个宝箱。
本公开实施例通过将宝箱对应的虚拟道具池中的道具分为多个道具集合,每个道具集合包括至少两个道具,并且通过用户的道具分配记录分别记录道具集合的历史分配情况和道具集合中道具的历史分配情况,基于道具集合分配记录,从该至少两个道具集合中选择目标道具集合,基于道具分配记录,从目标道具集合中选择一个道具作为目标道具,即分两次选择才确定出目标道具,并将目标道具发送给用户的终端,可以为每次选择过程配置不同的策略,更加灵活地调整道具的分配,丰富了产品的功能。
可选地,在该步骤201之前,用户需要先获取宝箱。获取宝箱的方式包括但不限于从线上商店购买和系统分发等。当用户通过线上商店购买的方式获取宝箱时,该方法还可以包括:接收用户发送的宝箱购买请求,该宝箱购买请求包括宝箱标识;在用户完成支付之后,将该宝箱购买请求对应的宝箱发送给用户的终端。
例如,如图4所示,线上商店中具有多种宝箱供用户选择,用户通过用户终端进入线上商店之后,可以看到宝箱4a的价格4b、折扣信息4c等等。
为了便于用户了解宝箱的信息,以便于确定是否购买宝箱以及购买哪个宝箱,用户可以通过用户终端向服务器发送宝箱详情查看请求,该宝箱详情查看请求可以通过检测用户的点击触发,服务器接收到该宝箱详情查看请求后,会查询宝箱对应的虚拟道具池中的道具的信息,并将查询到的道具的信息发送给用户的终端,用户的终端将接收到的道具的信息展示给用户。可选地,道具的信息包括但不限于道具名称、道具图形、道具属性、道具级别等,其中,道具图形用于向用户展示该道具的外观,道具属性用于供用户了解道具的功能,例如,图5中所示道具的属性是个人经验提升10%(图中标号5a)。道具级别用于表示该道具的珍稀程度或者价值的高低。
图6是为本申请一个示例性实施例的虚拟道具分配方法的交互示意图;。如图6所示,该虚拟道具分配方法与图2所示流程对应,可以包括:
201:玩家通过终端发起抽奖。
玩家通过终端向抽奖模块发送宝箱开启请求,以发起针对指定宝箱的抽奖请求。
202:抽奖模块从数据库获取抽奖记录,即该玩家的道具分配记录。
203:抽奖模块计算抽奖结果。
抽奖模块根据玩家的抽奖记录,根据配置的保底策略,计算该玩家当前回合的抽奖结果。
204:抽奖模块根据抽奖结果调整抽奖记录。
抽奖模块根据次次抽奖结果,更新玩家的抽奖记录。例如,如果抽到珍稀道具,则将幸运值置0;对于没有抽中的道具,则需要增加错失次数。
205:抽奖模块将抽奖结果存放至仓库模块。
该仓库模块用于管理玩家所拥有的的道具,可以增加、删除玩家的道具。
206:抽奖模块更新数据库中的抽奖记录。
207:抽奖模块向玩家的终端发送抽奖结果,即宝箱开启结果。
玩家的终端在收到抽奖结果之后,显示抽奖结果。
可选地,抽奖模块、数据库和仓库模块作为后台模块,均可以配置在前述服务器10上。
图7显示了抽奖模块、数据库和仓库模块之间的交互过程。如图7所示,该交互过程可以包括图6所示流程中的步骤202至步骤206。从图6和图7可以看出,本公开实施例主要由抽奖模块发起操作及计算。步骤202、205和206均为简单的读写操作。步骤203和204涉及数据统计,详细过程可以参见下面的图8至图11的相关描述。
在本公开实施例中,道具集合的分配策略和每个道具集合中道具的分配策略可以相同,例如,道具集合的分配策略可以包括明保底策略和暗保底策略,每个道具集合的道具分配策略也包括明保底策略和暗保底策略。或者,道具集合的分配策略和每个道具集合的道具分配策略也可以不相同,例如,道具集合的分配策略包括明保底策略、暗保底策略、幸运值保底策略和反向保底策略,每个道具集合的道具分配策略包括明保底策略、暗保底策略和反向保底策略。
示例性地,该步骤204可以包括:基于道具集合分配记录,根据第一策略集合,从至少两个道具集合中选择目标道具集合,第一策略集合包括至少一个第一策略,第一策略选自以下策略:明保底策略、暗保底策略、幸运值保底策略和反向保底策略。
产品运营人员可以根据实际需要,从这些策略中选择一个或多个策略来进行道具集合的选择,以确定目标道具集合。除了选择策略,产品运营人员还可以根据实际需要,配置各个策略中的参数,进一步提高产品策略的灵活性。下面对每种策略中的可配置参数进行说明。
1)明保底策略
为了以最明显可见的方式提升玩家的开箱体验,策略规划人需要手动操纵宝箱奖池中的某个特定道具(一般为价值更高、甚至是最高的道具)的掉落概率,使其在玩家抽取到某个特定次数的时候,掉落概率p陡增为100%。
在这种功能需求下,策略规划人需要配置上述的“某个特定次数”为n,那么当玩家从第1次开启某个宝箱算起,连续开启这个宝箱达到n次,若期间一直无法抽中约定的特殊道具a,则第n+1次时道具a必然掉落。
2)暗保底策略
相较于前者以一种极其明显、容易感知的方式提升玩家的开箱体验,暗保底策略偏向于使用更加隐秘的方式达到类似目的,通过分段提升约定的特殊道具的掉落权值,人为控制该道具的实际掉落概率以预先设计的策略阶梯型增长。
在这种功能需求下,策略规划人需要将暗保底策略规划为分段函数,通过配置开箱次数的分段(函数自变量)以及各个分段下特殊道具权值的变化值(函数因变量),使特殊道具a的实际掉落概率不断提高,直到玩家抽中为止。
抽中后,后台控制特殊道具权值的变化值清零,道具的掉落概率回归初始值。
3)幸运值保底策略
幸运值保底是另一种较为明显、可以在前端轻易感知到的保底方式,其核心概念集中表现为,玩家在不断开启宝箱的过程中,若一直不抽中特殊道具a,则玩家在当前的宝箱中会不断累积“幸运值”,当幸运值积满时,玩家在下一次开箱时获得特殊道具b的概率为100%。
特殊道具a和特殊道具b均为策略规划人人为指定的道具,a和b允许为同一个道具。
宝箱的幸运值最大值,以及每次未抽中积累的幸运值分数,两者均可通过配置实现。
4)反向保底策略
与前三种策略不同,前三种策略是为了保证玩家的游戏体验,避免出现极端不幸运的情况,而反向保底策略是为了保证特殊道具a不容易被轻易抽到,对游戏厂商进行保护。策略规划人需要手动操纵宝箱奖池中的某个特定道具(一般为价值更高、甚至是最高的道具)的掉落概率,使其在玩家抽取到某个特定次数之前,掉落概率p保持为0。
在这种功能需求下,策略规划人需要配置上述的“某个特定次数”为n,那么当玩家从第1次开启某个宝箱算起,连续开启这个宝箱达到n次,这期间将一直无法抽中约定的特殊道具a,在第n+1次开启宝箱之后才有可能掉落道具a。
需要说明的是,上面均以特殊道具的掉落为例对各种保底策略进行了详细说明,到这些策略应用到道具集合时,特殊道具的掉落可以替换为指定道具集合的掉落,各种策略所需配置的参数不变。
下面以第一策略集合包括明保底策略、暗保底策略、幸运值保底策略和反向保底策略为例,对本公开实施例进行说明。
当第一策略集合包括明保底策略、暗保底策略、幸运值保底策略和反向保底策略时,目标道具集合的选择过程,也即是前述步骤104可以采用如图8所示的流程实现。如图8所示,该步骤104可以包括:
301:过滤掉虚拟道具池中满足反向保底策略的道具集合,得到剩余道具集合。
该步骤301可以包括:确定虚拟道具池中是否存在满足反向保底策略的道具集合;若存在满足反向保底策略的道具集合,则剩余道具集合包括虚拟道具池中除了满足反向保底策略的道具集合之外的道具集合;若不存在满足反向保底策略的道具集合,则剩余道具集合为虚拟道具池中所包含的所有道具集合。
如前所述,反向保底策略是指,该道具集合在错失次数未达到n次时,一定不会被抽中。通常,道具集合中的道具越珍稀,n的取值越大。例如,对于珍稀道具集合(即所包含的道具均为珍稀道具的集合),为了降低其被抽中的概率,可以设置该珍稀道具集合在错失次数未达到200次时,一定不会被抽中。
302:确定剩余道具集合中是否存在满足明保底策略的道具集合。
若存在满足明保底策略的道具集合,则执行步骤306;若不存在满足明保底策略的道具集合,则执行步骤303。
303:确定剩余道具集合中是否存在幸运值达到阈值的道具集合。
若存在幸运值达到阈值的道具集合,则执行步骤306;若不存在幸运值达到阈值的道具集合,则执行步骤304和305。
304:基于道具集合分配记录和暗保底策略,确定各个道具集合的概率。
在该步骤304中,若道具集合分配记录满足暗保底策略中的概率调整条件,则更新道具集合的当前概率,得到更新后的道具集合的概率。
305:根据确定出的每个道具集合的概率,对至少两个道具集合进行随机选择,得到目标道具集合。
示例性地,该步骤305可以包括:
第一步,按顺序累计所有道具集合的相对概率得到一个相对概率总和。
这里,相对概率为配置值,也可以称为掉落权重。
第二步,在(0,sum]之间用随机算法随机得到一个数值,其中,sum为第一步中的相对概率总和;
第三步,将该数值所属的概率区间对应的道具集合,作为目标道具集合,该概率区间的端点值与道具集合的相对概率相关联。该概率区间为半开半闭区间,概率区间的下限为编号在该道具集合之前的所有道具集合的相对概率之和,概率区间的上限为该道具集合的相对概率与该概率区间的下限之和。
例如,假设虚拟道具池中有n个道具集合:道具集合1、道具集合2、……、道具集合n。每个道具集合配置的掉落权重分别为w1、w2、……、wn。则各个道具集合对应的概率区间依次为(0,w1],(w1,w1+w2]……(w1+w2+…+wn-1,w1+w2+…+wn]。
相应地,在该第三步中,如果数值落在(0,w1]区间,则道具集合1即为目标道具集合;
如果数值落在(w1,w1+w2]区间,则道具集合2即为目标道具集合;
如果数值落在(w1+w2,w1+w2+w3]区间,则道具集合3即为目标道具集合;
以此类推。
通过道具集合的相对概率,可以计算出每个道具集合的实际概率。将道具集合的相对概率除以相对概率总和,即可得到该道具集合的实际概率。
306:将该道具集合作为目标道具集合。
也即是,将满足明保底策略的道具集合作为目标道具集合,或者,将满足幸运值保底策略的道具集合作为目标道具集合。
示例性地,前述步骤105可以包括:当目标道具集合不满足幸运值保底策略时,基于目标道具集合的道具分配记录,根据第二策略集合,从目标道具集合中选择一个道具作为目标道具,该第二策略集合包括至少一个第二策略,第二策略选自以下策略:明保底策略、暗保底策略和反向保底策略。
产品运营人员可以根据实际需要,从这些策略中选择一个或多个策略来进行目标道具的选择,以确定目标道具。
下面以第二策略集合包括明保底策略、暗保底策略和反向保底策略进行示例性说明。当目标道具集合不满足幸运值保底策略时,从目标道具集合中选择目标道具的流程可以如图9所示。如图9所示,该步骤105可以包括:
401:过滤掉满足反向保底策略的道具,得到目标道具集合中的剩余道具。
该步骤401可以包括:确定目标道具集合中是否存在满足反向保底策略的道具;若目标道具集合中存在满足反向保底策略的道具,则剩余道具为目标道具集合中除满足反向保底策略的道具之外的道具;若目标道具集合中不存在满足反向保底策略的道具,则剩余道具为目标道具集合中的所有道具。
反向保底策略是指,该道具在错失次数未达到n次时,一定不会被抽中。例如,对于珍稀道具,为了降低其被抽中的概率,可以设置该道具在错失次数未达到200次时,一定不会被抽中。
示例性地,在该步骤401中,该反向保底策略可以包括,对于上一次被抽中的道具,设置在错失次数未达到n次(例如2次)时,一定不会抽中。也就是说,在该道具被抽中之后,至少要隔2次才会重新参与抽奖,这样,可以保证用户不会连续抽中同一价值较低的道具,提高用户体验。
例如,假设一个宝箱对应3个道具集合,分别为道具集合a、b、c。道具集合a中都是珍稀道具,分别是a1,a2,a3;道具集合b中是普通道具,分别是b1,b2,b3,b4,b5;道具集合c中是最差道具,分别是c1,c2,c3,c4,c5,c6。其中,道具集合a的抽中概率为1%,道具集合b的抽中概率为36%,道具集合c的抽中概率为63%。
道具集合c中的每一个道具配置有反向保底策略,如果抽中了,需要间隔2次才重新参与抽奖。由于道具集合c的抽中概率高,所以用户第一次容易抽到c组的某个道具,如果抽到c1,在第二次抽奖时,即使又抽到了c组,也不会重新抽到跟第一次抽中一样的道具。
402:确定剩余道具中是否存在满足明保底策略的道具。
若存在满足明保底策略的道具,则执行步骤405;若不存在满足明保底策略的道具集合,则执行步骤403和步骤404。
403:基于目标道具集合的道具分配记录和暗保底策略,确定剩余道具中各个道具的概率。
404:基于确定出的每个道具的概率,对剩余道具进行随机选择,得到目标道具。
该步骤404中,目标道具的选择过程可以参见前述步骤305中目标道具集合的选择过程,在此省略详细描述。
405:将该道具作为目标道具。
即将满足明保底策略的道具作为目标道具。
可选地,该方法还可以包括:
当目标道具集合满足幸运值保底策略时,从目标道具集合中随机选取一个道具作为目标道具。由于在本公开实施例中,同一道具集合中的所有道具的价值相当,满足幸运值保底策略的道具集合中所包含的都是珍稀道具,所以只需要任意选择一个道具作为目标道具即可。
在另一种可能的实现方式中,可以所有的道具集合都采用图4所示的流程确定目标道具。
可选地,该方法还包括更新道具分配记录。以便于后续根据最新的道具分配记录确定道具集合是否满足对应的第一策略,以及确定目标道具集合中的道具是否满足对应的第二策略。
在本公开实施例中,更新道具分配记录包括更新每个道具集合的分配记录和更新每个道具集合中道具的分配记录。
图10为一示例性的更新道具集合的分配记录的流程示意图。如图10所示,对于任意一个道具集合,道具集合的分配记录更新过程包括:
501:道具集合是否被选中;
若道具集合被选中,则执行步骤502;若未被选中,则执行步骤503。
502:将该道具集合的暗保底、幸运值、明保底、反向保底均置0。
503:累计该道具集合的连续错失次数。即将该道具集合的错失次数加一。
504:累计该道具集合的幸运值。
即将幸运值加上设定数量。示例性地,不同宝箱对应的设定数量不同,等级高的宝箱对应的设定数量可以大于等级低的宝箱对应的设定数量。
图11为一示例性的一道具集合中道具的分配记录的流程示意图。如图11所示,对于该道具集合中的任意一个道具,道具的分配记录的更新过程包括:
601:道具是否被选中;
若道具被选中,则执行步骤602;若未被选中,则执行步骤603。
602:将该道具的暗保底、明保底、反向保底置0。
603:累计该道具集合的连续错失次数。即将该道具集合的错失次数加一。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图12为本申请实施例的虚拟道具分配装置的结构框图。该装置可以实现成为服务器的全部或一部分。如图12所示,该装置包括:接收模块901、确定模块902、获取模块903、第一选择模块904、第二选择模块905和发送模块906。
其中,接收模块901用于接收宝箱开启请求,宝箱开启请求包括宝箱标识和用户的标识;确定模块902用于确定宝箱标识对应的虚拟道具池,虚拟道具池包括至少两个道具集合,每个道具集合包括至少两个道具;
获取模块903用于获取用户的道具分配记录,用户的道具分配记录包括道具集合分配记录和每个道具集合的道具分配记录;第一选择模块904用于基于道具集合分配记录,从至少两个道具集合中选择目标道具集合;第二选择模块905用于基于目标道具集合的道具分配记录,从目标道具集合中选择一个道具作为目标道具;发送模块906用于将宝箱开启结果发送给用户的终端,宝箱开启结果包括目标道具的标识。
可选地,第一选择模块904用于基于道具集合分配记录,根据第一策略集合,从至少两个道具集合中选择目标道具集合,第一策略集合包括至少一个第一策略,第一策略选自以下策略:明保底策略、暗保底策略、幸运值保底策略和反向保底策略。
可选地,第一选择模块904包括:
过滤子模块9041,用于过滤掉虚拟道具池中满足反向保底策略的道具集合,得到剩余道具集合;
选择子模块9042,用于当剩余道具集合中存在满足明保底策略或者幸运值保底策略的道具集合时,将满足明保底策略或者幸运值保底策略的道具集合作为目标道具集合;或者,当剩余道具集合中不存在满足明保底策略或者幸运值保底策略的道具集合时,基于道具集合分配记录和暗保底策略,确定剩余道具集合中各个道具集合的概率;基于确定出的每个道具集合的概率,对至少两个道具集合进行随机选择,得到目标道具集合。
可选地,第二选择模块905用于当目标道具集合不满足幸运值保底策略时,基于目标道具集合的道具分配记录,根据第二策略集合,从目标道具集合中选择一个道具作为目标道具,第二策略集合包括至少一个第二策略,第二策略选自以下策略:明保底策略、暗保底策略和反向保底策略。
可选地,第二选择模块905包括:
过滤子模块9051,用于过滤掉目标道具集合中满足反向保底策略的道具集合,得到剩余道具;
选择子模块9052,用于当剩余道具中存在满足明保底策略的道具集合时,将满足明保底策略的道具作为目标道具;或者,当剩余道具中不存在满足明保底策略或者幸运值保底策略的道具时,基于目标道具集合的道具分配记录和暗保底策略,确定剩余道具中各个道具的概率;基于确定出的每个道具的概率,对剩余道具进行随机选择,得到目标道具。
可选地,第二选择模块905还用于当目标道具集合满足幸运值保底策略时,从目标道具集合中随机选取一个道具作为目标道具。
示例性地,道具集合分配记录包括每个道具集合的错失次数和幸运值;道具集合的道具分配记录包括道具集合中每个道具的错失次数。
本公开实施例通过将宝箱对应的虚拟道具池中的道具分为多个道具集合,每个道具集合包括至少两个道具,并且通过用户的道具分配记录分别记录道具集合的历史分配情况和道具集合中道具的历史分配情况,基于道具集合分配记录,从该至少两个道具集合中选择目标道具集合,基于道具分配记录,从目标道具集合中选择一个道具作为目标道具,即分两次选择才确定出目标道具,并将目标道具发送给用户的终端,可以为每次选择过程配置不同的策略,更加灵活地调整道具的分配,丰富了产品的功能。
本申请实施例还提供了一种计算机设备,该计算机设备可以是服务器。该计算机设备可以包括处理器和存储器,所述存储器存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现前述方法。
图13是本申请实施例提供的一种服务器的结构示意图。参见图13,服务器1000包括中央处理单元(centralprocessingunit,cpu)1001、包括随机存取存储器(randomaccessmemory,ram)1002和只读存储器(read-onlymemory,rom)1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。服务器1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(input/output,i/o系统)1006,和用于存储操作系统1013、应用程序1014和其他程序模块1015的大容量存储设备1007。
基本输入/输出系统1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中显示器1008和输入设备1009都通过连接到系统总线1005的输入输出控制器1010连接到中央处理单元1001。基本输入/输出系统1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。大容量存储设备1007及其相关联的计算机可读介质为服务器1000提供非易失性存储。也就是说,大容量存储设备1007可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、带电可擦可编程只读存储(electricallyerasableprogrammablereadonlymemory,eeprom)、闪存或其他固态存储其技术,只读光盘(compactdiscread-onlymemory,cd-rom)、数字通用光盘(digitalvideodisc,dvd)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。
根据本申请的各种实施例,服务器1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1000可以通过连接在系统总线1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由cpu执行。cpu1001通过执行该一个或一个以上程序来实现前述虚拟道具分配。
本领域技术人员可以理解,图13中示出的结构并不构成对服务器1000的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的方法。例如,所述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
技术特征:
1.一种虚拟道具分配方法,其特征在于,所述方法包括:
接收宝箱开启请求,所述宝箱开启请求包括宝箱标识和用户的标识;
确定所述宝箱标识对应的虚拟道具池,所述虚拟道具池包括至少两个道具集合,每个所述道具集合包括至少两个道具;
获取所述用户的道具分配记录,所述用户的道具分配记录包括道具集合分配记录和每个道具集合的道具分配记录;
基于所述道具集合分配记录,从所述至少两个道具集合中选择目标道具集合;
基于所述目标道具集合的道具分配记录,从所述目标道具集合中选择一个道具作为目标道具;
将宝箱开启结果发送给所述用户的终端,所述宝箱开启结果包括所述目标道具的标识。
2.根据权利要求1所述的方法,其特征在于,所述基于所述道具集合分配记录,从所述至少两个道具集合中选择目标道具集合,包括:
基于所述道具集合分配记录,根据第一策略集合,从所述至少两个道具集合中选择目标道具集合,所述第一策略集合包括至少一个第一策略,所述第一策略选自以下策略:明保底策略、暗保底策略、幸运值保底策略和反向保底策略。
3.根据权利要求2所述的方法,其特征在于,所述基于所述道具集合分配记录,根据第一策略集合,从所述至少两个道具集合中选择目标道具集合,包括:
过滤掉所述虚拟道具池中满足反向保底策略的道具集合,得到剩余道具集合;
当所述剩余道具集合中存在满足明保底策略的道具集合时,将满足明保底策略的道具集合作为目标道具集合;
或者,
当所述剩余道具集合中存在满足幸运值保底策略的道具集合时,将满足幸运值保底策略的道具集合作为目标道具集合;
或者,
当所述剩余道具集合中不存在满足明保底策略或者幸运值保底策略的道具集合时,基于所述道具集合分配记录和所述暗保底策略,确定所述剩余道具集合中各个所述道具集合的概率;基于确定出的每个道具集合的概率,对所述至少两个道具集合进行随机选择,得到所述目标道具集合。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述目标道具集合的道具分配记录,从所述目标道具集合中选择一个道具作为目标道具,包括:
当所述目标道具集合不满足幸运值保底策略时,基于所述目标道具集合的道具分配记录,根据第二策略集合,从所述目标道具集合中选择一个道具作为目标道具,所述第二策略集合包括至少一个第二策略,所述第二策略选自以下策略:明保底策略、暗保底策略和反向保底策略。
5.根据权利要求4所述的方法,其特征在于,所述基于所述目标道具集合的道具分配记录,根据第二策略集合,从所述目标道具集合中选择一个道具作为目标道具,包括:
过滤掉所述目标道具集合中满足反向保底策略的道具集合,得到剩余道具;
当所述剩余道具中存在满足明保底策略的道具集合时,将满足明保底策略的道具作为目标道具;
或者,
当所述剩余道具中不存在满足明保底策略的道具时,基于所述目标道具集合的道具分配记录和所述暗保底策略,确定所述剩余道具中各个所述道具的概率;基于确定出的每个道具的概率,对所述剩余道具进行随机选择,得到所述目标道具。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述目标道具集合满足幸运值保底策略时,从所述目标道具集合中随机选取一个道具作为所述目标道具。
7.根据权利要求1至3任一项所述的方法,其特征在于,所述道具集合分配记录包括每个道具集合的错失次数和幸运值;所述道具集合的道具分配记录包括道具集合中每个道具的错失次数。
8.一种虚拟道具分配装置,其特征在于,所述装置包括:
接收模块,用于接收宝箱开启请求,所述宝箱开启请求包括宝箱标识和用户的标识;
确定模块,用于确定所述宝箱标识对应的虚拟道具池,所述虚拟道具池包括至少两个道具集合,每个所述道具集合包括至少两个道具;
获取模块,用于获取所述用户的道具分配记录,所述用户的道具分配记录包括道具集合分配记录和每个道具集合的道具分配记录;
第一选择模块,用于基于所述道具集合分配记录,从所述至少两个道具集合中选择目标道具集合;
第二选择模块,用于基于所述目标道具集合的道具分配记录,从所述目标道具集合中选择一个道具作为目标道具;
发送模块,用于将宝箱开启结果发送给所述用户的终端,所述宝箱开启结果包括所述目标道具的标识。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至7任一项所述的方法。
技术总结
本申请公开了一种虚拟道具分配方法、装置、设备和存储介质,属于计算机技术领域。该方法包括:接收宝箱开启请求,宝箱开启请求包括宝箱标识和用户的标识;确定宝箱标识对应的虚拟道具池,虚拟道具池包括至少两个道具集合,每个道具集合包括至少两个道具;获取用户的道具分配记录,该用户的道具分配记录包括道具集合分配记录和每个道具集合的道具分配记录;基于道具集合分配记录,从至少两个道具集合中选择目标道具集合;基于目标道具集合的道具分配记录,从目标道具集合中选择一个道具作为目标道具;将宝箱开启结果发送给用户的终端。可以更加灵活地调整道具的分配策略,丰富产品的功能。
技术研发人员:邓歆怡;练建锋
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:.11.11
技术公布日:.02.28
如果觉得《虚拟道具分配方法 装置 设备和存储介质与流程》对你有帮助,请点赞、收藏,并留下你的观点哦!