SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
Controlling Project Size


       Chris DeLeon
        Sept 9, 2011
1997-2001
Vision	
  by	
  Proxy	
  
Chris DeLeon                                                     Second	
  EdiQon	
  
Programmer/Designer                                              2	
  million	
  plays	
  /	
  5	
  wk	
   Game	
  Dev	
  blog,	
  10k-­‐30k	
  readers/month	
  




                                                                                                                        Technical	
  Game	
  Designer	
  




                                                                                   200+	
  Experimental	
  
                                                                                   Gameplay	
  Projects	
  



                                                                                   Establishing	
  member	
  
                                                                                   of	
  start-­‐up	
  recently	
  
                                                   Featured	
  11/2009	
           acquired	
  by	
  PopCap	
  
                                                   For	
  “What’s	
  Hot”	
  
Reader’s	
  Top	
  10	
  
                            2010	
  Finalist	
  
                                                             Summer	
  at	
  Will	
  Wright’s	
  




Cofounded	
  in	
  2004,	
  5+	
  games/semester	
  
Game Creation Society Projects
Don’t Be This Guy
Confession: I’ve made ‘art games’




…But Not in VGDev, and after I made conventional games
Why Small Team Projects Die




Unrealistic Scope

Failure to control scope

Unwillingness to cut Scope

Schedule Drags Out

Leadership Indecision
One approach: Decades Progression




  1970’s            1980’s            1990’s
             ->                ->
Complexity        Complexity        Complexity
Arcade-Style Requires Less Content
  than Console or home PC Style

Arcade often took place all on one screen

Arcade can vary gameplay by Tweaking stage
parameters rather than adding more bosses, etc.

Arcade games get away with shorter play sessions
Even mid-80’s Arcade Gets Tricky


Don’t underestimate
the work that goes
into art, audio, and
code for an 80’s
arcade-style game.

This is actually a
considerable amount
of time and work ->

Even if you already
know exactly What you
Are making… Which is a
Luxury we don’t have
For original concepts!
1. Picking a Foundation
Why Use a Library


You should not be re-inventing code to:
  Load and use image/audio formats
  Detect real-time input
  draw lines
  render text

You need to be at a higher level of abstraction!
                 horiz:!
                    mov es, startaddr   !    !;put segment address in es!
                    mov di, 32000   !   !;row 101 (320 * 100)!
                    add di, 75 !    !   !;column 76!
                    mov al,colour   !   !;cannot do mem-mem copy so use reg!
                    mov cx, 160!    !   !;loop counter!
                   hplot:!
                     mov es:[di],al !   !;set pixel to colour!
                     inc di    !    !   !;move to next pixel!
                   loop hplot!
                  vert:!
                    mov di, 16000   !   !;row 51 (320 * 50)!
                    add di, 160!    !   !;column 161!
                    mov cx, 100!    !   !;loop counter!
Engine Use Can Mess Up (!) Your Game

increases content quality expectations (esp. if 3d)

Digging into API Docs instead of coding the game

Packs Your Design with Implicit Assumptions
But use Some sort of Library



Libraries: XNA/DirectX, SFML, Allegro, SDL, FlashPunk
Part Library, Part Engine: Flixel
Possible Exception to the Engine Rule: Unity

Flash/ActionScript3 is inherently part-engine: is
quirky to work with, but far easier to distribute
2. Starting on the Right Track
Mock-Up Screenshot and 1-page Doc




No one reads a 25 (or 5) page design document

Everything changes once it’s in play anyway
Prev. page mock-up -> real Screenshot
The Sequel’s mock-up “Screenshot”
real Screenshot of the Sequel
What would a   demo/Lite version need?

       Make that your full game’s plan.
        Just enough to prove it works!




  12 item/enemy/car/Level types? No! 3.
  If it comes out well, do a sequel.
Scheduling




Think in terms of min / max / avg

Plan from both ends, meet in the middle

Spreadsheet with rows as roles, columns as Fridays

Bottlenecks! prioritize work that enables other work
On Team Size




Smaller teams can be faster
  Less misunderstanding
  Less internal documentation
  Less disagreement

Adding more programmers will not get the game done
faster nor make it bigger, but it *will* increase your
chances of never finishing it.

(But Some tasks parallel better, e.g. audio, art)
Genre Choice




Vehicles just slide and rotate

Abstract puzzle/action is always an option

Animated human bodies are a big undertaking

Lazy environments: Space, Ocean, Sky, snow fields
(also avoids many path-finding complications)

Nice: Games where level design is number tuning,
instead of architected layouts
3. Staying on Track
Can’t decide between equal ways to move forward?

  Just pick one and go with it!
  Always have a plan to completion




Wishy-Washy burns time and effort, confuses team

Begin with a clear (but tentative) weekly plan

If you’re changing plans as you, revisit that plan
to figure out what has to be cut to make room
What New Ideas to Accept?


Does it eliminate previously scheduled, undone work?

WHAT A GREAT IDEA!

Does it add new work, or waste finished work?

Save it for the sequel.
Have Meetings to Answer Questions




What questions need answers? At the very least:
              “what can I do now/next?”

Beware of design by committee: prepare proposals
outside of meetings, then present and DISCUSS!
Tangible Weekly Results Per Member

Expect 1-2 nights/week per developer, more if lead

1 coherent contribution from each member weekly
   Not: I’ll do “More art” / ”More code” this week

If work isn’t getting done, try to find a resolution.
If no resolution, they may need to be let go
(…or active members get frustrated)

It usually isn’t news to that person.
Sometimes people even want to quit,
But don’t know how! Help them out…
4. Finishing
Finishing Matters a Lot
“Almost done” games are really less than 40%

No one will play it or take it seriously

it’s only practice? Then don’t practice not finishing

Make a list of what’s left. only let that list shrink!




                                  <- not a boat
Bang-for-your-buck tradeoffs


Put your effort where it’s going to show

90/10 rule: 90% of player focus on 10% of content

Near the end of a project? Hack.




“If you're willing to restrict
the flexibility of your
approach, you can almost
always do something better.”

           -John Carmack
Cut Scope Aggressively Throughout




Plan projects with modularity for wiggle room

Always have a fallback plan

Triage: Forget the first plan, what have we got?

players will never know what you cut!
a Lamborghini is not a polished Yugo




                  +




At some point you’re getting diminishing returns on
additional work. Or making the game worse!

wrap it up, let it go, learn from it, and move on
Questions?


     Chris DeLeon

HobbyGameDev@gmail.com
 www.HobbyGameDev.com

Contenu connexe

Similaire à Controlling Project Size for Student/Hobby Videogame Development

Minkoff getting noticed-gdc_final
Minkoff getting noticed-gdc_finalMinkoff getting noticed-gdc_final
Minkoff getting noticed-gdc_finalNinguno Ningun Otro
 
Supersize your production pipe enjmin 2013 v1.1 hd
Supersize your production pipe    enjmin 2013 v1.1 hdSupersize your production pipe    enjmin 2013 v1.1 hd
Supersize your production pipe enjmin 2013 v1.1 hdslantsixgames
 
Xbox App Dev 5. Design for TV
Xbox App Dev 5. Design for TVXbox App Dev 5. Design for TV
Xbox App Dev 5. Design for TVWindows Developer
 
Super Gun Kids: The Making Of by Iain Lobb
Super Gun Kids: The Making Of by Iain LobbSuper Gun Kids: The Making Of by Iain Lobb
Super Gun Kids: The Making Of by Iain Lobbmochimedia
 
It's A Long Way To The Top...If You Want To Be An Indie Flash Dev by David Sc...
It's A Long Way To The Top...If You Want To Be An Indie Flash Dev by David Sc...It's A Long Way To The Top...If You Want To Be An Indie Flash Dev by David Sc...
It's A Long Way To The Top...If You Want To Be An Indie Flash Dev by David Sc...mochimedia
 
Game salad creator for windows manual 2012 11-01
Game salad creator for windows manual 2012 11-01Game salad creator for windows manual 2012 11-01
Game salad creator for windows manual 2012 11-01gabikovacs10
 
What does OOP stand for?
What does OOP stand for?What does OOP stand for?
What does OOP stand for?Colin Riley
 
Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...
Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...
Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...Umbra Software
 
Making A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You ThinkMaking A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You ThinkGorm Lai
 
Perforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco StudiosPerforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco StudiosPerforce
 
Advanced #4 GPU & Animations
Advanced #4   GPU & AnimationsAdvanced #4   GPU & Animations
Advanced #4 GPU & AnimationsVitali Pekelis
 
Game Design with Adobe® Flash® Professional CS6
Game Design with Adobe® Flash® Professional CS6Game Design with Adobe® Flash® Professional CS6
Game Design with Adobe® Flash® Professional CS6Joseph Labrecque
 
Game Design Workshop, Issue #001
Game Design Workshop, Issue #001Game Design Workshop, Issue #001
Game Design Workshop, Issue #001Sun Moon Hwang
 
Confrontation Pipeline and SCons
Confrontation Pipeline and SConsConfrontation Pipeline and SCons
Confrontation Pipeline and SConsslantsixgames
 
The nitty gritty of game development
The nitty gritty of game developmentThe nitty gritty of game development
The nitty gritty of game developmentbasisspace
 
Cards n Castles: Merging card game and city building game into one, developer...
Cards n Castles: Merging card game and city building game into one, developer...Cards n Castles: Merging card game and city building game into one, developer...
Cards n Castles: Merging card game and city building game into one, developer...Tuang Dheandhanoo
 
Ottawa unity user_group_feb13_2015
Ottawa unity user_group_feb13_2015Ottawa unity user_group_feb13_2015
Ottawa unity user_group_feb13_2015Karman Interactive
 
Open frameworks 101_fitc
Open frameworks 101_fitcOpen frameworks 101_fitc
Open frameworks 101_fitcbenDesigning
 

Similaire à Controlling Project Size for Student/Hobby Videogame Development (20)

Minkoff getting noticed-gdc_final
Minkoff getting noticed-gdc_finalMinkoff getting noticed-gdc_final
Minkoff getting noticed-gdc_final
 
Supersize your production pipe enjmin 2013 v1.1 hd
Supersize your production pipe    enjmin 2013 v1.1 hdSupersize your production pipe    enjmin 2013 v1.1 hd
Supersize your production pipe enjmin 2013 v1.1 hd
 
Xbox App Dev 5. Design for TV
Xbox App Dev 5. Design for TVXbox App Dev 5. Design for TV
Xbox App Dev 5. Design for TV
 
Super Gun Kids: The Making Of by Iain Lobb
Super Gun Kids: The Making Of by Iain LobbSuper Gun Kids: The Making Of by Iain Lobb
Super Gun Kids: The Making Of by Iain Lobb
 
It's A Long Way To The Top...If You Want To Be An Indie Flash Dev by David Sc...
It's A Long Way To The Top...If You Want To Be An Indie Flash Dev by David Sc...It's A Long Way To The Top...If You Want To Be An Indie Flash Dev by David Sc...
It's A Long Way To The Top...If You Want To Be An Indie Flash Dev by David Sc...
 
Game salad creator for windows manual 2012 11-01
Game salad creator for windows manual 2012 11-01Game salad creator for windows manual 2012 11-01
Game salad creator for windows manual 2012 11-01
 
God Of War : post mortem
God Of War : post mortemGod Of War : post mortem
God Of War : post mortem
 
What does OOP stand for?
What does OOP stand for?What does OOP stand for?
What does OOP stand for?
 
Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...
Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...
Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...
 
Making A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You ThinkMaking A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You Think
 
Perforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco StudiosPerforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco Studios
 
Advanced #4 GPU & Animations
Advanced #4   GPU & AnimationsAdvanced #4   GPU & Animations
Advanced #4 GPU & Animations
 
K2P workshop 3-23-13
K2P workshop 3-23-13K2P workshop 3-23-13
K2P workshop 3-23-13
 
Game Design with Adobe® Flash® Professional CS6
Game Design with Adobe® Flash® Professional CS6Game Design with Adobe® Flash® Professional CS6
Game Design with Adobe® Flash® Professional CS6
 
Game Design Workshop, Issue #001
Game Design Workshop, Issue #001Game Design Workshop, Issue #001
Game Design Workshop, Issue #001
 
Confrontation Pipeline and SCons
Confrontation Pipeline and SConsConfrontation Pipeline and SCons
Confrontation Pipeline and SCons
 
The nitty gritty of game development
The nitty gritty of game developmentThe nitty gritty of game development
The nitty gritty of game development
 
Cards n Castles: Merging card game and city building game into one, developer...
Cards n Castles: Merging card game and city building game into one, developer...Cards n Castles: Merging card game and city building game into one, developer...
Cards n Castles: Merging card game and city building game into one, developer...
 
Ottawa unity user_group_feb13_2015
Ottawa unity user_group_feb13_2015Ottawa unity user_group_feb13_2015
Ottawa unity user_group_feb13_2015
 
Open frameworks 101_fitc
Open frameworks 101_fitcOpen frameworks 101_fitc
Open frameworks 101_fitc
 

Dernier

Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdfssuserdda66b
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Association for Project Management
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701bronxfugly43
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 

Dernier (20)

Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 

Controlling Project Size for Student/Hobby Videogame Development

  • 1. Controlling Project Size Chris DeLeon Sept 9, 2011
  • 3. Vision  by  Proxy   Chris DeLeon Second  EdiQon   Programmer/Designer 2  million  plays  /  5  wk   Game  Dev  blog,  10k-­‐30k  readers/month   Technical  Game  Designer   200+  Experimental   Gameplay  Projects   Establishing  member   of  start-­‐up  recently   Featured  11/2009   acquired  by  PopCap   For  “What’s  Hot”   Reader’s  Top  10   2010  Finalist   Summer  at  Will  Wright’s   Cofounded  in  2004,  5+  games/semester  
  • 6. Confession: I’ve made ‘art games’ …But Not in VGDev, and after I made conventional games
  • 7. Why Small Team Projects Die Unrealistic Scope Failure to control scope Unwillingness to cut Scope Schedule Drags Out Leadership Indecision
  • 8. One approach: Decades Progression 1970’s 1980’s 1990’s -> -> Complexity Complexity Complexity
  • 9. Arcade-Style Requires Less Content than Console or home PC Style Arcade often took place all on one screen Arcade can vary gameplay by Tweaking stage parameters rather than adding more bosses, etc. Arcade games get away with shorter play sessions
  • 10. Even mid-80’s Arcade Gets Tricky Don’t underestimate the work that goes into art, audio, and code for an 80’s arcade-style game. This is actually a considerable amount of time and work -> Even if you already know exactly What you Are making… Which is a Luxury we don’t have For original concepts!
  • 11. 1. Picking a Foundation
  • 12. Why Use a Library You should not be re-inventing code to: Load and use image/audio formats Detect real-time input draw lines render text You need to be at a higher level of abstraction! horiz:! mov es, startaddr ! !;put segment address in es! mov di, 32000 ! !;row 101 (320 * 100)! add di, 75 ! ! !;column 76! mov al,colour ! !;cannot do mem-mem copy so use reg! mov cx, 160! ! !;loop counter! hplot:! mov es:[di],al ! !;set pixel to colour! inc di ! ! !;move to next pixel! loop hplot! vert:! mov di, 16000 ! !;row 51 (320 * 50)! add di, 160! ! !;column 161! mov cx, 100! ! !;loop counter!
  • 13. Engine Use Can Mess Up (!) Your Game increases content quality expectations (esp. if 3d) Digging into API Docs instead of coding the game Packs Your Design with Implicit Assumptions
  • 14. But use Some sort of Library Libraries: XNA/DirectX, SFML, Allegro, SDL, FlashPunk Part Library, Part Engine: Flixel Possible Exception to the Engine Rule: Unity Flash/ActionScript3 is inherently part-engine: is quirky to work with, but far easier to distribute
  • 15. 2. Starting on the Right Track
  • 16. Mock-Up Screenshot and 1-page Doc No one reads a 25 (or 5) page design document Everything changes once it’s in play anyway
  • 17. Prev. page mock-up -> real Screenshot
  • 18. The Sequel’s mock-up “Screenshot”
  • 19. real Screenshot of the Sequel
  • 20. What would a demo/Lite version need? Make that your full game’s plan. Just enough to prove it works! 12 item/enemy/car/Level types? No! 3. If it comes out well, do a sequel.
  • 21. Scheduling Think in terms of min / max / avg Plan from both ends, meet in the middle Spreadsheet with rows as roles, columns as Fridays Bottlenecks! prioritize work that enables other work
  • 22. On Team Size Smaller teams can be faster Less misunderstanding Less internal documentation Less disagreement Adding more programmers will not get the game done faster nor make it bigger, but it *will* increase your chances of never finishing it. (But Some tasks parallel better, e.g. audio, art)
  • 23. Genre Choice Vehicles just slide and rotate Abstract puzzle/action is always an option Animated human bodies are a big undertaking Lazy environments: Space, Ocean, Sky, snow fields (also avoids many path-finding complications) Nice: Games where level design is number tuning, instead of architected layouts
  • 24. 3. Staying on Track
  • 25. Can’t decide between equal ways to move forward? Just pick one and go with it! Always have a plan to completion Wishy-Washy burns time and effort, confuses team Begin with a clear (but tentative) weekly plan If you’re changing plans as you, revisit that plan to figure out what has to be cut to make room
  • 26. What New Ideas to Accept? Does it eliminate previously scheduled, undone work? WHAT A GREAT IDEA! Does it add new work, or waste finished work? Save it for the sequel.
  • 27. Have Meetings to Answer Questions What questions need answers? At the very least: “what can I do now/next?” Beware of design by committee: prepare proposals outside of meetings, then present and DISCUSS!
  • 28. Tangible Weekly Results Per Member Expect 1-2 nights/week per developer, more if lead 1 coherent contribution from each member weekly Not: I’ll do “More art” / ”More code” this week If work isn’t getting done, try to find a resolution. If no resolution, they may need to be let go (…or active members get frustrated) It usually isn’t news to that person. Sometimes people even want to quit, But don’t know how! Help them out…
  • 30. Finishing Matters a Lot “Almost done” games are really less than 40% No one will play it or take it seriously it’s only practice? Then don’t practice not finishing Make a list of what’s left. only let that list shrink! <- not a boat
  • 31. Bang-for-your-buck tradeoffs Put your effort where it’s going to show 90/10 rule: 90% of player focus on 10% of content Near the end of a project? Hack. “If you're willing to restrict the flexibility of your approach, you can almost always do something better.” -John Carmack
  • 32. Cut Scope Aggressively Throughout Plan projects with modularity for wiggle room Always have a fallback plan Triage: Forget the first plan, what have we got? players will never know what you cut!
  • 33. a Lamborghini is not a polished Yugo + At some point you’re getting diminishing returns on additional work. Or making the game worse! wrap it up, let it go, learn from it, and move on
  • 34. Questions? Chris DeLeon HobbyGameDev@gmail.com www.HobbyGameDev.com