Tuesday, October 28, 2014

General Banter: My sordid affair with games-making.

First, a little background...

Since I was a small child, I've had an interest in games and games development.  When I was about eight, I received my first 'computer'.  It was a Tandy TRS-80 Color (CoCo).  I remember getting it and having literally NO idea what to do with it.  My mom had bought it for me at a yard sale, probably having no idea what she's set off.  I'd sit there for hours, tinkering with code in BASIC, having little to no idea what I was doing.  I'd make red flashing asterisks on the screen and feel empowered.  Still, I was slowly absorbing the little pieces of what made things go tick.

Nothing like cartridges and a 300 baud modem to get the blood flowing.


At school, we had several APPLE IIGS's running LOGO (Anyone remember that?)  and BASIC. I'd make a little triangle move around and take some of that knowledge home to apply to new and more interesting things.  I don't recall what happened to that Tandy, but I do recall it falling by the wayside when I got my first Nintendo Entertainment System.

From there, I spent several years in the void of video games (ah, nostalgia!) while focusing on computer projects at school.  I knew they interested me and pursued them rigorously.

A lot happened starting around age 12-13.  I cracked my skull open and oddly ever since then I noticed my purely logical thinking went to a sort of logical and abstract form.  My code got weirder.  Less understandable from a flow standpoint to those who'd read it.  But it still always did the job, often in novel ways.

Fast forward a few years...
Around age 15, I'd lost my first REAL PC due to some high phone bills from BBS door gaming. Long distance was clearly not my friend and my mom was not plussed.  She sold the smokin fast 486 DX2 66 to pay the bills.  Then, feeling bad for her now dejected son, she found a diamond in the rough - an original IBM PC XT with two MFM 5MB hard drives.  You can imagine my joy at the downgrade, initially.

Turns out the sucker didn't even work.  I had to dig through the thousands (literally) of pages in the original IBM manuals to figure it out.  At one point I recall calling a very amused IBM tech support agent who kindly referred me to the manuals since they didn't support such an old system.

Yes, it literally came with all those books.

At some point, I managed to learn all about how computers work.  The physical components to me now were in that inventory and fascinated me.  I used this computer to try writing very simple AI programs in Basic (Chase the dot, dot warfare, etc) it worked well but I had trouble with implementation of some concepts.  I started taking formal programming classes in high school and learned all about modular, top down programming in my Pascal class.  I also learned simple graphical tricks and micro game making in Macintosh Hypercard.  I purchased the original "GCS" Game Creation System at this time.

A copy of the original advertisement for the 3D GCS.  
Make sure to click to full size and read for some giggles.

I was hooked on FPS's thanks to doom and the GCS.  I made some interesting stuff, messing with the forth/fortran backbone (who the fuck ever thought that was a good idea, is beyond me) to improve AI.

Somewhere in here I pissed off a programming teacher, switched schools 3 times, and eventually ended up at Dauphin County Vo-Tech school.  This school had a programming teacher who took me as his last great hope to sink the death star.  He taught me C, unix shellscripting, and a host of other things.  Got me a job in programming for the state, then later Keystone Programming.  Unfortunately massive pressure at home caused my life to crumble and I had to basically start anew.  The teacher, feeling crushed at my difficulties (as well as dealing with his own), retired the following year.

My biggest 'video game' programming achievement during this time period was writing the 'Coop-Bot' based on some code I found from the axe of friendship.  The coop-bot was an amazing AI piece built as a mod for quake 1.  No one at that time to my knowledge had written TRUE cooperative bots. Mine however had functional personalities and capabilities.  The code eventually was used by "Nelno" the Amoeba who wrote the reaper bot and moved on to write the Unreal Tournament bot code (based on the reaper bot code and by extension my own).  It was like fame by proxy.

My senior year in highschool was incredibly turbulent and somewhere in there, I had an english teacher nurture my writing abilities.  I wrote numerous short stories which ended up in the book I promote on the right (albeit many years later, after many MANY rewrites).  I however was stressed to my limit and despite my talents I was extremely limited by my circumstances.

Ok, a lot of background...

I spent the years after high school trying to start my own game development company and eventually got so soured by scumbag investors who wanted things like 60% stake for 40,000 dollars seed money (barely enough to get a programming firm off the ground, let alone finish a project).

We'd done a lot of free work, creating an impressive 3D terrain renderer and server architecture (me and my 6 or so buddies).  Eventually my experience was soured and I shut the whole project down spitefully.

A few years passed and Mechwarrior 4 came out.  I.. LOVE Mechwarrior.  Still do to this day.  So I decided to mod it.  I made a mod for the original game called 'Siege'.  This mod addressed many of the glaring problems in the game's multiplayer - namely a complete lack of single player functioning assets (turrets, repair bays, etc).   At some point I wrote the devs asking if they could increase the spawn points in the map to 32/32.  They asked me to send them my code and promptly ignored me.

A few weeks later, the rumored 'black knight' expansion came out featuring.. you guessed it... a special new deathmatch mode... called SIEGE!  Ironically nothing I could do at this point; they by right had the rights to all mod's intellectual property.  It did, however, REALLY sour my taste for game devving.  Throughout the years that followed I'd monkey with lite-c, opengl programming (thanks NeHe!)  and other components like the Allegro library.

But never again could I recapture the joy of just making a map, coding some scripts, and doing cool things... like back in high school.  Some 15 years later the spectre of Game Development reared it's head again and in my searches I discovered the FPS Creator Reloaded kickstarter.  I donated to it because at the time I was really impressed that they had a shader-driven engine that cost less than 800 to 3000 dollars.  The visuals were perfectly acceptable and by my standards would save me hundreds of hours in programming it myself.  Development comes along steadily and the system is easy enough to use.  Once the 'construction kit' is in play - I'll be running full tilt.

In the meantime, I'm learning LUA coding for the purposes of improving function in FPSC:R and making micro scripts to do simple tasks.  So far I've done some interesting screen effects and also written some custom AI modifications (shocker, right?).

Like these basic weather effects, for instance.

I hope, with time to produce not only interesting code snippets for what I find is an overwhelmingly helpful community (though considerably smaller than the Unity or Lite-C Communities) which might help pad my monthly art/development budget... which currently sits around twenty dollars per month.

Next time: The differences between writing a book and making a game.

What drove you to start making games?  What kind of experiences did you have?  I'd love to hear your comments and feedback!  If you'd like to support me please feel free to purchase a copy of my ebook:  The Longshores Rising

No comments:

Post a Comment