Terrain Evaluation for more Effective AI

Terrain Evaluation for more
Effective AI
Jeff Davies
Paul Stephenson
Project Description




Generate and render a 2.5D terrain map
Create agents that use information about the
terrain in order to improve their effectiveness
Create agents with either long range or short
range attack
Render the agents on the terrain
Motivation




The need for effective agent behaviour
Waypoints
Disadvantages of waypoints
Newer methods of controlling agent
navigation
Implementation


The project will be broken down into 2 components
Rendering component – Jeff Davies
–
–
–

Store the terrain in a matrix
Rendering terrain
Driving the application
Agent component – Paul Stephenson
–
–
Store agent’s attributes
Controlling agent behaviour
Rendering Component




Render the landscape
Create shadows on landscape given a light
source
Collision detection
Controlling the flow (threads)
Rendering Component


The landscape as a a matrix
Attributes of the landscape
–
–
–
–
Height
Width of the surrounding area
which areas would be in shadow
Water bodies
Rendering component

Possible extensions
–
–
–
–
Extra attributes
Dynamic attributes
Multiple view points
Terrain editor
Agents component




Two type of agents: Long and short range
Long range agent prefers open areas, short range
prefers shadows
Agent must decide where its destination is and how
to get there
Use code from Simon Perkins, a PhD student in the
department, to help detect general terrain features
and pick a destination. Also takes into account where
it has been.
Agents component




Use A* to determine path to destination
Weight assigned to each position a function of terrain
attributes at that position.
Function depends on type of agent and its present
behavior such as camping or attacking
Agent will reevaluate destination when new
information is obtained, such as detecting enemy.
Integration


An API will be agreed upon in the early
design stages
This will define all interaction needed
between components
Evaluation

Round based testing
Success Factors

The rendering component
–
–
–
–
–
You must be able to tell where mountains and
valleys are
It must generate shadows
It must be clear when an agent has been killed
Agents should not be able to walk through
features of the terrain
Rendering speed should be independent of frame
rate
Success Factors

The agents component
–
–
–
It should be possible to run each agent type with
or without terrain evaluation
There must be a measurable difference when the
agent is run with terrain evaluation turned on
The agents should be balanced. There should be
an equal chance of either type winning when
terrain evaluation is turned off
Success Factors

The overall system
–
–
–
–
The components should be correctly integrated
It must provide you with the possibility to run a
batch of simulations
You must be able to customize which features of
the underlying subsystem are used in a simulation
It must be able to record results of simulations
Risks




Integration of components
Uninteresting behavior
Spending too long balancing agents
Simon Perkins’ code may not be ready on
time
Timeline
Timeline
Milestones












Project Proposal
Background Chapter
Design Chapter
Prototype demonstration
Implementation of modules
Integration of modules
Carry out experiment
Write up experiment
Implementation chapter
Testing Chapter
Final Report
Poster and Website
04/05
25/05
30/07
02/08
10/09
14/09
18/09
24/09
01/10
01/10
19/10
25/10
Questions?