Update 3


I've made some decent progress this month and getting into a good routine of balancing work and working on this game. There were some small changes made to the game code but mostly the focus was on fleshing out the mod that will be included with the game's initial release.


New versions are back
I've managed to get the new versions implemented and in the process added in a new mod API hook, OnFeatureValueChanged. This gets triggered when a feature is modified by the user, useful for determining how much work should be kept. For example increasing or decreasing the clock speed of a CPU would only require a tiny amount of work, while significantly reducing the resolution of a 2d game could require a large amount of art to be redone.


CPU ISA improvements
I've re-implemented some CPU/ISA relationship features that were in the last refactor. Software is once again confirming it can run on the CPU by checking if the OS Kernel and the CPU use the same ISA. I've also added backwards compatibility support to an ISA, so it's possible to create a new ISA that has backwards compatibility with another one. A real life example would be x84-64 compatibility mode that supports 16 and 32bit x86.

This addition of backwards compatibility required a small refactor of how features of a product work. You can now assign any value to a feature instead of just an integer, it's a small change that allowed me to assign an ISA to the backwards compatibility feature.


That's it for this month! I've settled into my new job fairly well and also glad to find the time to keep developing this game. It took a little while to familiarize myself with the code again so I expect more progress next month. Speaking of..

Next month's focus

Programming Languages
My next task is getting programming languages re-introduced, but again with some improvements over their last implementation. For languages I wanted to have the MERC values of any software you write impacted not just on the quality of the language but also its features. Take the language Rust for example, it has similar performance to C but with vastly improved safety, adding similar features to your language should result in products with a higher reliability.

Adding and supporting a language is also being fleshed out, before languages used to only have one single quality value that determined how well they ran on every supported CPU, now I want to allow each language compiler to have its own MERC values. When you hire expert programmers to work overtime on making BASIC run on your new CPU, it should end up being faster and less buggier than the competition.


Fabrication Plants
Following that I want to re-implement factories, allowing you to sign contracts and build your hardware products. One area I want to flesh out is how they produce work, in the last refactor they ran every turn without any workers and came with every piece of tech required to function.

This time around the fabrication plant will be similar to a computer/console product, which is mostly just a parent that holds child products like a CPU, GPU and OS. The plant will have a few features like size and room types that determine what devices it can hold, while the devices you place in it will determine the production rate and required workers. This will allow upgrading plants by replacing what devices they hold, rather than rebuilding an entire plant each time.  Instead of automatically producing output every turn, workers will be required to run the plant's devices to produce any output. I'll also add in support for devices running autonomously without the need for any workers.


QA
Most of the work done in the fabrication plants will be usable to re-introduce Quality Assurance. Allow for automatically building a product every x turns which is used by the assigned QA team(s) to work on. Have them produce a report every turn to get an idea of the product's current quality.

The most difficult part will likely be having your dev team fix the bugs, I need to support assigning a focus area to teams so you can respond to the reports. If the reports are filled with bugs, assign the focus to reliability, or if performance has become a concern set the focus to efficiency so your team can re-write the slowest parts of your code.


Client
This will be the most exciting part to work on, getting the game playable again and producing some new screenshots.. Which will look much the same as the old screenshots, but they'll be newer.. I've been keeping an eye on the Godot 4 beta releases and it seems to be progressing nicely, the first beta included .Net 6 support which is what I'm writing the game in now. I doubt I'll get up to this step next month, but hopefully I can start on this the following month and provide some new screenshots before the year ends.

Comments

Log in with itch.io to leave a comment.

I feel like this game is super interesting, would it be possible to allow us to be board partners with GPUs later into the game? [Assuming the game will have GPUs.] This would be interesting allowing the company to work with other companies, not sure if this would be possible or really cool for this type of game.

Keep these diaries coming in. :)

(+1)

Hey thanks for the comment! There are GPUs in the game and yes the plan is to allow working and co-operating with companies in much greater detail than typical games, including being a partner like that.

Right now GPU chips are used without a board but I'll probably have GPUs require one when I'm ready to flesh that part out. Of course the best part is that all these tech products are in the included mod, not the game itself, it's entirely feasible to create a mod that turns this game into an ice cream simulator.

One of the more annoying mechanics I've found in other games is the lack of interactions with other companies. When I want to self publish a product in most games I need to hire an entire marketing team with no option of contracting it out to a marketing company. Another scenario I'm aiming for is being able to create your own open source competitor to OpenGL, striking deals with the top graphics companies to either contribute funds and/or assign their own programmers to work on it. Being able to work with companies, doing deals for all kinds of services and sharing IP rights etc.. should be a big part of this.

How has this been going?