itch.io is community of indie game creators and players

Devlogs

Update 3

Dev Game
A downloadable game

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.

Read comments (3)