For most game developers, whether working in AAA studios or on independent games, finding a balance between design and code is a daily affair. It doesn’t have to be a struggle, but in practice, things can often get ugly!
On that subject, Grassroots Gamemaster posted an interesting comment recently . Now, I try to read all comments on the blog as if their author was enlightened. Most often, I learn something new in the process! This one, however, was particularly difficult to wrap my head around:
“The problem with a programming focus is that it detracts from the core work of game design — which is… um… game design. Programming is not game design. Programming is interpreting game design into computer language. Game design is a different thing altogether.
It’s the same reason why film directors don’t operate the camera. It’s not their job. They have to direct the film. If they get lost in the technical details of photography it will distract them from what they are supposed to be doing.”
When Programmers Ruled the World!
Shortly after reading the comment, I stumbled upon this quote from Soren Johnson’s old homepage, who until recently worked as both a designer and a programmer for Fireaxis. (He’s now working on Spore along with approximately 25% of the employees at EA!) Anyway, here’s what he had to say:
“I was then given the opportunity to be the lead designer on Civilization IV while still writing the game and AI code. (Actually, in my mind, designing is easier if you are able to do the programming as well.)”
No doubt I personally see things from a very technical perspective, but I fully agree with Soren. It doesn’t only make sense to become technical for career purposes, but there are many other reasons I think it’s helpful for development too:
With AI technology today, non-technical people still have a very hard time creating anything useful on their own. Going beyond adjusting parameters requires coding skills.
When you work with your problem and solution directly, you become more creative in the same way a sculptor gets feedback from working with the clay. Right now, you need to know the underlying program to be able to do that.
This explains why all the best game designers today were coders in the past (Sid Meyer, Will Wright, Peter Molyneux, David Braben, etc.) It’s also the reason that the best independent games are made by coders who act as designers. As a counter example, Shigeru Miyamoto is not a programmer…
Is Technical Knowledge a Handicap?
From the other perspective, having very technical designers that don’t get involved with development can be a recipe for disaster! They can end up second guessing you despite not having touched the codebase since its creation… Then, if the programmer wants to make a change based on direct experience with the code, he/she may end up wasting time by arguing with the designers or worse, in a fruitless power struggle. (A surprisingly number of big studios witness these problems at some stage.)
That said, when designers are less technical, they have no choice but to delegate and not get too involved in the details. This in turn, can be much more fruitful, leaving them time to maintain the overall vision of the project. What do you think?
Does knowing how to code the AI help with its design? Does it help design the game as a whole?