Gathering and Foraging

I’ve been tossing this about in my head all day and now I’m making it your problem too.

So in survival-crafting games like Minecraft or Subnautica, hunting around for materials is a major part of the experience.

I’ve been wondering how such a game might be handled as an IF experiment, likely as a parser.

However, something that occured to me was that the hunt for materials might be something that works better in a visual environment. I’ve been having difficulties trying to figure out how to make the process of gathering materials and crafting with them be fun or satisfying in a text-based and turn-based environment. A lot of these crafting games leverage the fact that you need to visually search in a large 3D space in realtime.

These mechanics kinda stop making sense or seem overly tedious in an IF environment.

Anybody have any thoughts or counterpoints? If you were to make a survival game as IF, would you streamline or ditch the gathering tasks in the game for something a bit more fitting for the gameplay style?


Ooh, I love those types of games! You would normally place the player in an environment where they have to survive harsh conditions and/or escape from that environment. You can develop a really nice story around this scenario, but it’s hard to come up with something that’s completely original. You would need to provide some in-game hints as to what needs to be done. For example, you may find yourself at the edge of a cliff and this reminds you of your days as a hang glider. “Hmm, I wonder if I could make a hang glider?” Making a raft or repairing a boat to escape from an island are common scenarios.

Once you have an idea of what you need to do or to make, you need to find and craft all the components. The environment will determine what you can find. Think MacGyver.

I have done something similar in a couple of games. In ‘Acid Rain’, you had to find all the components to make an electronic door opener. This was really old-school. You had to find a list of components, read a book on electronics to gain some knowledge, then find all the components and some tools hidden around an old house, solving puzzles along the way and uncovering a murder mystery in the process.

In ‘Santa’s Trainee Elf’ (not a survival game, but similar concept), you had to complete 10 tasks, 8 of which were making toys for children. You had to find out what each child wanted for Christmas, find out what components were needed to make those toys, then find the components. As it was Christmas Eve and supplies were short (because of Covid-19), you had to improvise on some components.


Ohhhhhh okay!! I’m really happy to know that there’s a precedent for this!! So instead of locating and regularly revisiting a reliable source of material, you instead need to find individual materials scattered about the map? Sometimes from recyclable items and such?

So, let’s say the player needs some amount of wood to craft something, they wouldn’t go to the forest and >CHOP TREE maybe 8 times to get 8 items of wood. Instead, they might find individual items of wood scattered around the map in various places, usually hidden away or requiring a puzzle to acquire?

Admittedly, the only thing I could come up with was requiring a bunch of puzzles to be solved to acquire food, which gives the player some calorie points. Those calorie points could be spent on searching various places and sources with increasing levels of thoroughness until it’s 100% certain you’ve found everything for crafting. This would require the player to solve puzzles, budget their calories, and maximize the materials that are found.

I really like what you’ve presented, though, and be used to greatly improve the idea. :smiley: This isn’t exactly research for an idea I’m starting now but it’s an idea that’s been cooking for a few months now, and might be another few months


hmmm… gathering (for building) can be another, and interesting new look to the venerable “treasure hunt” plot.

but I’m a bit against foraging, the hunger daemon must remain banished ! :smiley:

Best regards from Italy,
dott. Piergiorgio.


Yeah, this is exactly the problem I’m seeing. A lot of visual survival games have the “hunger daemon”, and I get where it came from, but even in the visual real-time medium it gets very tedious to deal with.

This is why I’m trying to find many different approaches to this kind of game, because I’m fully expecting hunger management to be an absolute nightmare in IF.

That’s why the calorie idea would be for doing only certain tasks, like in Animal Crossing: New Horizons. You don’t need to eat to survive, but you need to eat to do certain tasks.


I believe some card games handle it in this way:

  1. you “explore the space” by drawing a card.
  2. The card can give you some pretty sweet materials or an encounter with a baddie.
  3. Repeat from 1.

This solution keeps the “foraging” mechanic intact, but of course sacrifices the “explore the space around you” feeling one (which is important in games like Minetest, Minecraft, etc.). In the end it is your choice, which mechanic to keep, what to discard.

I am curious to see what you will come up with!


Ohhhhh, so by introducing a risk when exploring a space, you make the player wonder if it’s worth spending another turn on exploring?

EDIT: I feel like each space would need to have a pre-initialized random number pool to iterate through, similar to a deck of cards. That way if the player uses > UNDO, then the same result happens if they try again. Alternatively, attempting to > UNDO immediately after getting an encounter might cost the player extra, so they can’t just explore until they get an encounter, then > UNDO before simply leaving.


If this is purely a game of survival, then do a bit of research on the subject. If you’ve been in scouts or guides or similar, then you should know the basics. Otherwise, watch a few episodes of those Bear Grylls shows (or similar) for inspiration. The techniques you use to survive depend on the environment and what you’ve got to hand. Man-made things like a broken-down car or a crashed plane provide a wealth of materials and tools that you can use.

The main things needed for survival are food, water and shelter. If you’re lost in the bush for months, then these are probably the only things that matter, but that would be a pretty boring game.

Hunger and thirst daemons are unpopular, but only if they’re recurring things. If you only need to find food and water and that’s enough to keep you going for the rest of the game, then that’s okay. Consider all the different ways that you might find water. Is the water drinkable? It might be salty or dirty and needs to be purified. How would you do that? You might need a container. Remember that your players may not have any survival skills, so you will have to provide some in-game hints or allow multiple ways of finding water. Ditto for food. Is it raw food (roots, nuts, seeds, berries, fruits etc.) or food that needs to be caught (fish, snake, wild pigs) and cooked? Catching wildlife implies making tools or traps. Cooking implies needing to light a fire. Perhaps you only need food to build up your strength to do some other task, similar to your calorie points idea.


Huh. The card thing makes think of the Carta tabletop role-play system (with cards): some of the Carta games have you do the thing on the card each time you pass through it: so the first time you traverse a card it’s an unknown space, but then you can plot your path through the known space based on its benefits or costs. Some of those games were pretty simple and fun…


Yeah! :smiley: I was in scouting when I was growing up, and have also seen a lot of Bear Grylls and Alone (as well as research on neolithic techniques and the such).

(Admittedly I’m the exact opposite of outdoorsy, but I still have the info!)

Admittedly, the sort of survival stuff I had in mind was more like the Martian (because of course that’s where my brain goes), where the player is more trapped within their own technology, and are trying to maximize what little they have, in order to stay alive. I feel like survival skills are still necessary here, though, because you still need to be aware of what’s necessary to live, even if you’re trapped in a stranded habitat.

I really like the idea of effectively setting up a reliable food source, so that it’s not a recurring problem in the game. Or, at least, making sure it’s not a constant thing to replenish!

I’m also realizing that a lot of things that are treated as game loops in visual games could be broken down into a series of puzzles instead. Thanks for helping me realize that!

(Excitedly writes notes)

I’m wondering if there’s a way of hybridizing the approaches. Maybe when the player is exploring, they aren’t just finding the necessary materials, but instead are finding new puzzles or pieces to solving another puzzle. So it’s less “checking items off of a list” and more “do I have everything I need to solve this, or do I need to risk searching some more?”


Excellent example.


I think in a more Martian-style game, the hint system might be done like the player was streaming information packets. You could request one, but it would explicitly be a hint system, and there might be a delay before the hint arrives, but the hint would be in the form of a blueprint, maybe.

Like an in-lore downloaded article that explains how a device or concept works, to get the player’s brain churning a bit on what might be possible.


Puzzles are one way to acquire materials, another is to defeat an opponent and or monster. The King (or someone) can reward you with XYZ material or gold, and/or perhaps you defeat a cyclops at the entrance to a cave, and inside the cave is a bounty of xyz materials.


I recently played Roadwarden, which is a hybrid text/choice-based RPG with some survival elements. (It’s illustrated but most of the interaction is text.) I think it’s a good example of making this work.

  • The health and inventory scales are coarse-grained. For example, your health and hunger stats run from 0 to 4 – “very low, low, medium, high, full”. (And 0 health doesn’t mean dead; it just means you’re too weak for some tasks.)
  • Because of this, every item you find is significant. Gathering one bush’s worth of berries is a meaningful story event. Walking to a place where there are berry bushes is also a meaningful story event. (Stuff might happen along the way!)
  • Because of this, every action can be a hand-written story interaction. It’s not like “press the gather button anywhere, get some food”. You’re in a specific place with berry bushes, but the sun is going down and you hear rustling nearby. Do you want to pick berries, scout around the area first, or high-tail it back to town before nightfall? The game has lots and lots of these little storylets.

The game also leans heavily into unique items. There are some generic items which can be found in multiple places (“travel rations”, “gathered fruits”, “a raw fish”, “one arrow”) but most of the game involves specific items which are part of a (hand-written) story. A letter from Bob to Steve. The key to a sealed mine. A koi fish of a specific breed that someone asked for. A stone imbued with magic.

This is a high-effort style of game to author! But it works well for the format.


I think ‘Road Warden’ is a labour of love. For several years, the author was providing regular development updates on one of the Facebook IF groups, to the point where it was getting annoying. Then he was quiet for a while, then started up again, then BANG! it was released. From what I’ve read and seen, it sounds like all his hard work has paid off.


Unless you want to get very simulationist, it helps to break your resources into some universal currencies narratively. In Cursed Pickle there were a lot of stats, but for foraging I limited it to the player randomly being awarded cash (like they found money on looted corpses) healing items they could use later, or “vendor trash” they could sell for money for instances like looting a non-human corpse that wouldn’t have money on it.

You can go very QBN and write flavor descriptions for texture, but they all use the same currency: “You found a handful of nutritious berries!” goes into healing items. “The dead crab seems to have hoarded a collection of string and metal bits” goes into vendor trash so you’re not bogged down with the inventory being “You have 16 bits of string, 20 metal bits, 14 pieces of plastic, and a partridge in a pear tree.”

There were also some quest items (like honey) that were specific, but the more specific stats and item-sets you’re tracking the more complicated it gets.

The shooter game CONTROL actually broke random loot into vague generic categories with names like ‘Corrupted Sample’ and ‘House Memory’ and ‘Remote Thought’ (which feels very “Fallen London”) representing knowledge and understanding the PC gained about their situation from exploration which could be randomly awarded for exploring nooks and crannies and would then be spent to increase personal or weapon stats. Ostensibly having something like 10 “Untapped Potential” narratively gave you the understanding of how to upgrade the unusual weapons in the game…or fly better.


I think the most important question to ask is, where does the fun come from?

In Minecraft, exploring is fun for me because I never know what I’m going to find next. There’s a whole new world to discover every time I play. And I also don’t know if I’m going to find the resources I need to survive the night. I have to do a bit of planning and strategizing.

And this is something you can absolutely do in IF! You can procedurally generate a world, if you want, or you can just hard-code one specific world. Write good descriptions to make it fun to explore, and place the resources carefully to make the player have to think and plan a little bit. (Or a lot, if it’s that sort of game.)

Arguably, these elements show up even in the very earliest adventures. The main gameplay in Colossal Cave is exploring an evocative environment and discovering new locations—while also strategizing to not run out of lamplight. I think this gameplay style could easily be adapted to gathering and foraging, though off the top of my head I can’t think of any games that explicitly did this.


I’m very glad I posted this here! ^^ I have a lot more to think about now!

1 Like

Instead of pre-rolling (and storing) a bunch of seeds, you can just use a seeded PRNG and some method of using a “global” seed with an index value specific to the room.

I’ve used this to implement (non-IF) infinitely-scrolling 2D worlds in roguelikes where all that needs to be saved is a single seed plus the state changes due to player action.

For the broader question of how to handle gathering and foraging…I don’t know what kind of general gameplay loop you’re trying to go for, but one model for doing this sort of thing that I haven’t seen mentioned in this thread is the one you usually see in idle/incremental games: gather a resource “manually” a few times and unlock something that allows you to gain that resource “automatically” but slowly, increasing amounts of that resource are required for additional upgrades that increase the rate at which it is gathered.

These sorts of mechanics probably don’t translate directly to an IF title (they could, but I question how many players would enjoy engaging with them), but the basic idea—you’re notionally always pursuing the same goal…gather more of the resource…but the actual mechanics of doing so are continually morphing into different tasks.


[quote=“Garry Francis, post:2, topic:59449, username:Warrigal”]
I have done something similar in a couple of games. In ‘Acid Rain’, you had to find all the components to make an electronic door opener.[/quote]

I don’t know how I never put that together, but I played Acid Rain and enjoyed it quite a bit, but I somehow never realized you wrote it. I think I played it before I made your acquaintance. Anyway, it might amuse you that I stubbornly died at least a half dozen times before allowing myself to be ushered off into the house. I even tried crawling under the car. Anyway, great game, I should go leave a review. Thanks for writing it.

Edit: Not sure why the quote function broke, but whatever. :man_shrugging: