Download presentation
Presentation is loading. Please wait.
Published byJamir Littlehale Modified over 9 years ago
1
Carlos Barboza Kenny Barron Kevin Cherry Tung Le Daniel Lorio
2
Avoid enemy ships as they chase after you Every second alive adds points (10) Killing an enemy adds points (100) Player can wrap around screen, enemies can’t Enemy can only propel forward, player can move forward and in reverse
4
Maximize agent’s performance in fully- dynamic, multi-agent environment with limited knowledge of environment Determine performance through the use of different AI algorithms and parameters Performance is gauged by score at end of game
5
User controlled player Limited ship following Disorganized in pursuit of player ship http://berfenfeldt.com/
6
Partially Observable – Limited to set regions Strategic – Moves based on location of enemy Episodic – Experience based on perception of enemy Dynamic – Enemy constantly moving/regenerating Discrete – Agent responds with set action based on perception of enemies in viewed regions Multi-Agent – Steering algorithm applied to enemies, and pathfinding for player P – ScoreE – Grid A – Moves S - Grid Regions
7
Adapted open source project OpenSteer in C# Enemy determines velocity and direction based on players location Steer for seek allows enemies to converge around player Steer for flee allows enemies to distance themselves away from player in any direction
8
Loosely based on A* Pathfinding Combines heuristic, actual cost, and utility function to quantitate each move choice Agent chooses maximum move value
9
1 st Agent was a simple reflex agent, not partially observable, random movements and actions, and it was not rational 2 nd Environment was partially observable, agent was a simple reflex agent, and partially rational 3 rd Agent was goal based agent, partially observable environment, and partially rational
10
Creates grid to discretize the game world Each grid cell has bitmask that holds information on cell contents If enemy is in cell If cell is part of a region
11
Creates 5 regions from grid Multiplies enemy presence with proximity to player in each region using a cubic scale. A – Accelerates Forward F – Flees Backward L – Turns Left R – Turns Right S – Shoots L R S F A F A
12
Concept of look ahead implemented as a move tree for actual score 1 point per move simulates survival time Prune on dead state (count dead states) Total dead states counted for each move’s subtree Final move score: MaxDescendentScore * W 1 - TotalDescendentDeadStates * W 2 root L L A A S S F F R R L L A A S S F F R R...
13
Acts as a multiplier for move values, and tilts the behavior of the player towards passive or aggressive A = 1.4 B = 1.0 F = 1.2 L = 0.8 R = 0.8 S = 1.2
14
f(m) = (h(m) + g(m)) * u(m) where m = move Overview: h(m): Evaluate for each move and choose the one with the largest value g(m): Simulate gameState for each child, prune dead states, and select move with highest u(m): Utility function adds custom factor to each value
15
12345678910AVGBEST H,U(8)12041303110513051304130513041209161112051285.51611 H(8)120412081203110123081612121304 13301092.11081 H,U - EC(4)18061705281019111606170819061806531627092328.35316 H,U - Double(8)100424164814230626062605230744124923260730004923 H - Double(8)27081606371025082609521810091408250618052508.75218 H - Double(4)25071205150911032309210717071505431524092067.64315
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.