Adventure Queue: Difference between revisions

From A KoL Wiki
imported>Bagatelle
imported>MindlessGames
finally updating how the adventure selection process works.
Line 1: Line 1:
{{NS13Rewrite|Completely changed, and Jick has promised never to tell us again how it works.  Consider all information on this page suspect.  It probably ALL needs to be re-spaded.}}
__TOC__
__TOC__


Line 6: Line 5:
==Choose Your Own Adventure==
==Choose Your Own Adventure==
Specifically, the way an adventure is chosen is
Specifically, the way an adventure is chosen is
* Roll for a [[Combat Frequency#Superlikely|Superlikely]] adventure ([http://forums.hardcoreoxygenation.com/viewtopic.php?p=23948#23948 probability exactly 1/4]).  If not,
* Roll for a [[Combat Frequency#Superlikely|Superlikely]] adventure (generally 1/4 or 1/3 probability).  If that roll did not give you the adventure,
* Decide on either combat or non-combat.  
* Decide on either combat or non-combat.  
:* (c) If combat: choose a combat encounter.
** Create a selection list to use for the encounters.
:* (c) If combat: populate the selection list with the possible combat encounters from the zone like so:
::# If the monster has a special rejection rate on it, do not add it if a roll says that monster should be rejected.
::# If there is a conditional, such as delay() on the monster, do not add it unless the conditional has been met.
::# If the monster is banished, do not add it to the list.
::# If the monster is [[On the Trail|olfacted]], add 4 of that monster to the list (overrides banishing, but not the special rejection rate).  Note that for zones with multiple copies of monsters, this works just fine, as the monster will be seen twice when traversing the master encounter list for that zone.
::* (c select) Select an encounter from the selection list.
::* If it's olfacted, that's the encounter.
::* If it's not in the combat queue, that's the encounter.
::* If it's not in the combat queue, that's the encounter.
::* If it is in the combat queue,  
::* If it's in the combat queue,  
:::* 25% of the time: accept the encounter.
:::* 25% of the time: accept the encounter.
:::* 75% of the time: go to (c) and choose a new combat encounter, subjecting that choice to the combat queue as well.
:::* 75% of the time: go to (c select) and choose a new combat encounter, subjecting that choice to the combat queue as well.
:* (nc) If non-combat: choose a non-combat encounter.
:* (nc) If non-combat: populate the selection list with the possible non-combat adventures from the zone like so:
::* If it's not in the non-combat queue, that's the encounter.
::# If the adventure has a special rejection rate on it, do not add it if a roll says that it should be rejected.
::# If there is a conditional, such as delay() on the adventures, do not add it unless the conditional has been met.
::* (nc select) Select an adventure from the selection list.
::* If it's not in the non-combat queue, that's the adventure.
::* If it is in the non-combat queue,  
::* If it is in the non-combat queue,  
:::* 25% of the time: accept the encounter.
:::* 25% of the time: accept the adventure.
:::* 75% of the time: go to (nc) and choose a new non-combat encounter, subjecting that choice to the non-combat queue as well.
:::* 75% of the time: go to (nc select) and choose a new non-combat adventure, subjecting that choice to the non-combat queue as well.


Note that once you enter the queue-elimination process, you don't reroll for superlikely or the type of encounter: if a non-combat is first selected you only examine non-combats against the non-combat queue, and similarly for combats.  Also be aware that the rejection probability, given above as 75%, is not totally nailed down.  It could be more or less than that fraction.
Note that once you enter the queue-elimination process, you don't reroll for superlikely or the type of encounter: if a non-combat is first selected you only examine non-combats against the non-combat queue, and similarly for combats.


==Equations for Encounter Frequency==
==Equations for Encounter Frequency==

Revision as of 18:51, 11 February 2010

The adventure queue is a feature in the game coding that makes high occurrences of the same adventure in a short period of time less likely. For example, if you head to the goatlet for the first time and fight a dairy goat, dairy goats will be slightly less frequent for the next several adventures.

Choose Your Own Adventure

Specifically, the way an adventure is chosen is

  • Roll for a Superlikely adventure (generally 1/4 or 1/3 probability). If that roll did not give you the adventure,
  • Decide on either combat or non-combat.
    • Create a selection list to use for the encounters.
  • (c) If combat: populate the selection list with the possible combat encounters from the zone like so:
  1. If the monster has a special rejection rate on it, do not add it if a roll says that monster should be rejected.
  2. If there is a conditional, such as delay() on the monster, do not add it unless the conditional has been met.
  3. If the monster is banished, do not add it to the list.
  4. If the monster is olfacted, add 4 of that monster to the list (overrides banishing, but not the special rejection rate). Note that for zones with multiple copies of monsters, this works just fine, as the monster will be seen twice when traversing the master encounter list for that zone.
  • (c select) Select an encounter from the selection list.
  • If it's olfacted, that's the encounter.
  • If it's not in the combat queue, that's the encounter.
  • If it's in the combat queue,
  • 25% of the time: accept the encounter.
  • 75% of the time: go to (c select) and choose a new combat encounter, subjecting that choice to the combat queue as well.
  • (nc) If non-combat: populate the selection list with the possible non-combat adventures from the zone like so:
  1. If the adventure has a special rejection rate on it, do not add it if a roll says that it should be rejected.
  2. If there is a conditional, such as delay() on the adventures, do not add it unless the conditional has been met.
  • (nc select) Select an adventure from the selection list.
  • If it's not in the non-combat queue, that's the adventure.
  • If it is in the non-combat queue,
  • 25% of the time: accept the adventure.
  • 75% of the time: go to (nc select) and choose a new non-combat adventure, subjecting that choice to the non-combat queue as well.

Note that once you enter the queue-elimination process, you don't reroll for superlikely or the type of encounter: if a non-combat is first selected you only examine non-combats against the non-combat queue, and similarly for combats.

Equations for Encounter Frequency

For one type (combat or non-combat) of encounter, with

  • e total encounters in a zone,
  • j fractional chance of rejecting an adventure in the queue (assumed to be 3/4 or 75%), and
  • u unique encounters from this zone in the adventure queue
  • U giving the indexes for the u adventures from this zone in the queue
  • R (elements ri) giving the frequencies of encounters of our type in this zone
  • rinq giving the total base frequency of drawing any of the encounters from this zone that are present in the queue.

For all adventures equally likely, ri=1/e and the chance of drawing an encounter that is present in the queue is (assuming j=3/4)

                    1
 inq(j;e,u)  = -----------
                4 e - 3 u

while the chance of drawing an encounter not present in the queue is

                    4 
 outq(j;e,u) = -----------
                4 e - 3 u

Note that these formulas only hold if the zone's encounters are equally likely.

If the adventures are not equally likely, the chance of drawing an encounter that is present in the queue is (again assuming j=3/4)

                           1 
 inq(j,R,U;i)  = ri ---------------
                     4 - 3 * rinq

The chance of drawing an encounter not present in the queue is

                           4 
 outq(j,R,U;i) = ri ---------------
                     4 - 3 * rinq

The adventure queue is 5 encounters long (it was changed from 3 encounters to 5 encounters in Fall of 2006).

Table of Encounter Frequency

For j=75%, among e total encounters of that flavor in the zone (all equally likely), and u unique encounters from the zone already in the queue:

Percent chance to draw each encounter that is in the queue
u \ e 3 enc.
in zone
4 enc.
in zone
5 enc.
in zone
6 enc.
in zone
7 enc.
in zone
8 enc.
in zone
9 enc.
in zone
1 zone enc in queue 11.11% 7.69% 5.88% 4.76% 4.00% 3.45% 3.03%
2 zone enc in queue 16.67% 10.00% 7.14% 5.56% 4.55% 3.85% 3.33%
3 zone enc in queue 33.33% 14.29% 9.09% 6.67% 5.26% 4.35% 3.70%
4 zone enc in queue 25.00% 12.50% 8.33% 6.25% 5.00% 4.17%
5 zone enc in queue 20.00% 11.11% 7.69% 5.88% 4.76%


Percent chance to draw each encounter that is not in the queue
u \ e 3 enc.
in zone
4 enc.
in zone
5 enc.
in zone
6 enc.
in zone
7 enc.
in zone
8 enc.
in zone
9 enc.
in zone
0 zone enc. in queue 33.33% 25.00% 20.00% 16.67% 14.29% 12.50% 11.11%
1 zone enc. in queue 44.44% 30.77% 23.53% 19.05% 16.00% 13.79% 12.12%
2 zone enc. in queue 66.67% 40.00% 28.57% 22.22% 18.18% 15.38% 13.33%
3 zone enc. in queue 57.14% 36.36% 26.67% 21.05% 17.39% 14.81%
4 zone enc. in queue 50.00% 33.33% 25.00% 20.00% 16.67%
5 zone enc. in queue 44.44% 30.77% 23.53% 19.05%

NS13 Queue Manipulation

While adventure queues in the NS13 world are not yet well understood, there are some ways of increasing or decreasing the odds of encountering given monsters.

  • Harold's bell is a single-use quest item that banishes regular monsters from a particular location's combat queue for 20 adventures.
  • Creepy Grin scares away a single regular monster from one location for 10 adventures.
  • Using Give Your Opponent the Stinkeye will scare away a monster for 10 adventures.
  • A divine champagne popper will scare away a single monster for 5 adventures.
  • A Spooky Putty sheet can be used up to five times per day to repeat a combat encounter against any normal monsters upon which the item is used.
  • In much the same way, a 4-d camera can be used once per day to repeat a combat encounter.

Some mechanics are not yet completely spaded, but there is good evidence that they have an effect:

Notes

  • The adventure queue is thought to reset at rollover (although this has not been tested).
  • The adventure queue can have duplicates. If you meet 5 dairy goats in a row, the combat queue contains 5 dairy goats and no other encounters.
  • Prior to NS13, all zones shared the same two queues. If a player entered a zone for the first time, or with 5 of each encounter flavor from some other zone, there would have initially been zero, then one, ... applicable encounters in the queue.
  • After NS13, the adventure queue was changed in a way that -- according to Jick -- makes abusing it impossible. Each zone now has two queues, one for combats and one for noncombats.
  • This area of game mechanics is not well understood. For past investigation, see the work by godskook, eit_brad and others in this HCO forum thread on Adventure Outcome -- the material on this page is derived from that investigation.
  • Choice adventures in zones like the The Haunted Bedroom count towards the non-combat queue only.