HotM: Initial Tester Groups

From Arcen Wiki
Jump to navigation Jump to search

Next Release Notes

HotM: After The Transformation

0.403 Refinements

(Released May 9th, 2023)


  • The tech costs for all techs have been adjusted upwards substantially (ranging from 3x to 4x). Essentially, people were just flying through the tech tree too fast, and this was leading also to analysis paralysis because people would just kind of unlock whatever since there was so much available to unlock.
    • This is not the final word on balance by any stretch, and if this is super un-fun we want to know. But this more in the Sid Meir method of "cut it in half or double it." Though in this case it's more than doubling, because I think it was so far off that it needed more than that.
  • The general amount of factory capacity that is needed to convert raw materials into nanoparticles has been reduced to 25% of its prior value.
    • This means you won't be so nanoparticle-poor all the time. This may also be overkill, but it seemed very off before, so we'll see how this does.
    • Thanks to George for the most notable commentary on this one.


  • Expanded the ability to spawn nearby encounters to include static ones that are only in explored space, which are at buildings or not at buildings, which is very useful for a certain form of ambient local encounter.
  • Fixed an issue where the heat changes were not being shown on encounter results.
    • Also removed the ability for the encounters to randomly change heat against the vigilante identity, as this is not really useful and was quite confusing.
  • Removed the ability for encounters to provide a multiplier to the analyze situation bonuses; that was invisible and seemed like a bug when it happened, and we've since added a better replacement feature (the flat extra research that you get at some encounters).
  • Added a new Persuade ability, and a new Persuasion Challenge skill check, for certain kinds of encounters.
  • Added the ability for encounters to directly give you mind farm volunteers, hostages, or prisoners.
  • Added 5 new stationary local-area encounters that are opt-in and which are all related to getting you new mind farm people by force or otherwise.
    • These also do some worldbuilding explanations on the various types of mind farm participants and why they would show up, so that's nice.
  • When the game is paused, the blur effect behind fullscreen windows no longer has the twinkling effect, as that makes it feel like the game is not actually paused. When unpaused, the twinkling effect is still there.
    • Thanks to Spelguru for reporting the confusion this causes.
  • The fog in the nighttime map is no longer quite as thick, and the exposure is brighter on the map in general, making it a lot more visible in the night in particular.
    • Thanks to George and a couple of others for mentioning this.
  • The brightness and contrast of the main menu background is now a bit brighter.
  • The scrollbars in the game now have more contrast and are easier to see.
    • Thanks to Spelguru for suggesting.
  • The ability to draw shapes should now be present on the map, the same as we have in the city.
    • Thanks to Major for reporting.
  • We now use a screen-space icon at the cursor (below and to the right of it), instead of the world-space icon.
    • This solves several aspects of confusion folks had, and it also removes the issue with the cursor being laggy when the game is paused.
  • We now have the ability to have column headers above columns in a lot of our content. The only place this is planned to be used is on the shell company contracts, but it just has temp text at the moment.
    • Thanks to Trogg for suggesting.
  • In the dispatch menu, any units you have selected are now bordered by a glowing border. However, in adding that, we discovered that the actual proper count of units being sent, and the other little information underneath each unit, is missing of late; so no wonder people were confused about that! That's not added back in yet, but will be shortly.
    • Thanks to Trogg and others for reporting.


  • Added additional tooltip information for shell company services


  • The clouds effect on the map has had the following changes made to it:
    • Intensity tripled (to counteract the other changes), iteration count from 85 to 40. Iteration step size from 300 to 500. Draw distance from 3000 to 2000. Scene collisions off. No longer visible to static probes.
    • The end result of those changes is very-similar-but-slightly-different, and in theory uses vastly less GPU power. We'll see how it does for folks.
    • There is also a new settings option in the GPU Performance section called "Skip Cloud Rendering", which allows folks to turn it off entirely if needed.
    • Thanks to shoe_bert and Bathtub for reporting how the map performance was still struggling in the newest build, and to doing some further investigation as well.
  • Some default performance adjustments (which of course you can still adjust to be whatever you prefer or works best on your current machine):
    • The game now defaults to Medium quality level, rather than High. This has a lower-intensity of MSAA. Also moved this from the display tab to the Performance tab.
    • The game also now defaults to targeting 60fps rather than 144fps. This keeps fans from going crazy on more machines. This has also moved to the Performance tab.
    • Thanks to lordtrogg and Mac and others for reporting the fans.


  • Fixed a bug introduced in last night's build that was causing errors on starting new games.
    • Thanks to Rhys H for reporting.
  • Fixed some issues where certain "nearby" encounters were actually seeding far away. This was just something we had left as a todo, because it required some more cached data, which we now have.

0.402 Welcome Testers Round 2

(Released May 8th, 2023)

Balance Improvements

  • Both scattercrawlers and doomsayers can now take hostages. This makes it easier to take hostages in general, and also earlier in the game that you can start.
    • Thanks to Mac for reporting how few robots can do this, and suggesting these as options.
  • Shell Company Contracts now cost raw materials
    • Due to per-tick increments, actual amounts consumed may vary slightly depending on rounding, particularly when accounting for the next change.
  • Added CPUCycle bonus time reduction to contracts
  • Added back in the Harvester machine lair type, which hasn't been seen in a while, and has never been seen by testers.
    • It gathers a small but steady stream of raw materials from the surrounding environment, passively over time.
    • I'd been wanting to avoid passive incomes like this because of the encouragement of large time skips, but the time limits on struggles and storylines, paired with the general much-higher income of raw materials from encounters at buildings, make that no longer really a concern.
    • What this does is take the edge off, and also help early-game players be on their feet a bit better, though.
    • Related improvement tech benefits have also been added, and these have been integrated into the tech tree.
  • Fixed a bug that was causing all machine lairs to not properly increase a few things:
    • Specifically, each built lair was supposed to increase your nanomind cap by 2, but that wasn't happening. Now it is.
    • Each lair also increases your nanoparticle cap by 500k, from the initial cap of 5 million. This mattered more when the original cap was 75k.

UI Improvements

  • Some QOL updates to the contracts UI
    • If you have enough square footage to handle a contract, but not enough free square footage, the value will display in yellow instead of red
    • Sqft value replaced by % complete
    • Time duration given a tooltip to show real time (including sim speed) minutes and remaining
      • 30 days of game time is 12 minutes of real time at 1x sim speed
    • Added a force recache of rented space on deserialization and on new rental agreement
    • Made the square footage tooltip happen on the % progress element as well, otherwise that value is impossible to find
    • Ineligible contract categories hidden
  • Updated shell company window
    • No longer requires extra clicks!
    • All shell company services now displayed, with unavailable ones grayed out
  • Network range is now a solid circle
    • Alpha value can be fiddled with via ExternalConstants with a suggested minimum of around 0.03
  • Network range for starting cell now indicated
  • "Situation Analysis Difficulty" is now shown at all times, not just when you've added a unit of that sort.
    • Thanks to Arphar for suggesting.
  • Highlight the current tab when you are in the inventory view.
  • Residency hard cap at double the available housing
    • Overflow pushes folks down until they end up homeless
  • Tech benefits that unlock or improve abilities for units now show the amount that they improve the ability by (or what the initial unlock skill level is if this only unlocks but does not improve).
    • Thanks to Arphar for suggesting.
    • Also fixed a bunch of player improved values not getting their assigned tech assigned
  • Hid productivity slider until Overdrive is researched
    • Adjusted overdrive improved value to `1` instead of `5` as it was meant to be in increments of 10%
  • Fixed the chat message log visibility time to be 15 seconds rather than 5. AI War 1 and 2 both use 10 seconds, but they pop things up more frequently.
    • Thanks to lordtrogg for reporting.
  • Our code for abbreviating large numbers now no longer includes decimals for those that are larger than 8 in the whole number part. So 75.77 K is now just 75 K. But 7.43 K is still that.
    • Thanks to lordtrogg for suggesting; this is much cleaner.


  • The number of pedestrians and vehicles that spawn in the city can now be independently altered in the settings menu.
    • They have also both been altered slightly down. From 12 each, the numbers are now 10 for vehicles by default, and 8 for pedestrians. The effect is identical unless you are looking really closely, but it saves some performance on lower-end and middle-end graphics cards.
    • The new defaults will automatically apply for everyone, but you can change it up or down after that if you wish.
  • The default draw distance for buildings, major decorations, and roads have been reduced by 1 cell each.
    • This cuts hundreds of thousands of polygons per frame from being drawn, and it turns out that as the visuals have evolved over time, these were all in the fog anyway! So no added pop-in or anything like that.
    • The new defaults will automatically apply for everyone, but you can change it up or down after that if you wish.
    • Thanks to Mac for inspiring this shift.
  • A new map mode GPU savings option is now in place, which is "Render District Borders"
    • This actually defaults to off now, which changes the appearance of the map slightly, but saves a lot of transparent draw calls, which are particularly hard on GPUs. Feel free to turn it back on if your hardware is newer and you like it.
    • Thanks to Valectar in particular for the related report.
  • The game has now been split into two sections for per-second calculations. One set that is mostly about caching and such and which is done when paused or unpaused. The other is for actual sim logic, which is only run when the game is not paused.
    • We can also now see separate breakdowns for these in the F3 frame timings, which is nice.
  • A bunch of caching-related logic has been moved over to the new per-second-no-matter-what logic, which happens even when the game is paused.
    • This fixes numerous issues when paused, including the tech tree not showing newly-unlocked techs, and the new lair ranges not updating until the game was unpaused.
    • There are still some other issues with lair placement during pause mode, but those are not thread-related. Namely, if you go into build mode with the game paused, you cannot build. However, you can if you pause once already in build mode.
    • Thanks to Mac for the related reports.
  • The selection of buildings that are always shown in map mode is now a lot more limited than before. It was really overkill a bit.
    • Thanks to Valectar, Bathtub, lordtrogg, and Mac for weighing in on these map view performance things.
  • There is now a setting called "Number Floors Tall Above Which To Show" in the map mode performance section, which allows you to set which buildings count for showing because they are tall. This used to be 10, but now is 15 by default. You can adjust it all the way down to 1 if you want to see everything and your gpu supports it.
    • Thanks to Valectar, Bathtub, lordtrogg, and Mac for weighing in on these map view performance things.


  • Fixed our discord link in the game so that it actually goes to the correct Arcen discord server rather than our private dev one.
    • Thanks to Bathtub for reporting.
  • Fixed an error in the Nanoparticles tooltip text that still said if you run out, you die.
    • Thanks to CRCGamer for reporting, and for helping figure out where it was saying this.
  • The wording of the "beneficial encounter thwarted" has been updated to clarify that we've thwarted the enemies of that encounter.
    • Thanks to Evil Bistro for the report.
  • Fixed a bug where certain usages of LangRef were not casting properly to text, leading to garbled output. Major reported this forever ago, but I never saw it live until finally seeing it on the tech tree in certain lists of units thanks to Spelguru pointing out the specific item. I really had to study it to see it!
  • Fixed an HandleHyperlinkHover exception that could happen in Window_ModalBaseOK.
    • Thanks to Spelguru for reporting.
  • Fixed another nullref that could happen in the current GetSuspicion() implementation on lairs.
    • Thanks to Spelguru for reporting.
    • Fixed another way that GetSuspicion() could fail that the above fix missed
  • Removed "Machine Material Grant" as that cheat was never implemented properly. Use "All Machine Material Grant" instead.
    • Thanks to Major for discovering.
  • Fixed an issue with the player inventory where the research amounts did not appear if you had never had any of that research type before in that specific execution of the program. This was wholly unexpected.
    • Thanks to ArnaudB for reporting.
  • Fixed a bug where the should_be_invisible_if_not_in_machine_vision status was implemented backwards (whoops), so certain low-priority encounters would only show if you turned OFF machine vision.
    • Thanks to Mac for reporting.
  • Fixed a very-unclear UI thing where machine hearts and a few similar things were showing the amount used out of the amount total, which is backwards. It now shows the amount available out of the amount total.
    • Thanks to Mac and lordtrogg for reporting.
  • Fixed an error in all previous versions of the game where the cost reducers for the lairs of various types were not actually reducing costs.
    • The reason is that they were reducing an older-style upkeep cost that we no longer have, and so they were not reducing the raw material cost of lairs.
    • You still can't SEE raw material costs when building lairs, and in general a lot of the lair info is very obscured right now, but we hope to solve those things tomorrow.

0.401 Struggle And Storyline Refinement

(Released May 7th, 2023)


  • The game never starts you within two hops of the edge of the map. Previously it had a habit of putting you right against the edge of the map for some reason, which really did make the early game harder.
    • Thanks to CRCGamer for suggesting.
  • A new cohort_type_to_seed_if_missing tag has been added, and if there are conditional cohorts that should be added for a struggle that is just starting, this allows those to be added. This is untested so far, but it should solve the "Nanobot Situation" errors that were previously present.
    • This was a known thing that we just hadn't put in place yet, which is needed for a minority of struggles or storylines, so we hadn't put it in yet.
    • Thanks to The Gerbilest and CRCGamer for reporting the errors related to the lack of cohorts of the needed type that were there previously.
  • should_be_invisible_if_not_in_machine_vision is now actually implemented, so that some very low-priority encounters can still happen but not be cluttering up your view. By turning on machine vision or toggling it on, you can see these now.
    • Thanks to George for reminding that this wasn't actually implemented.
  • Machine Vision mode now works a bit differently, but it's very subtle. It mainly prevents issues that otherwise could arise that were super frustrating for players.
    • First off, if you toggle on the machine vision mode so that you see hidden things and see the icons above everything, that now does NOT change your mouse cursor's function so that it just inspects instead of building or renting or dispatching.
    • Secondly, if you hold the Ctrl key so that machine vision is just "on while held," it now is additive to the above mode, rather than inverting it. So this does change your mouse cursor's function to inspect.
    • Thirdly, it now only shows the screen-edge distortion effects if you are holding Ctrl in the second case, not if you have machine vision toggled on fully.
    • Big thanks to NihilRex for the report on how frustrating and confusing this was the other way, and about how useful it is to just toggle on all the icons permanently, which we hadn't really considered.
  • In the event that you can see a moving encounter-vehicle, but it is in unexplored areas of the city or has even passed out of the city, you can now still see their icons when in machine vision mode, and can see their tooltips in general, and can click them to dispatch against them.
    • The alternative was confusing to US internally, and doesn't really add anything in terms of actual value to restrict you from attacking them early. Early on you don't have forces strong enough to attack them, anyway.
  • It's now possible to actually win struggles! This was so hot off the presses that the logic for that got missed.
  • There are now cheats available in sandbox mode for winning all struggles or losing all struggles, same as we already had for encounters. Very useful for testing.
  • Lots of extensions to make certain pieces of tooltips more brief and more informative, and to make it possible to programmatically handle icons that then expand to the name if the player holds the shift key.
  • Struggles now properly show their results, as well as various other metadata about themselves, and they do so in as condensed a format as is still clear.
  • The timers on encounters that show when they will either disappear or be lost are now properly shown for the first time. This was always there, but it was just invisible information until now.


  • Fixed some bugs where the city struggle results were not properly being unpacked, so they were not actually taking effect or visible.
  • Corrected the description of the lair cost reduction tech benefits to talk about initial construction rather than upkeep. It had been planned for the latter, but switched to the former.
  • Put in a bunch of corrections for cases where closing certain windows could lead to nullref exceptions if you were juuuust unlucky enough.
  • Added proper close buttons to the storylines and struggles windows.
  • When the storyline or struggle window are opened from the sidebar, if the other one is already open, it closes that other one so that the new one can open properly.
  • The way that struggles allow programmers to access their "ExtraData" is now more rigid and has more structured error messages in place if something is going wrong.
  • Fixed a bug where the ExtraData was not properly being linked to struggles, because most of them start out with a default of 0, which it was discarding.
    • For modder support we now use the unlikely number -3003 to signify "don't include me," and zero is used just fine.
  • In the event that a struggle's encounter-spawner is missing the data it needs, it now errors on game start rather than waiting until the actual spawn logic would be called.
    • Additionally, fixed three specific cases that were indeed missing this data.
  • Fixed some slightly confusing wording on the struggle tooltips, and also fixed it showing a language key rather than the contents of that key in one spot.
  • Put in a fix that should prevent errors in KillSomeResidentsHere_BiasedLower, but it needs testing.
    • Thanks to CRCGamer and The Gerbilest for reporting.

0.400 Storylines, Struggles, and Map Mode

(Released May 6th, 2023)

Storylines and Struggles!

  • These are two major new things that are a reinterpretation of something we've been planning on doing from the start of this game.
    • Some of the earliest ones are in place at the moment, and some of those are complete, but some of them are not.
    • Best case scenario, they should take you through a few hours of gameplay, but most of them are meant to be done alongside other things and so they're a bit on the sparse side if this is all you have to focus on.
    • That said, there are some known UI deficiencies with them that we'll be tackling tomorrow, and then general polish after that, and of course more content fleshing them out beyond that.
  • This was a massive weeklong affair for most of the staff, working quite hard on these elements to bring them together in a new and more player-directed way. The early results seem good, but it's still super duper hot off the presses and definitely has some jank to it around the edges (and a few cases, right in the center, so to speak, with missing ui elements for example).

Map View!

  • Massive new feature: map mode. As with the AI War games, you just hit tab to swap into it.
    • This is a very robust and exciting new part of the game that I had resisted adding for a long time for various reasons, but now I literally can't imagine playing the game without it.
    • A lot of work has gone into polishing this over the past... two days that this has been a concept at all... and it's in pretty solid state for now from what I can tell. There are some things that need to be added like some range stuff for our lairs, but those are slightly more in the nice-to-have range (not really, but they can wait at least).
  • The camera in the main city view is now able to rise higher than it used to, and the fog dynamically recedes so that it's still scenic at every level, but not getting in the way of seeing in a way that is annoying. This lets you scout around the city better than before just in the regular mode alone, although the map view is still much better for quickly moving very long distances.
  • The encounter icons that are related to a struggle in some way now dynamically size up in both the main city view and the map view.

Core Systems and Mechanics

  • Added a resident-type ban system and resident-type deportation system
    • This allows stories/encounters/etc to institute a ban on certain resident types, preventing any new folks of that type from being added to the city (at least by the usual means)
    • And for the forced deportation to kick out any that manage to get in *anyway*
  • The penalty for dispatching far away from any of your deployment hubs or the starting few cells has been dramatically reduced, and the distance in which it applies has also been reduced a lot.
    • That penalty now also properly applies to the skill checks at the top of the screen, not just to the actual skills at the bottom.
  • Distribution Hubs now provide a skill boost to all dispatches within their range -- hey, carrot rather than stick. The original boost is 10%, but you can increase it by 5% at a time, up to 13 times, through a variety of techs starting in psychology and then in a some late-stage robotics areas.
  • All of the machine lair descriptions have been completely rewritten to be more informative and accurate. The distribution hub previously was still talking about drop pods and dropships from the prior combat model.
  • Shell company contracts
    • Contracts auto-allocate space from the largest requirement to the smallest (this insures that smaller projects don't steal floor space out from under them)
    • No indication on their completion factor, but credits are awarded upon completion

UI Improvements

  • Header bar nanoparticle tooltip updated to include a desperation warning when resources are low.
  • Systemic encounters now have some extra metadata used towards making their tooltips more detailed.
    • Primarily this only affects wildlife issues for the moment, but other systemic issues have some metadata in place that can be extended as distinctions between X(a) and X(b) crop up.
  • Relocated Shell Company sidebar item above Rent Mode so it stops moving about so much
  • Updated UISidebarBasicItem to throw a (more) useful error message when the hotkey is declared but undefined
    • This isn't a player-facing item, but dev/modder helpful
    • Adding a new window (eg below) was throwing a per-frame error about missing hotkey definitions that was not detailed enough about what was wrong. It wasn't inaccurate (the hotkey was undefined in the InputActions table), just unhelpful (as the error stemmed from adding a new sidebar item)
  • Quick and dirty pass of the Storyline and Active Struggle windows
    • It doesn't show much yet, this entry will be updated as things get fleshed out
    • Now shows a list of available storylines and their current status
    • Each storyline item can now be clicked to view specific details, such as the storyline's struggles and their statuses
    • Active Struggles shows currently active struggles, still needs work
    • SimStruggle objects now have a UI window.
    • Struggle results detailing
    • Struggle encounter results detailing
  • Added hotkeys for a bunch of functions on the utility tab for quicker access: settings, controls, cheats, and overlays. A lot of the other stuff already had a hotkey, and other bits we'll get to later.
  • Actually, went ahead and just set up the message log, quit, and exit buttons to all have hotkeys. Why not. Better now than later.
  • New manage shell company contracts screen
  • The inventory button on the sidebar has been removed, and there is now an addition to the top bar tooltips that already open the inventory.
  • The district listing has been demoted to the detailed views tab, because it's barely needed now and was cluttering the main sidebar. The map view now handles these duties, and does so much better.
  • There are now sidebar buttons for map view and machine vision, and there is now an option to toggle machine vision versus just the hold-to-enable version
    • This has a use as a training aid for everyone, but is also an accessibility option for people who have trouble holding keys of that sort.
  • Bonuses or penalties on distant locations from your distribution hubs are now shown in all of the relevant tooltips, not just some of them.
    • Thanks to George for reporting the confusion.

Visual Improvements

  • Reworked a lot of the time of day fogs slightly, and made versions of those for map mode.
  • Reworked the title screen to a very notable extent, so that the background is spookier, and higher-contrast, and includes a different color grading and fog in general.
  • The post-processing has been revised pretty substantially in general, the bloom most of all bust also the general color grading.
    • There are now a bunch more post-processing options under the display part of the settings, so that you can adjust the contrast, exposure, bloom threshold, and bloom intensity in various parts of the game.
    • The defaults have also been tuned a lot, so that overall there is still nice contrast and a feeling of a glowing ui, but it's not eye-piercing at night.
    • Speaking of, the UI bloom effects are now about twice as efficient as before, and also can be tuned if you don't like that feature.
  • The spacing of the right-hand sidebar is now nicer for the primary view, being easier to read in general.
  • The left category icons on the tech tree window now properly highlight themselves when you are in a category, to show which category you are in.
  • The highlight visuals for buttons and tabs on the sidebar have been improved a lot, now looking more attractive and also being a bit quicker to visually parse.

Data Tables

  • Added CohortAllyType allowing cohorts to specify what types of allies they should lookup post-load in order to know who to call
    • If there's something strange in the neighborhood
      • (Ghostbusters)
    • This makes it so that the various paramilitary, lawfirm, etc. groups which aren't an "always around" type can be called in by other groups during encounters (e.g. Scientology always calls Dewey Cheatham and Howe for their law-related needs in the same game, but another firm in another game).
  • Cohorts and factions that are 1:1 related to each other now specify as such in xml
    • Only one side needs to be specified, but an error will be thrown if both specify and the specifications don't match
  • Updated some xml metadata to include a "can be only one" notation for some Player-Improved-Value nodes


  • Reordered the cheats so that the switch to sandbox mode is now right at the top. It also mentions how most cheats are available only in sandbox mode (and there were a few cheats that were available in strategic that I just moved to be only sandbox now).
    • This makes it so that getting into sandbox mode is now just hit F4, click okay, which is great for testing.
  • Added two new cheats relating to encounters, primarily for purposes of testing: lose all encounters and win all encounters.
    • If there are going to be any funky results out of either, they'd be triggered all at once, which is quite nice.
  • Simplified some language entries


  • Fixed that ongoing bug with the neuro net recruitment shell company service leading to negative people living in some areas.
  • In the event that an encounter tooltip is going to throw an error, it will be a more informative error now that actually tells us what the encounter was and where it was.
  • Fixed up a few high-flying objects for some of the science lab tiles, which were being drawn incorrectly high.
  • Further fix to the bonuses or penalties on distant locations not being calculated properly if you had NO disribution hubs. It should have been from your starting tile if you have no hubs, but instead it was effectively giving you a 90% penalty everywhere until you built at least one.
  • Fixed a bug with the cursor rendering in prior builds of the game where it was throwing a bunch of silent errors when you moused over the UI when in those cursor modes.
  • Fixed a really dire performance issue that was striking whenever you went into rent property mode with a lot of potential options. It could kneecap an i9 from 120fps to 20ish fps.

0.304 Encounter Explosion

(Released May 2nd, 2023)

  • When the game explores something adjacent to an existing cell, it is now less random. First it tries to find a random cell in the same district. Then it tries to find a random cell that is not part of a POI (like an airport, spaceport, or military base. Then it just looks at all the remaining tiles.
    • This means that you have to repeatedly do dispatches in the same cell in order to have it jump districts or into military bases, whereas by default it will fill in the current district first. This feels a lot better.

UI Improvements

  • Updated cult management window
  • Removed Continue button from main menu when the associated save is deleted
    • Thanks to Mac for reporting
  • Made save/load "Delete Mode" not sticky (closing the window sets that back to the default non-delete mode).
  • Updated build mode sidebar and tooltip text to make machine heart cost more explicit
    • Thanks to Mac for reporting
  • Updated credits stolen during dispatch tooltip and rounded amount to nearest 25
    • Thanks to The Gerbilest for reporting
  • Control group buttons on dispatch screen can now save/load dispatch layouts
  • The encounters directory has moved onto the primary sidebar, has a much more detailed tooltip, and is now a darker color rather than the red of the debug-style directories.
  • The encounter directory is now split up an entirely different way, based on some "encounter directory groups" that are organized for the benefit of players trying to find specific things.
  • Added tech cost/amounts to Inventory->Tech list screen
    • Thanks to The Gerbilest for the suggestion
  • Additional tooltip hover info on subcohorts inside the cohort details modal popup
  • Updated rent options dialog to be flex-sized


  • The game no longer locks you out of doing dispatches when you are out of the starting area or far from your nearest dispatch hub. Instead, it applies a penalty to all of the skills of you units, making it so you need to send more of them or just have them be better upgraded (or of course you can actually just go put a dispatch hub there).
    • This is a softer form of gate, making it so that dispatch hubs are not quite so annoying to wrangle.
  • The cheat to remove the dispatch restrictions is now gone, since that is no longer a thing.


  • Criminal Syndicate encounters updated, and should now spawn
  • District Security encounters now all use security forces
  • Going through the Cult encounters, updating so these can now spawn (27 unique ones in total)
    • Fixed some related things to cult encounters
    • The Metaphysical Cult (exclusive) encounters are updated to have skill checks and results, and should now spawn
    • The Occult Cult (exclusive) encounters are updated to have skill checks and results, and should now spawn
    • The Political Cult (exclusive) encounters are updated to have skill checks and results, and should now spawn
    • The Personality Cult (exclusive) encounters are updated to have skill checks and results, and should now spawn
  • Going through the Religion encounters, updating so these can now spawn
    • First five are updated to spawn
  • Encounters can now be assigned just straight-up icons, rather than having to have an icon set. It works either way.
    • This will primarily be used for really key encounters that start or progress struggles or storylines.
    • Probably it will also be useful for systemic issues type encounters.
  • Encounters now have an optional IEncounterTypeOptionalLogicImplementation that they can use to do things like add extra tooltip information. This is primarily something that will be used by systemic encounters to explain what the systemic problem actually is.


  • Initial icons have now been set for the various systemic encounters so that you can at least recognize them at a glance. Those icons need to be improved to be more clear later, but for now it's fine, and certainly better than just a random face, which blends into all the other low-grade encounters around.
  • It is now possible for our in-game icons to use a variety of frame borders, and to use custom colors with HDR glows with those as well.
    • There are 8 frames set up at the moment, which is enough for our purposes. These also affect the clipping of the icon, which looks pretty fancy.
    • Basically, rather than having every plated icon in the map look the same shape and have no indicator, this lets us actually tell them apart by function at a glance, and then look to the icon itself for more info. This has been planned for a long time, it just hadn't been done yet.
  • Added a new EncounterFrameStyle table, which allows us to link specific kinds of encounters to specific kinds of frame style.
    • This lets us differentiate things that are systemic, things that are general city activity, things that are cohorts taking general actions or actions because of high heat against someone else, things that will open a new struggle, things that will progress a current struggle, things that will be a dispatch over time, and so on.

Balance Changes

  • Added a raw materials cost to lair construction.
    • 5000 for the first lair, increasing by 1000 for each additional lair.

Tech Tree

  • The second tech column is now nearly 'beta quality', meaning tech names, icons, descriptions, and an initial balance pass for costs and prerequisites/flow have been done.
  • The outliers are disease techs, which are going to be reviewed later and probably have some contraction of tech benefits once we are able to start using them in-game, and how much surface area we want to have for the earlygame tech choices. I'd like to revisit that part in a week once we have another group or two of testers in looking at the earlygame flow.
  • Some techs that have multiple levels now scale at different rates for higher levels of the tech (example: contracts scale faster than wildlife manipulation).


  • Fixed a bug in the prior build that was causing all cohort-desire-based encounters to not properly spawn.
  • Fixed a bug in the prior build where once you disabled certain skills, they would not be able to be re-enabled because a contextual disable on top of the regular disable created a logical trap.
    • Thanks to The Gerbilest and Mac for reporting.
  • The number of "simulated cells" is now a lot lower, but this should mostly just affect performance (for the better), and not actually any functionality.
    • Essentially, we lazy-unloading simulated cells in order to keep them from rapidly loading and unloading if you were moving rapidly between tiles, but to be frank this is a situation that is fairly manufactured, and in practice the performance is already good enough to handle that even if you do manufacture that. This drops the number of simulated cells to the 40s or so, from what was often in the 180s before (it just depended on how you had moved your camera during a session).
    • Functionally this doesn't change anything except some stuff disappears that is too far away for you to interact with it in general, and possibly too far to even see.
    • Thanks to Mac for the original report.
  • Fixed a bug with how some of our transparent shader variants for vehicles and such was not interacting properly with the fog, leading to them being darker than expected when they were fading in.
  • There is now only a 10% chance of any given cell getting a building shootout, whereas before they were constantly on every cell.
    • This reduces some background noise and flickering, and also gives a pretty large performance boost. The number of street mobs on average has dropped from 600-something to 200-300 or so. This has no effect on much of anything other than just some background activity. It doesn't affect gameplay. Performance on a test machine jumped from about 100 fps to about 120 fps.
    • Thanks to Mac for reporting.
  • Fix to NeuroNet recruitment trying to reduce district population below 0.
    • Thanks to The Gerbilest for reporting
  • Fixed runtime errors with encounters wanting cohorts with given attributes not allowing subcohorts with those attributes
    • Two phase fix: (1) do the check during loading and (2) be more permissive about valid configurations

0.303 The New Corporate Order

(Released April 29th, 2023)

Cohort Updates

  • The new hand-designed corporation data now in place, with hand-designed and named corporations. Rather than procedurally-generating them, this lets us link them to much more interesting storylines.
    • This is going to break all of the existing savegames to some extent, so we're doing several cohort shifts all at once.
  • The cohorts for the citizens have been split out into lower class, middle class, upper class, and collaborator -- previously these were sub-cohorts, but now they are full cohorts that can independently act.
    • This is actually very important for the upcoming storylines stuff. This also breaks existing savegames pretty bad, so it's good to go ahead and have in place.
  • A bunch of cohorts that previously had IconTodo now have actual icons.

UI Improvements

  • On the main screen, you can now always see your machine hearts, factory capacity, and cpu cycles.
    • When viewing the tech screens, you can now see the AI Level and AIP after the tech levels.
    • Thanks to NihilRex for mentioning how hidden these were.
  • Added a new difficulty details popup that happens when you click the difficulty level icon on the top bar.
    • This will be needed, soon, in order to see the concrete things that have shifted from each difficulty level.
  • Replaced the temp icon on the difficulty button in the top bar.
  • Tweaked lair building tooltip things
    • Near-mouse value shows a "lair effective size" value
      • This value is based on the building's storage volume the lair appropriates for its own uses
    • The previously shown "provided resources" value moved to the lower-left tooltip panel

Tech Tree Changes

  • Raven moved to Microbiology, Protector to Philosophy
    • Seems better for both balance & thematic reasons
  • The research points for the tech trees now have their own separate icons, which are simpler and colorized, and the tech trees themselves show both icons as appropriate, while other places show the simpler icon that is more fitting with those other screens.
    • Generally this improves readability of things, and prevents some odd overlaps in iconography and text in various tooltips.


  • Additional logic and data parameters for cohort spawning systems
    • Nothing player visible yet, but a lot of new levers for encounter design

Bug Fixes

  • Shell services no longer Null Reference Exception over various things
    • Thanks to CRCGamer for reporting (even if it was already known, but not logged)
  • Shell service screen now remembers your prior allocations
  • Cryo services now require Cryo institutes (and not data centers) or general science labs (but at a premium)
    • Added general science labs so that it is possible to perform this service without having to scour the city for the rare cryo institutes
  • Fixed a couple of message log bugs that were showing the ID string of the message rather than the message itself.
  • If dispatch skills are above what the skill check availability is, it now caps them off and does not let you go above. In the tooltip, it shows what it would have been with the units you are sending.
  • This solves a number of exploits with getting massive amounts of resources or similar from very low-level encounters by over-committing your own units.
    • Thanks to NihilRex for reporting.
  • Fixed a bug in the prior build that would cause dispatch thwarted and solved icons to say 4 rather than 1.
  • Added in some new framework that allows us to control word-wrapping and text overflow better on all inline text and buttons.
  • Various parts of the game that were word-wrapping inappropriately now go to an ellipsis if the text is too long for the area you're looking at. The most visible spot of this is in the name of encounters in the body of the dispatch window.
  • Fixed an issue where the tech costs on the tech tree were often going off the right side of their buttons if they were more than three digits.
  • Fixed a couple of issues with colliders not updating properly (on all sorts of things, really) when the game was paused.
    • If you pause the game during the first 3 seconds or so of loading a game, this still happens, but it's universal to literally everything in this case, so that's less severe in many ways. I'll have to figure out what that is, but the previous issue was sporadic and only on some objects, and happened any time you paused. That one was a lot more nefarious, and is now fixed.
    • Thanks to Mac for reporting


  • Added a new debug interface that shows a list of all of the city story flags and their tripped state, and in sandbox mode which allows us to manually trip or untrip them.
  • The code for should_be_seeded_at_non_building_spots="true" is now fully in place, and a couple of the homeless encounters now take place away from buildings.
  • If you are in machine vision and try to dispatch at an encounter, that now works. Previously it was blocking you, which was super confusing.

Visual Revisions

  • Massively reworked a lot of the post-processing and a few of the textures and such to try to recapture the feel we had going in our first prototype images back almost a year ago. Aspects of that have been lost over time, and there are a few aspects of that we want to recapture.
    • The complex ground texture has been removed and replaced with a flatter gray, which is a better use of negative space and makes things look less cluttered. Not sure that we've entirely captured what we had before yet, but it's closer at least.
    • The saturation on most of the buildings and objects is a lot higher now, more like what it was before, and more like the plated-art icons and such. This makes the whole scene a lot more cohesive, although certain buildings got missed, certain ones are due to be replaced by new models by Blue, and certain others may just need further tuning.
    • The screen space ambient occlusion is now a lot more aggressive again, but also has a few other things changed. First off, it's less intense. Secondly, it's more diffuse. Thirdly, it includes more color bleed, which does a bit of a standin for "color bounce" if this were raytracing, which it's not. Thirdly, it is also bluer in its general color rather than being black, which is softer in general but also mimics the way actual shadows in real life work (fun fact, actual shadows are blue not black).
    • The fog colors during both the day and night have been heavily revised to be thicker, more brightly colored, and intrude a bit closer into the foreground... but with a sharper falloff. The overall effect is different from what we had last build, or last year, but is moving in the direction of both. Part of why shifting this now is to get a chance to get used to it and then make further tweaks as needed.
    • The vignette effect has been loosened a lot in terms of how its aspect ratio is. I was going to turn it off entirely, but that was causing over-glow near the top bar, so instead I've just changed the shape of it.
    • The bloom is the same now as it was last build, in terms of both threshold and intensity and style. This is very different from what we had a year ago, but overall that's not something that affects that part of the feel all that much. However, especially when looking sideways rather than down, it makes for a more dramatic sunrise, etc.
    • There is a slight boost to vibrance, a slight reduction in ACES exposure, a slight increase to general contrast, a slight reduction in post-processing sharpening, and a slight increase in dithering (to remove banding in large areas). Mostly this just cleans up the image slightly, and maybe makes it a slight bit more like it was a year ago.
    • The actual LUT used for color grading is the same now as it was last build, and it's different from the one we used last year. The one from a year ago was sharply cutting out greens and transitioning those to yellow, and while that was pretty in some respects, it really messed with certain kinds of visuals. I don't want to return to that part of what we had before.
    • In general, a year ago the shots were lower-zoom and higher-fog, and that's not something that really would work all that well here now; there was also a compositional difference with there being a whole lot more negative space, which is not something we can really duplicate now, either. That said, we might consider working on some revised skeletons for road networks, that include more negative space, to make this work. We'll see.
  • The "lighting profiles" code and related asset bundles have been removed. We haven't been using those since we introduced the day/night cycle, and the original intent of these was for interiors, which we haven't been doing for quite some time. So this was just vestigial, and has now been cleaned up.
  • Finally figured out what the issue was with the big floating military and security vehicles not interacting with the fog correctly. They were being drawn in a layer that was being picked up by an overlay camera. They now have their own dedicated layer so that they continue to work properly with raycasts against them, but they actually blend in properly with the fog. This looks so vastly much better, like it was supposed to from the start, and still functions properly in terms of mouse handling.
  • Removed all of the specular highlights on all vehicles, flying and otherwise. That's not a visual feature we use on anything else, and it was standing out in a negative way on those. It was also causing glare in the bloom filter, frequently.

0.302 Sweet Release From Death

(Released April 27th, 2023)

Core Balance

  • Nanoparticles and raw materials no longer spoil at all.
    • The player is therefore no longer constantly dying. This was a relatively recent addition, and not a good one. It makes everything a tug of war. We'll handle this a different way.
    • Essentially, some of the ways that we were planning on handing the victory paths were too... distant. The dying thing was meant to solve that. But it's a whole can of worms to balance, and shifts the focus in the wrong ways.
    • It will take us a few days to regroup on the new victory path methodology, but essentially what that will do is give you something immediate as well as something long-term, all in one. One graduates into the other.
  • The Desperation resource and the Emergency Nanoswarm now appear if you get critically poor in terms of nanoparticles and raw materials, not when you are near death, since near-death is no longer a thing.
    • This is like a SimCity loan for getting out of a critical hole if you accidentally get into one.
    • The actual Emergency Nanoswarm no longer shows in the normal dispatch window unless you actually have some desperation resource, now. Previously it was always shown, but grayed out, to hint that it was there for people who were worried about their drain/death. That's no longer needed, so this can just be a happy surprise.

Early Game Adjustments

  • The Logistics tech has been removed, as the deployment center tech benefit has also been removed (you just start the game with this once it's unlocked)
  • The Lair Infestation tech has been removed, same notes, this time for the mind farms and the deployment hubs.
  • The biolab machine lair no longer requires an unlock from Basic Gene Editing, but Basic Gene Editing is still there.
  • Two of the initial-tile possible encounters now are resolved with dexterity from the keanu rather than through violence, if you wish to choose that one.
  • It is now possible for encounters that are "completed" (aka, the kind that don't do anything if you ignore them, but give you rewards if you do) to give you the following kinds of rewards:
    • changes in difficulty level (this is actually more of a punishment, but actually is desirable in various ways.
    • research points
    • machine materials
    • faction resources
  • The early encounters on the initial tile and the adjacent tiles now all give you some flat research points.
    • I initially thought about making them give varied amounts, but that would be asking new players to make a decision they don't yet understand, and also coloring the rest of the consequences of the choices. Much better to just keep it always the same for these early-stage things.

Unit Abilities And Balance

  • Manual Labor is now a category of dispatch ability, which primarily predators, and one variant of cyborg, are able to do. There is one noncombat robot that is also able to do it. May need to add another.
    • This is another way of solving certain dispatches, like medical intervention or similar.
  • The first example of a successful dispatch via the relatively-new "must be solved rather than thwarted or assisted" logic is now in place, and uses the new manual labor check. This is the homeless hunting wildlife, and you can essentially aid them in this in order to improve things for them. If you do nothing, nothing will change for them.
  • There are now three different techs and tech benefits in the tree for increasing your store of Nanominds.
  • Keanus are now unlocked right from the start of the game, rather than being gated behind an early unlock. This again opens up the surface area of the early tech tree.
    • Keanus also now have an analyze situation ability right from the start, which should signpost to players a bit earlier that this ability exists at all.
    • Keanus are also now less overpowered in combat than they were; they were kind of double-effective what they were meant to be.
  • There are two new general skills: Dextrous Work, and Hazardous Work.
    • Keanus are specialists in the former, and liquid predators and a few psyops units are able to do the latter.
    • This gives some more variety to the non-combat roles of these units, allowing us to use them in more fashions.

Tech Tree

  • Continued improvements in tech names, descriptions, and icons for the second column.
    • The majority of that column is now in place, but some more remains to be fixed up.


  • Whenever you complete an encounter on a cell that is adjacent to an unexplored cell, it now explores a random unexplored cell you are adjacent to.
    • As part of this, completing an encounter on the very first cell no longer explores all of the cells adjacent to it. Only one.
  • Building machine lairs no longer does any scouting at all. You'll need to do dispatches to do that. Those dispatches can be against buildings or encounters, it does not matter.


  • Added some better error handling to GenerateOutput of shell company services, which previously could error without us knowing which kind of service was even the problem one.
    • Thanks to CRCGamer for reporting.
  • Fixed an issue with the neruonet being overpopulated for one reason or another
  • Tweaked butterfly reproduction rate to be closer to baseline-stable, instead of exponentially growing
  • Fixed some bugs with being able to run multiple dispatches against the same encounter if the game was paused.
  • Fixed a bug with encounters not visually disappearing if they were destroyed and the game was paused.
  • The game should no longer allow you to complete dispatches against encounters or other targets where there are no skill checks. This is untested, so if that still happens please let us know.
  • Fixed typos and some double spacing.
    • Thanks to Mac for spotting these.
  • Seem to have fixed the issue with no cohort-desire-based encounters spawning after you get through the first couple of cells in the prior version.
    • Thanks to The Gerbilest for reporting.


  • Game auto-pause when background-blurring screens are open (and some other select windows)
  • Initial framework for a cult management screen (currently you can only rename the cult)

0.301 Early Game Flow

(Released April 26th, 2023)

  • Nanominds are now produced from nanoparticles, not from raw materials.
    • The actual end cost is effectively the same, but essentially this solves a case where you could soft-lock yourself if you didn't raid for materials enough. You could have nanoparticles but no nanominds, and no raw materials, and thus be unable to proceed forever.
    • Raw materials seem a bit pointless at the moment I'm sure, but those are used in shell company contracts, coming up. So between those and the conversion to nanoparticles being an over-time thing, they have a pretty solid role.

Early Game Adjustments

  • First Encounters:
    • These are encounters that are eligible to spawn in the starting tile. Skipped including the details here for spoiler reasons.
    • These give you an early easy choice with not a lot of consequences, and basically have you do a dispatch against an encounter before you can do anything else.
  • Starting Encounters:
    • So these encounters are different from "first encounters." These will spawn in neighboring tiles, after the player scouts with a lair. These encounters are essentially "Negative Mutators" - if you "fight" the encounter, you are opting to make the game more difficult. The encounters themselves vary in terms of what specific ways the game gets harder, but essentially it will aggro the cohort/faction that initiated the encounter.
    • These won't show up in the game yet since this is just scaffolding while the logic of these are still being set up. The details of them are being skipped from the release notes for spoiler reasons.
  • You now start with 0 of every kind of tech tree research type.
  • There are now two new internal city story flags: HasSolvedFirstCell and HasSolvedAdjacentCells.
    • These will be used for gating a variety of things.
      • Gates have been added, suppressing UI and encounter spawning as appropriate
  • Some more metadata added to encounters, but it's not used just yet.

UI Improvements

  • The last of the direct shell company services logic is now in place, at least as an initial version!
  • Add in proper view of the difficulty increases in a game, and their effects
  • Added details to the lair building tooltip to indicate what benefits a lair provides.
  • Found and fixed a number of issues with encounters and their tooltips, tooltips for encounters now display what they do when they succeed
    • And also, you know, actually do those things
  • You can now directly click an encounter and go into the dispatch menu against it, even if you're not in dispatch mode.

Balancing Changes to Tech Tree Second Column

  • Split the commercial goods tech in Materials Science from one group of 6 to two techs of 3 each
  • MindFarm improvements moved from Philosophy to Computing
  • DataGathering improvements moved from Robotics to Computing.
  • Factory Lair improvements moved from Philosophy to Materials Science; Technician moved to Philosophy in the swap.
    • These make the affected categories more balanced in terms of the variety of tech benefits available in each one, and also more balanced between categories.
  • Paired the commercial Cloaking Tech Production with HumanScaleCloaking, because duh why didn't I just do it that way in the first place.
  • Some tech names, descriptions, and icons added.
  • Requirements for unlocking the second column in Material Science & Psychology reduced to 2 unlocks instead of 3 due to them having fewer available techs to research than the other categories in the early game. This may be temporary.
  • All unwritten tech descriptions everywhere changed from 'TBD' to '.' to avoid confusion per Chris.

Tech Costs Scaling

  • Rough tech cost scaling adjustment; later techs in a series escalate somewhat faster, and later columns escalate faster as well. More changes will be made as warranted.
    • Thanks to Mac for utterly breaking the tree to microscopic smithereens within hours.

General Additions

  • Added 2 additional citizen sub-cohorts.
    • The Middle Class, such as it is.
    • The "Collaborators": Citizens actively opposing resistance movements by reporting to MegaCorp secret police
  • Added Military Troops and Security Forces as two district-level resources that are now tracked, and which grow based on which buildings are in them.
    • We had previously been trying to pull this sort of thing from the regular populace, but that really just doesn't make thematic sense, and also has gameplay issues, both of which were made clear from the first day of testers.
  • Using the district resource view, we can now see the details of the forces posted at all of the districts. First glance passes the smell test so far.
  • Added the internal CompanyContractsByCategory data for shell company contracts, so we have a place to put that data.

Technical Improvements

  • Added a new set of MapEncounterSpot entries that we calculate on game start, or when older saves are loaded that do not have these, which provide a list of safe spots at which encounters can seed away from buildings and away from one another, so that we don't have them clustering in tile centers and overlapping in ways that we can't interact with.
  • Systemic encounters now only spawn on the non-building encounter spots, and thus look a lot more correct, are never hidden inside a building, and so on.
    • We'll also be using this for certain other kinds of imminent encounters that are not tied to a specific building.
  • There is now a new blocks_encounters_not_specifically_targeting_this_building_tag="true" available on building types which prevent encounters from casually spawning at buildings of those types. Essentially they must be explicitly targeted by things that are meant for them. No more homeless hunting wildlife in underground detainment centers, for example.
  • Added the ability to have OverridingName specified for cohorts when we want to.
  • Encounters that successfully resolve can now trip or un-trip city story flags.
  • City Story Flags can now give either warnings of "this will be remembered" or happy notices of "this will unlock new features" along with optional text beyond that, specifically if an encounter unlocks them.
  • Encounters can now be set to have their results only happen if you thwart or solve them, rather than when they expire (aiding them is disabled when this feature is used).
    • This is useful for all sorts of things where we want to have something that is a passing opportunity that does nothing if we ignore it, but which does something if we interact with it.
  • The specialty implementation logic for encounters has been removed, as literally none were using it, and that's just not how encounters are set up to work as of the last month or so.
    • As for modders in this code, they can already do all the things we do with them, and this external code gave no extra power for the sorts of things encounters are now used for.
  • New specialty logic has been added for city story flags, as I need some of that now, and will need more of that in the very near future for doing more efficient checks to enable or disable various flags from background threads. This is also a more modder-friendly approach to this particular part of the code.
  • The concept of "having vision" at a cell, separately from having explored said cell, has been removed.
    • We weren't really using this lately, and it just confused things. I doubt testers even realized it was there.


  • Fixed issues with all resources, including things like AIP, AI Level, and the machine materials, being wiped on load of a savegame.
  • Put in a couple of pieces of logic to prevent some errors that could happen when encounters were missing or malformed when you were trying to dispatch against them.
    • Thanks to Mac for reporting.
  • Fixed lair provided computing resources being off by a factor of 10.
  • Fixed shell company rentals not being saved/loaded.
  • Fix to make AI level only add to machine hearts instead of all computing resource types.
  • Fixed being able to build infinitely many lairs without consuming machine hearts.
  • Fixed some more issues with exceptions after removing a machine lair.
    • Thanks to The Gerbilest for reporting.
  • Bunch of fixes to the systemic issues encounter system where it was essentially spawning a systemic encounter of every type in every district all the time.
    • This was due to a couple of oversights or assumptions that were subtle.
    • There's also some logging info so that if things don't look right, check that before reporting