Game Career Guide is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Get the latest Education e-news
  • Top Ten Tips: Programmer

    - Noel Llopis
  • [In the latest installment of Game Career Guide's "Top Ten Tips" feature series, Power of Two Games designer Noel Llopis gives advice to future industry programmers.]

    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. I recommend working on several smaller games rather than one huge one.

    Writing a mod is good, but make sure to write a few with your own, 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.


comments powered by Disqus