19
“Programming” Games Without Programming (sort of) H. Muñoz-Avila Jarret Raim Jonathan Martin

“Programming” Games Without Programming (sort of) H. Muñoz-Avila Jarret Raim Jonathan Martin

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

“Programming” Games Without Programming

(sort of)

H. Muñoz-AvilaJarret Raim

Jonathan Martin

Most Popular Games Genres

• Adventure games:– Solving puzzles– Finding clues

• E.g., through conversations with NPCs• Role Playing Games (RPG)

– Player assumes fictional roles through Avatars– Avatar acquires skills by performing tasks/actions– “Levels” indicate the progress of the avatar – Massive Multiplayer Online RPG (MMORPG)

• RPGs with multiple other players in pervasive worlds

Most Popular Games Genres (II)

• Strategy games:– resource gathering, managing economy, technology

development– Real-Time Strategy (RTS)

• Simultaneous actions– Turn-based Games (TBS)

• Take turns– Wargames

» Accurate depiction of actual units and maps• Sport Games

– Simulation of actual sport games• Games of chance

– Outcome highly influenced by a stochastic environment

Motivation: Scripting Programming Languages

• The “Community Expansion Package” is a game created by players, many non-programmers

• It is build using a software tool called Aurora which is included in the game Neverwinter Nights

• In fact using Aurora, gamers creating thousands their own games – Most variants of the original game– Others significant departures

Thief 2: How to program NPC behavior?

Finite State Machines and Games

• State: an activity performed by an avatar

• Event: something that happens in the game world that makes state change

PatrolEnemy on sight

Attack

Another Finite State Machine

• States– Attack– Chase– Spawn– Wander

• Events– E: see an

enemy– S: hear a sound– D: die

Spawn

Wander

~E

D

Attack

~E

E

E

D

~S

Chase

E

S

S

D

But it gets even easier (event-on-map)

If player walks here thenSpawn Mephisto

Starting place of player

Put 3 orcs here

Even at a Larger Scale

If player cross hereThen declare war

Ok Let Us Construct One Finite State Machine

• Lets program High Priestess Jeklik – Here is she in action– Text Description

• Step 1: list states and events

• Step 2: Construct the Finite State Machine

Homework (next class)

• Pick an existing game– Select one or more NPCs in the game– Create a Finite State Machine modeling the behavior

of the NPCs• List states (at least 5)• List events (at least 5)• Draw Finite State Machine

• Pick and existing game (can be same as before)– Provide at least 3 different examples of events-on-map

Computer Programs

-Program: sequence of instructions that the computer can understand

read(x)

read(y)

z x + y

print(z)

Scripts

- Script: specialized program that uses instructions that are based on game world

pick-weapon()

if monster then

attack(monster)

if hurt then

heal()

A Finite State Machine

Three Engines

• Adventure Game Studio http://www.adventuregamestudio.co.uk/

• RPG Makerhttp://www.enterbrain.co.jp/tkool/RPG_XP/eng/

• Aurora (Neverwinter Nigths; http://nwn.bioware.com/

• Almost for every game genre there is such an engine– Available with the commercial release of the game

Aurora Neverwinter Toolset Aurora Neverwinter Toolset

By: Nicholas Haines

Final Remarks

• Give some serious thought to doing the optional assignment of creating a game– Try one of the engines

• Last time some 50% of the class created one

• Its fun and

• Some 80% of them got exempt from the Final Exam