Image source: GameZone
From the outside, writing code can seem closer to the practice of mathematics than something like painting or sculpture. Not so. Developers are inherently creative types – driven by the desire to build out their visions, taking an idea and turning it into a tangible thing of beauty, utility, and even mystery. This is nowhere more obvious than with game developers.
Here’s the issue. With any creative process, the need to be perfect is a hindrance to the act of creation. It’s stifling to the vision and to the liberty of taking artistic leaps. Worrying about perfection messes with your flow. But, gaming code really does need to be flawless or you’ll run into issues like Cryptic did with Neverwinter over the weekend. One flaw in their game code has cost them big.
Apparently, some of Neverwinter’s players discovered and had been exploiting a “high priority bug” that effectively allowed them to steal from other players. Ouch! Now many of their once loyal fans are bashing Cryptic on message boards. The company has been forced to ban some users, and figure out how to pay back others. All of this could have been avoided if they’d done a code review—which, it’s pretty clear they didn’t do.
Why Do Game Developers Really Need to do Code Review?
Because, even though they aren’t like mathematicians, their code needs to be as meticulously perfect as any equation does in order to work out right. That’s why code review as a practice needs to be adopted across the board for game developers. It’s the best insurance that the occasional and inevitable mistake will be found.
If you’re a game developer, you could say that doing code review means you know yourself. You know you’ll make mistakes; it’s human and it’s part of the creative process. However, doing a code review is also probably not your natural inclination. Artistic types like to wrap things up themselves and move on to the next creation. However, there is a reason that any art class involves a critique process. While we don’t necessarily like to look at our creation with other people who will be pointing out its flaws, it’s the best way to improve our work.
So, rather than ignoring the fact that you may have made a mistake, embrace it as a part of the creation of your art and encourage your fellow developers to do the same. Maybe your code really is always perfect. But, hey, think of those other poor souls who aren’t so lucky.
Adopting a process of peer code review will not only help ensure your code is free of critical bugs, it will encourage a culture of shared software excellence. Since no one can do code review on their own, you’ll be opening up new avenues of learning and collaboration.
If you’re interested in finding out more about code review and the tools that developers use to assist in documenting virtual reviews, SmartBear has an extensive enterprise level tool called Collaborator. We’re also currently working very hard to launch a free code review tool that will meet the needs of many development teams, and a pro version that is better for mid size companies.
Check out Collaborator, or come back in a few weeks to try our free tool. Why a free tool? If you can’t tell, we really don’t like seeing software fail.
It’s a waste of good art.