Difference between revisions of "Forum:The structure of skilling drop tables"

From Old School RuneScape Wiki
Jump to: navigation, search
m (Protected "Forum:The structure of skilling drop tables" ([Edit=Only allow autoconfirmed users] (indefinite) [Move=Only allow autoconfirmed users] (indefinite)))
(No difference)

Latest revision as of 01:52, 14 January 2021

Forums: Redwood Grove > The structure of skilling drop tables
Replacement filing cabinet.svg
This page or section is an archive.
Please do not edit the contents of this page.
This thread was archived on 14 January 2021 by Spineweilder.

Structuring drop tables which detail an NPCs drops on death has become mostly routine. Drop tables depicted on NPC pages are formatted versions of scripts of Runescript code that run on Jagex’s server when the NPC dies. The script is capable of expressing complex dependence among the drops, but four categories have emerged that usefully summarise the code in a way that is both readable and highly precise. The four broad categories are:

- Primary: The items guaranteed to drop, such as bones at a Man.

- Secondary: The items in the main drop table, such as a Limpwurt root at Hill Giants. The items on this table are written to have their probability sum to 100%. Commonly, this table is broken up into several subtables for easier reading.

- Preroll: The items which roll before the main table and do return upon a successful roll. The effect of prerolls items is to make “Secondary” drops have probability of dropping lower than what is written.

- Tertiary: The items which roll before the main table and do not return upon a successful roll. These are items which can additionally drop with any other secondary or preroll drop.

There are a few edge cases that occasionally arise that do not perfectly fit into these categories. One prominent edge cases occurs when a preroll item is before a tertiary item in the drop script. This causes the tertiary item to be impossible to obtain with that pre roll item, since the preroll item will return and the script will end before the tertiary item can even roll. Conveniently, a footnote readily clears up this complication. An example of this is that Scorpia's offspring (a tertiary item) does not roll if a player receives a shield shard (a preroll item) from Scorpia.

Further, the structure provided by these four categories has been transferred from describing only NPC drops to also describing other scripts that run on certain events. For example, the Mystery Box randomly generates items when opened and the resulting script can be fully described using the “Preroll” and “Secondary” categories. Unfortunately, the transfer of these categories to skilling drops hasn’t been as routine, and the overall structure of the drop tables that should be presented on the wiki hasn’t reached broad agreement. The purpose of this Forum is to resolve this disagreement.

As a case study, let’s focus on Iron rocks. We’ll find that this example usefully demonstrates the core complications and allows the discussion to be more concrete.

To begin, let’s describe the script that runs on Jagex’s server and allows players to receive items from the rock so that we’re all on the same page with the mechanics. This script runs whenever a player interacts with an Iron rock on the skilling tick. For example, the script runs every 3 ticks if the player is using a Rune pickaxe. There are a series of checks (for mining level, etc) which occur early in the script that we won’t describe: instead we focus on the RNG related parts of the script.

- The first part of the script is a roll to determine if players can access the gem table. This roll is more likely if players have a charged glory equipped. If the roll succeeds, players randomly receive an “item" from the gem table (a gem or Nothing), the rock doesn’t deplete, players continue mining, and the script ends.

- The second part of the script enters only if the gem table roll fails. The second part is a resource roll using the infamous interp to determine whether players (1) get Nothing and continue mining or (2) get an iron ore and deplete the rock.

- The third part of the script enters only if the resource roll succeeds. Here there are a sequence of rolls to determine additional items to return. The additional items include clue geodes, the mining pet, crystal shards (in Prifddinas), or unidentified minerals (in the Mining Guild).

The central question for this Forum is how to describe this Iron rock drop table on the Wiki. Three options are presented below.

Option 1: Literally

- State the gem table as a “Preroll", with the option of giving Gems or Nothing.

- State the resource table as the “Secondary" table, with the option of Iron ore or Nothing.

- State the additional items as a modified “Tertiary” table which can only roll conditional on getting iron ore.

Option 2: Ore-centered

- State the gem table as a modified “Preroll” which does not provide "drops" but which can sometimes give gems.

- State the Ore as a “Primary" drop (ie 100%, guaranteed).

- State the additional items as a “Tertiary” table.

Option 3: Simplified

- State the overall probability of getting any item.

- State the the “Secondary” table as giving gems or Iron ore. Here the probabilities that are shown are conditional on getting any item.

- State the additional items as a modified “Tertiary” table which can only roll conditional on getting iron ore.


Support Option 1. I feel that describing the RNG in the drop script is the purpose of the drop tables. Further, I feel that Option 2 and Option 3 introduce unnecessary complications and obscure more than they clarify. I disagree with Option 2 in part because I feel that gems are in fact drops from iron rocks. Heritability (talk) 19:36, 2 December 2020 (UTC)

Support 1 - I think this is simultaneously the most useful to readers, and the most true to the underlying mechanics. ʞooɔ 07:18, 3 December 2020 (UTC)

Support 1 - panacea - Towelcat (talk) 08:05, 3 December 2020 (UTC)

Support 1 + comment - I don't necessarily agree that it's the most useful to readers considering that there are people who have indicated that they don't like non-simplified drop rates (e.g. 2/100) listed because they have to do math, even if it is relatively simple. I think it does slightly complicate things for readers who probably don't actually care about the mechanics of the drop tables and only care about a drop rate for specific items/resources. That seems like it would be the majority of readers to me, but I have no data to back that up. However, option 1 seems like the most accurate way to represent drop tables, and I do think it would be a big improvement over the current inconsistencies/inaccuracies present with some of the drop tables. If we ever want to add simplified tables in the future, it is also much easier to go from option 1 to option 3 than the reverse since you lose a lot of information with option 3. It might be a good idea to create a page with examples of the proposed table formats so that they can be compared against each other visually since I'm a little unclear on how the text actually translates to what would be seen on the page. For example, what value is put in the "Rarity" column of the table in each proposal? If this isn't the effective rate, then how do we pull the effective rarity onto the item page in Drop sources? In some cases this is clear to me, others it is not. Andmcadams (talk) 21:08, 3 December 2020 (UTC)

Great points. There's a brief sketch of the options here: User:heritability/sandbox/Iron_rock. Hopefully others edit their preferred option if they imagine it differently.Heritability (talk) 05:00, 8 December 2020 (UTC)
Support Gau's option - The main difference between this and option 1 seem to be the "main" drop table. While I get the reasoning behind having a nothing drop alongside the main resource drops for failed rolls, the main issue I see with it is SMW. I think that when drop info is pulled onto other pages, such as iron ore, it makes much more sense to see "Always" rather than anything else given a case like iron rocks. For things like gem rocks, use the known probabilities conditioned on a successful roll. Although this is somewhat misleading, I think it is more helpful on a separate page than any other option considering that "Varies" is sorted as one of the rarest values and "Always" is the most common when sorting. Both labels (or any other) give useless/misleading info without the prose or chart so the visibility on other pages seems like the only difference to me. I think Cook is right about using prose to our advantage here because even if we remove the nothing drops from the table, we can just move it into prose and honestly explain it better than we could with the drop table. Tertiary rolls are going to require a decent chunk of prose anyway for messy things like beginner clue nests, so I don't think we should shy away from it. Andmcadams (talk) 08:23, 19 December 2020 (UTC)

Support 1 - I'd rather have the table be true to form that make it something that it isn't and potentially confuse people by telling them one thing where someone else can say the right thing and make it harder to understand. Choppe|T 23:29, 6 December 2020 (UTC)

Support Gau's optionI think I would prefer User:Gau Cho/Example mostly because it is simpler, however regardless of what is used as the "Main drop table", it should very clearly ref link "Rarity" to the success chance graph. I don't think the nothing drop is THAT much of a problem hence my initial voting for 1, but because of the skilling success change table — and the suggestion to reflink — it mostly nullifies and comes down to preference and to me a "failed" skilling chance is not a nothing drop. As cook as suggested in Discord, the success graph should not be inside the drop table section and instead outside of it like on User:Crow653/Sandbox as an example. I presonally only diagree with this format if and only if there are no plans to extrapolate experience rates and put them around and base them on that graph. As of right now, this does not occur to my knowledge.Choppe|T 00:08, 9 December 2020 (UTC)

Support "ThievingStyle" i.e. Separating SuccessRate and DropTable (Option 2ish) - The probability of succeeding a roll is not necessarily related to the drop table chances. A good example would be Gem rocks which roll a predefined secondary drop table upon mining success. If you scale the drops to the mining level and add a "Nothing" drop the table very quickly gets completely incomprehensible. In fact, I don't think it's very useful to have a success chance in the drop table itself (?What would you write, 1/1.78 - 1/1 ??). A third confusing example would be Barbarian Fishing, where the 3 fish each roll independently in a cascade (arguably described as a triple Preroll). The mechanics of the percent chance of succeeding a roll are much better explained in the graphs that have been implemented in the wiki. The success chance should remain in the graph and not be part of the table.

Ore is a bit tricky because bypassing the gem "preroll" doesn't necessarily give you access to the main drop and the tertiaries, unlike the case of monster death. I think that we can consider gems to be a special preroll case that you can describe , and that it's easier to describe the behaviour instead of trying to shoehorn the gems into previous definitions. For example, you can call it the Swing Gem Table and just state that every swing you have a chance of getting gems.

Here's a (very rough) example of how you could describe the skilling drops: User:Gau Cho/Example

Lastly, separating the success rate and the drop table brings the skilling rolls exactly in line with how we ALREADY describe some skilling drops on the wiki - most notably Thieving:

Note how the drop rates for these items all refer to the rate AFTER the player has succeeded in the roll. This is the most natural way of doing things.

--Gau Cho (talk) 05:50, 8 December 2020 (UTC)

Thanks for the thoughtful contribution! To respond to your first two examples: First, I'm not sure that what you're describing is the actual gem rock mechanics. (Without more evidence, I suspect it's just a cascade like virtually every other similar skilling drop.) However, the way I would describe your written gem rock mechanics is simply that the Secondary table has two subtables: gems and nothing. Gems have some probability of hitting, and Nothing have some probability of hitting. I feel that it's important to include the Nothing option, since most players will get "Nothing" during rolls when they mine gem rocks. Second, I agree that graphs are helpful to display probabilities that depend on level. (This forum isn't about removing graphs.)
I think your example option is misleading to readers because it doesn't include the secondary "Nothing" drop, which players will often receive while mining Iron rocks with a low level. I don't see why it's useful or informative to pick a possible drop item (Iron ore in this case) and condition the drop table that we present on it.
I agree that the Thieving example seems intuitive but think that transferring the same structure to Iron rocks (where there are pre-rolls) shows that the structure is inappropriate. Perhaps it will be helpful to focus on Iron rocks instead of thieving, since Iron rocks have the full mechanics. Heritability (talk) 15:33, 8 December 2020 (UTC)
Iron rocks are exactly the wrong object to be thinking about because the gem roll is a unique mechanic. The gem roll is NOT the same thing as a monster Preroll. Describing iron rocks in a separate way from how things are described for other skills (Thieving as mentioned above, Woodcutting when it comes to Sulliusceps (e.g. https://www.youtube.com/watch?v=qfcI8syFau0 where the player received 3598 drops of which 35 were caps) increases confusion.
There's no value in adding an extra table that simply has the main table and "nothing" as a drop. That just adds a layer of confusion. Instead of having this extra table on every page, the information is already contained in the success chance graph. In the case that the success chance graph is not available, we never had the exact information anyways to represent on that page.
Also, there is no Secondary nothing drop in the case of Iron rocks, because there's not even a secondary drop table.
Trying to push Option 1 is a big mistake that is just going to make the drop tables more complex, add confusion, make the ore rocks discordant from the rest of the wiki, and make it harder for us to put in accurate values. Gau Cho (talk) 23:17, 8 December 2020 (UTC)
Incidentally it seems like Gem rocks don't cascade: https://archive.is/0DMWC Gau Cho (talk) 23:18, 8 December 2020 (UTC)

Agree with Gau - Drop table rates should not take into consideration the time it takes to receive the drop. We don't need to base our drop tables representation exactly off the mechanics: the wiki is meant to be an abstraction. Haidro (talk) 06:06, 8 December 2020 (UTC)

I don't think of Iron ore as "the drop". Players could be mining rocks for any number of reasons. Personally, I have mined rocks for gems and have done other skilling for pet/crystal shards/etc. Heritability (talk) 15:33, 8 December 2020 (UTC)
I think you're attacking the strawman a bit here by addressing what is "the drop". It's pretty clear that on a mining success, the primary drop is the ore and the other drops are tertiaries. That's not the issue of the discussion. Gau Cho (talk) 23:17, 8 December 2020 (UTC)
Hey, this will be my last response. I don't know exactly what the disconnect is here. I was pointing out that gems could also be "the drop". There's no reason why "mining success" should ignore gems. On what you're calling "swings", gems and ores both roll. Players could receive either. You're arguing a conclusion that amounts to treating Iron ore as the only real drop, but you've never directly explained why gems deserve a demotion (except perhaps that this problem doesn't need to be dealt with in thieving). It's simply not the case that players "always" receive iron ore when they mine an iron rock. Many rolls happen, and players could receive gems or even no drop at all. For the purposes of closing the forum, I'm open to whatever others conclude is best. Heritability (talk) 02:27, 10 December 2020 (UTC)

Comment I think the ore and chance needs to go above the other drop tables regardless of how you structure them, anything else is just burying the lead. Also wondering if there is really a reason to have a drop line for the ore? Why not just add it to the mining infobox. Just my 2 cents Chaos tiara chathead.png Elessar2 (talk) 08:38, 9 December 2020 (UTC)

Comment - Want to reiterate here what I've been saying on Discord – good prose solves almost all of the problems we're discussing here. Not every game mechanic is gonna fit snugly into our existing templates and constructs (it's very clear that's the case here, since we're split about 50/50 on one aspect of it), and that's okay! We can use words to explain the things that make it complicated, and once we do that, the effects of whether or not we show a "Nothing" drop, and whether we put Iron ore or gems first, becomes much less of an issue. Finding a way forward isn't that hard here. ʞooɔ 11:11, 10 December 2020 (UTC)

Support 1 - Some notable changes though, since as far as I understand the actual chance of iron ore and nothing drops change with your mining level, I'd prefer it to be a Varies rarity on the table, with raritynotes referring to an in-depth explanation in prose as well as the success chance chart in a section probably above or below the drop tables (all 3 of them in the case of iron rock, not above ore and below gems). This is the layout I came up with, and an example of having Varies to refer to a section that would have an in-depth explanation of how the success chance works and the formula (or a calculator?) to calculate a user's exact ore/nothing drop rate given their level. zTUG5mD.png Crow 653  12:05, 10 December 2020 (UTC)

Neutral - Speaking of it more in the discord, I'm really not very happy with any of the formats, including what I put forward just now, varies would have to go on all of the tertiaries too with that. It also seems really confusing to me to put gems as per-swing and then ores/tertiaries as per-success, and obviously we can't do everything as per-swing or per-success either so I am stuck in indecision, none of them solve all the issues and I don't know which issues to prioritize solving here so this might really have to just be what looks good visually and give up on exact accuracy in the table. zTUG5mD.png Crow 653  12:45, 10 December 2020 (UTC)

Support using prose + pseudocode to solve the problem - Something like:

Amazing prose, here's some pseudocode, 
if random(256) < [glory ? 3 : 1]:
    return ~gem_roll()
if stat_random(75, 300, mining_level):
    give iron_ore
    deplete rock
    roll tertiaries
here's an anchor link to the success graph

This is per swing, just to double check! amazing

===Iron ore===
This is after rolling successfully, wow
<table with one item>

This is also after rolling successfully, wow look we did it
<table with stated chance for golem/geodes/etc>

ʞooɔ 15:47, 19 December 2020 (UTC)

Closure - Tables akin to Cook's example above and Gau's examples should be used for skilling drop tables. -- Recent uploads SpineTalkContribs 01:52, 14 January 2021 (UTC)