tactical ai in real time l.
Skip this Video
Loading SlideShow in 5 Seconds..
Tactical AI in Real Time PowerPoint Presentation
Download Presentation
Tactical AI in Real Time

Loading in 2 Seconds...

play fullscreen
1 / 23

Tactical AI in Real Time - PowerPoint PPT Presentation

  • Uploaded on

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Tactical AI in Real Time' - DoraAna

Download Now 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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
tactical ai in real time

Tactical AI in Real Time

Supervisor: Aleks Jakulin


Damir Arh, Matija Jekovec, Mitja Luštrek

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

Translation: A. Jakulin

  • 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
program structure 1 2
Program Structure1/2
  • Two separate applications:
    • server
    • client
  • Client:
    • graphics
    • user interface
    • server connection
program structure 2 2

communication with clients



Hierarchical AI

Strategic layer


Unit (soldier)

Program Structure2/2
physical m odel 1 3
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
physical m odel 2 3
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)
physical m odel 3 3
PhysicalModel 3/3
  • Collision detection:
    • unit collisions
    • bullet collisions
  • Raycasting:
    • map intersections
    • object intersections
visibility graph
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)
  • 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!
  • Units in different teams are separate from one another(F-04)
  • Significance:
    • hierarchical pathfinding
    • minimize team exposure
    • maximize team cohesion
    • formations
teams pathfinding
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
teams exposure
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
teams cohesion
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.
finite state machine
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.
mdm fsm f 07

Mitja Luštrek, Damir Arh, Matija Jekovec







Seek cover



maintaining terrain visibility
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)



shooting formation
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.
seeking a safe position
Seeking a Safe Position
  • If player gives no orders, team moves to a safe position.
  • Seek proximity of cover.
  • Seek good coverage. (F-10)
determining orientation
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.
  • 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.
technical details
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
  • High computational load.
  • Many parameters.
  • Weight tuning is complex.
  • Machine learning hard to use.
  • Commercial games use simpler logic.