Week of Groundwork
- Liam Healey
- Sep 14, 2021
- 2 min read
Updated: May 22, 2024
Voidsinger
The past week was spent working on the underlying mechanics of the game so that work on the gameplay itself can start. I added a system for removing placed parts, created a system for detecting if parts were connected, fixed multiple large bugs with the physics system, updated base classes to have events for use in child blueprints, and started work on a system for temperature.
Disconnect Detection System
This system is meant to detect if a point on a PartGrid (the variable used to keep track of parts and their locations) was connected to another point as optimally as possible. I created a recursive function to achieve this. It would first check to see if its start point is at the endpoint. It would then run itself on each of the valid adjacent part locations prioritizing locations in the direction of the target point. This would create a snaking path that would work its way to the target point. If the two points are not connected then the function will have iterated through the entire connected section.

C++ Blueprint Interface
When I was originally creating the base classes that would be the parts for many of the game features I forgot to add a way for the derived blueprint to receive data and execution events from the parent class so I added several ways. I also encountered issues with derived blueprints not having access to certain world-related functions. I fixed this by overriding the GetWorld() function.
Temperature
The temperature system keeps track of all of the pixel’s (the basic building block of the game) temperature and evenly distributes that throughout the ship. It would also have a way to add or subtract heat from the system at locations and melt pixels that were too hot.
Kommentare