• Tidak ada hasil yang ditemukan

Index of /Kuliah2016-2017/KecerdasanBuatanUntukGame

N/A
N/A
Protected

Academic year: 2017

Membagikan "Index of /Kuliah2016-2017/KecerdasanBuatanUntukGame"

Copied!
29
0
0

Teks penuh

(1)

Artificial Intelligence in

Game Design

(2)

Path Following

Examples:

– Move from one location to another along known route

– Patrol area cyclically

– Implementation of high-level path planning

• Go to door of bookstore

• Go down hall

• Go into PC room

(3)

Path Following

Note that will never

follow path perfectly

– Like arrive, can’t ever

reach an exact location

– More realistic to move in smooth curves

– More realistic if don’t

follow exact path every

time (patrolling) Desired

path

(4)

Path Following

Break desired path down into set of points along path

Seek each point in sequence

– When “close enough” to point, seek next point

(5)

Path Following

Waypoints at important

path points

– Generated automatically or chosen manually by level designer

– Most accurate to meet

goal of path

– Path planning algorithms used to create path from waypoints

(6)

Wall Avoidance

Goal: keep character some avoidDistance from walls

– Usually based on “bounding sphere” of object

• Most graphical objects represented this way

(7)

Wall Avoidance

Project path of character to some lookahead away

– lookahead > minimum distance required for stop at maxAccel when traveling at maxSpeed

– Projection can use same algorithms that graphics use for ray casting

If wall within lookahead, steer away

(8)

Wall Avoidance

Determine collision point

Project to point perpendicular to wall safeDistance away

Seek

that location

avoidDistance

Collision point

(9)

Wall Avoidance

May still collide with wall

Algorithm will keep steering until parallel to wall

New collision point

(10)

Wall Avoidance

Corners can be problem if not detected by ray trace

– Very common problem in robotics

• One solution: “whiskers”

Project three lines from character

No collision detected

(11)

Collision Avoidance

Goal: avoid collisions with other characters who are

also in motion

– Is collision going to occur?

– If so, how should we steer?

Location of closest approach

(12)

Collision Avoidance

If distance less than some

safeRadius at that point

Flee

that point

If already in collision with

object, just

Flee

its current

location

safeRadius

Collision detected

Flee where

obstacle will be at that point

safeRadius

In collision

(13)

Collision Avoidance

Much more difficult if multiple obstacles

Determine time to collision of all

Flee

from location of first collision

No perfect solution to problem

No collision First collision

(14)

Collision Avoidance

Expensive to compute if many obstacles

C characters checking for collisions with each other C2 checks

(15)

Jumping

NPC jumping over obstacles key to many games

– Run towards obstacle to achieve needed speed

– Jump over obstacle

– Land on other side

Must be convincing

– Speed, launch point must look realistic

– Character should not jump unless can succeed

(unless player interrupts)

Going too slow for realistic jump

(16)

Jumping

Jump points

– Target for “run up” by NPC

– Usually have corresponding “landing pad”

• Large enough so covers all landing points from all of jump point

– Created by level designer

• Ideally room designed so jump point looks “natural”

Jump point

(17)

Jumping

• “Starting radius” for run up based on maxSpeed, maxAccel – Outside radius  Seek jump point

– Inside radius  Arrive point outside radius Seek jump point

Jump point

(18)

Combining Steering Behaviors

What if multiple steering rules fire?

What should resulting steering be?

Blending results of rules

Prioritizing some rules over others

$ $ $

$ $

Flee player

Arrive gold

(19)

Blended Steering Behaviors

Weighted sum of steering from different rules

Weights = relative importance of action

– Can depend on “strength of stimulus (distance, etc.)

Example:

Flee player with weight 0.5/distance from player

Arrive gold with weight 1/distance from gold

– Steering = sum of these

$ $ $

(20)

Blended Steering Behaviors

• Can result in “intelligent” path choices

$ $ $

(21)

Blended Steering Behaviors

Flocking

Seek

“center of gravity” of flock

Align

with average direction

Avoid

direct collisions

(22)

Blended Steering Behaviors

Blending conflicting behaviors can give results that meet

no goals

pursue

Wall avoid

result

seek flee

(23)

Prioritized Steering Behaviors

Choose most important goal and execute its steering

completely

Often proximity based

– Within safeRadius of wall  execute WallAvoid behavior

– Within attackRadius of player  execute Seek behavior

Pursue

not considered Wall avoid

(24)

Prioritized Steering Behaviors

Can group similar behaviors

– Give each unique priority

• Often based on “level of damage”

to character if not handled

– If total steering from high-priority group < threshold

try next highest priority group

• Stimulus for high-priority behavior not strong enough to matter

Avoid obstacles group

Avoid walls to side Avoid wall on turns

Avoid collisions group

Avoid cars to side Avoid car in front

Follow path group

(25)

Prioritized Steering Behaviors

Avoid obstacles group

Avoid walls to side Avoid wall on turns

Avoid collisions group

Avoid cars to side Avoid car in front

Follow path group

Seek next point on path around track

Next path point

Steer away from wall has priority

Ignore possible collisions with cars Ignore next point on path

(26)

Prioritized Steering Behaviors

Avoid obstacles group

Avoid walls to side Avoid wall on turns

Avoid collisions group

Avoid cars to side Avoid car in front

Follow path group

Seek next point on path around track

Avoid collision has priority

Avoid obstacles steering below threshold Ignore next point on path

Next path point

Collision detected

Minimal steering from walls

(27)

Prioritized Steering Behaviors

Avoid obstacles group

Avoid walls to side Avoid wall on turns

Avoid collisions group

Avoid cars to side Avoid car in front

Follow path group

Seek next point on path around track

Seek next path point has priority

Avoid obstacles steering below threshold Avoid collisions steering below threshold

Next path point Minimal steering

from walls

Steering

(28)

Prioritized Steering Behaviors

Can still get stuck in cycles

– Steer for one high-priority behavior

• Far enough away so no longer priority

– Other behavior becomes priority

• Steers back toward first problem

flee

flee Flee enemies

Seek target

(29)

Higher Level Control of Steering

Conflicts best resolved by higher-level reasoning

– What is current state?

– What overall goal are we attempting to accomplish?

Same room as player

Seek player

Different room as player

Arrive door Player exits room

Enter room where player is

Referensi

Dokumen terkait

➲ The rules that define the operation of the game world make up the core mechanics of the game, or the foundations of gameplay.. ➲ All games tell

Realitas tertambah dan dikenal dengan singkatan bahasa Inggrisnya AR ( augmented reality ), adalah teknologi yang menggabungkan benda maya dua teknologi yang menggabungkan

Writing the code to support parameters.. Contoh

Remote Method 

Digunakan untuk membuat paket data yang disimpan dalam array of byte dan dikirim ke port tertentu...

Project management is the application of knowledge, skills, tools, and techniques to project activities in order to meet or exceed project activities in order to meet or exceed

– Half of group fires immediately giving “cover” to rest – If player shoots firing players, rest will have time to.

Seek moves  to current  location of  target and  must readjust each frame.