Friday, October 18, 2013

Why All Game Developers Should Understand Programming

I'm an artist and I have a technical knack. This is because I spent time taking programming classes in school which used C++. Artists are agreed to be the least programming-savvy members of a given game development team. This is why technical artists are so important--because someone has to bridge the communication barrier between artists and programmers. But, just like a producer is not going to enable you to do better work but rather give you a good amount of time to be able to do good work yourself, a technical member on the team may be able to water-down technical information and processes about your workflow but you ultimately must pay the price in not understanding the information yourself.

In this recent article on Gamasutra an editor and former programmer, Chris Heckler, speaks of the benefits for all game developers to learn programming. He is not advocating that they be amazing at it and is mainly stating that at least understanding the concepts and limitations of programming would be essential to helping when communicating ideas to a programmer to implement.

http://www.gamasutra.com/view/news/200155/Yes_you_should_understand_code__even_if_youre_not_a_programmer.php?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+GamasutraNews+%28Gamasutra+News%29&utm_content=Netvibes

For artists, this means having to do grueling and tedious work copying all of certain type of prop, like a lamp post for instance, and then scaling them by a certain amount and making sure every file that was using the specific lamp post material is updated to use a new material in a different directory. For a normal artist, this would mean hours of tedious work. For those that are more technical, though, this task could simply be solved by writing a simple script that completes the desired commands instantly for the artist, in a short amount of time. The planning is where the time is spent but the actual work is very little and will take less time and effort in the long run. Most artists will chose what they know rather than learning to be more technical, and from an artists perspective--they are too busy learning new tools like Zbrush and dDo to make the art look more convincing for next-gen capable hardware.

For designers, knowing programming is a lot more essential, as the premise behind creating systems or events is more logical. Many modern engines, like UDK/Unreal, contain visual scripting packages which make scripting for designers much easier and faster. The issue is that these systems are limited and the designer is not able to create pure freedom in their designs. They will ultimately require help from a programmer who can make a new mechanic or gameplay feature possible for them. If they took the time to learn U-Script, though, they would be able to create their own custom functions that would be accessible right from the vis-script editor. I know, because I have toyed around with this myself for the Unreal Editor but did not get very far as I was losing time from focusing on my artwork. Each time you do something your brain becomes more used to it and it is more familiar and easier the next time, though, so as long as designers are practicing their coding skills they will eventually be able to expand their own arsenal of design tricks. For older game engines, they require heavy coding such as using LUA. I worked for Disney in the past and the whole design team was always writing lots of text all day. This was different from what I expected, but they had to make the tools let them do things that the tools were not originally built for. Also, the tools were pretty simple and did not have a bunch of pre-built packages like visual scripting. So, the more a designer knows about programming, the more polished their ideas will be from conception in their head to execution in game. It is like a race car driver knowing about car mechanics. If you take a driver who does not know about mechanics, they will have to pay a mechanic to do work to their car and be limited by time and cash and also may not know what will effect their driving the best. The driver who knows about mechanics, though, will be able to tune their car to exactly what they want and be able to drive the hell out of it and the more they do each, the better they become at both because the skills compliment each other and accelerate the progression of their talent.

The biggest complaint I've heard from programmers is that designers tend to ask for too much and not consider the repercussions that a somewhat innocent idea will have on the entire project. Designers like to not be limited and want to force the programmers what to do, but programmers only have so much time and at the end of the day a designer must choose what is the most feasible rather than what may be the coolest or most interesting design. A lot of time will be spent from the designer and programmer communicating back and forth as to the best way to implement a certain feature or gameplay idea, but it may not result in what the designer originally had hoped for. So, it is definitely best if designers know programming and I suggest that all developers know their share--from artists to sound designers. The more technical everyone becomes, the more plausible a game will become and won't end up being a disaster or a water-down version of the original vision. Programming is the future and we should all know it anyway, so why not sooner rather than later?

-Ken

No comments:

Post a Comment