SlideShare a Scribd company logo
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

More Related Content

Similar to 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_final
Ninguno 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 hd
slantsixgames
 
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
Windows 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 Lobb
mochimedia
 
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-01
gabikovacs10
 
God Of War : post mortem
God Of War : post mortemGod Of War : post mortem
God Of War : post mortem
Mustapha Tachouct
 
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 Think
Gorm 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 Studios
Perforce
 
Advanced #4 GPU & Animations
Advanced #4   GPU & AnimationsAdvanced #4   GPU & Animations
Advanced #4 GPU & Animations
Vitali Pekelis
 
K2P workshop 3-23-13
K2P workshop 3-23-13K2P workshop 3-23-13
K2P workshop 3-23-13
FakeGreenDress
 
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
Joseph Labrecque
 
Game Design Workshop, Issue #001
Game Design Workshop, Issue #001Game Design Workshop, Issue #001
Game Design Workshop, Issue #001
Sun Moon Hwang
 
Confrontation Pipeline and SCons
Confrontation Pipeline and SConsConfrontation Pipeline and SCons
Confrontation Pipeline and SCons
slantsixgames
 
The nitty gritty of game development
The nitty gritty of game developmentThe nitty gritty of game development
The nitty gritty of game development
basisspace
 
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_2015
Karman Interactive
 
Open frameworks 101_fitc
Open frameworks 101_fitcOpen frameworks 101_fitc
Open frameworks 101_fitc
benDesigning
 

Similar to 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
 

Recently uploaded

Juneteenth Freedom Day 2024 David Douglas School District
Juneteenth Freedom Day 2024 David Douglas School DistrictJuneteenth Freedom Day 2024 David Douglas School District
Juneteenth Freedom Day 2024 David Douglas School District
David Douglas School District
 
Bossa N’ Roll Records by Ismael Vazquez.
Bossa N’ Roll Records by Ismael Vazquez.Bossa N’ Roll Records by Ismael Vazquez.
Bossa N’ Roll Records by Ismael Vazquez.
IsmaelVazquez38
 
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
EduSkills OECD
 
Contiguity Of Various Message Forms - Rupam Chandra.pptx
Contiguity Of Various Message Forms - Rupam Chandra.pptxContiguity Of Various Message Forms - Rupam Chandra.pptx
Contiguity Of Various Message Forms - Rupam Chandra.pptx
Kalna College
 
Oliver Asks for More by Charles Dickens (9)
Oliver Asks for More by Charles Dickens (9)Oliver Asks for More by Charles Dickens (9)
Oliver Asks for More by Charles Dickens (9)
nitinpv4ai
 
مصحف القراءات العشر أعد أحرف الخلاف سمير بسيوني.pdf
مصحف القراءات العشر   أعد أحرف الخلاف سمير بسيوني.pdfمصحف القراءات العشر   أعد أحرف الخلاف سمير بسيوني.pdf
مصحف القراءات العشر أعد أحرف الخلاف سمير بسيوني.pdf
سمير بسيوني
 
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.pptLevel 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
Henry Hollis
 
A Visual Guide to 1 Samuel | A Tale of Two Hearts
A Visual Guide to 1 Samuel | A Tale of Two HeartsA Visual Guide to 1 Samuel | A Tale of Two Hearts
A Visual Guide to 1 Samuel | A Tale of Two Hearts
Steve Thomason
 
How to Manage Reception Report in Odoo 17
How to Manage Reception Report in Odoo 17How to Manage Reception Report in Odoo 17
How to Manage Reception Report in Odoo 17
Celine George
 
HYPERTENSION - SLIDE SHARE PRESENTATION.
HYPERTENSION - SLIDE SHARE PRESENTATION.HYPERTENSION - SLIDE SHARE PRESENTATION.
HYPERTENSION - SLIDE SHARE PRESENTATION.
deepaannamalai16
 
How to Download & Install Module From the Odoo App Store in Odoo 17
How to Download & Install Module From the Odoo App Store in Odoo 17How to Download & Install Module From the Odoo App Store in Odoo 17
How to Download & Install Module From the Odoo App Store in Odoo 17
Celine George
 
NIPER 2024 MEMORY BASED QUESTIONS.ANSWERS TO NIPER 2024 QUESTIONS.NIPER JEE 2...
NIPER 2024 MEMORY BASED QUESTIONS.ANSWERS TO NIPER 2024 QUESTIONS.NIPER JEE 2...NIPER 2024 MEMORY BASED QUESTIONS.ANSWERS TO NIPER 2024 QUESTIONS.NIPER JEE 2...
NIPER 2024 MEMORY BASED QUESTIONS.ANSWERS TO NIPER 2024 QUESTIONS.NIPER JEE 2...
Payaamvohra1
 
REASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdf
REASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdfREASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdf
REASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdf
giancarloi8888
 
Simple-Present-Tense xxxxxxxxxxxxxxxxxxx
Simple-Present-Tense xxxxxxxxxxxxxxxxxxxSimple-Present-Tense xxxxxxxxxxxxxxxxxxx
Simple-Present-Tense xxxxxxxxxxxxxxxxxxx
RandolphRadicy
 
The basics of sentences session 7pptx.pptx
The basics of sentences session 7pptx.pptxThe basics of sentences session 7pptx.pptx
The basics of sentences session 7pptx.pptx
heathfieldcps1
 
78 Microsoft-Publisher - Sirin Sultana Bora.pptx
78 Microsoft-Publisher - Sirin Sultana Bora.pptx78 Microsoft-Publisher - Sirin Sultana Bora.pptx
78 Microsoft-Publisher - Sirin Sultana Bora.pptx
Kalna College
 
Data Structure using C by Dr. K Adisesha .ppsx
Data Structure using C by Dr. K Adisesha .ppsxData Structure using C by Dr. K Adisesha .ppsx
Data Structure using C by Dr. K Adisesha .ppsx
Prof. Dr. K. Adisesha
 
BIOLOGY NATIONAL EXAMINATION COUNCIL (NECO) 2024 PRACTICAL MANUAL.pptx
BIOLOGY NATIONAL EXAMINATION COUNCIL (NECO) 2024 PRACTICAL MANUAL.pptxBIOLOGY NATIONAL EXAMINATION COUNCIL (NECO) 2024 PRACTICAL MANUAL.pptx
BIOLOGY NATIONAL EXAMINATION COUNCIL (NECO) 2024 PRACTICAL MANUAL.pptx
RidwanHassanYusuf
 
Educational Technology in the Health Sciences
Educational Technology in the Health SciencesEducational Technology in the Health Sciences
Educational Technology in the Health Sciences
Iris Thiele Isip-Tan
 
How to Fix [Errno 98] address already in use
How to Fix [Errno 98] address already in useHow to Fix [Errno 98] address already in use
How to Fix [Errno 98] address already in use
Celine George
 

Recently uploaded (20)

Juneteenth Freedom Day 2024 David Douglas School District
Juneteenth Freedom Day 2024 David Douglas School DistrictJuneteenth Freedom Day 2024 David Douglas School District
Juneteenth Freedom Day 2024 David Douglas School District
 
Bossa N’ Roll Records by Ismael Vazquez.
Bossa N’ Roll Records by Ismael Vazquez.Bossa N’ Roll Records by Ismael Vazquez.
Bossa N’ Roll Records by Ismael Vazquez.
 
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
 
Contiguity Of Various Message Forms - Rupam Chandra.pptx
Contiguity Of Various Message Forms - Rupam Chandra.pptxContiguity Of Various Message Forms - Rupam Chandra.pptx
Contiguity Of Various Message Forms - Rupam Chandra.pptx
 
Oliver Asks for More by Charles Dickens (9)
Oliver Asks for More by Charles Dickens (9)Oliver Asks for More by Charles Dickens (9)
Oliver Asks for More by Charles Dickens (9)
 
مصحف القراءات العشر أعد أحرف الخلاف سمير بسيوني.pdf
مصحف القراءات العشر   أعد أحرف الخلاف سمير بسيوني.pdfمصحف القراءات العشر   أعد أحرف الخلاف سمير بسيوني.pdf
مصحف القراءات العشر أعد أحرف الخلاف سمير بسيوني.pdf
 
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.pptLevel 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
 
A Visual Guide to 1 Samuel | A Tale of Two Hearts
A Visual Guide to 1 Samuel | A Tale of Two HeartsA Visual Guide to 1 Samuel | A Tale of Two Hearts
A Visual Guide to 1 Samuel | A Tale of Two Hearts
 
How to Manage Reception Report in Odoo 17
How to Manage Reception Report in Odoo 17How to Manage Reception Report in Odoo 17
How to Manage Reception Report in Odoo 17
 
HYPERTENSION - SLIDE SHARE PRESENTATION.
HYPERTENSION - SLIDE SHARE PRESENTATION.HYPERTENSION - SLIDE SHARE PRESENTATION.
HYPERTENSION - SLIDE SHARE PRESENTATION.
 
How to Download & Install Module From the Odoo App Store in Odoo 17
How to Download & Install Module From the Odoo App Store in Odoo 17How to Download & Install Module From the Odoo App Store in Odoo 17
How to Download & Install Module From the Odoo App Store in Odoo 17
 
NIPER 2024 MEMORY BASED QUESTIONS.ANSWERS TO NIPER 2024 QUESTIONS.NIPER JEE 2...
NIPER 2024 MEMORY BASED QUESTIONS.ANSWERS TO NIPER 2024 QUESTIONS.NIPER JEE 2...NIPER 2024 MEMORY BASED QUESTIONS.ANSWERS TO NIPER 2024 QUESTIONS.NIPER JEE 2...
NIPER 2024 MEMORY BASED QUESTIONS.ANSWERS TO NIPER 2024 QUESTIONS.NIPER JEE 2...
 
REASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdf
REASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdfREASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdf
REASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdf
 
Simple-Present-Tense xxxxxxxxxxxxxxxxxxx
Simple-Present-Tense xxxxxxxxxxxxxxxxxxxSimple-Present-Tense xxxxxxxxxxxxxxxxxxx
Simple-Present-Tense xxxxxxxxxxxxxxxxxxx
 
The basics of sentences session 7pptx.pptx
The basics of sentences session 7pptx.pptxThe basics of sentences session 7pptx.pptx
The basics of sentences session 7pptx.pptx
 
78 Microsoft-Publisher - Sirin Sultana Bora.pptx
78 Microsoft-Publisher - Sirin Sultana Bora.pptx78 Microsoft-Publisher - Sirin Sultana Bora.pptx
78 Microsoft-Publisher - Sirin Sultana Bora.pptx
 
Data Structure using C by Dr. K Adisesha .ppsx
Data Structure using C by Dr. K Adisesha .ppsxData Structure using C by Dr. K Adisesha .ppsx
Data Structure using C by Dr. K Adisesha .ppsx
 
BIOLOGY NATIONAL EXAMINATION COUNCIL (NECO) 2024 PRACTICAL MANUAL.pptx
BIOLOGY NATIONAL EXAMINATION COUNCIL (NECO) 2024 PRACTICAL MANUAL.pptxBIOLOGY NATIONAL EXAMINATION COUNCIL (NECO) 2024 PRACTICAL MANUAL.pptx
BIOLOGY NATIONAL EXAMINATION COUNCIL (NECO) 2024 PRACTICAL MANUAL.pptx
 
Educational Technology in the Health Sciences
Educational Technology in the Health SciencesEducational Technology in the Health Sciences
Educational Technology in the Health Sciences
 
How to Fix [Errno 98] address already in use
How to Fix [Errno 98] address already in useHow to Fix [Errno 98] address already in use
How to Fix [Errno 98] address already in use
 

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