190 likes | 567 Views
“Programming” Games Without Programming (sort of) H. Mu ñ oz-Avila Jarret 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
E N D
“Programming” Games Without Programming(sort of) H. Muñoz-Avila Jarret 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
Finite State Machines and Games • State: an activity performed by an avatar • Event: something that happens in the game world that makes state change Enemy on sight Attack Patrol
E S Chase ~S D S Another Finite State Machine • States • Attack • Chase • Spawn • Wander • Events • E: see an enemy • S: hear a sound • D: die Attack ~E D E Wander E ~E Spawn D
If player walks here then Spawn Mephisto Put 3 orcs here Starting place of player But it gets even easier (event-on-map)
If player cross here Then declare war Even at a Larger Scale
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 Maker http://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 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