Learning Curve

When I was growing up, the first computer I used on a regular basis was a Commodore Vic-20.  It came into the house one Christmas, I think in 1983 or 1984.  We’d hooked it up to a small black and white TV, and I’d spent many an hour learning BASIC and making programs – many of which didn’t really do anything, but the process was certainly fun.  Later, the Commodore was replaced with a custom PC built by my uncle, loaded with a version of DOS and with an orange monochrome monitor.  Programming went by the wayside for a while, but I got my first real taste of computer graphics with early CAD and paint programs like Dr Halo II.  It was also my first time we had computer games we didn’t have to program in at first (the Vic-20 didn’t come with any storage capacity beyond RAM – we did get a cassette tape storage device later, but it wasn’t the most reliable thing in the world).  

Come the 90s and I got a PC for my birthday, with an actual colour monitor, new games and graphics programs, and a BASIC compiler.  It was around this time I started trying to make my own games.  Which, given the limitations of BASIC, was hard.  Harder still, when comparing my creations to the games I was playing at the time; such as Wing CommanderUltraBots, and SimEarth.  By the time I’d moved out on my own, the urge to make my own games had largely died out, pummelled by the growing gap between my own skills and resources and the quality of games I could just pick up on disk for fifteen dollars.  

(It didn’t quite go away, though.  If a game had a level editor, I’d find myself making levels, maps, and even missions for as long as it would hold my interest.  I think my longest stint of map-making came with the 3D mech game StarSiege.  But I digress).

I bring up all of this because a couple of weeks ago, I started to teach myself programming and game creation once again.   Right now, that means acquainting myself with modern tools for the task, specifically the Unity game engine, the 3D modelling program Blender, and the script editor Visual Studio. 

Of these, Unity has proved the most accessible, with a drag and drop interface that lets me bring in whatever assets I need (objects, textures and materials, scripts, sounds. etc) and connect them together to make a working game level.  Plus, Unity’s website has a series of tutorials and sample projects that are good at helping people learn how to use the engine fairly quickly.  The learning curve remains steep, but there’s plenty of help along the way.

I wish I could say the same for Blender, which – while a very powerful tool, especially considering it’s free and open-source – is somewhat lacking in the tutorial area.  Or more specifically, the tutorials Blender has produced seem to be made with Lt. Commander Data in mind (when I described one of these tutorials to a friend, he asked me if they had a “ritalin” button to slow them down.  They don’t, more’s the pity).  YouTube has a wealth of videos, and the Blender manual is more helpful, but I suspect I’ll be doing a lot of trial and error to learn how to use it right.

Visual Studio is where my atrophied programming skills will be used most; no tutorials there, so I suspect I’ll have to track down a number of resources for C#, the programming language in question.  But, I’m pleased to report, some of my programming skills seem to be coming back faster than I thought.

It’s too soon to say where this new hobby will end up.  Maybe this will be the new Thing I invest all my spare energies into; or maybe it will be a passing fancy, to be dropped at some future time.  Or maybe – and this is my preference – it will join my other creative dreams and even breathe new life into them.  I’ve decided… not to try to force a given path this time; just to learn and play and see where it takes me.  Perhaps keeping a hobbyist’s mentality is the healthiest path.  We will see.