[In this reprinted #altdevblogaday-opinion piece, Bane Games' Alistair Doulin shares five pieces of advice on becoming a better game programmer -- most of which apply to other disciplines, too.] Over the past 12 months, I've worked as the sole programmer on the three games we've made. I've just started up a new project with a fellow programmer and found that I've picked up some bad habits in those past 12 months. I'm continually trying to make myself a better game programmer, and today I'm sharing my thoughts on this topic. Constructive Criticism The most important way I feel I grow as a programmer is to listen to criticism from my peers. In the past (particularly during puberty), I found this quite difficult to do. Over the past few years, as my confidence has grown, my view of constructive criticism has changed from fear to embracing wholeheartedly. I'm now at the point where I'll purposely ask people to give me negative feedback on my code, design, games, and in general so I can learn. If nothing else in this list resonates with you, I strongly recommend at least thinking on this point. I've met many programmers in the past (including myself) that either ignored criticism or actively fought it. There will always be better programmers than yourself out there and taking constructive criticism from these people is an excellent way of improving. Continually Learning I tend to go through peaks and troughs when it comes to reading and learning. During the middle 80 percent of a project and particularly deep within crunch, I find I put my blinkers on and ignore most of the world around me. Once completing a project, and as I start on a new one, I'll resurface and look at what I've missed in the previous months. I think learning new techniques, technologies and generally discussing game development with my peers is a great way of improving my skillset and maintaining an optimal development velocity. I generally count GDC in this as I find I'm invigorated after each visit to San Francisco. Complete Difficult Problems When time is short (when is it not?) for a particular milestone, I find myself shying away from difficult problems in favor of a quick fix or doing something different entirely. I've found this is often a sub-optimal solution as the problem is often not solved and inevitably crops up again later in the project. On a project-wide time frame, the problem ends up taking far more time to solve than if I had simply taken the time initially to solve the original difficult problem at the expense of the milestone time frame. My solution to this situation is to allow enough padding in my milestone estimates so that I have time to dig deep into a complex problem when needed without worrying too much about the ticking clock. This is easier said than done, however. Focusing on the project-wide velocity improvement makes it an easy choice to solve complex problems as they crop up. Cross Discipline Unlike other software development I've done, game development has an extremely wide range of skills across a team. One of the most stark differences is between programmers and artists. With our different hemispheres at work, programmers often band together and feel like they are working against the other disciplines in the company. This was the case for the first few jobs I had in the video game industry, and it wasn't until I worked on a cross-discipline team that I realized how incomplete my earlier teams had been. Without a working knowledge of the other key areas of game development, I was missing a large part of the big picture. Not until I sat next to an artist and watched them complete repetitive tasks for hours at a time did I realize that spending 10 minutes writing a simple tool for them would make their live much easier. It wasn't until our latest game that I worked closely with a sound engineer and learned how easy it is to build an extremely powerful sound system to rival many AAA games on the market. Spending time with developers from other disciplines is invaluable to both becoming a better programmer and improving the quality of your team. Critical Thinking I often fall into the trap of completing a particular task in a certain way as "that's the way it's always been done". It's not until I discuss my processes and thinking with other programmers that I realize there can be a better way. There are two main groups I find I get the most "aha" moments that often have radical changes to the way I do things. The first group is junior developers newly out of university. They will often be exposed to new ways of thinking or have simply thought outside the box to solve problems. The second group is developers from outside the video game industry. Test-driven development is a great example of something I picked up from a web developer friend (and have since started evangelizing to other game programmers). Looking introspectively at your processes and development style at the end of a project is a great time to be critical of how you do things and see if you can improve. Conclusion Do you have other recommendations and thoughts on becoming a better game programmer? What techniques have you picked up over the years that have helped you grow? [This piece was reprinted from #AltDevBlogADay, a shared blog initiative started by @mike_acton devoted to giving game developers of all disciplines a place to motivate each other to write regularly about their personal game development passions.]
Opinion: Becoming A Better Game Programmer
Nov. 9, 2011

Tags:
2011
Subscribe to our newsletter
About JikGuard.com
JikGuard.com, a high-tech security service provider focusing on game protection and anti-cheat, is committed to helping game companies solve the problem of cheats and hacks, and providing deeply integrated encryption protection solutions for games.
Top

David Dastmalchian Comments On M. Bison Role, Says He's Playing Lots Of STREET FIGHTER 2
July 28, 2025

MORTAL KOMBAT II Producer Teases Third Installment And Potential Spin-Offs
July 28, 2025

GOD OF WAR Showrunner Ronald D. Moore Discusses The Prime Video Adaptation's Tone And Development Progress
July 28, 2025

UKIE responds to adult games being pulled from Steam and itch.io after pressure from payment providers
July 28, 2025

The studio behind Teenage Mutant Ninja Turtles: Mutants Unleashed brings in union after facing closure
July 28, 2025
Recent

David Dastmalchian Comments On M. Bison Role, Says He's Playing Lots Of STREET FIGHTER 2
July 28, 2025

MORTAL KOMBAT II Producer Teases Third Installment And Potential Spin-Offs
July 28, 2025

GOD OF WAR Showrunner Ronald D. Moore Discusses The Prime Video Adaptation's Tone And Development Progress
July 28, 2025

UKIE responds to adult games being pulled from Steam and itch.io after pressure from payment providers
July 28, 2025

The studio behind Teenage Mutant Ninja Turtles: Mutants Unleashed brings in union after facing closure
July 28, 2025

Some game firms are struggling with the complexities of the UK Online Safety Act
July 28, 2025

Sony sues Tencent for "slavish clone" of its "valuable" Horizon franchise
July 28, 2025

Puzzle & Dragons publisher/developer GungHo Online faces shareholder revolt
July 28, 2025

Dating App Breach Exposes Images of 13,000 Women
July 28, 2025

US Woman Gets Eight Years for Part in $17m North Korean Scheme
July 28, 2025
Blog

Security Risk Analysis for Racing Games
July 28, 2025

Are there hacks that increase gacha pull rates?
July 24, 2025

VMOS Open-Source: New Threat to Game Security
July 18, 2025

How Games Detect Black and Gray Studio
July 15, 2025

How Games Detect iOS Jailbreaks
July 11, 2025

FPS Game Anti-Cheat Solution
July 9, 2025

Black and Gray Industry Insights: HappyMod
July 7, 2025

Online Game Anti-Cheat Solution
July 4, 2025

iOS Code Encryption Solutions
June 26, 2025

Casual Game Security Risks Analysis and Solutions
June 25, 2025
Random

Should you buy a robot lawn mower with no boundary wire? My verdict after months of testing
July 25, 2025

Puzzle & Dragons publisher/developer GungHo Online faces shareholder revolt
July 28, 2025

How to sync passkeys in Chrome across your PC, Mac, iPhone, or Android
July 25, 2025

Prolonged Chinese Cyber Espionage Campaign Targets VMware Appliances
July 25, 2025

Finally, a Bluetooth speaker that sounds great and is built to last
July 26, 2025

BlackSuit Ransomware Group’s Dark Web Sites Seized in Operation Checkmate
July 25, 2025

Teachers and students warn: AI is eroding engagement
July 26, 2025

This 4K projector changed the way I watch TV at home (no keystone adjustment needed)
July 26, 2025

Sony sues Tencent for "slavish clone" of its "valuable" Horizon franchise
July 28, 2025

PayPal dominates web store payments in Germany, but Apple Pay reigns in the UK
July 25, 2025
Most Views

How Games Detect GameGuardian
March 17, 2025

Explanation of Game Anti-Cheat Solutions
March 17, 2025

Cheat Engine Modifier Detection Solutions
March 18, 2025

Explanation of Unity Engine Encryption Solutions
March 17, 2025

How to Anti Hack in Client-Side Games
May 21, 2025

Cocos Engine Encryption Solution
April 8, 2025

How Games Anti-Debugging
April 15, 2025

Cloud Phone Detection Solution for Gaming
May 21, 2025

How Games Detect Frida
March 25, 2025

How Games Detect PlayCover
March 26, 2025