1 / 23

Tactical AI in Real Time

Tactical AI in Real Time. Supervisor : Aleks Jakulin Crew : Damir Arh, Matija Jekovec, Mitja Luštrek Gregor Leban, Martin Žnidaršič, Uroš Čibej. Translation: A. Jakulin. Task. real-time strategy objective: survive based on physical simulation

DoraAna
Download Presentation

Tactical AI in Real Time

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tactical AI in Real Time Supervisor: Aleks Jakulin Crew: Damir Arh, Matija Jekovec, Mitja Luštrek Gregor Leban, Martin Žnidaršič, Uroš Čibej Translation: A. Jakulin

  2. Task • real-time strategy • objective: survive • based on physical simulation • computer assists the player (intelligence amplification instead of artificial intelligence) • teams of AI units • the player does not control individual unit’s behavior • units perform team-allocated duties

  3. Program Structure1/2 • Two separate applications: • server • client • Client: • graphics • user interface • server connection

  4. Server: communication with clients physics pathfinding Hierarchical AI Strategic layer Team Unit (soldier) Program Structure2/2

  5. PhysicalModel 1/3 • Terrain: • 2D map • passable / impassable kvadratki • continuous space and time • map fully revealed to AI • enemies only seen if at least one of units has visual contact

  6. PhysicalModel 2/3 • Unit properties: • movement: • poses: walking, sneaking, crawling • movement speed dependent on orientation and health • separate movement direction and orientation • 3 shooting modes • health-, speed- and orientation dependent • view angle depends on speed of movement(F-01)

  7. PhysicalModel 3/3 • Collision detection: • unit collisions • bullet collisions • Raycasting: • map intersections • object intersections

  8. Visibility Graph • `expand’ the walls for unit radius • visibility graph nodes are convex corners • mutually visible corners are connected • before pathfinding, insert start and goal points in the graph • search with A* (F-02), heuristics(F-03)

  9. “Boids” • Basic rules: • a unit tries to move towards the center of the team • a unit tries to keep a minimum distance from walls and objects • try to match team speed • These Rules are too local!

  10. Teams • Units in different teams are separate from one another(F-04) • Significance: • hierarchical pathfinding • minimize team exposure • maximize team cohesion • formations

  11. Teams: Pathfinding • Player sets the goal point, team adjusts individual unit movement given the requirements(F-05) • Pathfinding requirements: • safety • accessibility • proximity to goal • team cohesion

  12. Teams: Exposure • Seek proximity of walls and corners, where the ratio between the visible `covered’ terrain and `uncovered’ terrain is minimal. • Note: we ignore mobility

  13. Teams: Cohesion • It is more desirable for units of a team to remain close and cover the terrain together. (F-06) • Note: in reality it’s the ease of signaling and directed firepower that matter.

  14. Finite State Machine • Controls the units of a team • simple – well-known concept • readable – states are clearly separated • extensible – simple to add new states and transitions • adjustable – we choose to do whatever we please in a given state • We have state-dependent weights, adjusting the boids model.

  15. Mitja Luštrek, Damir Arh, Matija Jekovec MDM FSM(F-07) move init advance idle attack Seek cover retreat prone

  16. Maintaining Terrain Visibility • During movement, the team leader is looking left and right, if there is no wall. (F-08) • Other units are trying to cover 360 degrees around the team. • If there are enough units to cover everything, increase the coverage of `interesting’ areas. • Interestingness of the area depends on proximity to walls and dangerous areas, tagged by the player. (F-09) Danger area

  17. Shooting Formation • When enemy is spotted, everyone moves to face the enemy, or everyone goes into retreat. • Units move to avoid shooting one another. • Units seek positions with better coverage of the enemies.

  18. Seeking a Safe Position • If player gives no orders, team moves to a safe position. • Seek proximity of cover. • Seek good coverage. (F-10)

  19. Gregor Leban, Uroš Čibej, Martin Žnidaršič GUM FSM (F-11) init normal cover assault

  20. Determining Orientation • Compute four viewing orientations for each unit. • Orientations depend on openness of terrain and tagged danger areas. • Pick the most important orientation that is not yet covered.

  21. Assault • When enemy is spotted, everyone faces it and assaults. • Every unit picks the closest enemy and fires. • Move if a friendly unit close near the firing direction. • The player may adjust the formation during combat. • High mobility during an attack.

  22. Technical Details • Development environment: Visual C++ • Libraries: • Simple DirectMedia Layer (SDL) • Video for Windows (VFW) • winsock • 450 KB of code • over 17000 lines in 110 files

  23. Conclusions • High computational load. • Many parameters. • Weight tuning is complex. • Machine learning hard to use. • Commercial games use simpler logic.

More Related