Ok. So Morale is widely accepted to be crappy at the moment. It has stupid effects like stopping you from crafting (why?) and it ticks so fast that you more or less have to dedicate yourself tirelessly to maintaining it for it to have anything other than an incidental effect.
Basically the morale system needs an overhaul, or it needs to go.
I was thinking, though, that the main problem with the morale system seems to be its short-term focus. After all, it’s both unrealistic and annoying that you should have to counter the effects of being wet by taking a couple of shots. It’s also odd that reading a wonderful novel makes you less happy than eating some crisps.
So rather than a short-term morale system, which makes players spend about 90% of their time at or around 0 morale, why not introduce a more long-term one?
Basically, morale could become a function of how comfortable your life is. Eating crisps won’t do much for your mood if you’ve just been rained on, but having a bag of crisps every day - i.e. having access to tasty snacks - would have a longer term positive effect on your mood.
Likewise, reading a good book probably wouldn’t make you walk away feeling happy if you’d just stabbed a child zombie in the face, but in the long-term, an active reader would probably have a healthier, happier time of it.
Essentially morale would become a measure of your character’s long-term emotional wellbeing. It would tick up or down in small increments based on any number of factors, and the challenge for the player would be to make sure that the positives outweight the negatives in the long-term, so that the morale counter ticks upwards, rather than downwards at the end of every day (or however long we choose to make it before it ticks).
So here’s an example of a typical few days for a player:
Day 1:
Eats crisps
Drinks some booze
Only tired for an hour before bed
Listens to music
Reads book
Sleeps in comfy bed
Eats cooked meat at the end of the day
BUT
Gets rained on
Is hungry for 5 hours straight
Only drinks water
Spends a lot of time in pain
Morale goes from 0 - 1, because on balance, the day was more good than bad.
XP gain is slightly increased
Day 2:
Eats crisps, chocolate, candy
Drinks beer and tequila
Smokes weed
Reads book
Stays dry
Stays quenched and full
BUT
Kills child zombie
Morale goes from 1-3, because on balance, the day was excellent.
XP gain is now at a reasonable pace
Day 3:
Drinks apple cider and orange juice
Stays dry
BUT
Gets badly hurt
Kills child zombie
Is hungry all day
Sleeps on the ground
Morale drops from 3-2
XP gain is still reasonably high
Basically, the system aims to reflect how good life is for the player on balance over time, rather than reflect momentary boosts from pretty trivial things. The actual numbers behind morale can remain more or less the same (although I think we’d need to add in some more bad effects, because at the moment those are fairly uncommon), but what has changed it the way these are reflected. The system becomes about maintaining a day-to-day quality of life for the player.
It might also be worth setting the unmodified morale change to a negative, because it’s after the apocalypse, and players shouldn’t be able to just stay super-happy if they’ve done nothing to help themselves. Likewise, it should get harder to maintain and increase morale past a certain point (much like with skill rust, actually, only less rage-inducingly frustrating :P) so that effects like euphoria (which currently lasts about 8 seconds) might last for whole days at a time, but would require careful planning and stockpiling of luxuries to sustain.