game programming 101 john see. agenda games: why are you doing this?!? the game industry once upon a...

69
Game Programming 101 John See

Upload: jocelyn-fox

Post on 11-Jan-2016

242 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Game Programming 101

John See

Page 2: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Agenda

• Games: Why are you doing this?!?• The game industry• Once upon a time…• What makes a Good Game• What is Game Programming?• Things every person in this

course/major/group should know

Page 3: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Games. Why?!?!?

Page 4: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

The Industry• Video game industry sales in US

– 2006: $12.5 billion– 2007: $17.9 billion– 2008: $ ???

• PC-based game retail sales in US– 2004: $1.1 billion– 2005: $953 million– 2006: $970 million

Page 5: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Console game industry• 2007 top sales (in units)

– Nintendo DS 8.5 million– Nintendo Wii 6.29 million– Xbox 360 4.62 million– PS2 3.97 million– PSP 3.82 million– PS3 2.56 million

Page 6: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Game Scene in Malaysia

• Just to name some…– GameBrains– John Galt Games Malaysia (previously Pho

enix Games Studio)– Sherman3D– Unrealmind Interactive– Hatchlings Games– And, for a comprehensive listing…

Page 7: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Fung Wan (Storm Riders) Online

Page 8: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

What people say– “A lot of the local talent in Malaysia have been leaving the

country for opportunities in other countries. We would like to reverse the brain drain” - Trey Ratcliff, CEO of JGG Malaysia

– “Programmers…They don’t know anything about data structures, algorithms. It is ridiculous…anybody can come in here and say I know MAYA. I can care less. I know MAX. I can care less. What I want to know is to describe to me the muscles of the upper torso. Tell me how they affect lighting and tell me how they affect motion. Show me that you know color theory. Tell me about full view vision.” - Brett Bibby, CEO of Gamebrains

Page 9: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Once upon a time…

Spacewar! on a DEC PDP-1

Page 10: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

PDP what?

PDP-1 PDP-8 PDP-11

Page 11: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Evolution of consoles

Page 12: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

PONG (1972)

ATARI / Nolan Bushnell#1: Commercially successful

Page 13: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Golden Age of Video Arcade Games

Space Invaders (1978)#1: Shoot ‘em up

Atari Football (1978)#1: Sport game

Moon Patrol (1982)#1: Parallax scrolling

Page 14: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Pac-Man (1980)

Toru Iwatani (Namco)#1: Maze game, Popular character/mascot

Page 15: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Donkey Kong (1981)

Shigeru Miyamoto (Nintendo)#1: Platform game

Page 16: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Vector Graphics– A new technical innovation in early 1980s– Raster graphic: Pixels– Vector graphic: Drawing

paths/information

4 4

Page 17: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Battlezone (1980)

Ed Rotberg (Atari)#1: 3D graphics, first-person perspective

Page 18: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Pole Position (1982)

Namco#1: Racing game, Pseudo-3D

Page 19: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Star Wars (1983)

Mike Hally (Atari)#1: First person space shooter, Movie tie-in game

Page 20: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Snipes (1983)

Drew Major (SuperSet)#1: Networked computer game

Page 21: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

King’s Quest (1984)

Roberta Williams (Sierra On-Line)#1: Adventure game (3rd person perspective)

Page 22: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Early online gaming (early ’80s)

– BBSes and MUDs (early 1980s)– These will later evolved into what is known today

as MMORPG

Page 23: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

1985: Mario has landed– Nintendo Entertainment System– Bundled with Super Mario Bros. (the best-

selling video of all time, 40 million copies)

Page 24: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

1985-89: The Japs have landed

• Nintendo’s “series” games– Dragon Quest (1986)– The Legend of Zelda (1986)– Final Fantasy (1987)– Metal Gear (1987)

• Revolutionary gamepad design (D-pad)

Page 25: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Nintendo’s Golden EraDragon

Quest

The Legend

of Zelda

Final Fantasy

Metal Gear

Page 26: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

The 1990s• 16-bit/32-bit era• Rise of 3D graphics• Multimedia capabilities – sound cards,

larger storage space (CD-ROM), 3D graphic accelerators

• Decline of arcades• Rise of handhelds• The consoles fight back

Page 27: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Street Fighter 2 (1991)

CapcomOne of the last popular one-on-one fighting games

Page 28: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

The rise of handhelds (1989)

Nintendo Game Boy, bundled with Tetris, one of the top-selling games of all time (33 million

copies)

Page 29: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

SimCity (1989)

Will Wright (Maxis)#1: Simulation, city/community-building personal

game

Page 30: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Wolfenstein 3D (1992)

Pseudo-3D, Apogee#1: Popularized first-person shooter (FPS)

genre on the PC

Page 31: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Dune II (1992)

Westwood Studios#1: Real-time strategy (RTS) with fluid interaction with units, basic foundation for future RTS greats

Page 32: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Alone In The Dark (1992)

Infogrames#1: 3D survival horror

Page 33: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Doom (1993)

John Romero (id Software)#1: First-person shooter (FPS) with immersive 3D graphics, networked multiplayer gamin, custom

expansions

Page 34: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Quake (1996)

John Romero, John Carmack (id Software)#1: Real 3D First-person shooter (FPS) over the

Internet, optimized real-time rendering

Page 35: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

The consoles fight back!

Atari Jaguar (1993), Sony PlayStation (1994), Sega Saturn (1995), Nintendo 64 (1996)

Page 36: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

The consoles fight back!

Atari Jaguar (1993), Sony PlayStation (1994), Sega Saturn (1995), Nintendo 64 (1996)

Page 37: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

The 6th Generation: 1998-2004• 128-bit era• Increased performance: processor

power, memory size, graphic processor

• Console gaming explosion• PlayStation 2 beats ‘em all!

Page 38: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

The Sims (2000)

Will Wright (Maxis)#1: Strategic life-simulation computer game, best-

selling PC game ever

Page 39: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

The Sims (2000)

Will Wright (Maxis)#1: Strategic life-simulation computer game, best-

selling PC game ever

Page 40: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Half-Life & Counterstrike (1998-2001)

DMA Design#1: Best-selling PC first-person shooter (FPS) game to date, most played, most competed

Page 41: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

PlayStation 2 (2000)

Sony#1: The best-selling console of all time – 120 million

units sold by 2007, allows various accessories

Page 42: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Xbox: Microsoft enters (2001)

Halo: Combat Evolved (Bungie Studios)#1: Kickstarts Microsoft’s involvement in the

console gaming market

Page 43: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Nokia’s game-phone (2003)

N-Gage (2003), N-Gage QD (2004), Some N-Gage capabilities are built into Nokia N-Series

smartphones (2006)

Page 44: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

The 7th Generation: 2005-today

• Personal gaming experience• More powerful handhelds• Making advancements into society• Console wars: Nintendo vs. Sony vs.

Microsoft• The talk of town: Nintendo Wii

Page 45: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Nintendo DS/DS Lite (2004)

Nintendo DS (2004), Nintendo DS Lite (2006)Dual-screen, built-in mic, wireless support

Page 46: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

PlayStation Portable (2004)

1st handheld console to use optical disc format, most powerful handheld to date (up to 64 MB memory, up to 333

Mhz CPU) Wireless and ad-hoc network support. Special editions

include digital TV tuner, camera, GPS, messenger and web browser

Page 47: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Xbox 360 (2005)

Supports DVD media, very large storage space (up to 120 GB), 512 MB memory

Best-selling game: Halo 3

Page 48: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

PlayStation 3 (Nov 2006)

Most “powerful” video game console to date, but at a price $$

Dedicated GPU (NVIDIA RSX), up to 7 SixAxis Controllers via Bluetooth, an array of console accessoriesBest-selling game: Resistance: Fall of Man

Page 49: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Nintendo Wii (Dec 2006)

Targets wider demographic of users, cheap and affordableWii Remote has built-in accelerometers and infrared

detectors to sense position in 3D space, traditional analog stick

Best-selling game: Wii Sports (pack-in)

Page 50: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Console Wars

Wii!Feb 2006 Jan 2008

Page 51: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

What makes a GOOD GAME ?

Originality

Graphics Sound & Interaction

Gameplay

Replayability

Continuous Challenge/

Reward

Page 52: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Game Programming !=

Game Design

Page 53: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Design

Developmentaka Programming, Artwork, Multimedia

Page 54: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Game Programming is NOT…• Playing games• Designing games without knowing

much about what else to do• Whether you’re a C++, Java, or Flash

pro, or you know a few hundred more• Profitable (at times)…I suppose…• About skipping meals and sleep time

Page 55: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Game Programming is…• Giving the computer millions of

instructions on what to do• Interdisciplinary. Math, physics,

algorithms, AI, camera views, optimization, economics (?)

• Going the extra mile• Challenging yourself• Keeping up with the state-of-art

Page 56: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Things every person in this course/major/group

should know

Page 57: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

The TGPs• TGP2261 – Game Programming I

– Basic game techniques and fundamentals– Tool: Flash

• TGP2271 – Game Programming II– 2D/3D core algorithms, more on AI – Tool: J2ME

• TGP2281 – Game Programming III– Implementation of techniques learnt– Tool: Microsoft DirectX API

• All 100% Coursework

Page 58: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Pre-requisite Tree

Computer Programming II

Games Programming I

Games Programming II

Games Programming III

Page 59: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

What we will not cover• How to create a bad game• How to draw • ALL techniques, algorithms that are out

there…• Actual hardcore console game

programming (probably in the future!)• How to sell your game• How to use your

Page 60: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Taboo questions/phrases• “Can you tell me what error message is

this?”• “How to score in this subject?”• “Why no final exam?…Then why learn so

much theory?”• “You guys don’t teach us much about

Flash.”• “Can I change major?”

Page 61: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Grading

• Hand-up Tutorials 10%• Short Assignments (2) 10%• Consultation 10%• Game Project 70%

• Bonus marks of up to 5% for participation and effort

Page 62: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Consultation 10%?• Your project group is required to attend

consultation to earn some marks• You are to pay your tutor 3 visits and your

lecturer 2 visits altogether. Only 1 visit per week!

• Please come during our consultation hours. Other than that, email for arrangements.

• You will be rewarded based on discussion of ideas, eagerness to learn and project progress

Page 63: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

If you aren’t clear…• Hand-up Tutorials

– Exercises that you may be required to hand-up after the tutorial session ends. Can happen anytime.

• Short Assignments– Longer extended exercises (may be extended

from tutorials or new tasks), in which you are given a few weeks to accomplish

Page 64: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Project• Team of 1-2• Design and develop a refurbished Flash

game remake from a retro, classic video game

• Stage-by-stage hand-upsI. Game Proposal Submission + PresentationII. Progress Report + DemoIII. Final Product Presentation & Demo

• Proposal must first be approved by the instructors (after Part I)

Page 65: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Instructors

John SeeBR 3005 / ext. 5478

Consultation: Mon 11-1, Fri 2-4Codes: C, C++Plays: PC & PS2

http://pesona.mmu.edu.my/~johnsee

Edwin LawBR 2024 / ext. 5477

Consultation: Mon 2-4, Thurs 2-4Codes: Java

Plays: Everything

Page 66: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Books we will useFlash MX 2004 Game Programming By Craig Murray, Justin Everett-Church (Premier Press)

Macromedia Flash MX Game Design Demystified: The Official Guide to Creating Games with FlashBy Jobe Makar (Peachpit Press)

Macromedia Flash MX 2004 ActionScript: Training from SourceBy Derek Franklin, Jobe Makar (Peachpit Press)

And, anything else that comes by in the Internet

Page 67: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Communities• GameDev.net• GamaSutra• DevMaster.net• Game Developers Conference (GDC) (every

game developer’s dream)• International Game Developers Association

(IGDA)– There’s an IGDA Malaysia Chapter! –

http://www.igda.org.my

• Our every own MMU Game Developers Club

Page 68: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Game Programming Links• GameDev.net Programming

Tutorials/Articles• Amit’s Game Programming Information

Page• Game Programming Wiki (gpwiki)• Game AI Page• Many more…

Page 69: Game Programming 101 John See. Agenda Games: Why are you doing this?!? The game industry Once upon a time… What makes a Good Game What is Game Programming?

Game On?