The year 2022 was an excellent year for me. I started a new job, and my family grew. But, in terms of the engine, not so much.
I'm sad to say that the Untold Engine saw little progress this year. Part of it was personal matters that needed my attention which reduced my bandwidth. But the main reason was the lack of direction for the game engine.
For most of the year, I had no idea what to do with my game engine. I wanted to niche down my game engine to a game genre. But could not decide on the game genre.
My instinct was to make the Untold Engine a Football Game Engine. And I implemented several systems to make the engine more football/soccer based. However, these implementations went nowhere. To make matters worst, some of these systems took a long time to implement.
So, I found myself going back and forth, trying different ideas. I hate to say this, but this year was mostly wasted trying to figure out what I wanted to do.
A couple of weeks ago, I realized what I needed to do.
See, I have been developing simple football/soccer demos for my game engine. Over time, I learned what is required from an engine to make a sports game. I also learned that the most tedious part of a sports game is the animation/physics synchronization and the AI system.
I kept thinking about how can I fix these issues, and it hit me:
I need a Debug Visualization Tool in my engine to help me visualize what the AI sees.
This realization changed everything. I went from being lost with my game engine to realizing that I could make my game engine unique and awesome. So, during my time off from work (Christmas vacation), I started implementing the necessary 2D visualization tools.
Let's go over the tools that I developed.
2D Visualization Tools
Zone Division
I developed a way to parse the field into zones. Each zone represents the zone the player is allowed to move during the game. Zones are helpful since they keep the team's formation throughout the game and allow for AI tactics/strategies.
Area Computation
I also integrated a Voronoi Diagram visualization tool. Voronoi Diagrams help the AI determine whether a player has enough space to dribble or if it should pass the ball. For example, if the Voronoi cell decreases in area, the player should pass the ball. On the other hand, if the cell increases in size, then it can continue dribbling. The same idea applies when looking for a teammate to pass the ball.
Nearest Teammate
As you may expect, I also implemented a Delaunay visualization tool. The Delaunay Triangulation algorithm informs the AI which teammate is nearest the active player. In addition, the AI system can determine which teammate should receive the ball by calculating the Voronoi Cell area.
Aside from these three main tools, I also added a Parameter Visualization tool. It helps me visualize the properties given to each player.
So what is next?
Now that I have a roadmap. The subsequent versions of the engine will focus on implementing more tools that help me develop football/soccer games efficiently. I'm excited to build a tool to visualize the player's animations and movements.
I'm excited about the future of the Untold Engine.
Thank you for reading.