SlideShare a Scribd company logo
 
MiniGames Rebuilding Three Classics Joe Linhoff Eugene Jarvis Darren Torpey
Pong, 1972
Goals ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Why Pong ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Game Development ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1000 Features (handout) unique value 0..1000 possible feature for your game -- focus on what you see, hear, and how to get it on the screen
Tennis 78' -39..39 in X  27' -14..14 in Z Camera is above, looking down paddles ball X Z
Teaching Goal lead students through first iteration ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Game Loop ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Velocities ,[object Object],[object Object],[object Object],[object Object],[object Object],// JFL 25 Jan 09 class Ball : public qe { public: chr name[16]; // name float timeOfLastUpdate; // in seconds float xyz[3]; // current float vel[3]; // velocity Ball(chr *name); // constructor int update(); // update function int draw(); // draw function }; // class Ball // update, move the ball float t; // find time since last update t=this->timeOfLastUpdate; this->timeOfLastUpdate=qeTimeFrame(); t=this->timeOfLastUpdate-t; // delta // xyz += vel*t this->xyz[0]+=this->vel[0]*t; this->xyz[1]+=this->vel[1]*t; this->xyz[2]+=this->vel[2]*t;
Collisions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Collisions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Draw simple filled rectangle glColor3f(1,1,1); glPolygonMode(GL_FRONT,GL_FILL); // draw filled polygons glBegin(GL_QUADS); // draw quads counter-clockwise from camera's view glVertex3f(-1,0,-3); glVertex3f(-1,0,3); glVertex3f(2,0,3); glVertex3f(2,0,-3); glEnd();

More Related Content

What's hot

PFDS 8.4.1
PFDS 8.4.1PFDS 8.4.1
PFDS 8.4.1rf0444
 
Py3k
Py3kPy3k
Allison Kaptur: Bytes in the Machine: Inside the CPython interpreter, PyGotha...
Allison Kaptur: Bytes in the Machine: Inside the CPython interpreter, PyGotha...Allison Kaptur: Bytes in the Machine: Inside the CPython interpreter, PyGotha...
Allison Kaptur: Bytes in the Machine: Inside the CPython interpreter, PyGotha...
akaptur
 
Byterun, a Python bytecode interpreter - Allison Kaptur at NYCPython
Byterun, a Python bytecode interpreter - Allison Kaptur at NYCPythonByterun, a Python bytecode interpreter - Allison Kaptur at NYCPython
Byterun, a Python bytecode interpreter - Allison Kaptur at NYCPython
akaptur
 
Docopt
DocoptDocopt
Docopt
René Ribaud
 
A tour of Python
A tour of PythonA tour of Python
A tour of Python
Aleksandar Veselinovic
 
re3 - modern regex syntax with a focus on adoption
re3 - modern regex syntax with a focus on adoptionre3 - modern regex syntax with a focus on adoption
re3 - modern regex syntax with a focus on adoption
Aur Saraf
 
BT-led점등
BT-led점등BT-led점등
BT-led점등
InHee Kim
 
Functional Pattern Matching on Python
Functional Pattern Matching on PythonFunctional Pattern Matching on Python
Functional Pattern Matching on PythonDaker Fernandes
 

What's hot (10)

PFDS 8.4.1
PFDS 8.4.1PFDS 8.4.1
PFDS 8.4.1
 
Py3k
Py3kPy3k
Py3k
 
Rkf
RkfRkf
Rkf
 
Allison Kaptur: Bytes in the Machine: Inside the CPython interpreter, PyGotha...
Allison Kaptur: Bytes in the Machine: Inside the CPython interpreter, PyGotha...Allison Kaptur: Bytes in the Machine: Inside the CPython interpreter, PyGotha...
Allison Kaptur: Bytes in the Machine: Inside the CPython interpreter, PyGotha...
 
Byterun, a Python bytecode interpreter - Allison Kaptur at NYCPython
Byterun, a Python bytecode interpreter - Allison Kaptur at NYCPythonByterun, a Python bytecode interpreter - Allison Kaptur at NYCPython
Byterun, a Python bytecode interpreter - Allison Kaptur at NYCPython
 
Docopt
DocoptDocopt
Docopt
 
A tour of Python
A tour of PythonA tour of Python
A tour of Python
 
re3 - modern regex syntax with a focus on adoption
re3 - modern regex syntax with a focus on adoptionre3 - modern regex syntax with a focus on adoption
re3 - modern regex syntax with a focus on adoption
 
BT-led점등
BT-led점등BT-led점등
BT-led점등
 
Functional Pattern Matching on Python
Functional Pattern Matching on PythonFunctional Pattern Matching on Python
Functional Pattern Matching on Python
 

Viewers also liked

Global Game Jam @ Develop 09
Global Game Jam @ Develop 09Global Game Jam @ Develop 09
Global Game Jam @ Develop 09Gorm Lai
 
Global Game Jam @ Develop
Global Game Jam @ DevelopGlobal Game Jam @ Develop
Global Game Jam @ Develop
Gorm Lai
 
Gdc09 Minigames
Gdc09 MinigamesGdc09 Minigames
Gdc09 MinigamesSusan Gold
 
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
 
Game Jams & Hobbyists
Game Jams & HobbyistsGame Jams & Hobbyists
Game Jams & Hobbyists
Gorm Lai
 
SIGGRAPH 2007 IGDA Presentation
SIGGRAPH 2007 IGDA PresentationSIGGRAPH 2007 IGDA Presentation
SIGGRAPH 2007 IGDA PresentationSusan Gold
 
Community
CommunityCommunity
Community
Susan Gold
 
Gold And Robinson 2009
Gold And Robinson 2009Gold And Robinson 2009
Gold And Robinson 2009
Susan Gold
 

Viewers also liked (9)

Global Game Jam @ Develop 09
Global Game Jam @ Develop 09Global Game Jam @ Develop 09
Global Game Jam @ Develop 09
 
Global Game Jam @ Develop
Global Game Jam @ DevelopGlobal Game Jam @ Develop
Global Game Jam @ Develop
 
Gdc09 Minigames
Gdc09 MinigamesGdc09 Minigames
Gdc09 Minigames
 
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
 
Game Jams & Hobbyists
Game Jams & HobbyistsGame Jams & Hobbyists
Game Jams & Hobbyists
 
Pong
PongPong
Pong
 
SIGGRAPH 2007 IGDA Presentation
SIGGRAPH 2007 IGDA PresentationSIGGRAPH 2007 IGDA Presentation
SIGGRAPH 2007 IGDA Presentation
 
Community
CommunityCommunity
Community
 
Gold And Robinson 2009
Gold And Robinson 2009Gold And Robinson 2009
Gold And Robinson 2009
 

Similar to Gdc09 Minipong

Synopsis tic tac toe
Synopsis tic tac toeSynopsis tic tac toe
Synopsis tic tac toe
SYED HOZAIFA ALI
 
Working with Layout Managers. Notes 1. In part 2, note that the Gam.pdf
Working with Layout Managers. Notes 1. In part 2, note that the Gam.pdfWorking with Layout Managers. Notes 1. In part 2, note that the Gam.pdf
Working with Layout Managers. Notes 1. In part 2, note that the Gam.pdf
udit652068
 
TilePUzzle class Anderson, Franceschi public class TilePu.docx
 TilePUzzle class Anderson, Franceschi public class TilePu.docx TilePUzzle class Anderson, Franceschi public class TilePu.docx
TilePUzzle class Anderson, Franceschi public class TilePu.docx
Komlin1
 
main.pdf java programming practice for programs
main.pdf java programming practice for programsmain.pdf java programming practice for programs
main.pdf java programming practice for programs
RavinderKSingla
 
About Go
About GoAbout Go
About Go
Jongmin Kim
 
The Ring programming language version 1.6 book - Part 49 of 189
The Ring programming language version 1.6 book - Part 49 of 189The Ring programming language version 1.6 book - Part 49 of 189
The Ring programming language version 1.6 book - Part 49 of 189
Mahmoud Samir Fayed
 
Tic tac toe on c++ project
Tic tac toe on c++ projectTic tac toe on c++ project
Tic tac toe on c++ project
Utkarsh Aggarwal
 
Testing a 2D Platformer with Spock
Testing a 2D Platformer with SpockTesting a 2D Platformer with Spock
Testing a 2D Platformer with Spock
Alexander Tarlinder
 
Tracking a soccer game with BigData
Tracking a soccer game with BigDataTracking a soccer game with BigData
Tracking a soccer game with BigData
WSO2
 
Big data streams, Internet of Things, and Complex Event Processing Improve So...
Big data streams, Internet of Things, and Complex Event Processing Improve So...Big data streams, Internet of Things, and Complex Event Processing Improve So...
Big data streams, Internet of Things, and Complex Event Processing Improve So...
Chris Haddad
 
The Ring programming language version 1.7 book - Part 53 of 196
The Ring programming language version 1.7 book - Part 53 of 196The Ring programming language version 1.7 book - Part 53 of 196
The Ring programming language version 1.7 book - Part 53 of 196
Mahmoud Samir Fayed
 
The Ring programming language version 1.4 book - Part 14 of 30
The Ring programming language version 1.4 book - Part 14 of 30The Ring programming language version 1.4 book - Part 14 of 30
The Ring programming language version 1.4 book - Part 14 of 30
Mahmoud Samir Fayed
 
The Ring programming language version 1.5.2 book - Part 46 of 181
The Ring programming language version 1.5.2 book - Part 46 of 181The Ring programming language version 1.5.2 book - Part 46 of 181
The Ring programming language version 1.5.2 book - Part 46 of 181
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 22 of 212
The Ring programming language version 1.10 book - Part 22 of 212The Ring programming language version 1.10 book - Part 22 of 212
The Ring programming language version 1.10 book - Part 22 of 212
Mahmoud Samir Fayed
 
Lambda expressions in C++
Lambda expressions in C++Lambda expressions in C++
Lambda expressions in C++
Dimitrios Platis
 
Snake game implementation in c
Snake game implementation in cSnake game implementation in c
Snake game implementation in c
Upendra Sengar
 
ES6: Features + Rails
ES6: Features + RailsES6: Features + Rails
ES6: Features + Rails
Santosh Wadghule
 
School For Games 2015 - Unity Engine Basics
School For Games 2015 - Unity Engine BasicsSchool For Games 2015 - Unity Engine Basics
School For Games 2015 - Unity Engine Basics
Nick Pruehs
 

Similar to Gdc09 Minipong (20)

Synopsis tic tac toe
Synopsis tic tac toeSynopsis tic tac toe
Synopsis tic tac toe
 
Talk Code
Talk CodeTalk Code
Talk Code
 
Working with Layout Managers. Notes 1. In part 2, note that the Gam.pdf
Working with Layout Managers. Notes 1. In part 2, note that the Gam.pdfWorking with Layout Managers. Notes 1. In part 2, note that the Gam.pdf
Working with Layout Managers. Notes 1. In part 2, note that the Gam.pdf
 
TilePUzzle class Anderson, Franceschi public class TilePu.docx
 TilePUzzle class Anderson, Franceschi public class TilePu.docx TilePUzzle class Anderson, Franceschi public class TilePu.docx
TilePUzzle class Anderson, Franceschi public class TilePu.docx
 
main.pdf java programming practice for programs
main.pdf java programming practice for programsmain.pdf java programming practice for programs
main.pdf java programming practice for programs
 
About Go
About GoAbout Go
About Go
 
The Ring programming language version 1.6 book - Part 49 of 189
The Ring programming language version 1.6 book - Part 49 of 189The Ring programming language version 1.6 book - Part 49 of 189
The Ring programming language version 1.6 book - Part 49 of 189
 
Tic tac toe on c++ project
Tic tac toe on c++ projectTic tac toe on c++ project
Tic tac toe on c++ project
 
Testing a 2D Platformer with Spock
Testing a 2D Platformer with SpockTesting a 2D Platformer with Spock
Testing a 2D Platformer with Spock
 
Tracking a soccer game with BigData
Tracking a soccer game with BigDataTracking a soccer game with BigData
Tracking a soccer game with BigData
 
Big data streams, Internet of Things, and Complex Event Processing Improve So...
Big data streams, Internet of Things, and Complex Event Processing Improve So...Big data streams, Internet of Things, and Complex Event Processing Improve So...
Big data streams, Internet of Things, and Complex Event Processing Improve So...
 
3D Space Shooting Game
3D Space Shooting Game3D Space Shooting Game
3D Space Shooting Game
 
The Ring programming language version 1.7 book - Part 53 of 196
The Ring programming language version 1.7 book - Part 53 of 196The Ring programming language version 1.7 book - Part 53 of 196
The Ring programming language version 1.7 book - Part 53 of 196
 
The Ring programming language version 1.4 book - Part 14 of 30
The Ring programming language version 1.4 book - Part 14 of 30The Ring programming language version 1.4 book - Part 14 of 30
The Ring programming language version 1.4 book - Part 14 of 30
 
The Ring programming language version 1.5.2 book - Part 46 of 181
The Ring programming language version 1.5.2 book - Part 46 of 181The Ring programming language version 1.5.2 book - Part 46 of 181
The Ring programming language version 1.5.2 book - Part 46 of 181
 
The Ring programming language version 1.10 book - Part 22 of 212
The Ring programming language version 1.10 book - Part 22 of 212The Ring programming language version 1.10 book - Part 22 of 212
The Ring programming language version 1.10 book - Part 22 of 212
 
Lambda expressions in C++
Lambda expressions in C++Lambda expressions in C++
Lambda expressions in C++
 
Snake game implementation in c
Snake game implementation in cSnake game implementation in c
Snake game implementation in c
 
ES6: Features + Rails
ES6: Features + RailsES6: Features + Rails
ES6: Features + Rails
 
School For Games 2015 - Unity Engine Basics
School For Games 2015 - Unity Engine BasicsSchool For Games 2015 - Unity Engine Basics
School For Games 2015 - Unity Engine Basics
 

More from Susan Gold

ICEC
ICECICEC
Dgxpo
DgxpoDgxpo
Dgxpo
Susan Gold
 
Fog
FogFog
Ivdc
IvdcIvdc
GDC 2009 Game Design Improv
GDC 2009 Game Design ImprovGDC 2009 Game Design Improv
GDC 2009 Game Design Improv
Susan Gold
 
Gdc09 Minimissile
Gdc09 MinimissileGdc09 Minimissile
Gdc09 MinimissileSusan Gold
 
Missilecommand
MissilecommandMissilecommand
MissilecommandSusan Gold
 
Assignment Pong
Assignment PongAssignment Pong
Assignment PongSusan Gold
 
Global Game Jam Overview
Global Game Jam OverviewGlobal Game Jam Overview
Global Game Jam Overview
Susan Gold
 
Agd Talk Speed Run
Agd Talk   Speed RunAgd Talk   Speed Run
Agd Talk Speed Run
Susan Gold
 
Mscruise
MscruiseMscruise
Mscruise
Susan Gold
 
GDC China 2007
GDC China 2007GDC China 2007
GDC China 2007Susan Gold
 
Boston IGDA Meeting
Boston IGDA MeetingBoston IGDA Meeting
Boston IGDA Meeting
Susan Gold
 
Curriculumframework2008
Curriculumframework2008Curriculumframework2008
Curriculumframework2008Susan Gold
 
Game Program Highlights
Game Program HighlightsGame Program Highlights
Game Program Highlights
Susan Gold
 

More from Susan Gold (18)

ICEC
ICECICEC
ICEC
 
Dgxpo
DgxpoDgxpo
Dgxpo
 
Fog
FogFog
Fog
 
Ivdc
IvdcIvdc
Ivdc
 
GDC 2009 Game Design Improv
GDC 2009 Game Design ImprovGDC 2009 Game Design Improv
GDC 2009 Game Design Improv
 
Gdc09 Minimissile
Gdc09 MinimissileGdc09 Minimissile
Gdc09 Minimissile
 
Setup
SetupSetup
Setup
 
Qe Reference
Qe ReferenceQe Reference
Qe Reference
 
Missilecommand
MissilecommandMissilecommand
Missilecommand
 
Assignment Pong
Assignment PongAssignment Pong
Assignment Pong
 
Global Game Jam Overview
Global Game Jam OverviewGlobal Game Jam Overview
Global Game Jam Overview
 
Agd Talk Speed Run
Agd Talk   Speed RunAgd Talk   Speed Run
Agd Talk Speed Run
 
Mscruise
MscruiseMscruise
Mscruise
 
GDC China 2007
GDC China 2007GDC China 2007
GDC China 2007
 
Digra07
Digra07Digra07
Digra07
 
Boston IGDA Meeting
Boston IGDA MeetingBoston IGDA Meeting
Boston IGDA Meeting
 
Curriculumframework2008
Curriculumframework2008Curriculumframework2008
Curriculumframework2008
 
Game Program Highlights
Game Program HighlightsGame Program Highlights
Game Program Highlights
 

Gdc09 Minipong

  • 1.  
  • 2. MiniGames Rebuilding Three Classics Joe Linhoff Eugene Jarvis Darren Torpey
  • 4.
  • 5.
  • 6.
  • 7. 1000 Features (handout) unique value 0..1000 possible feature for your game -- focus on what you see, hear, and how to get it on the screen
  • 8. Tennis 78' -39..39 in X 27' -14..14 in Z Camera is above, looking down paddles ball X Z
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. Draw simple filled rectangle glColor3f(1,1,1); glPolygonMode(GL_FRONT,GL_FILL); // draw filled polygons glBegin(GL_QUADS); // draw quads counter-clockwise from camera's view glVertex3f(-1,0,-3); glVertex3f(-1,0,3); glVertex3f(2,0,3); glVertex3f(2,0,-3); glEnd();