Starting course in 3D game design, want to code on the side

Started by
3 comments, last by Tom Sloper 12 years, 11 months ago
Hello one and all, first post here.

Come September I'll be starting University doing a course in 3D game design. The focus is very much on the CG side (teaching you the ins and outs of Maya), which is definitely the area I want to focus on, the idea of coding for a living isn't something that has me jumping out of bed in the morning ;)
That said I was hoping to dabble in code while on the course, maybe in 3 years time when I graduate I'll be able to knock together a basic game (aka a portfolio that stands out), who knows.

So as you've probably guessed I'm a complete beginner.
Ideally I'd like to code for the PC, so I was hoping to get some advise with regards to what language to learn, which program to use, good places to get tutorials etc.

I'm sure this question gets asked a lot, so if all I get in response is 'UTFSE' I'll understand :P
Advertisement
If your going to spend three years at university working with Maya then you will almost certainly learn MEL (Maya Embedded Language). Now, I've not worked with MEL at all, but glancing at the code it looks very similar to C#, which is not a bad option for a beginner with your goals. So, I would recommend "Head First C#" by Stellman and Greene. I don't always like their approach, but they do walk you through writing several applications in Visual C#, including two simple games. It is not a reference manual like many other books and they don't assume that you already know some programming language (which is really annoying if you already have some experience).

Aside from that, a quick way to learn programming concepts is, to download Lua. The advantage here is that Lua is such an easy language it takes less than an hour before someone with almost no experience is able to write functional code. The drawback, however, is that Lua is console (as in DOS prompt) only and its ease will spoil you if you try to transition into another language.

C++ is another popular language, but I suggest staying away from it unless you intend to be a professional programmer. Other popular languages are Python, Ruby, and Java (very similar to C#, but weaker in some ways). I would recommend that you look at the information you can find on each of these and see which one sounds like it is being used in the way you see yourself wanting to program.
Many programmers will tell you "learn a programming language first, then relate it to games", but I teach a game prototyping course and I've watched artists try to sit and learn a language without applying it to a game... more often than not, it doesn't end well.

If you're art-first, coding second, I strongly suggest you download Unity3D (www.unity3d.com) and go through the tutorials on their site. You'll learn the scripting ("code") as you go, with a focus on getting assets (characters, environments, vfx) into the game. After doing this, if you're really digging the code part you can dive heavily into the C# language and learn to write your own mechanics, and if not you will still have the knowledge to build a game using pre-built logic (first person shooter controllers and the like) with your own assets.

Check out my new game Smash and Dash at:

http://www.smashanddashgame.com/

Learn Python. Maya has a Python API, and lots of Maya tools are written in Maya. If you're an artist who can write his own in-Maya tools, that will get you well on your way to being hired as a "technical artist", which are very high in demand.

But.. if you actually want to write a game by the time it graduates, then JBourrie's right, use Unity3D. Luckily Unity3D can be used with a Python-inspired language called Boo.

I'm sure this question gets asked a lot, so if all I get in response is 'UTFSE' I'll understand :P

Does UTFSE mean anything like "read the FAQs why doncha"? There's a link to the FAQs atop this forum. (I'm gonna go look up UTFSE now.)

-- Tom Sloper -- sloperama.com

This topic is closed to new replies.

Advertisement