Update log
Full GearBlocks update
The complete published notes, normalized for clean reading and source attribution.
Repeated intro
Hey everyone, it's taken way longer than I would have liked, but here's the next game update at long last.
Extracted changes
- Workshop
- Gameplay
- UI and audio
Progress has been slowed by a couple rounds of sickness, burn out with the project, last minute bugs, etc. but excuses aside, on to the update!
Logic Plan
The focus for this update has been on adding "logic" to the game. With some helpful input from the community, I settled on a three stage plan for this.
Stage 1
Based on using "physical" parts connected together with the linker tool, exposing data channels to transfer information between them. In fact, sensors and other parts can already be linked to display screens in this way, and Stage 1 simply builds on this approach.
New parts for this include switches, controls, sensors, and logic modules.
Stage 2
Continues on from Stage 1 by adding a new "micro-controller" part that is linked to other parts such as sensors etc. in the same way as other logic modules.
However, rather than provide a single function, it would allow for more complex logic internally without requiring lots of "physical" parts and links. It would provide a 2D node graph editor for its part behaviour UI, available nodes used in the graph would replicate the physical basic logic parts (while also perhaps adding additional functions).
Stage 3
A programmable "computer" module, again it would be externally linked to other parts but would allow the user to write custom Lua code to process these inputs and generate output data.
Progress So Far
So far I have only completed Stage 1, and I understand some may be disappointed with this, as it does have a few drawbacks. Some logic designs can require quite a few parts, taking up space in your creations, and the links can become cluttered and hard to navigate in 3D space.
The micro-controller in Stage 2 would address these problems, but would be rather more involved to implement (due to the node graph editor UI), so I decided to leave it for now. My intention is not really for people to be creating super complex logic in GearBlocks, as the focus remains on the mechanical elements that are the core of the game. However, if there's sufficient demand to put more emphasis on logic, then I will look into implementing the micro-controller.
Actually, it would be much quicker for me to implement Stage 3's Lua module, as the UI for it would be simple, so I'm very tempted to do this first. Let me know if this is something you'd be interested in!
Linker Tool Improvements
Given the increased use of linking needed for building logic in the game, I've made some changes to try and improve usablility and reduce frustration:-
Changed link indicators in an attempt to make them clearer.
Links can now be "targeted", and can then be deleted by holding Left Shift + Right Mouse Button.
Links can now be created by clicking and dragging in either direction between link nodes.
Links associated with any node can now be deleted (by targeting the node and holding Left Shift + Right Mouse Button).
Links are no longer lost when moving a part selection (as long as the parts remain attached to the same construction).
Data Source and Reader
With that preamble out of the way, how is logic actually put together in the game?
Some parts are a "data source" and have an output data link node, others are a "data reader" and
Source
