HotM:Moving To Chapter Two

From Arcen Wiki
Jump to navigation Jump to search

Reporting Bugs

  • Any bugs or requests should go to our mantis bugtracker
    • If you need to submit log files, those can generally be found under your PlayerData/Logs folder in the folder your game is installed in. The most relevant one is called HeartoftheMachineLog.txt. You can send us the whole thing, or just strip out relevant parts.
    • In rare cases, mainly if your entire game crashes (that almost never happens), we will need your unity player log. That gets overwritten the next time you run the game after a crash, unlike the other log. These can be found here:
      • Windows: C:\Users\username\AppData\LocalLow\Arcen Games, LLC\Heart of the Machine\Player.log
      • macOS: ~/Library/Logs/Arcen Games, LLC/Heart of the Machine/Player.log
      • Linux: ~/.config/unity3d/Arcen Games, LLC/Heart of the Machine/Player.log


(Not Yet Released)

Unit Visual Updates

  • The old visuals for the Panther mech have been replaced with completely new ones, since the old one kept getting complaints about looking too similar to some mechs from another game.
  • New visuals for one other mech have also been added, although it's not yet applied for any unit yet.
  • The icons for the sidebars for all of the mechs and the bulk androids have been replaced, so that the colors are more consistent and readable and attractive.
  • The visuals of the Hellfire mech have been improved to be more fitting with the rest of the visuals in the game.
  • All of the main mechs seen so far in the game have now had their LODs adjusted, so that there are now fewer polys in their LOD0, and so that they have fewer steps for their LODs, and so that they don't flicker between LODs as the player is looking around.

0.567 New Edges

(Released July 15th, 2024)

Note: this also went out only to the playtest build, and not the demo build, because of the ongoing risk of regressions.

  • The sidebar no longer has a generic "riding units" section, but instead has specific headers for vehicles that contain units, with the units broken out by vehicle.
    • Thanks to Mintdragon and others for requesting.
  • The "unit is busy with something" text is no longer so long on the unit/vehicle cards, so it no longer wraps.
    • Also, now it just shows the actual name of the thing they are doing next to the icon and the turns.
    • Thanks to Leximancer and Mintdragon for reporting.

Fixes To Prior Build

  • Fixed a complicated issue with the arrows not being offset correctly from the tooltips that have those.
    • Also fixed a very simple accidental issue with them that was causing their backgrounds to not show correctly.
    • Thanks to Mintdragon for reporting.
  • Fixed the true issue with the ui tour softlocking, where the game was checking for the wrong flag before showing the wrong step. This was a casualty of the sheer volume of code I changed in the prior build.
    • Thanks to Mintdragon for reporting.
  • The passenger seats used and available on vehicles is now shown properly in the other stats, same as is the case with vehicle types.
    • Thanks to Mintdragon for reporting.
  • Fixed an issue with the arrow-type tooltips in general, where they were not appearing properly until you actually moused over the element that they were anchored to. This was code applied wrongly from some other tooltips, and could soft-lock the ui tour as well as just making it seem like it wasn't working prior to that point, too.
    • Thanks to Mintdragon for reporting.
  • Fixed a regression in the prior build where characters were not showing during minor events or dialogues unless there was also a visual effect playing at the same time. During major events it was fine.
    • Thanks to mblazewicz for reporting.

Other Fixes

  • Adjusted some text that was a bit misleading, where "click here" sounded like it wanted you to click the tooltip.
    • Thanks to Mintdragon for reporting.
  • Fixed a bug with some of the objects on the main menu having overly-dark blotches that would show through the fog incorrectly. These were NaN pixels that were being transmitted via a shader's interaction with the PBR lighting pipeline, and which the fog didn't know how to deal with. A different shader that is unlit is now used, and things now look correct.
    • Thanks to mblazewicz for reporting.

Visual Improvements

  • Revised the edge detection logic and a few other things that were subtly degrading image quality.
    • Thanks to Mateusz Błażewicz for reporting.
  • Fixed a pervasive and annoying issue where mipmaps were causing some emissive texture bleed-over in some of the models, most notably roads, making it look like antialiasing was failing on them.
  • A completely new edge-detection effect is now in place, this one by Michael Kremmel.
    • I've used I think six different versions by different folks, and the prior one was the best one I had seen, in terms of being able to get the blend of effects I wanted in there. However, it had artifacting around very thin things like trees, and was applied after the anti-aliasing pass and thus looked very jagged in a way that is very annoying.
    • The new effect is equally flexible to the last one (not sure how I missed this effect before, but maybe this one is that new), and does not have those specific artifacts. I was able to tune it well to the range of colors in the game, so that it's using both color and depth information from the camera, and it is applied in a resolution-consistent way right before antialiasing happens, which makes it appear much more smooth.

0.566 Tooltip Conversion Part 1

(Released July 15th, 2024)

Note: this went out only to the playtest build, and not the demo build, because of the large number of changes that had a high chance of causing regressions.

  • The mark 1 and mark 2 mechs are now properly separated out by tag, and so the new mark 2 mechs should no longer seed uncomfortably early. In the prior build, the new mechs were able to seed earlier than intended. Existing saves that already have them will still have them.
    • Thanks to Mateusz Błażewicz for reporting.
  • When any savegame is loaded, it now calculates extra density of spots where npc units can stand, which makes it so that mechs and vehicles in particular can handle things a bit better.
    • Additionally, these use some relaxed seeding logic for being around fences and fields and so forth, so both now do far better around tight spaces.
  • Some new logic is now in place for allowing npc managers to seed things really close to a target, and for npc managers to target a specific type of player structure, with fallbacks for if the more ideal groups are not found.
  • The "units behind objects" highlighting now has more natural interaction with the fog. I still have more to do with this later, but for now it's an improvement.
    • Thanks to Mateusz Błażewicz for reporting.
  • Added in some more hardening for protection from exceptions from recently-dead npc units.
    • Thanks to Wolfone and mblazewicz for reporting.
  • Improved the handling of killing key contacts, and added a variety of functionality for gating certain things based not just on their flags, but if they are alive (met or unmet), met and alive, or dead (met or otherwise).
  • Fixed an issue where Sledge was too large to fit in the dialogue windows properly.
    • Thanks to Mintdragon for reporting.
  • Fixed a typo in the AGI researcher warning where it was saying there was widespread agreement when it should have been the opposite.
    • Thanks to Kenken244 for reporting.
  • The old "Robotic Compromised" stat has been removed, and is now replaced by a "Hacking Resistance" stat, instead.
  • Previously there was an exception when loading the level editor if you were on windows and did not have the SpaceMouse drivers installed, which of course most people would not.
    • This should be fixed now, but I am not positive.
    • Thanks to Gloraion for reporting.
  • Substantially revised the camera layers to accomplish a couple of things, but in particular to allow for some particle effects to be drawn in front of the UI as-desired.
    • Also updated the particle effect system so that this works now, as well.

UI Updates

  • Windows and tooltips and such in general now fade in rather than appearing instantly, although the current fade-in is very fast.
    • More will be done with this, but this already makes things feel dramatically less abrupt.
    • Thanks to Josh Atkinson for suggesting.
  • The code for how tooltips are rendered has been completely reworked.
    • Essentially, previously it did a lot of extra math to figure out how big things should be first, and then actually drew the tooltip at that size. However, due to occasional inaccuracies inside TextMeshPro about how this was calculated in advance, this meant that it would sometimes overflow its bounds. To get around THAT, I let the tooltips increasingly eat into the right-hand margin, which was still problematic in others ways.
    • Now it applies the text only once, and then has to wait a frame to find out how big that actually was, and then it does a further pass of size adjustments based on that new information.
    • This works out really well with the fading-in logic, since it's invisible for that first frame now, regardless of whatever else is happening. By the second frame, which may be something like 16 milliseconds later, it is sized properly. This fixes the margins issue, which looked really bad, and also just makes them more efficient to render in general, as well as easier to maintain later on.
  • Added in a 200ms delay before tooltips are shown. So if you are just moving your mouse across the screen, it is less likely to get up in your face with instant tooltips.
    • I may make this more configurable later, for people who prefer things that pop up even slower, or which pop up faster.
    • Thanks to Josh Atkinson for suggesting.
  • The way that panels that size height-wise to their text work is now consistent with the new tooltips approach, which also means that it is finally accurate versus me having to give extra buffer to them.
    • In general extended several parts of my ui framework to make this work more seamlessly, and it also now will update text slightly faster on buttons and similar. Probably no-one will notice that, but it's about 200ms more responsive on average.
  • Fixed a number of interfaces having the right-border incorrectly not matching the left border, so that text would seem to kind of overrun that some.
    • For tooltips that had to do with the old measurement issues, but for these interfaces this was just something I defined incorrectly for some reason.
    • Thanks to Igor Savin for reporting.
  • Fixed a very ugly dark-greenish button color on the event windows, which really were not meant to be that color.
    • And in general made the buttons on those screens and the reward screens and so forth more stylistically consistent.
    • Thanks to Josh Atkinson for suggesting.
  • The visual-pause and visual speed up and speed down controls no longer have default keybindings. These were kind of time bombs for players, and are mostly for trailer creation.
  • The entire "cosmetic" section of the system sidebar has been removed, as it was too much information and not relevant.
  • The performance and cheats entries under the Extended part of the system sidebar have been removed, as has the map link under the Exploration section.
    • Again, these were contributing to that menu feeling overwhelming.
  • The system menu has been split up so that the exit section is still at the bottom, but so that save/load and then settings are now at the top.
  • The sidebars for units no longer expand and contract. They just always show all the stats, which is less overwhelming than having some of them hidden some of the time for no clear reason from a player perspective.
  • Stats for units and structures now have two different colors associated with them. One for the left sidebar, and one for tooltips.
    • It is no guarantee to have a single color that will look right in both contexts without clashing.
    • Thanks to Josh Atkinson for suggesting.
  • The colors used in the sidebar are now more consistent per stat, rather than trying to color-code importance. Previously color was being used in a way that was inconsistent with the rest of the game as a whole, and also which was not super great for readability even in isolation on this one interface.
    • These colors are not final, but it's an improved draft for now at least.
    • Thanks to Josh Atkinson for suggesting.
  • Huge amount of progress on the tooltips for key entities (units, structures, etc) in the game, making them much more vertically-aligned, with better spacing for sections and the header of them, to make them much easier to read at-a-glance.
    • Thanks to Josh Atkinson for the lengthy and informative discussion that led to this, although this is the preliminary version of the changes prior to his actual mockups.
  • Fixed an issue where units without area of effect attacks were showing 0 as the AOE attack range and damage, when those should have simply been omitted for the sake of brevity.
  • Removed the entire concept of "digging basements" for machine structures. This caused a huge amount of tooltip bloat, and some minor questionable things with how structural-engineering-helpers would spend their time, and it added no meaningful gameplay features.
    • When I first added this, you had the option of getting things faster but lower-capacity, and slower but higher-capacity, by putting jobs in different structures. That was a waste of time and so was removed before testers even got their hands on things, but the basement-digging remained.
    • Removing this makes the tooltips for structures already a lot less overwhelming.
  • Sidebar headers are now actually larger in font size than sidebar content.
    • Thanks to Josh Atkinson for suggesting.
  • A ton of ui colorization and minor-style updates. It touches literally every interface in the game, and does things like: make sure that dropdowns are visible against windows they are in front of; make sure that the purple in the main hud is not quite as overwhelming, and gets tempered by little bits of blue and cyan; removes some unfortunate green that was seeping into some gradients; makes the dropdowns more visible; increases contrast between text and their background in more cases; makes the textboxes more visible in the context they now exist, where the backgrounds are darker.
    • There are still some things that I really don't like about the new version, such as the exact coloring on the dropdowns and the textboxes in particular. I'm not sure I'm wholly sold on the tooltip border in all cases, either; in some instances I feel like it needs to be stronger, and in other instances subtler.
    • Regardless, several hours of staring at this today and working on it is enough; I'll need to figure out more things with this later.
  • Split the tooltips into two groups after all, and also improved the textboxes and dropdowns while I was at it.
    • The tooltips for the plated/card information has a brighter border and softer background, and the ones for other purposes has a much dimmer border and a darker background.
  • Added an extra amount of margin around the edges of the plated/card tooltips, to help complete their look as distinct from other tooltips.
  • Removed the passive android and mech repair that vehicles could do. This was old from before repair spiders, and I doubt anyone was using it, if anyone even noticed it. It was just cluttering the vehicle stats.
    • Also have removed agility from the vehicles who had that stat for now, as that's not actually going to be used by them for now.
  • Reversed the order of the costs in the tooltip for units and structures and such, to be consistent with the build menu.
    • Thanks to Rhiwaow for reporting.

0.565 Preparing And Stunning

(Released July 4th, 2024)

  • The game now detects if it is the demo build or the main game (playtest version counts as main game for these purposes).
    • The "end of demo" notice now only appears if the player is actually on the demo.
    • The main menu "wishlist" button is replaced by a "wiki" button on the non-demo builds.
  • Tower Mainframes and Biological Mainframes are now immune to subnet stun, as are Contraband Scanners. There was nothing fun or interesting about those being stunned, and a whole lot of things that were frustrating.
  • The following structures are no longer subject to being stunned when their subnet is attacked: slurry spiders, microbuilder mini fabs, biomulchers, bovine replicators, protein vats, hydroponic towers, compact water filters, repair spiders.
    • The following related structures are still subject to their stuns: slurry mines, full microbuilder fabs, protein canneries, water filtration towers, overdrivers and efficiency improvers, mining skimmers.
    • Having stuns mess up the core of your economy with a cascading effect is just annoying and does not add much strategy. Having stuns mess up your largest producers, so that their more vulnerable, and if you're reliant on that beyond your core production is a lot more interesting.
  • Added a large amount of new framework logic to allow for relaxed spawning of mechs so that they can spawn stepping on really small buildings and fences relative to their size.
    • Basically, I need for certain things to reliably seed near a target no matter how crowded things are. This wasn't super relevant before, although it did lead to some very odd vehicle spawning from player aerospace hangars that is in one bugtracker report.
    • To be able to test this, the cheat "spawn npc unit for local authority" has been updated so that if a player has a structure selected, and they try to spawn an npc unit, it will try to be as close as possible. This allows for testing a variety of situations in a more direct way. Note that this only applies to that one specific cheat at the moment.
  • There is much-improved logic for seeding things closer to targets when it crosses cell boundaries, which allows me to be sure that when something big is supposed to spawn near to a target, it is almost certain to do so.


  • The tooltip for the language label in settings now includes the same information that hovering over the dropdown for the language does.
    • Thanks to mblazewicz for reporting.
  • The UI tour now saves the controls popup for the last step, rather than that being the second step. This makes the tour a lot less overwhelming in general, and in general just makes more sense.
    • Thanks to mblazewicz for suggesting.
  • Added in some extra logic to prevent the ui tour from popping up on existing savegames that are already past turn 1.
  • Fixed some funky issues with the way that subnets would form at times, where the lines would appear to cross roads even though technically the connections were valid, or a new building would link up to a node that was inexplicably far away, etc.
    • This turned out to be entirely cosmetic, but it was confusing as heck when you had large U-shaped subnets with blocking roads in the middle.
  • Fixed an exception that could happen if a machine structure was rebuilt underneath an npc unit that was standing on it at the exact same instant that the npc unit died.
    • Thanks to mblazewicz for reporting.
  • Photo mode now allows you to freely move the mouse without turning the window view, unless you hold down either the left or right mouse button.
    • This allows for setting up a shot and then making further adjustments, or activating other software to take the screenshot rather than losing the position of the shot due to the mouse moving it away.
    • Additionally, when holding down the M key to adjust the position of the manual focus during photo mode, that now properly shows the mouse cursor. In recent builds that had not been working right.
  • Fixed an ongoing annoyance with the TPS reports and ledger for certain kinds of resources where if they were hitting their resource cap, but that cap is very high, then they were still complaining.
    • This was most notable with elemental slurry, but it could happen with other things as well.
    • It now just treats these as neutral, since they are producing enough to stay at the very-high cap and just sitting there.
    • Thanks to teo4512 for reporting.
  • Fixed an issue where vehicles coming out of the aerospace hangar in certain circumstances could reliably spawn very far away from the hangar. Now they will hug up close to the hangar in some fashion, as they should.
    • Thanks to riking28 for reporting.

0.564 Finishing The Localization Framework

(Released July 3rd, 2024)

  • Editing pass has been done on the new text from yesterday's build.
    • Thanks to Kara McElligott Park for doing this!
  • The critical hits text now includes the line "The color of a target is the thin line under their health bar, not the large icon over their head."
    • Thanks to Isith for suggesting. This was confusing a number of people.

Localization Framework

  • There is now a setting option that allows for changing languages, for now between the original English and the test languages.
    • This all gets saved into the settings properly, and loads the external language files only as-needed.
    • Things are loaded properly in terms of the timing on loading the program, as well as when changing the dropdown value.
  • The main "language table" entries are now properly read from other language files, and display "properly enough" for this point of testing Chinese and Spanish.
    • Fixed an issue where certain things that were very commonly-used, like button text, were being left as stale when changing languages.
  • Added a new system where table rows with localized contents on themselves or sub-components now register themselves as targets for localization import, and there's a whole new framework around this.
    • The localization imports are now able to fully identify all of the tables in question, and they also are able to match to rows and put their general display names and descriptions in an automated fashion.
    • The setup for noticing rows that are missing a field hooked into this system is also there, which helps me self-check any issues and correct them before translators ever get involved with a given field.
    • This has been a lot more surgery than I thought it would be based on where I had things mid-day, but my original estimate for how long it would take me to do this was a week (that was pessimistic, but still), so I'm still happy this is going so quickly.
  • All of the localization linkages are now in place and working, using sub-rows and swapping things out on the fly as-needed.
    • The last bit I need to handle are the things for duplicate text that is auto-linked in secondary languages, but all of the bits that involve reading in the input spreadsheets are complete.
  • The way that linked localizations is handled has been shifted to be faster to read at runtime, and the proper linkages are now in place.
  • If the extra localization logging setting is on, it now complains about missing rows that were not present but which were expected.
  • Discovered that rows that were copied-from other rows using the xml copy_from tag were not properly pulling localization entries. There is now logic where they grab what they need to.
  • At this point, all of the localization links of all sorts are self-checking and verify that they are all read in properly.
    • There are some font-sizing issues that cause display issues in Chinese, but that's a problem for later; the actual text is being read in properly, and I already have some underlying font stylesheet capabilities that I built into my custom version of TextMeshPro to handle cases like that. That can safely be handled during LQA, later.
    • Note: any testing done with the Chinese language is going to have a lot of missing text right now because of this font sizing issue that will be left for later. Testing with Spanish does not have this issue. Of course, both languages are largely gibberish at the moment since they were machine-translated for these early tests, but that's not the point for the moment.
  • Fixed a bug with how building variants were storing updating their names, which made it so that switching languages mid-game was causing some wrong display of text.
  • Added a new feature which allows post-validation of arbitrary rows after language changes happen.
    • This is used for the various statistics entries, which "bake" some localized elements into place for whichever language they are using at the moment.
    • Now when you swap back and forth between languages, and look at the statistics screen, it updates as expected.

Prior Release Notes

After NextFest