Session 6 GAME DEVELOPMENT David Mul ich Survey of the Videogame Industry The Los Angeles Film School
Developers A video game developer is a software developer (a business or an individual) that creates video games A developer may specialize in a certain video game console, such as Sony's PlayStation 3, or may develop for a variety of platforms
Game Developer (Business) A company that develops video games is also cal ed a Game Studio. Game Studios may be: Owned and run by a game publisher An independently owned company that may work for different publishers
Game Developer (Individual) A game developer may also be: One or more individuals working freelance When applied to an individual, the term “game developer” may also refer specifical y to a game programmer. Game programmers are also cal ed: • Coders • Engineers
Development Teams The lone, “auteur” game developer is a myth.* *Unless you’re Notch. Are you Notch? No, you are not.
Developer Departments Design Art/Animation Programming Audio (Music/Sound) Project Management Quality Assurance Business Development
Design Department Controls UI Setting/Story/Dialog Game balance Level layouts Scoring System tweaking Tutorials Character/enemy design Playtesting
Do I Need To Know Math? Yes! Mathematics is not just for programmers! Geometry is maths too. As are statistics. And probability. And proportion. And even project management and budgeting. Maths is everywhere and it isn’t hard. Especially when it’s applied. So let’s debunk that myth right here.
Audio Department Composing Conducting Recording Tweaking Synching
The Pre-Production Problem What can you do about the problem of the rest of the team being idle while only a few members are doing preproduction? If possible, do preproduction on the next project while the rest of the team is finishing up the current project.
Production Team ramps up (adds more people) to create: Al the game features (Alpha code) Al the game assets (art and audio) Al the game levels
Production Pipeline (Overview)
Production Pipeline (Details)
Managing Resources StarCraft Minerals Vespene gas Game Development People Money Time
The Quality Triangle Tradeoffs: As any single element increases, Quality increases As any single element decreases, Quality decreases
Builds Daily builds Individual builds (such as for a demonstration) Major builds (milestones) Lock down
Who Is Busy During Production? Busiest: Programmers, Artists Very Busy: Producer, Designers Somewhat Busy: Audio A Little Busy: Testers
Post-Production The game is (nearly) finished and ready for: Quality Assurance Testing Localization Porting
Localization Issues Translation Art asset changes Music changes Content changes UI changes Ratings
Translation Dialog (vocals & subtitles) TRANSLATE WELL! No more “All your base,” please String length Labels imbedded in art assets Messages/Commands (loading, game over) Fonts GUI buttons
Art assets US Germany
Content Changes History and even geography may need to be “rewritten” for a given region. China & Taiwan
Regional Preferences Cameras and gameplay may need to be adjusted for some regions. The US doesn’t like “grinding,” which is highly popular in Asia US stories are often simplified and glorify Americans, Japanese stories tend to be esoteric Japan doesn’t like “searching” for items Asia prefers linearity, the US prefers open-ended First Person mode tends to cause negative physical reactions in Japan
Who Is Busy During Post- Production? Busiest: Programmers, Testers Very Busy: Producer Somewhat Busy: Designer A Little Busy: Artists, Audio
Development Methodologies Waterfall: A sequential process in which development is seen as flowing downwards (like a waterfall) through pre-determined stages Agile: An iterative process in which the project is re-evaluated at the end of each cycle
Scrum A flexible holistic strategy where a development team works together to reach a common goal The word “scrum” is a rugby term, referring to the manner of restarting after a minor infraction
Stakeholder A person, group, organization, or system who affects or can be affected by an organization's actions. They have a vested interest in the project. Stakeholders may have different levels of involvement in a project. Some may be merely contribute, while others are more committed.
Stakeholders in a Game Project Committed (Pigs) • Development Team • Producer • Quality Assurance Contributors (Chickens) • Sales • Marketing • Finance • Customer
Roles Project Owner: Represents the stakeholders and is the voice of the customer. S/he is accountable for delivering value Team: Responsible for delivering a shippable project in incremental steps Scrum Master: Enforces the rules of Scrum. Responsible for removing obstacles to the team. Acts as a buffer between the team and distracting influences.
Project Backlog An ordered list of requirements for the product: features, bug fixes, non-functional requirements (such as documentation) The items are ordered by the Product Owner based on considerations like risk, business value, etc. The features added to the backlog are commonly written in a story format. (“As a user, I would like to…”)
Scrum Elements Sprint: The basic unit of development in Scrum. The sprint is a “timeboxed” effort – normal y between one week and one month. Sprint Backlog: The list of tasks to be accomplished during that sprint. Sprint Planning Meeting: At the beginning of every sprint, a planning meeting is held to decide what work is to be done and prepare the sprint backlog.
Daily Scrum (Daily Standup) A timeboxed meeting (usually set to 15 minutes) of the development team. It should be held at the same time and location every day. Each team member answers three questions: What have you done since yesterday? What are you doing today? Are there any obstacles?
End of Sprint Sprint Review Meeting: Completed work is reviewed with the stakeholders (“the demo”) Sprint Retrospective: The team members discuss improvements to the process
Testing vs. Playing At home, you play games to have fun. You get to choose what to play, when to play, and how to play it. Testing games can stil be fun, but you have fewer choices about what, when and how to play. Everything you do when you play has a purpose.
Purposes of Game Testing Find defects in the code or design Demonstrate which parts of the game are working properly
Two Types of Testing Gameplay Testing “It’s too hard.” “The hats should be blue.” “Why can’t we have bigger guns?” Bug Testing “Game crashes when I do this…” “Quest giver doesn’t reward me after I turn quest in.” “Barbie says ‘Ima kil you!’”
In Other Words Gameplay Testing is subjective and opinion based Bug Testing is objective and fact based
QA Tools Test Kit (PC, console, etc.) Headphones Video/audio capture Test Plan Bug Database
Test Plan Written by Lead Tester (or Project Manager) Exercises every feature and asset in the game Used as the basis of check sheets
Writing a Bug Report Bug # Summary (Headline) Location or Component Description Expected Result / Actual Result (when bug is not obvious) Steps to reproduce Reproduction Rate Severity Priority
Bug Severities A = (Blocker / Critical) Fatal flaw. No-ship issue. Crashes, freezes, can’t finish game B = (Major / Normal) Serious flaw. Features don’t work properly C = (Minor / Trivial) Minor flaw. Glitches in artwork, typos, minor annoyances
The Judger Step-by-step or checklist-based testing Conventional game-playing Repetitive testing Factual accuracy of game Concerned about game contents Requires a very structured, ordered, predictable environment
The Perceiver Open-ended or outline-based testing Unconventional game-playing Testing variety Realistic experience of game Concerned about game context Like a laid-back approach
The QA Process QA Team tests build QA Team reports defects Development Team fixes defects QA Team tests new build QA Team verifies or rejects fixes QA Team tests for new defects
Bug Resolution Bug Meeting Production QA Marketing Every Open Bug is Reviewed Must Fix As Is / ISV Patch