Recently, Hindustan Times got in touch with me for input on an article in their Education section related to a career in game development (programming). This was published today (September 05, 2012) on page 2 of the Education insert, titled Wizard of code (in their New Delhi edition). Although I’m glad to have my photograph printed in an article with that title, I don’t fully agree with the content of the article. I think it leaves out quite a bit of information which would be useful for people looking to learn or get a career in programming games. In fact, some content of the article might mislead or confuse students. The article seems to include information more specific to a career in game art which was posted in an earlier issue.
I’m attaching a copy of the article below with highlighted portions to elaborate. A link to the original article is: http://paper.hindustantimes.com/epaper/showlink.aspx?bookmarkid=ITFJOPDZ2205&preview=article&linkid=1705b0af-cfff-40c2-bec9-50354a6f2b54&pdaffid=5ncoZjso4AlFtIgb4L6Vlg%3d%3d
“creates art” – A programmer does not create art. An artist does. There may be exceptions of one man teams or programmers that also happen to have learnt and practiced creating production quality digital art but those are exceptions, not the rule.
“all aspects of game development where visual art is required” – A programmer might work on (procedural) visual effects or tools to support them but writing “all aspects” is misleading. The latter part of statement about writing code to enforce rules of the game world (or system) in more accurate to what a programmer does.
“Meeting with art director” – Once again, a programmer might meet the art director on occasion but not every morning. S/he is more likely to meet the technical director, a lead programmer or other developers in her team every morning. This meeting would let the team know how development of the current feature they’re working on is going. Whether they’re stuck on something and need ideas or solutions. They’d discuss concerns related to one feature integrating or working correctly when brought together with components/features that others on the team are working on.
“6:30pm to 8:30pm” After committing code into version control in the evening (which would ordinarily take under 5 minutes), the person is either going to work on a personal research project or the team would get together to play some multi-player games! (This is not frowned upon). That should cover the two hour window mentioned in the article.
The Payoff section talks about becoming a senior game artist or later an art director. Instead this would be senior game programmer, lead programmer or technical director.
The Skills/Traits section mentions “An artistic bent of mind” – while it doesn’t hurt to have an artistic bent of mind, it’s more of a requirement for an artist. The section should include:
* A strong sense of logic and the ability to do research for coming up with solutions
* The ability to break a large problem down into smaller components/steps.
* Team skills – your components must work cohesively with those of others. Using version control (under-taught!) is critical for collaboration.
* Good communication skills, your code should be written in a way that makes it easy for team members to understand in case they need to modify parts to implement other features.
Getting There talks about studying “visual communication in fine arts“, once again, this seems like something more important for an artist. It talks about a taking courses in “animation“. Animation may mean many things in games (such as the code which animates a character which a programmer would be involved in) but the term, when used by schools, usually refers to animating digital assets. These courses teach students the creation of sprite frames for 2D animation (in tools like Photoshop/Flash etc) or the animation of 3D models (in tools like Max/Maya etc). While a little knowledge about using these tools may be handy since artists are going to be team mates of programmers on projects; the knowledge would help them be on the same page or communicate better but knowing detailed usage of these tools is not necessary for programmers. For a person would be like to be a game programmer, taking a course in “animation” may not be the best use of her time. S/he should concentrate on getting better at programming. This section should have been something on these lines:
You should code. Learning programming itself may be simple – what’s required is to practice it over and over to become masterful at it. You may enroll in a programming school (NIIT, Aptech, M/BSc, M/BCA etc) or use books or online resources to learn the basics, but that’s as far as it goes. Programming a lot make you start “thinking in the language” which is required. You may not even need a degree to become a highly paid developer if you truly learn to code. Though a school (getting a degree) offers a starting point and organized setting to learn in – and many prefer to learn in a peer group situation.
[See http://abstrusegoose.com/249 ]
“Joining an open source programming project online may also be a great way to learn more and it can showcase your skill. Community sites like Codeplex, BitBucket, GitHub and SourceForge are a few examples.” echos my views in the article.
Further, a skill which I feel is grossly under-taught (or not taught at all) in schools is using version control tools. These are critical to work in a team and offer benefits even on single person projects. Using tools such as Mercurial or Git is critical.
I’m glad that the article included the link to the Mercurial tutorial Hg Init. If just/even one student takes note of that article and starts using mercurial, I’d say the article was worth it!
My older (2008) post Getting into (programming) Games still has a lot of information which is still valid. Perhaps instead of the information on NintendoDS/Homebrew, learners might want to try similar exercises on Android/iOS/WP etc considering the mobile/smartphone penetration rate and the growing requirement for skilled developers on those platforms.
For what it’s worth, here’s the link to the older article on game art which shares a lot in common with the current article:
The post was re-blogged at: