Full notes
Full HeavenX update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- UI and audio
- Store
HeavenX changes
Narrative
Describing the process through which NPC dialogue goes from my head, to Unity, to HeavenX is much like an episode of How it’s Made. But not the interesting sort of episode, the kind that you put on to fall asleep. Maybe I’m biased due to sheer repetition, but working in-engine is a special kind of work. I do not envy our programmers. Anyway, for each line of text, a series of specific steps must be taken before they can appear onscreen. Steam post image
There are so many lines of dialogue already. Thousands. Some carry immense dramatic implications, many serve as fodder for the water-cooler. Either way, the process is the same. The first part is at once the easiest and the hardest, the conception of the dialogue itself. This can happen anytime and anywhere, no matter how inconvenient. If it’s worth writing down, I do so. If it’s worth more than that, it goes into Twine.
Once in the Twine web, the line can audition for a spot in the localization table. This is where text goes to be referenced by our nodes, but we’ll get to those later. When I have a full quest mapped out, I open its associated localization table and enter each piece of conversational text in sequence. Eventually, the other boxes in this table will be filled out, effectively translating all of the text in the game for international audiences. Steam post image
Each piece of text in the localization table is given a name. If I refer to one of these on a node, it will appear in Shout! as an interactive message for the player. My job, when I’m not writing, is to build out conversations using these nodes and cramming my written work into the localization table. Text will go from one map, to a table, to another map, and finally to your screen.
And that’s how the word-sausage is made.
Dev
There's a whole mess of systems involved in just walking around the office, but right now work is focused on just saving and loading everything. Stuff like, is the door open? Did you leave the light on? Did you take something from the break room? It's easy to take that for granted, but there's lot of little things that need to be tracked in a consistent, maintainable way.
The smile cube is our special debug solution designed to test the item inspection system. We also have the john of truth. All will be revealed in future updates! Steam post image
Back to the Beige Tower:
Way back in Devlog 0008 we wrote about the tightrope of building in-universe ZHI desktop software: we have to subtract polish (which is something we love, common saying around the studio is "make it juicy, make it crazy") on purpose.
We also warned about a common design failure mode we run into from time to time, "you can spend hours crafting the perfect layout, only to realize you accidentally made something a little too interesting."
Well, somewhere along the way 'Shout!', our in-universe answer to AIM, started as an actual Slack clone (to stub out the user interface).
Soft shadows, tidy avatars, fancy reaction bubbles. It looked exactly like slack and that didnt match the aesthetic of HeavenX.
A few months back Matt went on a mission to skin Shout, he tore it down and rebuilt it to sit where it actually belongs: in the late 90s enterprise muck, right alongside Edict, RightNow and the other apps that power the story system.
Chunky bevels, hard pixel borders, system-gray panels make it feel like something ZHI would really issue you during onboarding.
The reference points are the ones we always come back to, Lotus 123 and Novell GroupWise, the corporate productivity suites that no one misses.
Shout! is one of the apps the story runs directly through, so when it reads as modern SaaS the whole illusion cracks.
We cant mess it up, if we do - the player stops being a Neofrontiersman at ZHI and starts being someone alt-tabbing into a real work chat (PTSD for me).
Here's the thing nobody warns you about: reskinning UI in Unity is miserable, tedious work, and it stings extra when the system already worked.
Shout! functioned fine before we touched it. Every message rendered, every reaction fired, the plumbing was solid.
Rebuilding the look means we have to pull it apart and reassemble it panel by panel, anchor by anchor, fighting the same rough edges we complained about back in Devlog 0009.
It is a lot of hours for something a player is supposed to glance at and instantly believe. But that belief is really the entire point.
A messaging window the player stares at for hours cannot be the one thing that feels like it's from 2025, so we must eat the tedium and do it right.
Reskinning shout puts us at roughly 80% done with the computer and its app systems. After this, the runway on the engineering side looks like:
Edict, the email client
PetalHub, secret - dont ask
Whiteboard integration across all the desktop systems for the story system
Desktop nodes for our story editing system
Desktop content editor for our story editing system
Syncing all of it to the web service we talked about in Devlog 0002
Once that's locked in, we move on to implementing the rest of the office props (im excited for the vending machine and cigarette dispenser).
Back to work.
Source
Changelog.gg summarizes and formats this update. How we read updates.
