Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SUS "specific use storage" 1: immersive and realistic randomized items for kitchens #29706

Merged
merged 64 commits into from
May 8, 2019

Conversation

I-am-Erk
Copy link
Member

@I-am-Erk I-am-Erk commented Apr 19, 2019

Summary

SUMMARY: Content "rational immersive and realistic item groups and storage furniture for kitchens, plus a lot of kitchen clutter"

Purpose of change

Your heart thumping in your throat, you pry open the window silently, crawling over the sill into the shadows of the house beyond. Through the sheer closed curtains, the light of the setting sun silhouettes the shambling body of one of the house's previous inhabitants, but it doesn't see you. You're safe, for now, provided you make no sound. You steal your way across the wooden floor, praying no aging wood betrays your passage. It's tense, but finally you find your way to the kitchen.

You're desperate. You could survive for weeks without food, but with clean water you'll die in days. The murky pond by your shelter isn't appetizing, but you have a fire. You could boil the water, let the murk settle out, and slake your gnawing thirst. Moving as eagerly as prudence will allow, you peer inside first one cabinet, then another. After a moment of frantic searching you tally up the yield:

A fork, a butterknife, a charcoal cooker, and a lawnmower.

It's only been five days since the world ended. Where did all the dishes go? Did someone seriously come in here and drag out every single pot and frying pan? How? WHY? And who keeps a lawnmower in the kitchen anyway?

Describe the problem for real though

Item groups are poorly suited to rooms where the loot wouldn't really be very random. Household items are the most obvious example, because we know what's in a house. Kitchens should have a full set of dishes in one cupboard, tableware in another, a cupboard with pots and pans. These wouldn't be looted and picked bare at the start of the game nor even really for months. The ratio of common household items to survivors is crazy now.

Solution

I've been thinking about this for a while and finally realized the solution is to make nested mapgen chunks that include the furniture part along with a correct distribution of items. This means mappers can plug either the nested mapgen piece of the item group in and get the contents of a "silverware drawer" or a "dishes cupboard". The groups will still have some randomness (eg "dishes" might give you a cupboard of glass or ceramic dishes) but it will produce something clearly recognizable as "oh, that's where the family kept their dishes".

EDIT: Due to the difficulty of putting nested maps exactly where I want, I settled for now with just making the item groups and putting them in all the common houses. That will have to do for the time being.

In the process I'm going to make tons of kitchen clutter. Enjoy your corkscrews, my friends.
UPDATE: In the process I also wound up rearranging items files to put kitchen clutter into their own sub-files, to avoid bloating the main tools and generic items files. Plus, I found a ton of inconsistency (butter knives were in melee.json while butcher knives were in tools, eg)

First pass will include

  • silverware drawer
  • dining dishes cupboard
  • pots and pans cupboard
  • junk drawer
  • utensils drawer
  • knife drawer
  • kitchen sink
    and items to flesh all those out with appropriate clutter.

Next pass will add:

  • tea and coffee cupboard
  • cereal cupboard
  • spice cupboard
  • appliances cupboard
  • pantry
  • wine rack

Describe alternatives you've considered

I'm not sure the nested mapgen part is that necessary. The item groups do the heavy lifting here. We'll see. The advantage to nested maps is that some can be chosen at random so the house could have either a tea and coffee cupboard or a cereal cupboard.

Additional context

Yak shaving. I need this for lmoe shelter kitchens. It's always something, isn't it.

Also to-be-added items for more kitchen clutter
@I-am-Erk I-am-Erk changed the title Add dishes and flatware cupboards SUS "specific use storage": immersive and realistic randomized items for kitchens Apr 19, 2019
"subtype": "collection",
"items": [
{ "item": "knife_butter", "count": [ 1, 6 ] },
{ "item": "knife_butter", "count": [ 1, 6 ] },
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wouldn't "repeat" be better for this?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't believe it works that way in item groups?

@Rivet-the-Zombie
Copy link
Member

Enjoy your corkscrews, my friends.

Rivet eagerly awaits the opportunity to stab her enemies with a corkscrew.

@ifreund ifreund added <Enhancement / Feature> New features, or enhancements on existing [JSON] Changes (can be) made in JSON Map / Mapgen Overmap, Mapgen, Map extras, Map display Spawn Creatures, items, vehicles, locations appearing on map Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. Items / Item Actions / Item Qualities Items and how they work and interact labels Apr 19, 2019
@geoff-parsons
Copy link

Love the idea! Would add the idea of a counter top group to include basic appliances (coffee makers, toasters, blenders, etc).

@I-am-Erk
Copy link
Member Author

I-am-Erk commented Apr 20, 2019

Yeah, countertop is a good idea... The problem is that if I have a random "countertop" group to cover all the counters, it may decide to spawn three coffeemakers and nothing else. Still, it'd be better than what we've got

@thethunderhawk
Copy link

I love it!

People keep cleaning supplies under their sink. If I were looking for bleach, soap, trash bags, rags, rubber gloves, etc, i’d expect to find some there. Also, that’d be a reasonable place to find a wrench or a pair of pliers.

Edit: clutter
Hot sauce, cheese grater, sponge, oven mitt, French press, coffee grinder, juicer, cutting board, creme brûlée torch, oven cleaner, nonstick cooking spray, shot glass, measuring cup, coffee filters, plastic wrap...

@I-am-Erk
Copy link
Member Author

I missed oven mitts, good one. Here's my list so far. I'm not going to get all of this in one pass though, I'm trying to get on to lmoe shelters. I'll probably add some advice for how to implement some of it too

*appliances
Stand mixer
Blender
Rice cooker
Slow cooker
Immersion blender
Sous vide
Ice cream maker
Electric mixer
Electric pressure cooker

*Tea and coffee
Tea strainer
Paper teabags
Coffee filters
Coffee grinder
Bodum
Espresso machine
Disposable coffee pod
Coffee pod machine
Electric kettle

*Knives
Chef knife
Paring knife
Carving knife
Carving fork
Bread knife
Sharpening kit

*Utensils
Garlic press
Juicer
Spatula
Turner
Wooden spoon
Whisk
Potato masher
Ricer
Rolling pin
Pastry cutter
Ladle
Slotted spoon
Serving spoon
Sieve
Sifter
Colander
Basting brush
Baster
Salad tongs
Sushi rolling mat
Skewers
Vegetable peeler
Grater
Mandolin slicer
Dry measuring cups
Measuring spoons
Liquid measuring cup
Can opener
Candy thermometer
Meat thermometer
Kitchen torch

*Flatware drawer
Silverware tray
Plastic knives/forks/spoons
Paper napkin
Cloth napkin
Plastic straw
Corkscrew
Bottle opener (snippets for descriptions)

*Dishes
Wine glass
Beer stein

*Fridge/freezer
Ice cube tray

*Junk drawer
Spool of string
Thumbtack
Paperclip
Button
Plastic wrap
Wax paper

*Pots, pans and baking
Stock pot
Loaf pan
Muffin pan
Cake pan
Pie plate
Baking sheet
Cast-iron frying pan
Cast-iron pot
Double boiler
Roasting pan
Pot lid
Kettle
Casserole
Steel bowl
Clay pot
Oven mitt

*Linens and cleaning
Tea towel
Dishcloth
Scrub brush
Scrubbing pad
Steel wool
Dish rack

*Kids (with snippet description for different random characters and animals)
Bib
Sippy cup
kiddie bowl
Kiddie plate
Kiddie utensils

*Tupperware
Water bottle
Sealable container

@adamkad1
Copy link
Contributor

Will we be able to use cutlery to eat like a PROPER person for even more morale bonus?

@I-am-Erk
Copy link
Member Author

I'd like that, but I'm not doing that in a PR based around item groups.

@ZhilkinSerg ZhilkinSerg merged commit fae402f into CleverRaven:master May 8, 2019
@ZhilkinSerg ZhilkinSerg removed their assignment May 8, 2019
@I-am-Erk I-am-Erk deleted the specific_use_storage_1 branch May 27, 2019 18:54
@ZhilkinSerg ZhilkinSerg mentioned this pull request Sep 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
<Enhancement / Feature> New features, or enhancements on existing Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. Items / Item Actions / Item Qualities Items and how they work and interact [JSON] Changes (can be) made in JSON Map / Mapgen Overmap, Mapgen, Map extras, Map display Spawn Creatures, items, vehicles, locations appearing on map
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants