Forums › English Language Forums › General › Graveyard

Search

A modular (sustainable) and fun solution to rare drops

17 replies [Last post]
Tue, 10/14/2014 - 13:59
Fehzor's picture
Fehzor

All rare drops will be given variables that bind them to the number of trials it takes for them to drop. When this variable reaches its potential, it drops an item for the player and resets, potentially to a higher value to prevent inflation of that item. Lets say that I'm grinding for black kats, and my variable needs to reach 237, as these variables will likely have some degree of randomness added into them. On my 237th black kat, I WILL receive the book of dark rituals. No sooner, no later. From my perspective, it was a simple random chance, but from the server's perspective, it was set in stone all along.

The strengths of such a system

  • Players will always be rewarded relatively evenly for the work they put out, leaving no hard working players behind
  • Various formulas can be applied to give more control over rare drops, to prevent alt farming and reward any number of things
  • Receiving drops in such a manner is invisible to the naked eye, and very hard to detect without large amounts of data
  • Doing so creates a very modular system that can be used with many rare item drops for events and secrets to come
  • Where would it be used?

    First and foremost, the black kat cowl should be mentioned along with the darkfang shield, as both of these are currently sorely lacking such a system. Along with that, true love lockets and other rare monster drops could be tweaked accordingly.

    After that, there are a number of other drops that could be added in- knights at a rank could be made likely to find at least one piece of random 3* armor, while knights above a certain rank could be given an easier time finding a certain rare rarity.

    Finally, new items could easily be implemented to fulfill this and make the game a better place. Maulos's maul was recently rumored to exist in game, as well as vanaduke's maul, the "third troika", and a good many costume armors that could easily be reskinned to fit into danger rooms and other such places.... While these may not be necessary, implementing them as findable loot would go a long way in the game's original image, and a longer way towards improving the game's product of old school fun.

    Please read the comments below! Dahall suggests a very interesting and better version of my idea, and we discuss it!

    Wed, 10/15/2014 - 11:34
    #1
    Dahall's picture
    Dahall
    Open the door, get on the floor, everybody walk the dinosaur.

    Here's a slightly better one.

    Let's say a rare item has a 0.01% of dropping in a level. If that item fails to drop in that level, the chance of that item appearing increases by it's default value(or doubles) until it has dropped successfully after which the drop chance will reset to the default value.

    Then not only will it be a drop by chance (instead of a fixed amount of grinding) but it will also ensure that players are rewarded eventually.

    Wed, 10/15/2014 - 12:59
    #2
    Fangel's picture
    Fangel
    I'd prefer Dahall's version

    This game is set very much around an RNG. The levels we can play, the status, the depths, the rotation, the loot, what monsters will ACTUALLY appear (Undead clockwork tunnels gets fiends in some spots whereas it can have undead in the exact same room later), upgrading our weapons for anything less than the max... The game really relies on it.

    What would be good is that, over time, the RNG would start to increase its numbers until an item is found. After my 1000th black kat, it is possible I haven't found a book yet, but the RNG is over 99% in my favor on the next kat.

    Essentially it is the same thing as what you have but still relies on the RNG. The RNG just slowly works itself towards being friendly instead of being far off and distant.

    Wed, 10/15/2014 - 13:30
    #3
    Fehzor's picture
    Fehzor

    I'm mostly interested in the modular and fair nature of either system over our current system.

    Your system would probably be for the best, if done correctly. For example, if we were to implement and create art assets for a new sword, Maulos's Maul, the drop chance could be something like:

    0% If runs < 100;
    (runs - 100)/100,000% if runs > 100 and first drop
    (runs - 100)/10,000,000% if runs > 100 and not first drop

    After 500 runs, your odds would be 400 / 100,000 = .004%

    Therefore, you would be statistically VERY likely to find the item in 1100 runs, which is about what we'd be going for. In order to find the item, you would have to have played a very long time, and very deliberately went up against Heart of Ice for no particular reason. But is it doable? Certainly.

    And more importantly, once one is found... you know people are going to be stoked about going on Heart of Ice... and they'll all be rewarded!

    EDIT: Added a note in the OP about this conversation.

    Wed, 10/15/2014 - 13:18
    #4
    Dahall's picture
    Dahall
    It's similar to yours

    It's similar to yours actually. The number of times you finish the desired level is stored and then multiplied by the percentage of an item drop. If the drop event occurs, then the number of level completions is reset to one.

    Wed, 10/15/2014 - 14:09
    #5
    Fangel's picture
    Fangel
    Yes!

    Having it still be under an RNG lets it still be super rare! If I ran HoI once, I would have a chance at getting this item. However, someone who's ran it 1100 times is VERY likely to find the item. It means that there's still a low chance they the person who's doing it for the first time will find it, but at the same time a very low chance the person who's run it over 1,000 times will not get it.

    Wed, 10/15/2014 - 14:11
    #6
    Dahall's picture
    Dahall
    @Fgel

    A maximum limit for the percent increase would be the solution

    Wed, 10/15/2014 - 14:32
    #7
    Fangel's picture
    Fangel
    Well sure.

    Have an asymptote set at some reasonable amount. Either at 100% itself or something like 90% so that there is still some essence of an RNG while being more fair to those who invest so much time.

    Wed, 10/15/2014 - 17:33
    #8
    Fehzor's picture
    Fehzor

    Having asymptotic behavior sounds nice, but at the same time slightly undermines the purpose of what we're trying to accomplish and isn't necessary for smaller odds with more trials. It could still be used with larger odds and less trials though, like rarity drops should those be added to the system.

    Consider a linear chance of 1%, 2%, 3%....... Y=X.

    For this percentage, we would expect the overall percentage of finding it once within N tries as being the summation of all of the trials. That is to say-

    Chance of within N trials = Chance(on exactly the first) ∩ Chance(on exactly the second) ∩ Chance(on exactly the third) ∩...∩ Chance(on N)

    We know that-

    Chance on exactly first trial = 1%
    Chance on exactly second = (100% - 1%)(2%)%
    Chance on exactly third = (100-(100% - 1%)(2%))(3%)%
    ...
    Chance(N) = (100 - Chance(N-1))(N)%

    Since in this case, Chance(on exactly the first AND exactly the second) = 0, (as Chance(second | first) = 0), we can just add these together to find the total chance of getting the item up to that point.

    1% + (100% - 1%)(2%)% + (100-(100% - 1%)(2%))(3%)% +....+ Chance(N) = (100 - Chance(N-1))(N)%

    In other words,

    TotalChance(N) = Chance(N-1) + (100 - Chance(N-1))(N)%

    Here are the values of this function, calculated over 0 <= N <= 20:

    Chance(1) = .01
    Chance(2) = 0.02
    Chance(3) = 0.0494
    Chance(4) = 0.087424
    Chance(5) = 0.1330528
    Chance(6) = 0.18506963199999998
    Chance(7) = 0.24211475776
    Chance(8) = 0.3027455771392
    Chance(9) = 0.365498475196672
    Chance(10) = 0.4289486276770048
    Chance(11) = 0.4917642786325343
    Chance(12) = 0.5527525651966302
    Chance(13) = 0.6108947317210682
    Chance(14) = 0.6653694692801186
    Chance(15) = 0.7155640488881009
    Chance(16) = 0.7610738010660048
    Chance(17) = 0.801691254884784
    Chance(18) = 0.8373868290055229
    Chance(19) = 0.8682833314944736
    Chance(20) = 0.8946266651955789

    Notice how the difference between any two data points is much much less than the actual chance at that data point? For instance, from 19 to 20, we have an additional 20% chance added in the mix... but we only see a 3% gain from it. From trial 5 to 6 however, we see nearly a 6% increase in chance from the additional sixth trial. While not strictly asymptotic, the gains from using such a system reel themselves in simply by virtue of the fact that it is impossible to take a 20% chance after succeeding on a 19% chance. We also never have to worry about taking a 100% chance at all- after about 30 trials, we are 99.95% certain to have found our item, which is exactly what this is striving towards.

    This holds true especially for much smaller chances with more trials, as I described in my previous post, where the odds increase by 1/10,000 each step of the way:

    Chance(1) = .0001
    Chance(10.0) = 0.005387356869918709
    Chance(20.0) = 0.020697171251013214
    Chance(30.0) = 0.045385172843336825
    Chance(40.0) = 0.07873810124279308
    Chance(50.0) = 0.1198079560185517
    Chance(60.0) = 0.16745679898920432
    Chance(70.0) = 0.22040914138544546
    Chance(80.0) = 0.2773085498502928
    Chance(90.0) = 0.3367749737080602
    Chance(100.0) = 0.39745944063635846
    Chance(110.0) = 0.4580931613104714
    Chance(120.0) = 0.5175286760760884
    Chance(130.0) = 0.5747714029736636
    Chance(140.0) = 0.6290007335596863
    Chance(150.0) = 0.6795805985664923
    Chance(160.0) = 0.7260601251181208
    Chance(170.0) = 0.7681655804060332
    Chance(180.0) = 0.8057852103703119
    Chance(190.0) = 0.8389488218103256
    Chance(200.0) = 0.8678040261519973
    Chance(210.0) = 0.8925909816350563
    Chance(220.0) = 0.9136172678173657
    Chance(230.0) = 0.9312342382680681
    Chance(240.0) = 0.9458158621155092
    Chance(250.0) = 0.9577407183735998
    Chance(260.0) = 0.9673774788856984
    Chance(270.0) = 0.9750739290779286
    Chance(280.0) = 0.9811493450703098
    Chance(290.0) = 0.9858898776421502
    Chance(300.0) = 0.9895464877315924

    Putting in asymptotic behavior would leave the chance as it currently is- prone to wild fluctuations in terms of who gets it in how many trials... this already does quite a bit as well, but helps to overcome this.

    Wed, 10/15/2014 - 17:58
    #9
    Fangel's picture
    Fangel
    I see what you're getting at

    I understand what you're getting at here. I guess what I'm going more for is better odds over time instead of ensured item over time. If you get to even a 50% chance of a book of dark rituals from a black kat, you'd be getting a book from either one kat or the next one statistically. An asymptote at even 50% with a linear buildup until 45% might work.

    After the item is obtained, of course, then the player's chances reset. So if you get an item at 15% chance, you'd go down to a 1% chance again. If you get one at 2% you'd go back down, and if you get one at 47%, you'd go back down to the beginning.

    Quick edit: I still like the idea of having chance involved with this behavior, as it means players would have a hard time knowing where they are currently at on their chances. It means those who are lucky can still be lucky, but also means that those who invest more time will reap more rewards.

    Wed, 10/15/2014 - 18:00
    #10
    Deleted-Knight's picture
    Deleted-Knight

    You want to reward people who grind a lot while still keeping things random?
    Just make special tokens as a fixed drop and make a random process in which those tokens can be traded in for a rare drop. It's like heat crystals. The more tokens you put in, the better the chances of getting that item.

    Games usually use a few random number generators for many different functions. Creating a new RNG for a single purpose is not very efficient.

    Thu, 10/16/2014 - 06:36
    #11
    Fehzor's picture
    Fehzor

    This is just as needy as storing tokens.... And it is a system for ALL drops of this nature, not just one. The goal is to make these drops fair and always plausible to grind for while maintaining the mystery surrounding such drops... I'm pretty sure I wrote about it in the OP, as well as here-

    http://forums.spiralknights.com/en/node/105432#comment-953311

    Thu, 10/16/2014 - 00:30
    #12
    Dahall's picture
    Dahall
    @deleted knight

    your suggestion is very similar to OP's first comment.

    Thu, 10/16/2014 - 20:46
    #13
    Trats-Romra's picture
    Trats-Romra
    +1

    Very nice. Really, very nice.

    Fri, 10/17/2014 - 00:28
    #14
    Deleted-Knight's picture
    Deleted-Knight
    @Fehzor

    I may be misunderstanding you, but here is how I'm seeing your plan:
    You want a success rate that increases linearly with failed attempts. This leads to a huge initial increase in probability of getting the item for the first few steps, but quickly becomes an effective guarantee after some number of steps.
    (FYI, you did not do your math right when calculating probabilities. Your method approaches the correct value as N gets larger.)

    If P(N) gives the probability that you will have received your first rare item on step N, then:
    P(1) = 0.0100
    P(2) = 0.02(1-0.01) = 0.0198
    P(3) = 0.03*(1-0.02)*(1-0.01) = ~0.0291
    ....
    P(N) = N/100*(1-(N-1)/100)*(1-(N-2)/100)*....*(1-0.01) = (N/100^N) *(99!/(100-N)!)

    This is the cumulative probability function (see graph)
    This is a comparable function using a fixed rate
    Notice how your function is basically linear until a certain point at which it quickly flatlines. The fixed rate function actually rewards grinding much more in the beginning before gradually tapering off.

    I don't think your complicated drop rate algorithm accomplishes anything that a flat rate algorithm can't. The only difference is that after X number of "steps", your function yields exactly 1 while the flat rate is 0.999.
    Flat rates involve rolling a single random number and looking things up in a preloaded table. Your algorithm involves looking up a variable, rolling a number to compare to that variable, then incrementing the variable. When it comes to games, efficiency is not about taking up space (graphics take up waaay more space), it's about how fast data can be processed.

    Now regarding my suggestion:
    I thought you wanted a tangible gain for effort put into getting a rare item while still keeping an element of risk and chance.
    There isn't really any real feeling of gain in a statistical drop system:
    Let's say you grind 1000 levels looking for a Book of Rituals and didn't find one. What can you say about your progress? Nothing. All you can say is that you must be a statistical outlier. If you go on another level with a guy that just started hunting, you have the same chance as he does fo getting a book.
    Under your system, this also applies (to some extent). Until you hit that X number of steps, there's still no guarantee. Why not just convert that X number steps into something quantifiable like tokens? It also makes it more rewarding to see a numerical representation of your progress.

    @Dahall
    Oops, didn't notice your comment. I can see what you mean. However, keeping secret tallies on the server doesn't make people feel more rewarded. It's all about perspective I guess. What if OOO just told us they were doing it, but in reality it was just statistically very likely that we got the item within the given range?

    Sat, 10/18/2014 - 00:48
    #15
    Fehzor's picture
    Fehzor

    Because the devs don't seem to want to make tokens for these things, and it kills me to make zero progress forever while some nub finds three of the rare item in quick succession.

    This calculation is relatively inconsequential given how rarely it would be done as well.

    Sat, 10/18/2014 - 08:34
    #16
    Vohtarak-Forum's picture
    Vohtarak-Forum
    I'm vohtarak, call me by that time

    This is a great idea
    I went a week with no black kats, and I had to explain the whole event to a guild noon and they find 3 in their first run

    Sat, 10/18/2014 - 09:22
    #17
    Keepscaite's picture
    Keepscaite
    This is good, this is

    This is good, this is GOLD.

    Do it OOO, MAKE IT HAPPEN!

    Powered by Drupal, an open source content management system