Alpha 44

Major changes

 * A much improved colonist information panel that shows you what’s on the mind of your people and how it makes them feel — plus all the game mechanics to do with memories, emotion, madness, and character jobs that back it up.
 * Pubs to serve brew, Barbers to heal your wounds (this is the Frontier, after all), and much tinkering with the buildings backend to make workshops & offices stronger, faster, better.
 * More, better farming controls and food balancing!
 * “Tip Top” exotic caviar!
 * A lovely slathering of polish & tooltips all over the UI (and ongoing process)
 * Newly re-invigorated stockpiles, again!
 * (Continuing work on Secret Things, deep and dark.)

Offices

 * added first iteration of Public House & associated jobs for workcrew operating the Pub
 * added Barber (to heal afflictions) & associated jobs for workcrew operating Barber Shop
 * added new step styles determined per-building
 * Offices can now do internal “standing orders” to keep the office running when it is not performing an office service (for instance, putting drinks in the Booze Vat for safe-keeping.)
 * Barbers, Vicars and Publicans now have “service hours” automatically assigned when they are assigned to the corresponding building, in order to allow better service for clients.
 * “office” type buildings display a more descriptive title to text ticker now

Our use of “offices” refers to workshops that don’t take in commodities to produce other commodities. Rather, they’re building that a work crew is assigned to so that it may carry out a specialized task. Offices include the Barracks, Pub, Barber, Naturalist, Chapel, Mine, and Laboratory.

This month, we implemented a ton of backend code in support of more complex behaviour from workcrews assigned to these types of buildings as well as support for more complex interfaces to control their behaviour and get information about their state. A simple example is how the Pub will display how many pints it has stored; more complex (and forthcoming) is the ability to control soldier weapon loadouts through the Barracks UI. Major game-facing additions include the Pub which serves booze to workers to make them happy and the Barber who can heal colonists of afflictions.

Buildings/Economy/Stockpiles

 * “office” type buildings display a more descriptive title to text ticker now
 * buildings now have grayed out icons if player doesn’t have minimum construction requirements, tooltips with red text indicate what is needed.
 * workshop recipes can now be grayed out or hidden based on whether required modules are present in the workshop. Tooltip changes to reflect what is needed. (roll-out to other workshops in-progress)
 * graveyards now have tooltips, as do farms without a selected crop
 * balance: changed one overseer to a labourer in all loadouts
 * FIXED: engine would draw building shadow when mousing over it during construction mode
 * FIXED: modules placed in the corners of buildings such as ovens would cause problematic building geometry and geometry explosions
 * FIXED: people will stop trying to find closer crops to haul to stockpiles once they check their first stockpile
 * FIXED: issues with various job requirements (require_smart_object and require_container_object) causing various problems with stockpiles
 * Rewrote stockpile handling code again to more thoroughly fix everything

We made a big push here on giving the player the information required to make important decisions. Of note, buildings will display what is required for construction and we have the ability to make workshop recipes grayed out until their requirements can be fulfilled. This bakes in to the UI answers to questions about “what do I need to do this”.

(And finally killed the corner-module making buildings disappear bug. It was a pain, and a pain to fix, but it seems like one of those problems that every new player runs directly in to.)

Finally, stockpiles. I’m just going to paste in a block of text that appeared on our changelog but is not appropriate for a bullet point:

In the old version, we searched by stockpile, and it might end up happening that a far away good would end up in the closest stockpile to the colonist, causing colonists to put things in odd stockpiles. In the new system, we consider the closest good in each filter category to the colonist, and perform a breadth-first search versus all stockpiles looking for the hauling routine that minimizes total walking distance for the colonist (i.e. “distance from colonist to good” and then “distance from good to stockpile.”) This means that, for instance, if you put a stockpile next to a pile of far away resources, and a stockpile in your home base, colonists will attempt to fill the far away stockpile with the far away resources before trying to lug them all home.

Farms & food

 * added “Basic Brew” recipe to breweries (this job ill auto-brew valid ingredients)
 * merged Brewery into Kitchen. They have become one! Power overwhelming!
 * Farms are now directly assigned work crews. A work crew can work on and operate multiple farms.
 * disabled farming Workcrew filter buttons to reflect new assignment control for farms.
 * added tooltip text to farm crop information icons
 * balance: eating cooked food now totally resets hunger (so you don’t have to climb out of a huge hunger deficit as soon as you start cooking food – when a player started cooking food, colonists would consume more than expected to get their hunger down, so cooking appeared to be an inefficient solution to hunger)
 * balance: farming made very slightly easier
 * balance: made small tweaks to how long it takes to cook things
 * balance: pumpkin is now a mechanically distinct crop from corn and has its own stats

The idea with these changes is to make the food economy simpler to manage, more efficient overall, and just a touch less punishing. The real big change is the fact that you must assign workcrews to farm fields directly rather than being left to the mercy of whichever random work crew happens to pick up the assignment — now players can really control the skill of the overseer and number of workers assigned to a particular field.

Colonist memories & related UI

 * performed visual cleanup of character information panel layout & implemented some pretty new UI art
 * character ui: memories now have borders to show significance of memories relative to one another
 * character ui: made emotion bars longer
 * implemented “short term memory” functionality: the most recent memory will always contribute to overall emotional state even if less important than others. If another memory is created, it can push this memory outside of consideration if all other memories are more important.
 * balance: performed significant rebalance to the values of most of the memories in the game (includes emotional and madness values)
 * FIXED: some memory related bugs
 * FIXED: missing memory case for when Fishy individual is attacked by Fishpeople
 * FIXED: will no longer receive memories for “murdering” animals (TODO: unless vegan)

This month follows up nicely on last month’s start on overhauling the character info window. The idea here is to display memories, their effect on overall mood, how long they’ll last, and perhaps hint at what the player can do to resolve the problems of colonists who are having a really bad time on the Frontier. (Or not, depending on what you’re going for.)

Night-time, socialization, & work scheduling

 * night has been made lighter (so you can actually see anything)
 * sleeping people given smaller sight radius
 * if objects are damaged near a sleeping colonist, the sound will wake them up
 * balance: sleep time reduced by 25% to make nights more Interesting
 * balance: characters now get 3 shifts off by default instead of 2 (to give them more time for non-work actions)
 * balance: characters get upset for overwork at 1 fewer subsequent workshifts to reflect the rebalancing of workshifts
 * balance: did review & rebalance pass on relative utility of all “social” jobs

With the effects of colonists’ memories on their mood clarified both in game effects and UI, we’re now giving them more time to carry out actions caused by their moods in off-work hours. (Plus if all you did was watch people sleep at night it’d be kinda boring.)

Corpses

 * colonist corpses should no longer try to initiate burial job there are still hostiles nearby (note: if hostiles leave and come back, you’ve still got a problem)
 * overriding auto-burial of a corpse with manual controls will make corpse will only respond to manual orders for burial/dumping from that point forward
 * bandit corpse policy event can have “no answer” selected & will fire no more than once per day
 * balance: (all) corpses no longer spawn infinite vermin
 * FIXED: performed overhaul of handling of all jobs that affect the corpses of all types of characters (burial, dumping, butchery, dissection, etc)
 * refactored details of death script for all agents so that common actions/tagging is all handled by base “agent” class; also cleaned up all searches/jobs looking for corpses to use consistent terminology

Corpse handling was a bit messy. Now it’s been cleaned up – bodies will be disposed of in exactly the manner the player orders, every time. And various policies can be set, and they will be respected unless manually overridden. The unending tide of vermin from corpses has also been halted – it’s still a problem, but not a Plague of Egypt level problem. (Tangent: Just got an idea for an eldritch event, just going to write this down real quick … )

Characters, misc

 * added ability to change character names; players may now subject their friends and family to The Frontier Life
 * workers in a workcrew will change uniform to match their overseer’s highest skill, if applicable
 * added more random names
 * Cultist vicars handle confessions … differently.
 * improved text parsing so eg. an event can parse text to be subjective to an involved character and sub in correct name & pronouns
 * custom character name length now limited to avoid Problems
 * colonist choosing to commit murder decision making made more sophisticated (& scripted process to move to this state is now cleaner)
 * added an alert the first time someone sleeps on the ground to inform you that you should build beds
 * balance: people recently involved in combat will be less inclined to stomp beetles to avoid character confusion during combats
 * FIXED: a colonist that attacks an animal due to hunger will attack it until it is dead, then will butcher it (rather than being non-committal about the whole matter)
 * FIXED: unclear status of longpork ownership after people are butchered
 * FIXED: people making friends or rivals with themselves
 * FIXED: people making friends or rivals with the same person multiple times
 * FIXED: tooltips broke for characters after they change class and get stuck (incorrectly!) on the same job
 * FIXED: characters with renamed names using old names in some events (other bits of game logic)
 * FIXED: dark and red UI portraits for characters (gamma correction)
 * FIXED: people trying to shoo vermin beetles rather than squishing them (again)
 * FIXED: errors in a number of memories that caused them to display the wrong character name
 * FIXED: some desires were unfulfillable & used incorrect icons
 * FIXED: added pathing check to require_gameobject to see if an agent can actually reach an object
 * FIXED: bug that was keeping afflictions from being removed by the barber
 * character name parsing now done as a step in sending strings to the renderer rather than baking it into stuff, to allow for better dynamic parsing once names etc have been changed.

This is a catch-all category; changes of note are a cleanup of scripts to handle colonist renaming more consistently, some tangential bugfixes from character memory balance/development, and making sure strange event cases create the correct consequences.

Fishpeople

 * added Fishperson nesting mission
 * thus: exotic caviar re-added to game (and given new, unique effects)
 * added Fishpeople Convoy event
 * added more response options to Fishperson Vandalism event
 * Fishpeople made much more likely to run when hassled by military, though there’s a chance they will become enraged & attack
 * added Fishpeople egg collection mission & event
 * if Fishpeople see humans near their eggs, they will attempt to scare them away
 * added Egg Collection mission for Fishpeople
 * made fishperson crisis events slightly more willing to pile up (to avoid lost crisis events)
 * FIXED: soldiers should no longer hassle fishpeople who are already fleeing
 * added various consequences to plundering Fishpeople nests, both in the act itself and if Fishpeople discovered plundered nests. Reactions can vary by individual Fishperson.

This all adds up to essentially a more sophisticated re-introduction of good ol’ Exotic Caviar (“Tip top!”) using the agent group mission mechanics. Before, caviar was a rather contextless placeholder. Now it fits into dynamic systems.

Factions miscellany

 * Foreigner military units may appear to attack bandits
 * when faction groups are destroyed the ticker will give a vaguely accurate cause for their disappearance
 * all foreign factions are now hostile to bandits and fishpeople
 * Novorusians now have appropriately gendered slavic surnames
 * Fishpeople may bring food to your colony if you’re starving and have good relations with them
 * item dropped by non-colonist agents outside of your settlement will be auto-forbidden when dropped
 * and if player claims items dropped by non-colonist agents outside of settlement, they will be added to commodities list
 * balance: Foreign invasion delay increased & given better notification
 * FIXED: items carried by non-colonist agents won’t show up in your commodities list
 * FIXED: items dropped by non-colonist agents as part of mission should properly set ownership to player if dropped near your colony
 * added additional info to ticker when foreign troops spawn in certain cases
 * balance: Foreign Invasion event is now less soul-crushing (ministry will send landmines, allies will send troops)

Another catch-all, aside from fixes and balance, the goal of these changes is to allow for a bit more interaction between factions that would previously ignore one another.

UI, misc

 * added useful descriptions to most commands & modules in the build menu
 * added descriptions to all menu commands
 * FIXED: buildings menu category button could occasionally get stuck in the “on” position
 * FIXED: selections in the quick menu sometimes not appearing after click-drag
 * FIXED: enormously wide tooltips for workshop names
 * FIXED: colonists overview panel occupation text doesn’t just say “occupation”
 * FIXED: doubly doubled entry for Bushel of Orange Cup Fungus would appear in Commodities panel when it was foraged
 * FIXED: various typos

A collection of miscellaneous UI fixes. Foremost, perhaps, is the push to make the lower-left command buttons include tooltips describing what all the buildings actually do.

Animals

 * Dodos now know when their nest is destroyed
 * added wall-mounted aurochs/beetle head building decor modules
 * handling of jobs that target animals given a big cleanup

They know.

Events, misc

 * added “Colonists want a chapel” event
 * Lower class Immigration event has been entirely rewritten! Expect more variety.
 * balance: lower class immigration now happens 20% more often
 * FIXED: dead and/or fleeing colonists can no longer raise objections to your policies concerning Fishpeople
 * FIXED: issues w/ “Colonists denounce cowardice” event

Most interesting here is the revamp of the immigration event. It’s been given a lot more narrative flavour and occurs more often because in testing we found that people would tend to have a ton of overseers with rather few underlings. No longer!

Engine/Scripting/Infrastructure fun

 * script errors now should correctly throw their callstacks so we can find out where they are without guessing.
 * workcrew names are now no longer stored in a billion fragile places. :carlsagan:
 * lots of new abilities added to workshop/office code, including ability to query for modules in workshop
 * zones (farms, graveyards, etc) can now display “expressions” aka those little thought bubbles
 * major rewrite of requirement code to be safer & support expanded features for jobs/events/commands/puppies
 * added require commodity GEQ
 * cleaned up headers of project to reduce compile times by 3-5 minutes
 * a ton of work on a new decision tree system & decision tree editor
 * FIXED: bug in replay system meaning that replay determinism could (and would!) break when the game was paused

In this section we’ve cleverly hidden a bunch of behind-the-scenes infrastructure stuff. Things to do with error reporting and compiling optimization just makes development itself smoother. Much of the rest is setting up the pipes that will hook into future features, so even if they don’t sound interesting in a player-facing sense, they will certainly pay off in future updates.

Almost forget: Of particular importance is the decision tree feature being developed to mature implementation of certain complex behaviour sets, notably to do with finishing military features & attendant barracks controls. None of this is player-facing yet but will do huge things in the near future.

Biomes/Environment

 * FIXED: logs from chopped down coconut palms now properly set as owned by player
 * removed some underwater junk that can’t be seen, but was still rendered