Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Modern game programming is tremendously complex as a whole but it is also very fractionated in terms of division of labor which helps reduce this complexity. Modern games are usually too complicated and large for one person to have a detailed and in-depth knowledge of the entire process. There are a lot of specialties within game programming that you might want to familiarize yourself with and decide if there is a particular aspect you really like doing:</p> <ul> <li><a href="http://en.wikipedia.org/wiki/Game_programmer#Game_physics_programmer" rel="nofollow noreferrer">Game Physics Programmer</a></li> <li><a href="http://en.wikipedia.org/wiki/Game_programmer#Artificial_intelligence_programmer" rel="nofollow noreferrer">Artificial Intelligence Programmer</a></li> <li><a href="http://en.wikipedia.org/wiki/Game_programmer#Graphics_programmer" rel="nofollow noreferrer">Graphics Programmer / 3D Modeling</a></li> <li><a href="http://en.wikipedia.org/wiki/Game_programmer#Sound_programmer" rel="nofollow noreferrer">Sound Programmer</a></li> <li><a href="http://en.wikipedia.org/wiki/Game_programmer#Scripter" rel="nofollow noreferrer">Scripter</a> (using in-house scripting for nearly all of the in-game events)</li> <li><a href="http://en.wikipedia.org/wiki/Game_programmer#UI_programmer" rel="nofollow noreferrer">UI Programmer</a></li> <li><a href="http://en.wikipedia.org/wiki/Game_programmer#Network_programmer" rel="nofollow noreferrer">Network Programmer</a></li> <li><a href="http://en.wikipedia.org/wiki/Game_programmer#Game_tools_programmer" rel="nofollow noreferrer">Tools Programmer</a><br> ... and more.</li> </ul> <p>Recently, for my Computer Graphics course in College we used the open source <a href="http://www.ogre3d.org/" rel="nofollow noreferrer">OGRE 3D</a> engine. Not only is this an extremely robust 3D engine but it was a blast! Develop a medium sized game using it and you will get a good taste of many of the above mentioned game programming specialties. You'll find yourself doing 3d modeling, sound effects, physics programming, AI, the works. </p> <p>Screenshot of a recent OGRE 3D Game: <a href="http://www.ogre3d.org/gallery/albums/album76/snapshot20081030015244.jpg" rel="nofollow noreferrer">alt text http://www.ogre3d.org/gallery/albums/album76/snapshot20081030015244.jpg</a></p> <p>There are some caveats to the Game Programming world. I've often heard and read <a href="http://ea-spouse.livejournal.com/274.html" rel="nofollow noreferrer">articles</a> surrounding the industry talking about the long hours, the crunch time, the unpaid overtime and the relatively lower pay when compared to other types of programming. But honestly, if this is something you want to do then don't let those things get you down. I like to think that good pay and working conditions will come to most people who are sufficiently driven. </p> <p>As far as school, you mentioned you were taking some CS courses. Take some math courses as well! Game programming is one area where Math is used extensively in several phases of development.</p> <p>Most of the articles I have read involving the industry suggest that someone with no professional experience looking to get break into gaming should put together a portfolio of small games you have written demonstrating your abilities.</p> <p>It is also fairly typical for junior game programmers to start out as the <a href="http://en.wikipedia.org/wiki/Game_programmer#Game_tools_programmer" rel="nofollow noreferrer">Tools Programmers</a> writing in-house software for the rest of the game development team. Things like Map-Making programs, diagnostic tools, format conversion, etc. You can then work on advancing beyond this.</p> <p>Good luck!</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload