The Evolution of Video Game Programming By: Jerad Waas.

50
The Evolution of Video Game Programming By: Jerad Waas

Transcript of The Evolution of Video Game Programming By: Jerad Waas.

Page 1: The Evolution of Video Game Programming By: Jerad Waas.

The Evolution of Video Game Programming

By: Jerad Waas

Page 2: The Evolution of Video Game Programming By: Jerad Waas.

An Overview Video Game History Programming Disciplines The Game Development Process The Present and the Future of Gaming

Page 3: The Evolution of Video Game Programming By: Jerad Waas.

Video Game History The Origins The 1960s The 1970s The 1980s The 1990s The 2000s

Page 4: The Evolution of Video Game Programming By: Jerad Waas.

History - The Origins Disputed origins 1950s, 1960s, 1970s

William Higinbotham 1958 Entertain guests at Brookhaven Ntl Lab

Oscilloscope & Simple Computer

Tennis For Two

Page 5: The Evolution of Video Game Programming By: Jerad Waas.

History - The 1960s Tech Model Railroad Club - MIT

Developed Spacewar! On a PDP-1 9KB Firsts for industry: Game to be shared over a network

Widely available $120,000

Page 6: The Evolution of Video Game Programming By: Jerad Waas.

History - The 1960s - PDP-1

Paper tape PDP-1 replica

Page 7: The Evolution of Video Game Programming By: Jerad Waas.

History - The 1960s Ralph Baer

Developed a couple of games:

Tag Volleyball Ping Pong

Together with Bill Harrison

Created the Light Gun

Page 8: The Evolution of Video Game Programming By: Jerad Waas.

History - The 1960s - Light Gun How does it work?

Photodiode Senses light on screen

Screen blacks out Diode begins reception

Portion of the screen is painted white - typically the target you are aiming for

If diode senses black then white - hit!

Page 9: The Evolution of Video Game Programming By: Jerad Waas.

History - The 1970s 1972 - The first wave of Magnavox Odysseys were sold ~ $100

Quickly sold 100,000

Sales quickly diminished after

Page 10: The Evolution of Video Game Programming By: Jerad Waas.

History - The 1970s Nolan Bushnell & Ted Dabney Turn Spacewar! Into a coin-op arcade machine

1971 - They found a manufacturer in

Nutting Associates Coin-op manufacturer

1,500 machines To complex!

Page 11: The Evolution of Video Game Programming By: Jerad Waas.

History - The 1970s Bushnell & Dabney

Leave Nutting Start up a new company

Atari Simple tennis game

Pong ~ $1,200

1972 - First units on sale ~ 8,500 units in first year

~ 19,000 total

Page 12: The Evolution of Video Game Programming By: Jerad Waas.

History - The 1970s Atari reluctantly decides to test the home market Magnavox Odyssey

Atari sells the idea to Sears $100 version of Pong Sears’ biggest selling item

Home version of Pong Atari “on the map” Household name

Page 13: The Evolution of Video Game Programming By: Jerad Waas.

History - The 1970s 1972

Steve Jobs joins Atari

Technician Exposes Steve Wozniak to Atari and Pong

They later form Apple in 1976

Page 14: The Evolution of Video Game Programming By: Jerad Waas.

History - The 1970s 1975

Midway Gun Fight Two firsts in the industry:

First video game to utilize a microprocessor

Intel 8080 Random events

First video game to be imported from Japan

Page 15: The Evolution of Video Game Programming By: Jerad Waas.

History - The 1970s 1976

Apple founded Steve Wozniak

Created Breakout Two firsts for the industry:

Software was used to run a video game

Breakout was programmed in a computer language

Previously, machine code

Page 16: The Evolution of Video Game Programming By: Jerad Waas.

History - The 1970s Namco

1974 Bought the Japanese division of Atari

1979 Developed the first color video game

Galaxian Instant success

Page 17: The Evolution of Video Game Programming By: Jerad Waas.

History - The 1980s Pac-Man

Shows the industry two things:

Innovation is important

Merchandising! Cereals TV-Shows T-Shirts…etc

Page 18: The Evolution of Video Game Programming By: Jerad Waas.

History - 1980s 1985

Nintendo Entertainment System

Bundled with Super Mario Brothers

Dominated the North American market

D-pad now became standard

Page 19: The Evolution of Video Game Programming By: Jerad Waas.

History - The 1990s Shareware becomes popular because of: Doom Wolfenstein 3D Demo

First portion of the game

Good way to show off their game

Many companies mimicked id Software

Page 20: The Evolution of Video Game Programming By: Jerad Waas.

History - The 1990s 1996

3dfx releases the Voodoo chipset

Quake was among the first to utilize standalone graphics cards

Devoted 3D rendering cards

Allowed CPU to handle other computations

Page 21: The Evolution of Video Game Programming By: Jerad Waas.

History - The 1990s 3D era

32 bit era brings 2 major consoles to consumers

Sega Saturn Sony Playstation

After many delays… Nintendo 64 64 bit system Revolutionary system

Page 22: The Evolution of Video Game Programming By: Jerad Waas.

History - The 1990s Nintendo 64

1.5 million units sold in three months

Many critically acclaimed games

Super Mario 64 Goldeneye 007 The Legend of Zelda: The Ocarina of Time

Page 23: The Evolution of Video Game Programming By: Jerad Waas.

History - The 2000s Current Generation

Microsoft XBOX

Nintendo Gamecube

Sony Playstation 2

DVD capability PS2 & XBOX

Backwards compatibility

PS2

Page 24: The Evolution of Video Game Programming By: Jerad Waas.

Disciplines Game Physics Programmer AI Programmer Graphics Programmer Sound Programmer UI Programmer Input Programmer Network Programmer Game Tools Programmer Porting Programmer Lead Game Programmer

Page 25: The Evolution of Video Game Programming By: Jerad Waas.

Disciplines - Physics Developing the physics in the game

Processor cycles are at a premium Efficiency is key

FPS games typically demand large teams of physics programmers

Page 26: The Evolution of Video Game Programming By: Jerad Waas.

Disciplines - AI Develops the logic that the game uses Has developed into a specialized area as of late

Pathfinding, strategy, and enemy tactics

According to Game Developer Magazine - 60% of time

Real time strategy and first person shooters

Page 27: The Evolution of Video Game Programming By: Jerad Waas.

Disciplines - Graphics Programmers who specialize in developing and modifying complex 3D graphics

2D graphics abilities are still useful though Cell Phones PDAs

Scarce in industry Demand high salaries

Page 28: The Evolution of Video Game Programming By: Jerad Waas.

Disciplines - Sound Full musical scores - been around 3D positional sound - recent

First person shooters

Programmers try to include the newest technologies

Games with large soundtracks or advanced audio, demand teams of sound programmers

Page 29: The Evolution of Video Game Programming By: Jerad Waas.

Disciplines - User Interface Very important!

Must be intuitive, useful-feature, clean, and easy to use

Most user interfaces are 2D Some interfaces are developed with the same 3D technology as the rest of the game

Advanced interfaces allow custom scripting

Page 30: The Evolution of Video Game Programming By: Jerad Waas.

Disciplines - User Interface LUA XML World of Warcraft

n!

Page 31: The Evolution of Video Game Programming By: Jerad Waas.

Disciplines - Input Writes code that determines how the player will use the input devices Controller Joystick Keyboard & Mouse

Wii controller Motion sensing technology

Page 32: The Evolution of Video Game Programming By: Jerad Waas.

Disciplines - Input Programmers must recognize and adhere to controller standards WASD A (X) - accept // next B (triangle) - back // cancel

If standards are not followed, gamers will be confused

Page 33: The Evolution of Video Game Programming By: Jerad Waas.

Disciplines - Network Writes the code that

allows players to play the game on a LAN and or on the internet

Very important in Massively Multiplayer Online (MMO)

Latency control is especially important

Programmers cannot assume all consumers have broadband

Must be efficient Might be dial-up gamers

Page 34: The Evolution of Video Game Programming By: Jerad Waas.

Disciplines - Game Tools Write code to handle tasks like scripting, converting art, batches, modifying the game and levels

Half-Life 2 Source SDK

Create levels (Hammer)

Facial animations

Page 35: The Evolution of Video Game Programming By: Jerad Waas.

Disciplines - Porting Porting is very important, especially for companies like EA Games available on almost every platform

May involve the tools programmer to help convert content

Some code may have to be re-written to utilize different hardware

Page 36: The Evolution of Video Game Programming By: Jerad Waas.

Disciplines - Lead Keeps the programmers focused, and on track

Quite often a middle man between the client and programmers

Should have a general base knowledge of all aspects of the game Sound Graphics Networking Etc.

Page 37: The Evolution of Video Game Programming By: Jerad Waas.

The Game Development Process Prototyping Game Design Language API & Libraries Production Crunch Time Maintenance

Page 38: The Evolution of Video Game Programming By: Jerad Waas.

Process - Prototyping Very similar to normal applications

Test ideas and algorithms Give the customer and early glimpse

Early screenshots Good way to gain early popularity

Page 39: The Evolution of Video Game Programming By: Jerad Waas.

Process - Language What language to use? Many dependencies

Staff Platform Language of the game engine

Most popular C++

Page 40: The Evolution of Video Game Programming By: Jerad Waas.

Process - API & Libraries Which API & Libraries to use?

Tons of libraries out there Sound processing Input Graphics rendering Pathfinding

Also depends on target platform Libraries for PS2 may not be available for XBOX360

Graphics API? DirectX OpenGL

Page 41: The Evolution of Video Game Programming By: Jerad Waas.

Process - API & Libraries A collection of APIs

Direct3D The 3D graphics API

Not portable Designed specifically

for Microsoft products Pocket PC XBOX Windows

Revised more frequently then OpenGL

Utilizes the latest features of 3D graphics cards

Page 42: The Evolution of Video Game Programming By: Jerad Waas.

Process - API & Libraries Portable 3D API

Easily ported to and from

Windows <-> MacOS <-> Linux

Revised infrequently

Page 43: The Evolution of Video Game Programming By: Jerad Waas.

Process - Production Bulk of the time Code…code…code Design documents are constantly changing

Lead regularly reports status to supervisor

Develop game tools

Page 44: The Evolution of Video Game Programming By: Jerad Waas.

Process - Crunch Time Towards the end of the production phase

Productivity is not proportional to extra hours 2x hours != 2x productivity

Adding extra staff may not increase productivity

Quality decreases as time increases

Page 45: The Evolution of Video Game Programming By: Jerad Waas.

Process - Maintenance Console

Pre-current generation - next to impossible Hard drives and online- now possible

Patches and new content PC

Numerous hardware / software combinations Patches are inevitable

MMO Genre Extensive maintenance phase New content is always required

Page 46: The Evolution of Video Game Programming By: Jerad Waas.

The Present and the Future of Gaming Multithreaded Gaming HD Gaming Next Generation

Page 47: The Evolution of Video Game Programming By: Jerad Waas.

Present & Future - Threading Split up processes Games w/ multiple threads

Run more efficiently on HT or multicore processesors

XBOX 360 and PS3 Multiple processors

Page 48: The Evolution of Video Game Programming By: Jerad Waas.

Present & Future - HD Popularity of HDTV

Red - Green - Blue Instead of Yellow

HD offers: Improved textures Improved character models

Higher pixel count

Page 49: The Evolution of Video Game Programming By: Jerad Waas.

Present & Future - “Next Gen” Microsoft

XBOX 360 HD-DVD

Nintendo Wii November Motion sensing technology

Sony Playstation 3 November Blu-ray

Page 50: The Evolution of Video Game Programming By: Jerad Waas.

References Computer and Video Games

http://en.wikipedia.org/wiki/Computer_and_video_games Game Programming

http://en.wikipedia.org/wiki/Game_programming History of Computer and Video Games

http://en.wikipedia.org/wiki/History_of_computer_and_video_games

Game Programmer http://en.wikipedia.org/wiki/Game_programmer

History of Video Game Programming http://everything2.com/index.pl?node_id=1185238

How does the light gun for a video game work? http://www.howstuffworks.com/question273.htm

History of the video game industry http://www.pong-story.com/intro.htm