SECRET
DigiMastered Works LLC
Office of Development
DMW107IB1009
Date 03/20/2022 11:29 AM
To: The People
From: Tanner Fry
Subject: Pathfinding
Route Finding and Optimization
A Director's agents will be using A* pathfinding algorithm in order to move from their current location to a new location. Things to consider when implementing pathfinding into a game are the size of the game, the entities using the algorithm, and other objects as that can change how A* should be implemented. We implemented A* pathfinding with a small 16x16 grid that is placed around an agent. When an agent is told to move to a location within the agent's grid, a path is calculated from the current location to a new location.
If an agent is told to move to a location outside of the agent's grid, then the agent's target location is saved for later calculations but the current target location is set to the edge of the grid. If an agent reaches the edge of the grid with a target position outside of the grid, then an agent's grid is centered on the agent and a new path is calculated to the original target position while running all previous checks. Through this, we can keep the strengths of A* pathfinding while using it in increments towards the target location. Optimization is also increased since we're not using a massive grid cross the entire map.
One thing to note, our grid is 16x16, cell size of 0.2 game units while our agent's sprite size is 0.002 game units. With our agents being so small, due to certain design choices with showing a Director's birds eye view, our grid cell size has to be small for the A* pathfinding to work when avoiding objects. With this in mind, we couldn't create a 1500x1500 grid to cover a large area because A* pathfinding would have to search more cells to find the optimal path.
In the end that's why we have small grids that are moved and modified when certain conditions are met. Game engine speed is kept optimized while still providing all of the benefits of utilizing the A* pathfinding.
Below, we have some examples of the pathfinding algorithm in use with agents.
Agent Pathfinding With Obstacle Testing
Agent Pathfinding Over Long Distances
There are still some bugs that need to be ironed out, some of which can be seen in the above videos, but the core system is there and functional.
Character Customization
Many players love the ability to customize what they have in order to make it more personal. Many aspects of AIA have plans for basic customization but one of the first changes to be made were customizations for agents. Currently, you can change an agent's apparel from head to toe.
Current Apparel Categories:
Although we have socks and shoes, there are currently no UI elements that show the items. There may be later close-up implementations of combat/mini-games to blend the Director's birds eye view with a boots on the ground feel. Through this, socks and shoes will be applicable visually, and maybe statistically, but at the moment they are not necessarily needed.
Below we have a few demonstrations of the agent customization UI. Like many components of the game, it's rudimentary and more of a proof of concept.
Agent Customization UI
Customizing Agents in Real Time
Our agent customization table within the database has been accompanied with a foreign key to our agent table. The customization table stores the agent's ID and all item IDs for a given agent. Through this, we can store an agent's apparel in the database and keep the agent's appearance persistent throughout loading and restarting of the game.
Eventually, this will be expanded to include tools, weapons, and other important components of an agent. We will also be implementing similar features for the Director since a player can have multiple game saves, thus multiple Directors.
Tooltips
Information is important and for a Director such as yourself, the UI is one of the most important components of the game. It's where you receive detailed information about your agents, how you get your intelligence reports, and more. That's why tooltips have been added and more informational popups will be included in the near future. You may have noticed in the above videos that when you select an agent, general information appears in order to show basic agent stats.
Without further ado, here is the basic tooltip we provide when hovering over buildings. Note: Unfortunately, the mouse isn't captured in the screenshots but it's hovering the buildings, I promise.
Tooltip for a Residential High-Rise Building
Tooltip for a Residential Apartment Complex
Agent Info Popup When an Agent is Selected
It's been a blast and I hope you enjoyed this month's development update. We're glad you checked it out and if you have any suggestions on certain topics that you'd like to know more about, then head on over to our forums and let us know. You can also email our support at Support@digimasteredworks.com.
Roadmap
Milestones To Do:
Milestones Completed:
SECRET
Approved for release: 03/16/22 ID: IB1009
1