650 likes | 797 Views
Game Dev Intro. Engineering Principles. Game Development & Special topics in Computer Science. Introduction to Engineering. Description Objective Meeting times Assessment Lab access Questions?. Introduction. This engineering course will consist of two tracts:
E N D
GameDev Intro Engineering Principles Game Development & Special topics in Computer Science
Introduction to Engineering • Description • Objective • Meeting times • Assessment • Lab access • Questions?
Introduction • This engineering course will consist of two tracts: • The Computer Science tract will emphasize software engineering principles, along with analysis and design. • The Civil Engineering tract will focus on the consideration of Seismic activity and how it relates to society.
Objective • You will learn what a computer game is and how it is made. • We will walked through an introduction of the C# language and XNA. • A simple game engine will emerge from the completion of numerous “short” programming assignments • Create a simple game, using both 2D and 3D rendering, user input, audio, physics, the works.
Meeting • Time: Tuesdays 8:00am - 11:50am • Location: NC 2409 • Instructor: Mack Gammeter • Email: mack@gammeter.com • Website: http://www.gammeter.com/SummerEngineering/
What to bring / Textbook • Please Bring: • Notebook • USB Flash drive • Textbook: Not Required • Laptop: Not Required, but Preferred • Handouts: • All lectures will be available online. • You are welcome to follow along online or print them out, if you happen to have an over developed animosity toward wooded life-forms…
Assessment • Assignments: Homework will be started in class, completed at home, and due in a week. • Exams: In-class mid term and final exams will be unified (i.e., just on for both) for Software and Civil Engineer • Grading: Students will be graded based on assignments, exams, a class project, and class participation, initiative. • Attendance: Mandatory. Missing class is way bad, bad, bad…
Computer Lab • Computer laboratory: • No smoking (really?), eating, drinking or cell phone • Be respectful with technology – during lectures, don’t be on You-Tube or twitter or your very first my space account. • Student account lab login: • Username: onedaytemp • Password: spApRap65!Ne
Some questions ? • Q: Will we be creating games in this course? • We will try. We will build the pieces for a game. • Whether we build a game has to do with your tenacity, enthusiasm, and effort. • Q: Is this course about creating games? • For the most part yes. We will also discuss about the game business, the socioeconomically impact of computer/video games and etc…. • This course is mainly about learning principles of engineering.
Games History http://www.youtube.com/watch?v=o6XkI_dUR70&feature=related http://www.youtube.com/watch?v=HcMm6TJoYL0
History • Spacewar 1962 • 2 Ships controlled by 4 buttons each: • Rotate left, right, thrust, fire • Adventure 1967 • Text-based adventure • “You are in a maze of twisty little passages”
History • Pong 1972 • First arcade hit • Home version of Pong 1974 • Fairchild Channel F 1976 • Cartridges! • Hardware “Crash” 1977 • Millions of Pong clones saturate the market
History • Space Invaders 1978 • Activision 1979 • First software house makes Atari 2600 Cartridges • Asteroids 1979 • Record score: 100,000,000 • Two guys played it for a week in 1982
Arcade Games 1980 • Defender • Missile Command • Battezone • Tempest • Popular with Men AND Women: • Pac-Man • Frogger • Centipede
Arcade Games 1981-83 • Donkey Kong • Q*Bert • Tron • Zaxxon • Joust • Pole Position • Punch-Out ITCS4010/5010-002
Home Games Late 70s Early 80s • Atari 2600 • 1.18MHz 6507, 128 bytes RAM, 4KB ROM • Atari 5200 (incompatible cartridge with 2600) • 1.8MHz 6502, 16KB RAM • Colecovision • Mattel Intellivision • Bally Astrocade
Mid 80s • 8-bit Home Games: • Nintendo Entertainment System (NES) • 1.8MHz 6502 256x240 pixels • Released 1986 • Most popular toy of 1988 • Mario Bros. • Sega Master System • Released 1986
Late 80s • 16-bit Home Games • Sega Genesis • 7.8MHz 68000 + 4MHz Z80, 1MB Rom, 64KB Ram • Released 1989 • NEC TurboGrafx-16 • 16MHz 65802 • Game Boy • Tetris
Early 90s • Super NES (16 bit), 1990 • 3.58Mhz 65C816, 128KB Ram • Game Gear • Software • Street Fighter 2 • First decent fighting game • Super Mario Bros. 3 • Sonic the Hedgehog • Mortal Kombat 1992
Mid 90s • Sega CD (1992) • PC CDROM (1994) • Software • NBA Jam (1993) • Earned $1 billion in arcades • First franchise • Virtua Fighter (1995)
Mid 90s • Playstation (1995) • Sega Saturn (1995) • Nintendo 64 (1996) • Networked Games • Ultima Online, Everquest, etc
Late 90s • Sega Dreamcast (1999) • Playstation2 (2000) • XBox (2001) • GameCube (2001)
Late 90s • Software • Very strong 3D! • Decent sports games • Soul Caliber, Shenmue … • PC Software • Graphics no longer 100% of the challenge • Consumer demand for 3D causes cheap 3D graphics! ITCS4010/5010-002
Present • Video Games • Cell phone games
Sony Playstation 3 • CPU: 3.2 GHz Cell Broadband Engine • Graphics: 550 MHz NVIDIA/SCEI RSX • Memory: 256 MB system 256 MB video • Storage capacity: up to 320 GB • Software: Custom graphics APIs
Microsoft XBox • CPU: 3.2 GHz PowerPC Tri-Core Xenon • Graphics: 500 MHz ATI Xenos • Memory: 512 MB of GDDR3 RAM • Audio: Analog stereo & Stereo LPCM • Software: Uses DirectX, Direct3D
Nintendo GameCube • CPU: 405 MHz Motorola PowerPC variant • Graphics: Custom (6-12 Mtris/sec) • Audio: 16 bit DSP (64 voices) • Memory: 24 megs main memory + 16 megs audio/misc. • Proprietary mini DVD drive • Software: Uses a variant of OpenGL
Nintendo GameBoy Advance • CPU: ARM7TDMI, 16.78 MHz • Graphics: Custom 2D core • Memory: 32 KB + 96 KB VRAM + 256 KB WRAM • Displays: 240 x 160 pixels, 32,768 colors
Other Platforms • Apple, Linux • Cell phones, PDAs, etc. • Sega Dreamcast • Sony PS1 • Nintendo 64 • Classic machines • Arcade • Location based entertainment (LBE) • Interactive theater
The Many Different Computer • Wide range of CPUs • Wide range of graphics cards • Wide range of audio cards • Wide range of memory • Wide range of devices • Wide range of operating systems • DirectX, OpenGL • Installed base: 100’s of millions
Computer Scientists/Engineers • People develop these devices
Tools • Software/devices used to create computer games
Code Development Tools • Compilers • Debugger • Profiler • Editor • Revision control (CVS, SourceSafe) • Integrated development environment (IDE) • Programming languages: C++, C#, Assembly • Graphics languages: pixel & vertex shaders… • Design analysis tools • Documentation, standards
Middleware • Getting more and more popular and trusted • Rendering: RenderWare, NDL, Intrinsic • Physics: Havok, MathEngine • Engines: Quake, Unreal…
Art Production Tools • 3D Modeling & Animation (Maya, 3D Studio) • Exporting • Asset management (AlienBrain) • Paint (2D & 3D) (Photoshop, DeepPaint) • Scanning (2D, 3D) • Motion capture • In-game tools
Audio Tools • Recording (Sonic Foundry) • Composing (ProTools) • Sound effects (Reason) • In-game tools
Game Design Tools • In-game tools • Level layout • Prototyping tools (Director) • Design tools
What is a Game? (1 of 3) • Movie? (why not?) • no interaction • outcome fixed • Toy? (has interaction … why not?) • no goal, but still fun • players can develop own goals Chapter 2.2, Introduction to Game Development
What is a Game (2 of 3) • A Computer Game is a Software Program • Not a board game or sports • Consider: chess vs. soccer vs. Warcraft • Ask: What do you lose? What do you gain? • Lose: 1) physical pieces, 2) social interaction • Gain: 1) real-time, 2) more immersive, 3) more complexity • A Computer Game involves Players Based on Tutorial: What is a Good Game?, by Mark Overmars
What is a Game (3 of 3) • Playing a Game is About Making Decisions • What weapon to use, what resource to build • Playing a Game is About Control • Player wants to impact outcome • A Game Needs a Goal • Without game goals, a player develops his/her own (a toy) Based on Tutorial: What is a Good Game?, by Mark Overmars
What a Game is Not • A bunch of cool features • Necessary, but not sufficient • A lot of fancy graphics • Game must work without fancy graphics • A series of puzzles • All games have them • An intriguing story • Good story encourages immersion • But will mean nothing without gameplay Based on Chapter 2, Game Architecture and Design, by Rollings and Morris
Game Life Cycle • Concept / Experiment / Demo • Prototype • Pre-Production • Production • Testing, Tuning, Debugging • Porting & Localization
Concept, Experiment, Demo • Initial idea used to help ‘sell’ the game and get things started • Might be a 5 page document, or could be a simple interactive demo written in a couple days, or could just be a couple sketches…
Prototype • Initial ‘proof of concept’ • Make a demo that shows key concept or concepts • A few people for a few weeks • Might be thrown away