Player-choice and participation in narrative
It can be daunting to work on a project of this scale. When I think about the road ahead, and the sheer amount of work required to complete the game’s story, it has helped me to look backward at the project’s origin.
At HeavenX’s conception, the game’s narrative was going to be delivered via intermittent drops of reference documents. These were internal memos provided to members of the Neo-Frontier Program (your department in the Zhaoxing Heavy Industries ecosystem) that would elucidate the setting, world, story, and characters. Functionally, these were page-long lore dumps the player would receive via their in-game email inboxes.

The first issue with this manner of storytelling is the fundamental lack of player input. The plot is dictated to you, the outcomes are inflexible. For the scale of the project proposed at that time, this was acceptable. However, as the gameplay systems grew the story began to feel like an accessory rather than a contributing part to its larger whole.
The story had to be elevated alongside the gameplay. With that, it was decided that while the reference documents would remain, the player would also be able to interact with their coworkers. Dialogue choices made during these interactions would either boost their loyalty to their employer, or to a wild-card element that would alienate them from the power structure of Zhaoxing Heavy Industries. This opened up an avenue for player-choice and participation in the narrative.

And still, dialogue trees weren’t enough. While the story itself was strong, we decided that merely selecting from a few lines of text to sculpt the future of the company, perhaps the world, was insufficient. The advent of the 3D office, and the project’s reorientation toward immersive simulation, got us thinking about the necessity of using space itself. Why not be able to visit the restroom while on the clock, for example? Maybe the player spends too long in the bathroom one day, and gets an angry email from their supervisor? Perhaps doing this too many times would prevent them from getting a promotion. The possibilities were worth exploring.
Our narrative ecosystem is much larger than it was even a year ago. These iterations have created more work for all of us, but the resulting experience will be all the richer. Where once was a boring, semi-interactive slideshow now exists the most comprehensive story system I’ve ever touched. It’s only scope creep if it doesn’t work.
An Operating System That Doesn't Exist
This week I paused on the window by window audit and instead spent it branding the operating system itself. The OS is called LOTUS, and until recently it didn't have an identity past "looks like windows 95 because businesses were using at the time the game takes place"
Period accuracy is the part we already solved -- 1px bevels, insets, bitmap fonts, icons that have to read at 16 pixels. The layout has been done in all the generic windows for months, I'd just neglected the coat of paint that pushes it a bit further past "generic win95 clone". At the end of the day it functionally is still a generic win95 clone, but the branding pass helps give it a bit more flavor. We have more game to make, and can't afford to spend it reinventing the wheel on 90's desktop operating systems. The way we inject personality into the OS (Other than with its content, obviously) is the logo, the boot screen, the cursor set, etc... 
Then there's palettization. Users can swap the color scheme. This means I can't hand off flat art with colors baked in. Most assets gets authored against a palette with defined slots: text primary, highlight, window border, text secondary, etc... The long and short of it is that the entire desktop can be palleted swapped by the user. Half the charm of themes in that era was that palettes ranged from tasteful to hideous. In the end they still have to be useable.
Next up is Edict, the email client, which is where a good chunk of the narrative actually lives. That one I actually get to design before a programmer touches it, which will hopefully prevent future rework.
A word on polish and optimization
Optimizing a game is an interesting experience. Ideally everything is as optimized as possible, but that takes development time. However, putting it all off and doing it later takes even more time. Sometimes doing things the fastest way is actually slower; slow is smooth, smooth is fast, etc, etc. That's all to say that office should load quicker now because I actually slowed down how fast it wants to load.
More behind the scenes on this in the future after its all worked out. For now, please enjoy this photo of level geometry outside of camera view being dynamically removed from the scene.

