Monday, October 6, 2014

How I got into game design, part 1: The Xbox Days

My story actually starts with Microsoft Word.
MICROSOFT WORD, OF ALL THINGS.

I will try to keep everything as straightforward as possible here. I just can't remember the exact age I was when all this stuff happened so until I specify otherwise, everything from here on took place before I was 13 years old. Also, most of the stuff I am going to show in each blog post is SUPER OLD. I was just a youngster. It was a simpler time.

I used Microsoft Word in elementary school. I found some kind of scripting tool in it, and that lead me to discover JavaScript. THAT lead me to discovering HTML and CSS markup. I spent a long time learning about it because I thought it was interesting that I could make stuff happen on the page. I spent time making random webpages that did cool things using cool scripts and I hosted them on a free subdomain on webs.com so I could feel like they were part of an actual website.

Some time around there, I convinced my parents to let me buy Halo 3. I played that for a good couple of years and made some good online friends. I was always known as the one who made custom maps and gametypes from scratch for everybody to play on in 16-player parties. I was also known as the guy who wanted to find as many easter eggs and glitches in the game as possible. My curiosity was unending. Here's an example:


I even discovered a major glitch in Halo 3 before anybody else:


But eventually I ran out of things to do in the game. I got bored. I was good at it, I made a bunch of custom content using the tools the game provided, and I had searched every nook and cranny of it looking for easter eggs and glitches.

I asked myself... why can't I add to the game's experience? I researched how I could mod the game and managed to learn how to make a few simple usermap item swaps. That means all I could do was swap out items placed in a custom map with things that you couldn't normally place. That was cool and all, but it was too restrictive. I couldn't change the actual map itself.

So when I was in middle school, I found out that I could perform a "JTAG hack" on an older version of the Xbox 360 and that would allow me to run games directly from a usb drive plugged in to the console. That means I could change the game's files in any way I wanted and actually run it. The big deal was that I would have to open up the console, solder wires to the motherboard, connect it to my computer and flash (flash means to send data through the wires and into the motherboard) a bunch of crazy software onto it. I had no idea how to do that, but I was up for the challenge.

I teamed up with my friend and we spent $100 on a an old refurbished Xbox 360 that fit the hack's requirements. I followed a youtube video that told me exactly how to do it. That very video is actually still around! Here it is, if you want to see what I had to do:


And here's a diagram of what I needed to solder on to the motherboard:


So I did that with my dad's help (I actually did it successfully again on another Xbox 360 a year or so later on my own) and managed to run a bunch of really advanced mods in Halo 3. Take a look, and don't mind the constant music:




In order to make these mods that affected the whole map, I had to use a program called Alteration. This program allowed me to open the map files that held each map's information, like all of its models, animations, effects, vehicles, weapons, settings, etc. It allowed me to change anything as I pleased.

Not my picture, but here's what it looks like:


This program only allowed me to change things though. I couldn't add or remove data from the file. That means I couldn't import my own models or assemble my own stages or anything like that. More limitations!

Sometime after I got pretty well known in the Halo modding community, I started to make some friends that were able to provide me the source code for Alteration and with private xbox executable files for Halo 3 that allowed me to do things like mod the game while it was running. I started to look into how I could improve Alteration by programming in new features. Alteration was written in C#, which I found to be dramatically similar to JavaScript. I had the upper hand, but the source code was still to convoluted for me to understand at the time. I had no knowledge of how to read and write binary files, how to handle the data from the map file, or how to do any complex operations in C# because none of that was part of JavaScript.

I still worked on learning C# though. While I studied that and made some weird changes to Alteration that mostly broke existing features instead of improving them, my cousin introduced me to a different modding scene: Super Smash Bros Brawl custom stage mods.

That's where I'll wrap up the first part of how I got into game design. I'll post the second part soon, where I'll go into how my video game modding focus switched to Super Smash Bros Brawl and where I went with it.

1 comment: