Iterative Development Internal Use Only Simon Sherr & Mark Turmell

Embed Size (px)

Citation preview

  • Slide 1
  • Iterative Development Internal Use Only Simon Sherr & Mark Turmell
  • Slide 2
  • Agenda 1. Iterative Development 2. Feature/Sandbox Trap 3. Accessibility 4. Core 5. Designing for Accessibility and Iteration 6. Building from Core
  • Slide 3
  • Goals 1. To establish a core football Engine that can be utilized to build any football game 1. Madden, NCAA, Madden Wii, NewIP 2. Console, PC 2. Prepare for direct to consumer, membership model. 1. Modular 2. Gillettes Law 3. Establish a pipeline that would allow outsourcing all production asset variety creation (including gameplay animation). 4. Eliminate the COSTLY Crunch/Relax dev cycle.
  • Slide 4
  • Game Engine Defined Game engines provide a suite of visual development tools in addition to reusable software components* Unreal is an engine (but not the right one for us) Army of Two Mirrors Edge Batman TNA iMPACT Gears of War Adventure Pinball Nerf Arena Blast ANT is only an engine, when it is used as one. This was a requirement when ANT was created (work as an animation module or a gameplay engine) NHL, FightNight4, Facebreaker, NBA Street, Def Jam Icon, FIFA Street, MMA, SSX, Battlefield Bad Company all use the ANT Stateflow/Wireframe/Base-Kit Engine to build the game from the core out. FIFA uses the engine to some extent but is on their own with action layer NBA Live is doing a re-write to use the ANT Stateflow engine Football uses a hybrid of Gamecode, ANT as an animation module, and Emotion2 * Wikipedia: Game Engine, Overview Section
  • Slide 5
  • How we used to build features
  • Slide 6
  • Challenges: Pre-Production Phase Production/Designer bottlenecks trying to paper design. Poor design docs Rarely reflect final design. Lack sufficient detail. Difficult for SEs to do accurate time estimates.
  • Slide 7
  • How we used to build features
  • Slide 8
  • Challenges: Production Phase Wasted time and $$ in mocap throwaway. Wasted time and effort in code and animation throwaway. Lots of hacking SEs and Animators. Difficult to keep accurate/current schedule. Everything depends on gameplay, and gameplay is often the last to come in. Fun can come very late or not at all.
  • Slide 9
  • The Prototype Approach Tech Design Documentation: Sample Info Stateflow diagram of game system User Inputs for stateflow triggers Player ratings for stateflow triggers Animation info: start pose start position (2-man) end pose total length (frames) branch points trajectory z-translation
  • Slide 10
  • Advantages: Pre-Production Phase First step involves communication and collaboration (ownership). Rarely any need for mocap (you are using placeholder animations). Building features with least animations possible results in no coverage holes. Proves fun early. Results in truly excellent technical design docs.
  • Slide 11
  • The Feature Prototype Approach
  • Slide 12
  • Advantages: Production Phase Mocap shoots in this phase are now way more efficient. Easier to code more effectively with predefined specs. Animators can do amazing things when their boundaries are clearly defined. DDs can build more accurate schedules and better identify risks and dependencies. You actually can throw people at the problem during Population phase.
  • Slide 13
  • A different approach to Year/Year? Proof of Concept 10 Pre-proProductionFinal 50 60 ProductionTuning Mostly Outsourced? 5-12? Timelines Budgeting Staffing Quality Known Timelines Budgeting Staffing Investment Options: Cut? Shelf? XBLA? $29.99? $49.99? Quality Known 100 Staff Months ~$1M Investment/Risk Options? 720 Staff Months +Art+FE+Other ~$10M Investment Vertical Slice FEATURE COMPLETE! Proof of Concept Prototype 5-121-3 Old New
  • Slide 14
  • The Iterative Development Model
  • Slide 15
  • Advantages No one stops working Far less throw-away work Features in production have functional and tuned prototypes BEFORE ASSET POPULATION! No Crunch-Relax-Crunch-Relax cycle Far less overtime Far less burn-out When people are less burned you get less bugs Production can be Scheduled and Budgeted! More conducive to a membership or Direct to consumer model Features can be rolled out as they are done Features are proven well before they go Alpha Less risk in taking risks = innovation and quality. In production you CAN THROW MONEY at the problem (or pull money away if you decide its enough).
  • Slide 16
  • Agenda 1. Iterative Development Defined 2. Feature/Sandbox Trap 3. Accessibility 4. Core 5. Designing for Accessibility and Iteration 6. Building from Core
  • Slide 17
  • The Features Trap For 20 years we have been building gameplay based on a feature list. In Sports, this list is most often extrapolated from analyzing the real sport. I saw a guy spin in a football game the other day It was awesome Once we have built all or most of these features, we then try to piece them together in a sensible manner. This is not really game design at all. Its a sandbox not a designed structure or system Once serious playtesting begins, usually post-alpha, we then begin to discover holes in the system. spinning has no purpose at all Patching these holes often requires new features, adding unwanted risk and chaos late in the project. This can be prevented by prototyping and building balanced, closed-loop systems in pre-production. This starts with the Core.
  • Slide 18
  • Gameplay Mechanics Gameplay Mechanics are actions that a User can perform. Gameplay is NOT just a combination of mechanics Run Hurdle JukeSpinBlock Fumble CelebrateSprint Tightrope Truck Gameplay Mechanics Football
  • Slide 19
  • The Features Trap Run Taunt Juke ??? Sack Tackle Pass QB Vision TackleScreen BlockCelebrate ThrowCatch Breakout
  • Slide 20
  • Gameplay System Gameplay Mechanics combine together create a Gameplay System Simple Run Vs. Tackle System Run Tackled JukeSpin Down Score
  • Slide 21
  • Network of Gameplay Mechanics and Gameplay Systems make up the Game as a whole Game
  • Slide 22
  • Agenda 1. Iterative Development Defined 2. Feature/Sandbox Trap 3. Accessibility 4. Core 5. Designing for Accessibility and Iteration 6. Building from Core
  • Slide 23
  • Why We Game Practicing survival instincts A chemical reward for practicing survival skills (this is what FUN is!!!) I want to improve this survival skill. Competition of survival instincts Competition instincts to prove I am a better mate than YOU I am better at this survival skill than that guy, dont you want me now?. Escape from personal physical limitations or social societal limitations. I want to be a hero I want to be an athlete I want to be strong I want to kill people I need to destroy something Social interaction
  • Slide 24
  • Accessibility Its about access not blocking This is not turning off mechanics in easy mode No system should change as difficulty increases No system should suddenly become available as difficulty increases Progression is about getting TO the depth not changing how you play. A casual gamer will go just as deep into systems as a hard core gamer. A casual gamer will stop playing if frustrated. A casual gamer will not beat a game in 6 hours and return it. If a game is worth returning, its not worth beating
  • Slide 25
  • Respecting the Casual Gamer! Casual Gamers play to PLAY, not to win Winning is a side effect, its a feedback loop finishing a game is not where casual gamers stop Casual gamers will invest far more time in ONE title And will return to that title for years Casual gamers will learn depth, and will become very skilled at the games they like to play Casual gamers will not play frustrating games, its not that important to them to finish Kids play games like casual gamers play games Dont want steep learning curves Will not play if frustrated Will not play if easy is too hard Difficulty should be optional, gradual increases in challenge based on learned or mastered skills. They are NOT stupid, they are NOT unskilled they just have different goals. Fun rather than accomplishment, winning, unlocking achievements or game modes
  • Slide 26
  • Agenda 1. Iterative Development Defined 2. Feature/Sandbox Trap 3. Accessibility 4. Core 5. Designing for Accessibility and Iteration 6. Building from Core
  • Slide 27
  • Core System Your Core System is the gameplay system a new User will learn first and the one they will use the most. Improvements and innovations to the core will have the Biggest impact on the most consumers. You should be able to win and have fun playing your game on easiest setting using ONLY the core system
  • Slide 28
  • Setting Core Complexity Limits 1. Identify your target demographic 2. Create a system that allows all of them to play the game 3. Provide accessibility to learning other systems that support success in core system 1. Structured progression 2. Structured depth 3. Defined learning steps
  • Slide 29
  • Identify your Core Gameplay System 1. Determine your games win condition. 2. Identify the mechanics that directly impact this condition. 1. E.g. The act of calling a play in football does not score points BY ITSELF.. So it is not a core mechanic to football. 3. Identify the mechanics that directly prevent this condition. 4. These mechanics combine to create a system. This system is your Core.
  • Slide 30
  • What is Football Core??? Win Condition = Score More Points How do you score and prevent scoring? Run or Pass into Endzone = Score Tackle/Sack, Intercept/Block = Prevent Scoring Core System Mechanics we need to make a CLOSED loop system for. Offense: BC Run, Pass/Catch Vs. Defense: Offball Run, Tackle, Sack, Intercept/Block
  • Slide 31
  • Simulation Vs. Arcade Sports Above the core systems for simulation sports games, are the rules of the sport Visual realism can still be somewhere else in the bulls-eye Arcade sports can break the rules of the sport, if its fun Goal tending in NBA Street Blowing people up in Mario Strikers 1 st and 30 in NFL Blitz The same Technology, Engine, Animation, even Core system can work for both
  • Slide 32
  • Agenda 1. Iterative Development Defined 2. Feature/Sandbox Trap 3. Accessibility 4. Core 5. Designing for Accessibility and Iteration 6. Building from Core
  • Slide 33
  • Structured Design Provides foundation to build on Helps you fill in holes Allows you to iterate on and structure and more easily balance gameplay Allows you to control and eliminate exploits
  • Slide 34
  • Hitting the Bullseye
  • Slide 35
  • Example: MMA
  • Slide 36
  • Feedback Loop In order to learn and eventually master a Gameplay Mechanic the User will go through multiple, chained Feedback Loops.
  • Slide 37
  • Feedback Loop Chain Press the X button Enter Tackle State - Fail Player Dives I can dive! Example: Tackle Mechanic
  • Slide 38
  • Skills can be Chained Feedback Loop Chain Press the X button Enter Tackle - Fail Dive Animation Plays I can Dive! Example: Tackle Mechanic Dive near opponent Enter Tackle - Success Tackle Animation Plays I can tackle!
  • Slide 39
  • Play 1. User acquires skill/tool. 2. User experiments with skill/tool. 3. User eventually uses skill/tool to learn another skill/tool. 4. User experiences pleasure and starts process all over again, chaining Feedback Loops together.
  • Slide 40
  • Fun Fun is derived from the act of mastering knowledge, skills and tools. The deeper and more complex the knowledge/skills/tools learned, the more rewarding it feels. These aha moments release a natural opiate in our brains called Endomorphin. Its like Morphine. Which is good stuff.
  • Slide 41
  • Slide 42
  • When Feedback Loops go wrong Problem Press the X button Play Tackle - Fail Dive I dive! Dive Near Opponent Play Tackle Check Player Rating Generate Random Number Tackle Success I can tackle! Dive Near Opponent Play Tackle Check Player Rating Generate Random Number Broken Tackle I missed! Dive Near Opponent Play Tackle Check Player Rating Generate Random Number Broken tackle ending in Injury WTF!!
  • Slide 43
  • !Fun 1. User acquires skill/tool. 2. User experiments with skill/tool. 3. User is unable to use skill/tool to learn another skill/tool. 4. User believes their actions have been in vain, and feel frustration or boredom. 5. Catecholamines are released when we discover something we have learned is incorrect this hormone is responsible for anger and frustration, claustrophobia, panic attacks !FUN.
  • Slide 44
  • Slide 45
  • Question How could we fix it?
  • Slide 46
  • Example Problem Flick the Stick Tackle Fail Player Stumbles I can Stumble?? Flick near opponent Check Player Rating Generate Random Number Trigger a hitstick tackle Huge Hit Stick! I can lay people out! Flick near opponent Check Player Rating Generate Random Number Trigger a stumble Player Stumbles I missed! WTF! Example: Hit Stick
  • Slide 47
  • Whats really going on Flick the stick Check Player Rating +/- Based on Distance from opponent +/- Based on Ball carrier Proximity +/- Based on Ball carrier juke or spin? +/- Based on Timing +/- Based on Player Balance +/- Based on Player Stamina +/- Based on Pressure Situation +/- Based on Other Voodoo Stuff +/- Based on 20 year old bugs +/- Animation coverage Generate Random Number Success, Failure, normal tackles, hitsticks, injuries, fumbles, broken tackles, gang tackles I dont get it! Tackling is Random! This game Cheats! !
  • Slide 48
  • Proposed Solution Press X from too far away Tackle Fail - Dive Player does a dive that visually attempts to grab opponent I can Dive for him! but I was too far away. Dive from far away at Opponent Check Player Rating Check Range Tackle with large breakout window I caught his shoe lace, I was still too far away. Dive nearer to opponent Check Player Rating Check Range Tackle with a medium breakout window. I dragged him down slowly Dive very near opponent Check Player Rating Check Range Play decent impact Tackle with tiny breakout window I laid him OUT! Dive very near opponent Check Player Rating Check Range Play huge impact tackle with very small breakout and large fumble window (maybe an injury window) I laid him Out! 100% deterministic tackle with clear feedback loop Opponent presses X Check Timing window Broken tackle Animation He broke loose, I was slow! Opponent presses X Check Timing window Broken shoelace tackle Animation I missed, I was slow! Opponent presses X Check Timing window Fumble Animation He FUMBLED! (shouldnt have tried to break such a big hit) Opponent presses X Check Timing window Failed breakout animation He tried to break lose and failed!
  • Slide 49
  • Recap Prioritize mechanics that make up your core system. Analyze your mechanics using feedback loops. Build deep systems with clear feedback around your core mechanics.
  • Slide 50
  • Agenda 1. Iterative Development Defined 2. Feature/Sandbox Trap 3. Accessibility 4. Designing for Accessibility and Iteration 5. Building from Core
  • Slide 51
  • Systemantics* A complex system that works is invariably found to have evolved from a simple system that works. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over, beginning with a working simple system. *Gall, John. The Systems Bible: The Beginner's Guide to Systems Large and Small (Third Edition of SYSTEMANTICS), General Systemantics Press/Liberty, 2003
  • Slide 52
  • EA Football Textbook example of a complex system (that isnt even really a clearly defined system) Years of legacy feature trap designs creating a complex sandbox of mechanics without deliberately connected closed systems Lacks a simple defined core anyone can play Lacks defined/deliberate depth No clear learning progression No obvious starting point for accessibility Lacks balance and iterative structure A new system to support run, breaks tackle, breaks catching etc.. Lacks clear and consistent feedback loops Too many features rely on coverage and random dice rolls (random failure is not feedback) Too many legacy bugs covered up with legacy band-aids making iteration and innovation almost impossible without months of patching up what it breaks. Player mirroring
  • Slide 53
  • Football Needs Core The concept of a closed core system does not deliberately exist in the current game. In design all systems should support core If they dont then they dont influence anything that directly influences win conditions (and therefore has no purpose). Return to core and build layers from there Football becomes easy on easy Accessible to anyone age 6-60 Left stick, 1 button = a core a 60 year old will get
  • Slide 54
  • Football Positional Core??? Line play example Guard Vs. Tackle Win Condition = Protect Vs. Sack/Tackle Core System possibilities. Block Vs. Pass Left/Right Fighting game system? Power/Finesse Fighting game system?
  • Slide 55
  • Where we want to be Simple FUN, Accessible core system FUN depth through clear stepped learning progression, mastering systems that all directly or indirectly SUPPORT the CORE Clear feedback loops Risk/Reward based success variation No random numbers! The ability to add or swap out systems without breaking other existing systems Closed loop design Modular design Modular AI Wii, PS3, 360, PC All 1 Engine.
  • Slide 56
  • How We Get There (Safely). Return to CORE football with a TINY team Concept 2-3 people, Prototype 5-7 people Prove we can make fun/accessible core with minimal investment Make a closed loop core system anyone can play Run Vs. Tackle Pass/Catch Vs. Sack/Block/Intercept Construct an true engine A true testbed A play designer that JUST WORKS based on rail-tracks locomotion. Locomotion System with pathfinding and avoidance Take Pro-Tak to the next level, and have it function 100% in the testbed No roll of dice features No coverage-based features Create deliberate layered progression and layered depth Ship an intermediate new IP football titles along the way, with the eventual goal of having a true football engine for NCAA and Madden and any other football IP we can dream up.
  • Slide 57
  • What we need to start Small Team, 3 people Animation/Engineer/Designer Football Playmaker (interface and technical plan) 2d Xs and Os (perhaps an eventual facebook and iPhone ap) Could be used by football coaches to design plays for real football Modular - Could potentially be used to position teams of enemies for shooters based around the concept of pre and Post action assignments and path finding Any number of characters Each has a path, and a modular assignment while moving or standing at the end of the path. Time-out default assignment (e.g. chase ball) Locomotion requirements Railtracks Avoidance and Pathfinding Core gameplay technical execution and gameplay design Run v. Tackle Pass v. Sack/Intercept Technical design for bringing Pro-Tak into ANT testbed MMA interaction was already designed as the first steps to do this
  • Slide 58
  • What Comes Next Small Team, 7-12 people (Staffed based on presenting the design pitch) Setup Run Vs. Tackle prototype in Testbed 1 6 players (2 vs. 5 tackle alley) Includes functional pro-tak defensive player switching logic Includes base pursuit path finding Setup Pass Vs. Sack/Interception prototype in Testbed Build Playmaker and run plays with any number of players and user- generated starting formations. Play CORE football in Testbed Choose offensive formation and Passing or Running Plays Choose Defensive formation and Play Play Football Core System for Run/Pass with 2 (or more) players
  • Slide 59
  • The Iterative Development Model
  • Slide 60
  • Questions?