The Gym: Where The Incredible Hulk Goes To Train Bryan Brandt Lead Gameplay Programmer Kevin Coughlan Technical Director

Slides:



Advertisements
Similar presentations
Podcasting Step by Step October 18, 2006 Holly Hofmann Sponsored by Title V Cooperative West Los Angeles College.
Advertisements

March 18 th, 2008 Data Systems – Data Warehouse. Data-Driven Decisions.
Mike Scott University of Texas at Austin
Week 2 The Object-Oriented Approach to Requirements
Treasure Hunt By: Eric de Boer & Olaf van Zon. Introduction Assignment: use VRML and DLP VRML = 3D but not very fast DLP= Logic language, not fast either.
Missile Contingency ECHOCODER SOFTWARE / JASON POWERS.
Video Game Design Lesson 1. Game Designer Person involved in the development of a video game Person involved in the development of a video game Usually.
Us vs. It. Tanks vs. Robot ● Cooperative “Boss Fight” ● Tank players must destroy the Robot before it reaches the city limits. ● Robot is controlled by.
Click to Continue Project Four Sticks Bye Bye Pillow Games Producer / Stacie Rajkovics Lead Developer/ Sota Ogo Developer and Assistant Designer / Joseph.
The Design Document Ahmet Uğur. Overview No standard format Should communicate the nature of the game effectively Companies with agreed format The design.
Harry Potter Scratch Game
Presented By: Aleissia Laidacker Nicolas Barbeau.
Artificial Intelligence in Game Design Intelligent Decision Making and Decision Trees.
Us vs. It. Tanks vs. Robot ● Cooperative “Boss Fight” ● Tank players must destroy the Robot before it reaches the city limits. ● Robot is controlled by.
Games and AI Jonas Lind Game Designer ITU, September, 2005.
RED DEAD REVOLVER Artificial Intelligence Critique By Mitchell C. Dodes CIS 588.
1 Game Design Documents. 2 Design Documentation Stages Design treatment or concept paper Design treatment or concept paper Game feasibility Game feasibility.
Game Design Documents.
Computer/Video Game Development Karen Petersen Lead Gameplay Programmer Telltale Games.
CS320n –Visual Programming Interactive Programs Mike Scott (Slides 5-1)
An Introduction to Rational Rose Real-Time
SELECT A LESSON 1. A WORLD AND CHARACTERS 2. PATHS AND ENEMIES 4. USING PAGES TO CHANGE THE RULES 5. GAME ANALYSIS AND DESIGN 6-7. CREATING YOUR OWN GAME.
INTRODUCTION TO SCRATCH. About Me Resources Scratch Website Learn Scratch Washington-Lee Computer.
Notes on the Game Development Process
Dakota Humphries (Project Lead) Thomas Impellitteri (Tech Lead) Daryl McGhee II (Design Lead) Keith Rosier (Asset Lead)
Using C++ and OpenGL George Georgiev Telerik Corporation
Sage CRM Developers Course
Lesson 1: Intro to Animation
GAME DEVELOPMENT DOCUMENTATION
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Alice: A Visual Introduction to Programming First Edition.
Goals of this session Takeaway: –EVERY GAME LIVES OR DIES BY ITS CONTROL SYSTEM. THIS IS HOW WE MADE OURS. Who is this for? –“Control guys” or those who.
Creative Commons Attribution 3.0 creativecommons.org/licenses/by/3.0 Key Abstractions in Game Maker Foundations of Interactive Game Design Prof. Jim Whitehead.
Execution Control with If/Else and Boolean Functions
Senior Design Spring 2010 Milestone 1. General Project Info Team Members: – Lauren Bissett – Dan Maguire – Nicholas Woodfield Project Goals: – Expand.
Creating A 3-D Game With Spark Engine Lauren Bissett, Dan Maguire, and Nicholas Woodfield.
The Power of Community A Roundtable Session facilitated by Christie Huck, City Garden Montessori School, St. Louis, Missouri Better Together: Community.
Networking Networking is done via a single component that is persistent in each machine’s game. This multiplayer manager component handles all Unity RPC.
Game Maker Day 2 Making a Maze Game.
Fundamentals of Game Design
(Working Title)‏ 1. Introduction to the Game 2. Technical Details 3. Demo of the Prototype.
Design + Production Presented by Robin Walker. Design + Production  Half-Life 2 development process  Half-Life The cabal.
1 Kyung Hee University Statecharts Spring Kyung Hee University Specifying Objects’ Behaviour  Interaction diagrams show message-passing behaviour.
Dakota Humphries (Project Lead) Thomas Impellitteri (Tech Lead) Daryl McGhee II (Design Lead) Keith Rosier (Asset Lead)
Of Stick Figures and Boxes OR Off the Shelf tools For Communicating your Game Design Montreal International Game Summit, 2006 James Everett
Sega 500 Scripted events and Sequences Jeff “Ezeikeil” Giles
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Alice: A Visual Introduction to Programming Third Edition.
Interactive Programming Alice. Control of flow Control of flow -- how the sequence of actions in a program is controlled. What action happens first, what.
Motivates, interests and engages. Teaches problem solving skills. Allows for creativity and imagination. Demonstrates project design. Encourages teamwork.
Galactic Mail Part 2. Winning and Losing Exploding Asteroids Including Scoring Adding Levels And more.
Interactions & Automations
The genre of my film is action thriller. I have chosen Hollywood as my media industry and Warner Bros. as my media institution due to their experience.
Finite State Machines Logical and Artificial Intelligence in Games Lecture 3a.
CS320n –Visual Programming Execution Control with If / Else and Boolean Functions (Slides 6-2-1) Thanks to Wanda Dann, Steve Cooper, and Susan Rodger for.
Introduction Who are we? Paul Martin – Started out in the industry 1996 as PlayStation programmer – Currently a technical director and one of the principals.
Stencyl Visual Programming Dr. Gary Liu. Sections: 1: Game Development Concepts 2: Stencyl and Game Mechanics 3: Stencyl Story and Aesthetics 4: stencyl.
Mafia II Bringing city to life Martin Brandstätter Jan Kratochvíl.
Lesson Seven: Using Flags. What Are Flags? Flags are Variables or Switches Used to Help With Logic Control of your character. Normally, Flags are used.
Introducing Scratch Learning resources for the implementation of the scenario
Game Maker Tutorials Introduction Clickball IntroductionClickball Where is it? Shooting Where is it?Shooting.
Decision Making: Decision Tree & State Machines Session 07
Game Maker Intro to Programming Game Maker Pop Quiz (Both Groups)
Enemy and Friendly AIs Richard Gesick.
Lesson 8: Boolean Expressions and "if" Statements
HAPPY NEW YEAR! Lesson 7: If-statements unplugged
Game Maker Intro to Programming Game Maker Pop Quiz (Both Groups)
Us vs. It.
Us vs. It.
Us vs. It.
Presentation transcript:

The Gym: Where The Incredible Hulk Goes To Train Bryan Brandt Lead Gameplay Programmer Kevin Coughlan Technical Director

Whats This All About? One tool, one system for: Character mechanics Enemy behaviour Mission scripting Intended Audience: Gameplay & Tools Programmers Technical Artists & Animators Designers & Scripters

Session Overview The Incredible Hulk: Ultimate Destruction The Gym Demos and Details Successes and Pitfalls Conclusion

Introductions: Radical Entertainment Founded in 1991, 25+ titles published, 230+ employees, based in Vancouver, BC, Canada Acquired in March 2005 by Vivendi Universal Games Recent hits: Simpsons Road Rage The Hulk Simpsons Hit and Run Crash: Tag Team Racing The Incredible Hulk: Ultimate Destruction (IHUD) Scarface (coming in 2006)

The Incredible Hulk: Ultimate Destruction GameRankings: 85.2% Very little overtime! ~24 months of development ~35 people Critical success with no death march

The Challenge Character mechanics 150 different moves for Hulk alone Enemy behaviour 18 enemy types Mission scripting 25+ story missions 40 challenge missions

Our Solution: The Gym Game logic editor

Fight Trees Fight trees are decision trees and state machines Types of fight trees in IHUD Motion tree : character mechanics AI tree : enemy behavior Scenario tree :mission scripting

Motion Tree Character mechanics Locomotion Simple Attacks Picking up objects of various types Attacking with objects Weaponizing Grapples Reactions to getting hit One motion tree for each character type 20 different motion trees in IHUD

Demo #1: Adding an attack Conditions Tracks collision attacks buttonPress( Punch ) animation( right_hook ) 1

Components of a Fight Tree Branches Conditions Tracks

Branches Branches are typically Banks Nodes Hulks motion tree: 750+ banks, nodes

Conditions Fight Trees are decision trees Each branch contains a list of conditions Conditions evaluate to true or false 200+ types of conditions Button pressed / held / released Prop is being held Randomizer Evaluate a Lua expression Operators: and, or, not

Tracks Fight Trees are state machines Nodes represent a state Nodes contain a list of tracks Each track describes an action to be performed 230+ types of tracks Play an animation Play a sound Display a special effect Test for collision Conditionally transition to another node Run a Lua script

How Does It Work? Querying Evaluate tree conditions depth-first for a node that will become the next state. Execution If a node is found, run it! Node execution stops when either: All its tracks are finished running. A new node has been queued for execution.

Demo #2 – Combo attacks Conditions Tracks collision buttonPress( Punch ) animation( uppercut ) 1 2 opportunity( ) 2 animation( right_hook )

AI Tree Goal: Scripted, state-based enemy behaviour Sample decisions: Pursue target if too far away Engage target when in range Attack target when its my turn Solution: Use existing fight tree system

Scenario Tree Goal: Event-driven mission scripting Whats a mission? Free roaming 25+ Game missions 40 Challenge missions Whats an event? actor death, object pick-up / drop / destruction, trigger volume enter / exit, path waypoint traversal, etc. Solution: Use existing fight tree system But with minor tweaks!

How Did We Make It Work? Querying When an event is generated, query the tree for all nodes that match the event conditions. Often more than one event per frame Execution Run each node concurrently

Demo #3: Scenario Tree Conditions Tracks event( Prop - Destroyed ) lua( x = x + 1 hud_Message( x ) ) event_PropType( bus )

Successes Cross-disciplinary tool Ease of iteration Fast prototyping Build on what youve got!

Pitfalls Multi-user issues Instability Communication between trees UI bloat

Conclusion One tool, one system for: Character mechanics Enemy behaviour Mission scripting We couldnt have made IHUD without it!

Questions? Bryan Brandt Kevin Coughlan Also check out: Harnessing Hulk: Controls, Motion, Gameplay! Eric Holmes, Bryan Brandt Thursday, 5:30pm 6:30pm