23
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

Tactical AI in Real Time

  • Upload
    rico

  • View
    23

  • Download
    0

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Tactical AI in Real Time

Tactical AI in Real Time

Supervisor: Aleks Jakulin

Crew:Damir Arh, Matija Jekovec, Mitja LuštrekGregor Leban, Martin Žnidaršič, Uroš Čibej

Translation: A. Jakulin

Page 2: Tactical AI in Real Time

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

Page 3: Tactical AI in Real Time

Program Structure 1/2

Two separate applications: server client

Client: graphics user interface server connection

Page 4: Tactical AI in Real Time

Program Structure 2/2

Server: communication

with clients physics pathfinding Hierarchical AI

Strategic layer

Team

Unit (soldier)

Page 5: Tactical AI in Real Time

Physical Model 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

Page 6: Tactical AI in Real Time

Physical Model 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)

Page 7: Tactical AI in Real Time

Physical Model 3/3

Collision detection: unit collisions bullet collisions

Raycasting: map intersections object

intersections

Page 8: Tactical AI in Real Time

Visibility Graph`expand’ the walls for unit radiusvisibility graph nodes are convex cornersmutually visible corners are connectedbefore pathfinding, insert start and goal points in the graphsearch with A* (F-02), heuristics (F-03)

Page 9: Tactical AI in Real Time

“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!

Page 10: Tactical AI in Real Time

Teams

Units in different teams are separate from one another (F-04)

Significance: hierarchical pathfinding minimize team exposure maximize team cohesion formations

Page 11: Tactical AI in Real Time

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

Page 12: Tactical AI in Real Time

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

Page 13: Tactical AI in Real Time

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.

Page 14: Tactical AI in Real Time

Finite State Machine

Controls the units of a teamsimple – well-known conceptreadable – states are clearly separatedextensible – simple to add new states and transitionsadjustable – we choose to do whatever we please in a given stateWe have state-dependent weights, adjusting the boids model.

Page 15: Tactical AI in Real Time

MDM FSM (F-07)

Seek cover

idle

prone

initmove

advance

attack

retreat

Mitja Luštrek, Damir Arh, Matija Jekovec

Page 16: Tactical AI in Real Time

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)

Dangerarea

Page 17: Tactical AI in Real Time

Shooting FormationWhen 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.

Page 18: Tactical AI in Real Time

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

Page 19: Tactical AI in Real Time

GUM FSM (F-11)

cover assault

normal

init

Gregor Leban, Uroš Čibej, Martin Žnidaršič

Page 20: Tactical AI in Real Time

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.

Page 21: Tactical AI in Real Time

AssaultWhen 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.

Page 22: Tactical AI in Real Time

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

Page 23: Tactical AI in Real Time

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