Where do I start?

Taking a break from math for a while, I wanted to talk about something simpler.  Let’s say you’ve never programmed in your life.  You like video games, and you think it’d be neat to make your own.  You’ve heard good things about the game development industry, but where do I start?

This is normally the part where a blogger will post a whole pile of scary-looking links to tutorials for getting started with something like Python, or Javascript, or Lua, or Java, or sometimes they’ll even recommend jumping straight into C++.  That is an incredibly bad idea.  It’s a surefire way to kill any enthusiasm you may have had about game development by making you focus on exactly the wrong thing.

So where do I start?  The answer is simple: Modding!

My first experience with modding was back in middle school, with Age of Mythology (an old RTS that was a spin-off of the more well-known Age of Empires).  Now, AoM was by no means designed for modding.  All of the data for units and such was stored in XML and INI files, and models and textures used a special format that nothing really exported to.  It was a struggle just to add a new type of unit to the game, but when it worked?  Man, that was satisfying!  It wasn’t much, but it exposed me to the concept of text files that have to be juuust right or else everything breaks, and I learned all about modding communities.

Later, in high school, I got started with modding for The Elder Scrolls III: Morrowind.  Now, unlike AoM, Morrowind has an actual tool for developing content (the Construction Set), and its own scripting language for defining new behavior.  With the help of guides written by other modders, I was able to learn the scripting language and produce a handful of mods, which are still floating around the internet somewhere.  This was my first try at programming/scripting, and that experience probably did more to get me started on the path to being a programmer than anything else.

In my later years in high school I was also somewhat involved with modding for Morrowind’s sequel, Oblivion.  While the challenges and opportunities were more or less the same, I also tried my hand at playing around with artwork.  I got used to exporting models from Blender and playing around with fan-made tools like NifSkope.  I also dug deeper into scripting, using the Oblivion Script Extender.  Good times, good times…

Now, why do I recommend modding instead of just jumping into programming?  It’s simple, really; as humans, we love immediate satisfaction.  We want to see the results of our work right away.  If you’re writing something in C++, you can get “Hello World” to print on your console in about 5 minutes, but anything more complicated than that could take weeks, or maybe even months for an absolute beginner.  The amount of time it takes, and the fact that you don’t have anybody to hold your hand and point you in the right direction, could easily kill your ambitions before you even get started.

With modding, you get to see the results of your work immediately.  You get to see your script working, or the cool sword you made, right away.  The satisfaction of knowing your efforts actually worked will encourage you to work on bigger, more complicated efforts.  You’ll be inspired!  You’ll make bigger and more complicated mods, you’ll get community feedback on what you’ve created and they’ll help push you to even greater heights still.

What then?  Well, you can build bigger and better mods, become a big name in the modding community.  I personally know of a handful of people who have gotten hired and professional studios because of their mod work.  Ultimately, building a game is really just making mods for a game that doesn’t exist yet; either way you’re building content

If you’d focus your attention elsewhere, though, then starting your own game might be just what the doctor ordered.  Next time, I’ll go over Unity, one of many choices of tools that you might pick for making a game that you can call your own.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s