100 likes | 232 Views
How to Be a Game Developer. David Weller Technical Evangelist .NET Developer Division Microsoft. I Want to Write Quake4!!. The bad news you need to know: Writing a Game is hard Writing a Great Game is really, really hard (and takes a LOT of money these days)
E N D
How to Be a Game Developer David Weller Technical Evangelist .NET Developer Division Microsoft
I Want to Write Quake4!! • The bad news you need to know: • Writing a Game is hard • Writing a Great Game is really, really hard (and takes a LOT of money these days) • Game Programmers make LESS money than business programmers • And there’s fewer openings (1 game programming job per every 1000 “real” programming jobs) • The good news • Writing Games is fun and rewarding (usually) • You job will always be “cooler” than other jobs
Gaming Jobs • Game Programming involves a LOT of things: Scene Rendering, Network code, AI, Real-time control, etc. • But there’s more to it than programming… • Audio specialists (Music, Effects, Voices, etc.) • Designer (Game layout, storyboarding, concept art) • Graphics Art • Business issues (Marketing, Sales, etc) • Producing (the big “Honcho”)
What you need to know to be a Good Game Programmer • Math • 2D and 3D Graphics Techniques • Math • Physics • Math • Computer Science stuff (data structures, networking, languages, patterns, etc.) • Math
Programming Languages • C++ • The “Big Kahuna” of Game Programming Languages • VERY difficult to master, not a good starting point • Java • Commonly used for “applet” Games • Not useful for large-scale games • Visual Basic • Easy beginners language • Unpopular in the Gaming Community • C# • Great starting point for Game Programming • Easy to shift to C++ when you need to
Microsoft Game Technologies • .NET and GDI+: High-speed 2D graphics • .NET and the DirectX Family • Direct3D • DirectInput (Including force-feedback joysticks) • DirectAudio (included DirectSound and DirectMusic) • DirectShow (video playback) • DirectPlay (mutiplayer networking)
How Do I Start? • International Game Developers Association (www.igda.org) is a great resource! • Learn to “walk” before you try to “run” • Look at how games are implemented • Think about what makes a game fun • Read about new ideas, Write Code that implements it, Play it. Repeat forever
Starting Points • Tetris! • Collision detection and User Interaction basics • Breakout, Artillery, Asteroids, Tank Wars • Game physics • Pac-Man • Multiple, simple AIs • Mario-brothers-style side-scrollers • Moving entities, gamefield, player, etc. • Terrarium • Competitive AI • Remember: 3D is like 2D with another dimension!
Web Resources International Game Developers Assoc. www.igda.org IGDA For Students http://www.igda.org/breakingin/home.htm GamaSutra www.gamasutra.com Game Developer www.gamedev.net Mainfunction.com .NET Game of the Month http://students.mainfunction.com/Apply/GameOfTheMonth/
Recommended Books • Beginners • .NET Game Programming with DirectX 9.0 • Intermediate • Physics for Game Developers • Mathematics for Computer Graphics Applications • Advanced • 3D Game Engine Design • Microsoft DirectX 9 Programmable Graphics Pipeline