With the 0.5 release of multipart out of the way, I think I’m going to start working on a prototype of a game concept I’ve been working on for a while.

I described the high-level concept in a reddit post from a while back. Unfortunately, my graphic designer friend never had the time to help me design the game so I’m stuck with programmer art until I can find someone who will help me out.

I haven’t committed much time to actually coding a prototype but I’ve been working on the architecture in my head; I want the core logic to be scalable in parallel so that it can potentially support massive constructions and run them at absurdly high tickrates. I’ll have to do some experimentation with this to decide what is the best approach to process all the gates in parallel: iterate and update with lock-step synchronization, iterate and update with relaxed synchronization via atomics, or a push-update which only recalculates the output of gates which had a change on their input, using an atomic queue and a “tick”, that is just a rate at which regularly updated gates (such as clock signal generators or gates which draw information from outside the circuit) change their output.