#9 Pathfinding

 

SECRET

DigiMastered Works LLC

Office of Development

DMW107IB1009

Date 03/20/2022 11:29 AM

THIS IS FINALIZED INTELLIGENCE

 

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:

  •  
    Headware
  •  
    Hair (Head and facial)
  •  
    Glasses
  •  
    Mask
  •  
    Neck Accessory
  •  
    Shirt
  •  
    Jacket
  •  
    Waist Accessory
  •  
    Bottoms
  •  
    Socks
  •  
    Shoes

    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 information for a residential high-rise building.

Tooltip for a Residential High-Rise Building

Tooltip information for a residential apartment complex.

Tooltip for a Residential Apartment Complex

Agent info popup.

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:

  •  
    2022 Q1 - Development of core mechanics and game story
  •  
    2022 Q2 - Internal testing of core mechanics and Alpha testing
  •  
    2022 Q3 - Internal testing continued with review of core engine and mechanics
  •  
    2022 Q4 - Expansion of core features and Beta Testing
  •  
    2023 Q1 - Add enhancements from Beta Testing
  •  
    2023 Q2 - TBA

Milestones Completed:

  •  
    2021 Q1 - Initial designs and planning
  •  
    2021 Q2 - Initial designs and planning
  •  
    2021 Q3 - Initial designs and planning
  •  
    2021 Q4 - Development of core engine

SECRET

Approved for release: 03/16/22 ID: IB1009

1