The Foraging (Ex-)Bandit [Ruleset & Reflections]

This is a postmortem for a (tiny, ~10min, browser) game I released earlier this week. At the time, I thought posting the generation rules for each location would be redundant and spoilery (especially since you could just look at the code on github), and that writing a Reflections section would be premature and presumptuous. My opinions and the circumstances have both now changed; hence, this post.

Ruleset

Horse Hills

Foraging in Horse Hills gives you a 75% chance of 1d4 food and a 25% chance of 23 + 2d6 + 1d4 food.

A chronologically-and-behaviour-invariant Expected Value of 10 food per forage makes this the default foraging location barring any other opportunities. A forager who spent the entire game here could reasonably expect to conclude with >3500 food stored; consider this a benchmark.

Rat Ruins

Rat Ruins was avoided by your fellow bandits because they feared a curse; fortunately for you, they were wrong. Rat Ruins starts by providing a large and consistent 20+1d4 food per forage, but since nothing grows there the expected forage amount decreases with each hour; after twelve forages, it’s no longer better than Horse Hills.

Goat Grove

Goat Grove is in the process of a slow-rolling ecological disaster. It starts by 10 + 1d4 + 1d6 food per forage (for an Expected Value of 15 food per forage), but begins linearly declining on day 7; by day 13, it’s no longer better than Horse Hills.

Rooster Peaks

Rooster Peaks spends most of the game with a suboptimal 1d6+1d4 yield. However, after Day 43, the roosters come home to roost, changing the algorithm to “9+2d4, unless this 1d6 rolls a 1, in which case 0” for an EV of 11.66.

Tiger Forest

The most edible things in Tiger Forest burn bright enough to see only in the darkness of the night; while it’s suboptimal for most of the day, it beats HH/​GG/​RP on hours 22 and 23 of each day.

Dog Valley

Conversely, Dog Valley’s resources are most easily foraged in bright sunlight, which is only available in the valley’s base at midday; it beats HH/​GG/​RP on hours 12 and 13.

Everywhere Else

The other six locations are varying levels of suboptimal. They also have no chronological or behavioural effects. Of special note is Dragon Lake, which always produces 0 food because Dragons aren’t real.

Reflections

This microproject was originally slated to be something much grander (a milliproject at the very least, possibly even a centiproject). I had visions of an endless chain of increasingly hostile and complex roguelike-random contexts through which the protagonist could be chased[1], balancing exploration against exploitation and risk against reward until they were finally inevitably caught (at which point the player could try again with a new seed) . . .

. . . and then I built a prototype, and gave it a test-drive, and noticed the central conceit just wasn’t strong enough to support the rest[2]. So, I posted what I had and called it done. Hopefully it provides value as a novelty, and as a vague gesture in the direction of the kind of rationalish inferencey interactive thing I’d like there to be more of.

In retrospect, I think this endeavour was doomed from the start. It involved working with tables of numbers, without requiring or developing relevant skillsets: this gave it a comically small target audience even relative to my other work (sincere thanks to noggin-scratcher, Yonge, and Martin Randall for constituting this audience, and for their thoughtful comments). Next time I set up a VOI/​experimentation problem, I think I’ll either

  • Expand and complicate it to the point where spreadsheets become advisable, and release it as a D&D.Sci scenario,

  • Build it (or, most likely, several its) into an actual capital-g Game where the relevant calculations are some combination of automated/​abstracted/​absent, or

  • Write a story in which the viewpoint characters solve it.

Feedback is, as always, greatly appreciated.

  1. ^

    . . . which would, for those keeping score, have made this a multi-armed non-stationary bandit problem.

  2. ^

    If you disagree on this point, I enthusiastically encourage you to prove me wrong; all relevant work is public domain, and I’d be more than happy to help by playing playtester