Nutrient Paste Dispenser needs rework

Started by Morrneyo, January 08, 2018, 07:36:56 PM

Previous topic - Next topic

Harry_Dicks

#15
Does no one here have an NPD setup for their prisoners? Let them feed themselves and save your wardens from making trips. Have the ass end of the NPD going through a wall to hoppers that you can easily refill, with a fridge of produce right next to it.

I still think it would be really cool to have "policies" that you could enact, similar to what the poster above me mentioned. Let me have say the NPD use 50% less electric, but the mood debuff is an extra -2. Or have it use 100% more electric, and you can make meals from it that don't expire. You could seriously do so much cool shit like that with pretty much any system in the game. At least give the modders a system that they could easily manipulate colony wide bonus/malice or being able to edit verbs, comps, or whatever with whatever on the fly.

XeoNovaDan

Don't forget that nutrient paste meals also never give food poisoning, and we all know how crippling food poisoning is. That gives it another use of being a great food option if you don't have any skilled cooks - admittedly an unlikely scenario with the right colonists, whether lucky with the pool or if you rolled an ideal team, but it's a viable use.

lancar

Quote from: Harry_Dicks on January 17, 2018, 11:41:36 AM
Does no one here have an NPD setup for their prisoners? Let them feed themselves and save your wardens from making trips. Have the ass end of the NPD going through a wall to hoppers that you can easily refill, with a fridge of produce right next to it.
This is literally the only thing I use my NPDs for: feeding prisoners.
It saves a lot of work for the wardens, and prevents prisoners from getting my good meals. Mood is nowhere near as important for prisoners as it is for your colonists, after all.

Honestly, I thought everyone did this :p

AileTheAlien

#18
I've been trying to mod in a reworked NPD yesterday night and tonight, but I've hit some problems:
- Cannot be made to work without "bills" like the current NPD. This appears to be hard-coded to only allow a single building type to work without a cooking recipe making this food, the current NPD.
- "fuelConsumptionRate" appears to be bugged and have zero effect.
- "consumeFuelOnlyWhenUsed" also appears to be bugged, and always work like it's a stove, and not something like a torch which constantly burns. Maybe hard-coded to look at the base item, like a stove / bench?
- the "drawSize" and "size" both appear to break whether or not you can interact with the building / cook anything. This one seems really messed up. It was working briefly, then after changing the graphic, it was no longer interactible. Maybe the save game gets corrupted? I don't know...

Given these current limitations, I can only make a limited, worse-than-the-default NPD:
- food/"fuel" cost has to be controlled by slow dispensing times (very unlike current NPD), or
- food/"fuel" could be controlled by making normal recipes, which would make pawns haul ingredients onto the NPD and not into a hopper or into a fuel-gauge like chemfuel power plants, but would allow fast "cooking" times, and exact costs, similar to current NPD
- maybe the graphics don't work, or it will randomly stop working to cook meals? ¯\_(ツ)_/¯
+ could have different recipes, but maybe they'll stop working randomly due to glitches (didn't put in enough time to test what was going wrong here...)
+ could have different "fuel" types for separate NPDs. e.g. A vegetable-only NPD, or a human-meat-only NPD
+ can set the graphics properly, but maybe everythign will break because of bugs

I'll maybe try this again tomorrow, looking at what other cooking/production-building mods are doing, but right now I'm going to finish this up and watch a movie.  : )

Harry_Dicks

You guys should check out the mod in the WIP mods forum, can't remember the name of it, but it's kinda like an NPD system that you set up colony wide, like an electric network, and it can send food to any connected terminal on the network.

AileTheAlien

#20
Quote from: Harry_Dicks on January 23, 2018, 03:58:39 PM
You guys should check out the mod in the WIP mods forum, can't remember the name of it, but it's kinda like an NPD system that you set up colony wide, like an electric network, and it can send food to any connected terminal on the network.
I believe you're referring to the one you already linked on page 1. That looks reasonable for a mod, but without any comments explaining what each XML tag in the base game or the mod does, I can only guess and hope for the best. Looking again, there's a couple of tags in the mod that look like they're not specific to the C# code in that mod, which I'll try out again when I've got time. Namely, designationCategory appears to be hooking it up to the C# defs, but might be one I need to include to hook my NPD up to the base game's definitions. Also, building/fixedStorageSettings, building/defaultStorageSettings, building/nutritionCostPerDispense, building/soundDispense, building/wantsHopperAdjacent look relevant. I'd tried a couple of those to little effect, but I don't have any docs on what's required, mututally-dependent, etc, so I'll try them all out as a group too.

If I have time and need to can probably whip up some C# too. The guides in the mod forum I saw were for Windows / Visual Studio, so I'll have to see how hard it is to get a project compiling properly with Mono if I need to go down that route. C# itself is a fairly good language, but I don't have a Windows machine, and I know from work that getting something set up with Mono to match a VS project isn't completely straightforward. (And I'm mostly a non-C# dev.)

That being said, I should be able to at least get something workable with only XML. I say "should" because that other mod doesn't seem to be doing much in its XML that I wasn't doing, and the C# (that I looked at) doesn't seem to be needed for this thread's more basic purposes. I also say "should" because when I was changing a single line at a time to make slightly more changed NPDs, at some point I'd randomly get something that didn't work anymore, and when I reverted the latest line I didn't get my most recent working behaviour back. Now, I wasn't using any version control (Git was harassing me for username and email before I even cared about going online somewhere...), so it's still possible I just made a mistake and was changing more than one thing at a time. Still anoying and slow work though.  : )

Harry_Dicks


patoka

#22
ATTENTION
dont read the following comment if you get offended easily by impoliteness. the comment was created with humour in mind. please forgive me for this.

umm...the only explanation to this thread can be that i am a pro (which i am not) and you guys either suck or have never put more than 5 mins of thought into this machine. and come on. that cant be. so first of all to me the most important use is on the sea ice biome. you save such ridiculous amounts of food, energy, steel (to build) and time to cook, you dont even have to pay for it with a long research time. it is the PERFECT machine for sea ice survival and i am pretty sure most people use it in deserts and ice sheet aswell, at least for a while. i honestly believe survival is impossible without it on sea ice, maybe even other biomes. sure the debuff is pretty harsh for a meal that contains all nutrients (so no additional debuff for using it for a long time is logically possible) but it is way better than eating dead animals or raider corpses.

all this said, if i started a normal game lacking a decent cook, i'd just research this real quick. (tribal starts give you 5 pawns. it is nigh-impossible to not get a decent cook) it is so cheap and easily available. to be fair, it took a while for me to realize its true potential, but i havent looked back since. i use it for prisoners that i keep for organs, i use it in emergency situations, i sometimes use it longterm. it can really jumpstart your colony because you dont waste your time with cooking. no need for cooks, no need for (electric) stoves, no need for a clean room. and it never poisons you, it's better than a level 20 full bionic cook cooking in a sterile room. and food poisoning is much worse than bad mood. you can use the time you gain from not-cooking in the beginning and quickly build kickass rec rooms and dining rooms, maybe even an early fridge.

apropos fridge: am i the only one that builds his kitchen inside his fridge? with the same logic just put the damn nutrient paste dispenser in the fridge for the most part and let its meal-getting-part point into your diner, where people can get the food and immediately eat it aswell. it saves so much time. the hoppers are in the fridge so food in them doesnt spoil. hopper is empty too soon? wtf just install more hoppers they are practically for free. people run and fill it up too often with only a handful of food? then your hauling priorities are too high. fix that. if you have 6 hoppers installed they first of all shouldnt empty very soon. with 75 raw food each, that's a 450 raw food total, you can produce 75 nutrient paste meals. 75! with literal 6 hauling jobs and the tiniest bit of electricity and steel (and planning, i guess) 75 meals is a day's worth of food of like 30 pawns. keeping thirty pawns fed requires some pretty damn good cooks (which still poison their food from time to time) a couple stoves and a LOT of hauling aside from cooking. so 6 hauling jobs without even leaving the fridge (in many bases doors arent electric so leaving rooms is the slowest part of hauling) can feed an entire army for a day. 6!

ok before i sound like billy mays, let's address some actual problems. you cant give it orders to produce a whole slew of meals in advance so that you can take it on caravans. fair point. here it DOES show that it wasnt updated in ages. still, the old trick works like a charm, especially with 6 dispensers:
1) pick a hungry pawn
2) draft him
3) send him in front of the meal-getting-part
4) pause the game
5) undraft him
6) draft him
7) forbid all the meals on the floor, if any
8) repeat steps 5-7 until all your hoppers are empty or you have produced enough for for your trip. keep in mind, these meals hold for longer, as an additional upside.
9) if the hoppers are empty before you produced enough meals, unpause the game and haul some more raw food, then start over at step 1.

seriously, i just wrote an algorithm that even autists understand. cant be that hard.

and after this post i honestly doubt there is one person out there that knows what he's talking about and still in all seriousness claims that nutrient paste dispensers are too weak. maybe your playstyle doesnt require it. maybe you play basebuilder in temperate forests. but it doesnt take away any of this buildings amazing abilities. i didnt use it when i played base builder in temperate forests either. as soon as food becomes somewhat scarce, you better abuse the crap out of this building.

ps: i was really expecting a mod or someone who has a lot more experience than i do to explain this. maybe not even here, but to put a good ass explanation in the game when you click on the info screen of this building, or this thread will pop up over and over again.

pps: if i wasnt clear on this, i'll try again: nutrient paste dispensers are good as they are, the only thing they need is some kind of orders and options. make an option for not producing food in advance, only when needed (someone is hungry, he gets the food) and so on. i am sure tynan will figure this out just right.
surely you dont need to rebutcher corpses that you already half butchered if you leave the table to smoke a joint real quick?

AileTheAlien

#23
Quote from: Mehni on January 10, 2018, 07:40:05 AM
Quote from: Granitecosmos on January 10, 2018, 06:54:44 AM
This is a legit problem. Should be fixable if devs extend the storage area options and give us options to fill tiles only if the maximum stackable amount decreases under a certain percentage (or flat number).

That already exists, and the number is 25. They won't refill a hopper unless there's space for 25 ingredients.
I just tested in a vanilla game with debug mode, and people hauled when the stack was at 69/75 (one meal dispenced). So, it's possible there's a bug that's causing pawns to haul more often than they should be. Even if the hoppers worked bug-free, I feel like they'd still be too fiddly, for a machine which is ostensibly supposed to be the low-effort alternative to a stove. Namely, you need to set up at minimum two buildings (NPD + one hopper) compared to the single building which is a stove. So, I'll continue my efforts at a chemfuel-like NPD. (Too bad I had the flu yesterday still have the flu today...)

Quote from: patoka on January 28, 2018, 01:13:20 PM
(A lot of text, most of it condescending.)
The things you wrote seem to indicate you didn't actually read this thread. If you had, you'd see that there's only a few people who think NPDs need a buff, and there's already other people showing the merits of the NPD in its current form. The rest of the thread is about how to fix the very real annoyances that come with the NPD's current implementation.

Harry_Dicks

#24
Quote from: AileTheAlien on January 28, 2018, 06:33:09 PM
Quote from: patoka on January 28, 2018, 01:13:20 PM
(A lot of text, most of it condescending.)
The things you wrote seem to indicate you didn't actually read this thread.

The condescension is definitely one thing. If you want to voice your suggestions, and get people to support your ideas, I would recommend a different approach. Also, if you can't even give two damns to use proper capitalization in your forum post, why should anyone else give two damns to read it, let alone even acknowledge you?

patoka

#25
Quote from: Harry_Dicks on January 28, 2018, 07:14:01 PM
Quote from: AileTheAlien on January 28, 2018, 06:33:09 PM
Quote from: patoka on January 28, 2018, 01:13:20 PM
(A lot of text, most of it condescending.)
The things you wrote seem to indicate you didn't actually read this thread.

The condescension is definitely one thing. If you want to voice your suggestions, and get people to support your ideas, I would recommend a different approach. Also, if you can't even give two damns to use proper capitalization in your forum post, why should anyone else give two damns to read it, let alone even acknowledge you?
dAmN, SoRrY, mAh MaN
i WiLl TrY tO wOrK oN tHaT

@everyone else: actually legit sorry about my attitude there, i shot over the aim there. shoulda been nicer in formulating my points.
(and now my stubbornness will show, get ready)
still. my point still stands. if your pawns go hauling after every meal consumed, you might need to check on your work tab. animals could do that work for you, why waste your pawns on it? if you past-ify meat only, you can use any herbivore to haul it, if veggies-only, use wargs. put appropriate zones and they will solve the hauling issue on their own. if you happen to get many hungry pawns at night when all your pets are asleep, just send some to haul REAL QUICK. i mean ideally the hoppers are already in the fridge.

to come to your point, i DID understand what you guys were talking about and quite honestly most if not all suggestions seemed to me like implicit buffs to nutrient paste dispensers. i thought my wall of text was understandable enough for that. sorry for the hassle. a typical issue of mine. or do you wish for me to elaborate on why i believe those suggestions were hidden buffs? (i guess i dont have to explain that the suggestions you made and already declared as buffs are too much in my eyes, aswell)

User was banned for breaking rule 2 in another thread. 3 weeks vacation for anyone who doesn't heed rules.
surely you dont need to rebutcher corpses that you already half butchered if you leave the table to smoke a joint real quick?

Grubfist

I'd like if you just filled up an internal buffer for a nutrient paste dispenser, and it immediately made it into paste, which did not rot, and the buffer could hold maybe 5 or 10 meals? Or even get a research option/support structures to hold more paste?

Upon discovering how the paste dispenser worked, I immediately decided it was too much effort for too shitty of a meal, and have never used it. Eating raw food is practically the same result with less effort and more efficient storage.

AileTheAlien

Quote from: Grubfist on January 29, 2018, 12:41:00 AMI'd like if you just filled up an internal buffer for a nutrient paste dispenser, and it immediately made it into paste, which did not rot, and the buffer could hold maybe 5 or 10 meals?
This would basically be the same as how chemfuel generators work right now, correct? That's one of the options discussed, and one that I briefly had working (sort of).

I tried again this weekend to get something working with just XML, but it appears that none of my pawns can interact with the new NPD to craft a meal. I even tried to just make a simple mod of a stone-cutting bench to see if I was just making a simple mistake somewhere. (Basically just a new bench with a different name in the XML, and only one stone recipe in its list.) I'll post in the modding help forum when I get time to put my stuff up on Github and make notes of what I was trying...

Grubfist

Quote from: lancar on January 18, 2018, 02:47:39 AM
Quote from: Harry_Dicks on January 17, 2018, 11:41:36 AM
Does no one here have an NPD setup for their prisoners? Let them feed themselves and save your wardens from making trips. Have the ass end of the NPD going through a wall to hoppers that you can easily refill, with a fridge of produce right next to it.
This is literally the only thing I use my NPDs for: feeding prisoners.
It saves a lot of work for the wardens, and prevents prisoners from getting my good meals. Mood is nowhere near as important for prisoners as it is for your colonists, after all.

Honestly, I thought everyone did this :p

Using electricity on prisoners?!? Usually I just put a wall and door on an old mine shaft, cram as many resting spots as possible into it, then shove them into it and set one or two to be fed so they fight over the food the warden brings in. It keeps them all nourished enough to live until I can sell them into slavery.

One time I put a huge 2x2 statue of one of them being relentlessly beaten with excessive force when being captured into the room with them for them to appreciate.

Harry_Dicks

Quote from: Grubfist on January 31, 2018, 04:52:41 PM
cram as many resting spots as possible into it, then shove them into it and set one or two to be fed so they fight over the food the warden brings in.

Holy shit they will fight over food?! Or you just mean, they all run for it once it hits the ground?