videos for before

hostitchAI and Robotics

Oct 23, 2013 (3 years and 10 months ago)

126 views

1

videos for before


swarm.flv

(art. intelligence
swarmites

1:20)


endorphin2.5.flv (2:38)


antfarmsimulator.flv

(3:30)


for very early


swarmflocking.mp4 (Suzie
swarmites

2:36)


andiland.mp4 (5:04 min)


2

Warning
-

This presentation contains graphic
depictions of


violence and the death of badly
pixelated Nazis

3

Hans
Apf
ë
l


Born Dec 18, 1923,
Dusseldorf


Wanted to study chemistry
after the war


Engaged to Elsa Bauer

4

Hans
Apfël


Killed by a Super Terror
Flamethrower on level 7 of
Nazi Killer Rampage IV.


One of over
143,000,000,000,000 NPC's
killed in computer games
since 1959

5

Ground Rules


The topic is game AI


It's not 'real' AI


T
heir morality is a separate discussion


I'll take questions as they come up


Please hold side topics to the end

6

Game AI

7

Sections


Goals


Architecture


Inputs


Actions


Action Selection

8

Vocabulary


NPC


Game Design


Third Person shooter


RTS

9

Our Example


The Saboteur start up screen


10

Roundup


11

GOAL?

12

PLAYER FUN

not to win!

13

Fun Is

Meaningful Choices

Appealing Characters

14

And what's our best technique
for adjusting Play Balance?

15

CHEAT

16

Play Balance Knobs


Unit strength


Adjusting NPC tactics better/worse


Complexity, favor things the computer does
better than the human.


Cognitive and cockpit load, UI design,
behavior mod, degrade the human's skills

17

Architecture

18

Mimic Human Actions


Mimic the events the NPC would get


Stupid actions look inhuman


Sadly, stupid choices of action look all too
human


So
as long as each low level action is
believable
, overall we have a
chance


19

Our Architecture

Events

(as 'sensory' data)

Action Selection

Atomic Action

Atomic Action

Atomic Action

20

Our Architecture

Events

(as 'sensory' data)

Action Selection

Atomic Action

Atomic Action

Atomic Action

21

Model Their World View


Give NPC's only the info they should have,
then they won't act on info they shouldn't


Give them a view frustum


Present information as their sensory apparatus
would receive it.


Present information in functional terms (e.g. 'a
cover position', not 'a tree')

.

22

Terrain Marking

23

Our Architecture

Events

(as 'sensory' data)

Action Selection

Atomic Action

Atomic Action

Atomic Action

24

Overview


Most action is


move the character's
basepoint


play canned animations


Some other possibilities


play sounds, particle effects, delete/add item, etc.


Physics: ragdoll, euphoria, steering,
lennard
-
jones


Middle layer


Pathfinding

25

Basic Animation


Play one or more layered
animations


Move the
basepoint


Do a whole motion!


26

Behaviors


27

Steering

AI

boid

vehicle

Turn left at
corner

wheel left 45
deg
, light
brake

position,
rotation,
velocity

28

Lennard
-

Jones Potential

𝐹
=

𝑟
2


𝑟
3

-1.2
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0
2
4
6
8
10
12
F vs R

F vs R
29

A*


Open circles are in
open set


Filled circles are
colored red to green
by distance from
start

30

Our Architecture

Events

(as 'sensory' data)

Action Selection

Atomic Action

Atomic Action

Atomic Action

31

Action Selection

Behavior
trees

Scripting

HFSM

Planners

32

Scripting


Either use an existing 'friendly' language
(Python and
Lua

are popular) or make one up


Actor languages are often a good choice


burying complexity in message passing

33

HFSM


34

Planning


Operators: preconditions, forbidden, add,
remove


Operators:
run_to_door
,
get_out_of_car
,
enter_building
,
climb_stairs
,
descend_stairs
,
run_onto_roof
,
get_in_car
,
lay_down
,
get_up

35

Complications

36

Behavior Trees



37

Node Types

38

Adjusting Long Term Play


Genetic Algorithms


Neural nets


Random strategic alterations


39

GOAL?

40

PLAYER FUN