SlideShare a Scribd company logo
So you want to be a game programmer?

Karl Schmidt
karl@karlschmidt.net
Video of presentation:
http://www.youtube.com/watch?
v=0kN5XIihh1Q

                  Canadian Games Conference 2011
Who am I?
• Modding
• Education
• Career




              Canadian Games Conference 2011
Obvious Stuff
• C/C++
• Somewhat obvious:
• Lua, Python, C#, etc
• Opinion: Degree or college almost always best
choice
• So important: Co-op and internships

                Canadian Games Conference 2011
Not as Obvious
• SCM
• Perforce, SVN, CVS, GIT
• Offline asset pipelines
• AGILE (SCRUM, XP, etc)
• Learning
• Amazing amounts of resources

               Canadian Games Conference 2011
Not Obvious (cont)
• Specializations
• Industry changes/diversity
• Mobile, Facebook, Flash, XNA, Windows 7 Mobile, etc
• Programming specific: Many-core, memory latency problem
• Career management
• Socializing


                    Canadian Games Conference 2011
Skills
• Time estimation
• Problem-solving
• Bug-fixing/Debugging
• Code reviews
• Working with other disciplines
• Low-level, usability

                Canadian Games Conference 2011
Resources
• Mods
• Open-source engines
• ‘Free’ engines (Unity, UDK, etc)
• Platforms (iPhone, Android, GP2X, PS2, etc)
• Books
• Twitter

                Canadian Games Conference 2011
Resources (cont)
• Developer Slides
• Blogs (so you want to be a graphics programmer? AltDevBlogADay)
• Developers directly
• Free tools (Visual Studio, gcc, etc)
• Demoscene

Big list of resources: karlschmidt.net/CGC2011
                            Canadian Games Conference 2011
Vancouver
• All sorts of companies:
www.techvibes.com/blog/biggest-video-game-
companies-in-bc-2011-edition-2011-01-14
• Other social game companies such as DES Games,
and more hidden away


               Canadian Games Conference 2011
So you want to be a game programmer?

Any questions?

Karl Schmidt
karl@karlschmidt.net
twitter.com/IonPulse
             Canadian Games Conference 2011

More Related Content

Similar to So You Want To Be A Game Programmer - CGC2011 Panel Presentation by Karl Schmidt

Niko Sévoz – Game designer
Niko Sévoz – Game designerNiko Sévoz – Game designer
Niko Sévoz – Game designer
Niko S
 

Similar to So You Want To Be A Game Programmer - CGC2011 Panel Presentation by Karl Schmidt (20)

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
 
Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...
Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...
Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...
 
What's new in Blend for Visual Studio 2015
What's new in Blend for Visual Studio 2015What's new in Blend for Visual Studio 2015
What's new in Blend for Visual Studio 2015
 
Delta Engine @ CeBit 2011
Delta Engine @ CeBit 2011Delta Engine @ CeBit 2011
Delta Engine @ CeBit 2011
 
iPhone OS: The Next Killer Platform
iPhone OS: The Next Killer PlatformiPhone OS: The Next Killer Platform
iPhone OS: The Next Killer Platform
 
Current state of mobile development february 2013
Current state of mobile development february 2013Current state of mobile development february 2013
Current state of mobile development february 2013
 
Metodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en GamingMetodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en Gaming
 
Cross-Platform Juggling
Cross-Platform JugglingCross-Platform Juggling
Cross-Platform Juggling
 
CV_NguyenHoaiNam_201510
CV_NguyenHoaiNam_201510CV_NguyenHoaiNam_201510
CV_NguyenHoaiNam_201510
 
Native vs web apps
Native vs web appsNative vs web apps
Native vs web apps
 
WIPJam Cross Platform Tools - Dec 2013
WIPJam   Cross Platform Tools - Dec 2013WIPJam   Cross Platform Tools - Dec 2013
WIPJam Cross Platform Tools - Dec 2013
 
Creating Casual Games for Windows 8
Creating Casual Games for Windows 8Creating Casual Games for Windows 8
Creating Casual Games for Windows 8
 
Introduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIntroduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual Studio
 
Niko Sévoz – Game designer
Niko Sévoz – Game designerNiko Sévoz – Game designer
Niko Sévoz – Game designer
 
Respawn 2015: Chimera Entertainment - A decade of game development
Respawn 2015: Chimera Entertainment - A decade of game developmentRespawn 2015: Chimera Entertainment - A decade of game development
Respawn 2015: Chimera Entertainment - A decade of game development
 
Universal Apps for Windows
Universal Apps for WindowsUniversal Apps for Windows
Universal Apps for Windows
 
Platform Selection
Platform SelectionPlatform Selection
Platform Selection
 
ADL TIP Project June 2011
ADL TIP Project June 2011ADL TIP Project June 2011
ADL TIP Project June 2011
 
MyAppConverter DroidconUK 2014
MyAppConverter DroidconUK 2014MyAppConverter DroidconUK 2014
MyAppConverter DroidconUK 2014
 
Cincom Smalltalk Update
Cincom Smalltalk UpdateCincom Smalltalk Update
Cincom Smalltalk Update
 

Recently uploaded

Transferable Skills - Your Roadmap - Part 1 and 2 - Dirk Spencer Senior Recru...
Transferable Skills - Your Roadmap - Part 1 and 2 - Dirk Spencer Senior Recru...Transferable Skills - Your Roadmap - Part 1 and 2 - Dirk Spencer Senior Recru...
Transferable Skills - Your Roadmap - Part 1 and 2 - Dirk Spencer Senior Recru...
Dirk Spencer Corporate Recruiter LION
 
Dr. Nazrul Islam, Northern University Bangladesh - CV (29.5.2024).pdf
Dr. Nazrul Islam, Northern University Bangladesh - CV (29.5.2024).pdfDr. Nazrul Islam, Northern University Bangladesh - CV (29.5.2024).pdf
Dr. Nazrul Islam, Northern University Bangladesh - CV (29.5.2024).pdf
Dr. Nazrul Islam
 

Recently uploaded (20)

0524.THOMASGIRARD_SINGLEPAGERESUME-01.pdf
0524.THOMASGIRARD_SINGLEPAGERESUME-01.pdf0524.THOMASGIRARD_SINGLEPAGERESUME-01.pdf
0524.THOMASGIRARD_SINGLEPAGERESUME-01.pdf
 
太阳城娱乐-太阳城娱乐推荐-太阳城娱乐官方网站| 立即访问【ac123.net】
太阳城娱乐-太阳城娱乐推荐-太阳城娱乐官方网站| 立即访问【ac123.net】太阳城娱乐-太阳城娱乐推荐-太阳城娱乐官方网站| 立即访问【ac123.net】
太阳城娱乐-太阳城娱乐推荐-太阳城娱乐官方网站| 立即访问【ac123.net】
 
D.El.Ed. College List -Session 2024-26.pdf
D.El.Ed. College List -Session 2024-26.pdfD.El.Ed. College List -Session 2024-26.pdf
D.El.Ed. College List -Session 2024-26.pdf
 
132. Acta Scientific Pharmaceutical Sciences
132. Acta Scientific Pharmaceutical Sciences132. Acta Scientific Pharmaceutical Sciences
132. Acta Scientific Pharmaceutical Sciences
 
Luke Royak's Personal Brand Exploration!
Luke Royak's Personal Brand Exploration!Luke Royak's Personal Brand Exploration!
Luke Royak's Personal Brand Exploration!
 
Transferable Skills - Your Roadmap - Part 1 and 2 - Dirk Spencer Senior Recru...
Transferable Skills - Your Roadmap - Part 1 and 2 - Dirk Spencer Senior Recru...Transferable Skills - Your Roadmap - Part 1 and 2 - Dirk Spencer Senior Recru...
Transferable Skills - Your Roadmap - Part 1 and 2 - Dirk Spencer Senior Recru...
 
Day care leadership document it helps to a person who needs caring children
Day care leadership document it helps to a person who needs caring childrenDay care leadership document it helps to a person who needs caring children
Day care leadership document it helps to a person who needs caring children
 
135. Reviewer Certificate in Journal of Engineering
135. Reviewer Certificate in Journal of Engineering135. Reviewer Certificate in Journal of Engineering
135. Reviewer Certificate in Journal of Engineering
 
Widal Agglutination Test: A rapid serological diagnosis of typhoid fever
Widal Agglutination Test: A rapid serological diagnosis of typhoid feverWidal Agglutination Test: A rapid serological diagnosis of typhoid fever
Widal Agglutination Test: A rapid serological diagnosis of typhoid fever
 
欧洲杯买球平台-欧洲杯买球平台推荐-欧洲杯买球平台| 立即访问【ac123.net】
欧洲杯买球平台-欧洲杯买球平台推荐-欧洲杯买球平台| 立即访问【ac123.net】欧洲杯买球平台-欧洲杯买球平台推荐-欧洲杯买球平台| 立即访问【ac123.net】
欧洲杯买球平台-欧洲杯买球平台推荐-欧洲杯买球平台| 立即访问【ac123.net】
 
DIGITAL MARKETING COURSE IN CHENNAI.pptx
DIGITAL MARKETING COURSE IN CHENNAI.pptxDIGITAL MARKETING COURSE IN CHENNAI.pptx
DIGITAL MARKETING COURSE IN CHENNAI.pptx
 
Heidi Livengood Resume Senior Technical Recruiter / HR Generalist
Heidi Livengood Resume Senior Technical Recruiter / HR GeneralistHeidi Livengood Resume Senior Technical Recruiter / HR Generalist
Heidi Livengood Resume Senior Technical Recruiter / HR Generalist
 
欧洲杯投注app-欧洲杯投注app推荐-欧洲杯投注app| 立即访问【ac123.net】
欧洲杯投注app-欧洲杯投注app推荐-欧洲杯投注app| 立即访问【ac123.net】欧洲杯投注app-欧洲杯投注app推荐-欧洲杯投注app| 立即访问【ac123.net】
欧洲杯投注app-欧洲杯投注app推荐-欧洲杯投注app| 立即访问【ac123.net】
 
Biography and career history of Chad Henson.pdf
Biography and career history of Chad Henson.pdfBiography and career history of Chad Henson.pdf
Biography and career history of Chad Henson.pdf
 
0524.THOMASGIRARD_CURRICULUMVITAE-01.pdf
0524.THOMASGIRARD_CURRICULUMVITAE-01.pdf0524.THOMASGIRARD_CURRICULUMVITAE-01.pdf
0524.THOMASGIRARD_CURRICULUMVITAE-01.pdf
 
0524.priorspeakingengagementslist-01.pdf
0524.priorspeakingengagementslist-01.pdf0524.priorspeakingengagementslist-01.pdf
0524.priorspeakingengagementslist-01.pdf
 
Operating system. short answes and Interview questions .pdf
Operating system. short answes and Interview questions .pdfOperating system. short answes and Interview questions .pdf
Operating system. short answes and Interview questions .pdf
 
Dr. Nazrul Islam, Northern University Bangladesh - CV (29.5.2024).pdf
Dr. Nazrul Islam, Northern University Bangladesh - CV (29.5.2024).pdfDr. Nazrul Islam, Northern University Bangladesh - CV (29.5.2024).pdf
Dr. Nazrul Islam, Northern University Bangladesh - CV (29.5.2024).pdf
 
134. Reviewer Certificate in Computer Science
134. Reviewer Certificate in Computer Science134. Reviewer Certificate in Computer Science
134. Reviewer Certificate in Computer Science
 
129. Reviewer Certificate in BioNature [2024]
129. Reviewer Certificate in BioNature [2024]129. Reviewer Certificate in BioNature [2024]
129. Reviewer Certificate in BioNature [2024]
 

So You Want To Be A Game Programmer - CGC2011 Panel Presentation by Karl Schmidt

  • 1. So you want to be a game programmer? Karl Schmidt karl@karlschmidt.net Video of presentation: http://www.youtube.com/watch? v=0kN5XIihh1Q Canadian Games Conference 2011
  • 2. Who am I? • Modding • Education • Career Canadian Games Conference 2011
  • 3. Obvious Stuff • C/C++ • Somewhat obvious: • Lua, Python, C#, etc • Opinion: Degree or college almost always best choice • So important: Co-op and internships Canadian Games Conference 2011
  • 4. Not as Obvious • SCM • Perforce, SVN, CVS, GIT • Offline asset pipelines • AGILE (SCRUM, XP, etc) • Learning • Amazing amounts of resources Canadian Games Conference 2011
  • 5. Not Obvious (cont) • Specializations • Industry changes/diversity • Mobile, Facebook, Flash, XNA, Windows 7 Mobile, etc • Programming specific: Many-core, memory latency problem • Career management • Socializing Canadian Games Conference 2011
  • 6. Skills • Time estimation • Problem-solving • Bug-fixing/Debugging • Code reviews • Working with other disciplines • Low-level, usability Canadian Games Conference 2011
  • 7. Resources • Mods • Open-source engines • ‘Free’ engines (Unity, UDK, etc) • Platforms (iPhone, Android, GP2X, PS2, etc) • Books • Twitter Canadian Games Conference 2011
  • 8. Resources (cont) • Developer Slides • Blogs (so you want to be a graphics programmer? AltDevBlogADay) • Developers directly • Free tools (Visual Studio, gcc, etc) • Demoscene Big list of resources: karlschmidt.net/CGC2011 Canadian Games Conference 2011
  • 9. Vancouver • All sorts of companies: www.techvibes.com/blog/biggest-video-game- companies-in-bc-2011-edition-2011-01-14 • Other social game companies such as DES Games, and more hidden away Canadian Games Conference 2011
  • 10. So you want to be a game programmer? Any questions? Karl Schmidt karl@karlschmidt.net twitter.com/IonPulse Canadian Games Conference 2011

Editor's Notes

  1. Quake 2 mini-mods, learned toolset, did a total conversion Quake 3 wrote coding tutorials BSc at SFU Lots of game projects for courses Programmer at Relic, first interned in 2006 Worked on Company of Heroes, COH: Opposing Fronts, Dawn of War 2 + 2 expansions, working on Space Marine
  2. Interview tips: don’t oversell C++ knowledge, use const, references appropriately – but also know your audience Scripting languages are good if you are into design I was self-taught before post-secondary, missing some fundamentals (math, low-level hardware, database stuff) But also for meeting other like-minded people, as well as others like artists!
  3. If you come with SCM skills already that is a HUGE bonus – all are freely available, try them all out! My first task was evaluating asset pipelines, tools is often a starting point for juniors SCRUM started at Relic when I joined, lots of other studios use agile project management – learn about it ahead of time Admit what you don’t know, you don’t want to waste anyone’s time, so ask for help when needed, but try to learn enough so you aren’t completely relying on everyone else Resources. Tons of them available. I didn’t even realize all of them until I started in the industry and found out from other people
  4. Do you want to focus on graphics? Be a generalist? Like UI, AI, some other acronym? Industry is always changing, seemingly now more than ever # cores is going up, memory latency going up Be your own salesman! Self-manage to impress your manager Take your ego out of the equation, I’ve implemented features that got cut, tried optimizations that made things slower, it happens, it’s life. Programmers are stereotypically anti-social Socialize! Don’t skip out on company events! Lunch! Etc! I still have trouble with this myself People migrate to other studios, start studios – when you develop relationships now, then you ‘know’ people at lots of studios later on in your career!
  5. Start estimating time for tasks NOW, for self projects In general be good at problem-solving, trying different approaches – googling for the solution every time is NOT a good approach Fixing things without breaking others, fully understanding code and systems Debugging – knowing how to use Visual Studio, GDB, various debugging techniques – I’m still learning about this too! Ask other programmers, they know! Ask ask ask! (Hardware breakpoints, conditional breakpoints, etc) You’re going to work with other disciplines, producers, designers, artists – they won’t usually know the same terminology as you, and in most cases they are going to be clients of your work – using systems or tools you create. So keep these things in mind, they can even teach you a few things 
  6. Make mods for games! Easy way to try out game concepts, see shipped code, use already-made assets, learn tools Source, id Tech 1/2/3/4, Unreal Open-source engines Notably OGRE3D, lots of physics ones, Irrlicht, Panda3D Platforms, learn the ins and outs of various platforms, hardware-specific stuff, some PS2 development is possible Books! I’ll link to my list later, lots of good game books (lots of bad too), game programming gems series, various gems series Twitter – Lots of devs on twitter, discussing ideas, you can ask questions, etc
  7. GDC and other events happen annually, slides are posted – read and learn from them! Companies also ‘publish papers’, Valve, Crytek, Insomniac do this Developers have blogs, lots and lots of these, eventually I will be there too  AltDevBlogADay Developers directly – they may email back! John Carmack responded to me when I was in high school (on twitter he rarely replies to people however) Free tools! Lots of free compilers and other tools available now, especially to students/indies (Havok, Visual Studio, 3D modeling suites) – I paid ~$180 for VC6 in high school
  8. Things have changed a little since the article was published, some closers/downsizing, but MS has new studio, always start-ups … starting up