Logic Editing - Hawthorn-Games/ProjectScrapped GitHub Wiki

Goals

  • Allow the player to solve gameplay scenarios by editing the behaviour of game objects in a way that replicates basic programming patterns. A successful system would encourage lateral thinking, an iterative process and a feeling of improvement and optimisation.
  • Create the feeling of “editing the game” through an engine interface

Needs

Initial Design

When the player selects an Editable Objects from their inventory in Engine Mode, a pop-up UI element displays the inside logic of the objects and on what rules they are currently operating on. The player can freely edit these rules by dragging Code Blocks from their inventory to the object’s interface and vice versa. An energy meter limits the amount of Code Blocks a certain object can have, this parameter is private to each object's class. The Code Blocks in the player’s inventory are automatically arranged and divided in sections. The Code Blocks in the object’s chip can be arranged by the player but they will always start from the top, following downwards.

image|600

Constraints

  • This is the foundational mechanic of the game and will drive the rest of development. This needs to "work" before many other processes start

Reference

Opening Chips displays their internal logic

Dreams Glitchspace

Code Blocks that are arranged to give commands to objects

Rabbids Coding Scratch

Extentions Ideas

  • When the player imparts a new action to Golems, a UI overlay is displayed on the ground that previews their entire programming
  • The player can save snippets of codes that they created as their own Code Blocks for later re-use