GD : Top 10 Tips for a Game Programmer
I came thru this very good article on the top ten points thats a beginner programmer should be concentrating on @ Game Career Guide, thought it would help the new and younger generation developers who want to break into the industry. Lets start with as follows :
1. Write games.
This is the most important thing any aspiring game programmer can do. It doesn’t matter what language you use, or what type of game it is, or even whether it’s very fun. What’s important is that you go through the experience of writing several full games from start to end and get a feel for how everything works together. The best recommendation would to work on several smaller games rather than one huge one. Writing a mod is good, but make sure to write a few with your own, and very simple technology. These games will make great demos to strengthen your resume.
2. Cover the basics.
As a game programmer, there are certain techniques you’ll keep reaching for in your bag of tools. Make sure you get comfortable with matrices, vectors, and their operations; with basic data structures and algorithms; and with the fundamentals of software engineering and object-oriented programming. Getting a good foundation in those areas will allow you to concentrate on creating a game and not fumbling with basic concepts.
3. Achieve intermediate level in C++.
Most games are still programmed in C++, and to be an effective team member, you’ll need at least an intermediate level of C++. Don’t worry about mastering the language yet. C++ is full of dusty, dark corners that only language lawyers know about. Concentrate on writing solid, clean code without language trickery. Don’t obsess over specific APIs (DirectX, OpenGL, etc). Chances are you’ll use a different API or that it will be wrapped in a higher-level interface.
Bonus points: Learn another, very different language. Python, Lua, or Lisp are good candidates. They’ll give you a whole new perspective on programming and make you a more effective programmer all around, and, depending on the project, they might even come in handy for game development.
4. Never stop learning.
Don’t think for a moment that as soon as you’re done in school you will have learned everything you need. The best game programmers are always actively learning new things, even after many years of experience. There’s no shortage of new things to learn about: new hardware, languages, techniques, APIs, algorithms, and more. And with so many resources on game development out there, there’s no excuse not to be constantly learning from books, magazines, web sites, and conferences.
5. Communicate.
I can’t emphasize enough how important good communication is when working in a team. You’ll have to communicate effectively to coordinate efforts with other programmers, to explain how your code works to artists and designers, to understand what features the rest of the team needs, and to explain to your boss what you’ve been doing and offer suggestions on how to make it better.
How do you become a better communicator? Give presentations in your class, share what you’ve been doing with other people over lunch, write a blog detailing your experiences, or participate in forums and mailing lists on game development.
6. Tools of the trade.
Learning all the theory about programming and algorithms is great, but when it comes down to it, you’ll be using certain programming tools all day long. Get comfortable using a good editor, a source control program, and a debugger. Don’t worry whether they’re the same ones you’ll be using in your job or not. The important thing is to know what you can do with them and how to use them effectively.
7. Work with a team on a large project.
If you only work on projects by yourself, you’re going to be in for a shock when you land your first job in the games industry. Not only will you have to coordinate how your code works with other people, but you’ll have to read and modify large amounts of code written by other members of the team as well. If you don’t have the chance to work on large projects for your courses, join an existing open-source project to get some of the same experience.
8. Play and study games.
You should be familiar with the latest games out there, and with the latest advances in game technology. Don’t just play the games, but study them. Try to figure out what shadow rendering technique they’re using, or how their AI is making those tactical decisions. Find out more information through postmortems or mailing lists and think about if those techniques could be applied to your games.
9. Pick an area of expertise.
An effective game programmer has a very good understanding of how all the different areas of a game work together: graphics, AI, collision detection, networking, user interface, input, physics, and all the rest. At the beginning of your career, it’s very important to get exposed to as many parts of the game as possible. At the same time, start thinking about which areas appeal the most to you and focus on those a bit more.
After a few years you’ll be able to specialize more and become an expert in a given area.
10. Get a well-rounded education.
Don’t be afraid to branch out and learn things not directly related to programming. Having a well-rounded education or even hobbies totally unrelated to game development can provide a useful foundation that will help you all throughout your career in lots of unexpected ways.
Above all, apply yourself and finish your degree the best you can. Not only will you get a lot out of it, but you’ll also show potential employers you can stick to a long-term project and do well in it.
Courtesy : Game Career Guide and the Original Author of this Article Noel Llopis written on [03.26.09]
CHEERS







