Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "The Gym: Where The Incredible Hulk Goes To Train Bryan Brandt Lead Gameplay Programmer Kevin Coughlan Technical Director"— Presentation transcript:

1 The Gym: Where The Incredible Hulk Goes To Train Bryan Brandt Lead Gameplay Programmer bbrandt@radical.ca Kevin Coughlan Technical Director kcoughlan@radical.ca

2 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

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

4 Introductions: Radical Entertainment www.radical.ca 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)

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

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

7 Our Solution: The Gym Game logic editor

8 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

9 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

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

11 Components of a Fight Tree Branches Conditions Tracks

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

13 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

14 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

15 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.

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

17 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

18 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!

19 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

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

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

22 Pitfalls Multi-user issues Instability Communication between trees UI bloat

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

24 Questions? Bryan Brandt bbrandt@radical.ca Kevin Coughlan kcoughlan@radical.ca Also check out: Harnessing Hulk: Controls, Motion, Gameplay! Eric Holmes, Bryan Brandt Thursday, 5:30pm 6:30pm


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

Similar presentations


Ads by Google