So, the other day I was wiring some logic to make a small speeder "turn on" when you hopped in the seat. The speeder was small, and I had to sacrifice a few things to place all the logic blocks I needed.
Building and wiring logic for very small or very large projects can be messy and very constraining on design. What if there was a general purpose compute block for combinatorial logic?
The idea bouncing around my head was to place a single block, skinned like a computer terminal. I could hit 'R' to enter the block like a ship core, only instead of a ship build mode, I would be in a "Compute-Space" where I could build logic. I could build as complicated logic as I'd like, using as much space for organization as I needed, and then designate one (or hopefully more!) blocks as 'Outputs'.
When I exited compute space, I could c-v the compute block to what I wanted to actuate (maybe hitting 'c' on the compute block would cycle through different outputs?)
This block would accomplish several things.
- Logic would be more compact, making it easier to integrate into small craft or organize large project
- You could potentially save precious block IDs. Some of today's logic blocks might only exist in Compute-Space. Compute-space blocks might not need blocks IDs, or have a different list of block IDs, or just be 2D tiles, etc. You could add as many new logic blocks as you'd like and not affect the world block ID count.
- Compute blocks could optimize logic calculations. When a user exits compute mode, the game creates a BooleanLogic object under the hood to call instead of simulating logic blocks.
- Provides a pathway for more complicated player automation. You could even add some higher-level logic or routines and let players write their own tiny programs or even AI