Boilerplating

For the past few weeks, we’ve been spending time building and testing the fundamental code systems for Monster House Party.

In programming terms, this means writing code necessary for a program’s basic setup or infrastructure. This can include code for input, loading, audio management, application flow, and debugging.

Two important and interesting systems we are developing for Monster House Party are:

  • EventObjects: These will represent many of the events/actions that occur within the game. These can be simple actions such as a player pressing a button, to more complex events, like a character completing a task. In Unity, these will be created as ScriptableObjects, which allows us to separate the in-game events and actions from the other code systems. A bi-product of this architecture is it becomes trivial to trigger an event at any time when debugging and testing the game.
  • DataObjects: Similar to EventObjects, DataObjects are a way to separate any stored data from other code systems. DataObjects are also created as ScriptableObjects within Unity and have the feature whereby different data types (eg booleans, integers, floating point numbers, strings of text, and object references can easily be added and removed by a game designer without requiring a programmer to change any code)

Currently, we are also in the process of creating similar code for abstraction input. This will allow us to easily configure the different input controllers for multiple players (eg VR controller input vs gamepad input vs keyboard & mouse input etc) which will form the basis for part of Monster House Party’s accessibility features.