Coordinate Editor Tool
In my project Prototype Ascension, I adopted a component-based approach to design reusable behaviors. During development, I noticed that many level elements relied heavily on coordinate interactions. For example, lasers used Line Renderers and Edge Colliders based on coordinates, and I created a component for objects to follow a set of points along a path. Paired with a velocity component, this enabled the creation of dynamic level elements. To streamline level design, I developed an editor tool that exposed these coordinates in the Unity editor as draggable discs, each labeled with its corresponding ID. When a disc’s position was adjusted, the associated game object automatically updated, allowing for real-time changes and instant feedback. This tool became a versatile system for any point-based behavior, significantly speeding up my development process.
Data Extraction for Performance Evaluation
After completing most of the development for my bachelor’s thesis project, I needed a way to gather empirical data to evaluate the effectiveness of the flow field pathfinding approach. To achieve this, I created a separate build on a dedicated branch that included extensive debugging functionality and data extraction methods. My primary goal was to adjust key simulation parameters to analyze their impact on performance, which was a major focus of my research. To facilitate this, I added options in the main menu to allow dynamic configuration of these parameters. Additionally, I implemented real-time runtime information displays during gameplay. The UI for these tools was built using Unity’s UI Toolkit, which, after some initial familiarization, turned out to be really enjoyable to work with.
Flow Field Debugging
The scope of my bachelor’s thesis project grew larger than anticipated, making it essential to develop clear and effective debugging tools to better understand the systems I created. Since the project focused on implementing flow field pathfinding on a grid, my first step was to visually represent the system using Unity’s Gizmos. I developed a tool that allowed me to toggle between different informational layers of the pathfinding algorithm, such as the grid layout, cost values, integration field values, and flow directions for each active cell. Creating this debugging system significantly reduced the time spent on aimless troubleshooting and was a rewarding learning experience, as it was my first large-scale debugging tool.The scope of my bachelor’s thesis project grew larger than anticipated, making it essential to develop clear and effective debugging tools to better understand the systems I created. Since the project focused on implementing flow field pathfinding on a grid, my first step was to visually represent the system using Unity’s Gizmos. I developed a tool that allowed me to toggle between different informational layers of the pathfinding algorithm, such as the grid layout, cost values, integration field values, and flow directions for each active cell. Creating this debugging system significantly reduced the time spent on aimless troubleshooting and was a rewarding learning experience, as it was my first large-scale debugging tool.