As a child, I've always been into video games. At first, I didn't think much about them, but I often went on for hours upon hours every day. Even during school times, I often skipped over homework just to play my video games.
During these times, I came up with a game where I used my fingers to "walk" with and "jump" from one area to another in an attempt to reach a certain area, often without "falling" below a certain point. I called this "George Game 13", maybe "George Game 4" for the earliest. I just came up with a random version number. Details are quite vague involving this area.
1.2 Zeliard and that one sound effect
Through extensive play of Zeliard, of which has nearly 2000 total life time hours logged (! and this is only second place for total time, Bubsy (which took over Zeliard) holds the record with 3700 hours), I had the dream of making my own video games. It all started because of a sound effect, of all things. By changing the game's speed to 5 and moving a controllable platform to where an enemy was, I'd get this one sound effect playing at a very rhythmic form, but it, unfortunately, didn't last long.
Having studied the game's mechanics to a great degree of detail, I came up with a challenge - reach the 8th world (the final one, the one with the underwater theme (given the lobsters (48 HP) and squids (100 HP))) with only 1 levelup's worth of power. This way, attack power was going to be 1 which meant that the sound with the squid would play not 10 or so times, but a stunning 100 times. I had trouble with level 7's dragon boss but I eventually made it. I was in for a real treat when I got to the point where I could squish a squid with that platform - yep, 100 times that sound effect played and boy did I really enjoy it! I even recorded it on a tape recorder so I could listen to it almost on demand and/or in rapid succession.
Feeling that even 100 plays was not enough, I dreamt of making my own remake to Zeliard where it plays not 100 times, but 400. At the time, I had no idea how computers really even worked, the kinds of variables there are and their limits, and other related things. I drew everything on paper. This was the closest I ever got to real game design. I still had no clue as to how games were even made. It would be another 9 years, in late 2004 before that dream finally had a chance. It would be a whole 16 years before I began making a game with great commercial potential that came to be known as Platform Masters.
1.3 Borland C++ - what a mess of symbols!
Not long after those drawings, I got this programming kit, Borland C++ turbo or something. I was in 4th grade at the time, if I best recall. I looked at it, but I couldn't understand any of it. It looked like a mess of random symbols, gibberish. Today, although I don't know C++, I can easily migrate to it because of one thing - C is very close to C++, with only a few small differences here and there in regards to syntax.
1.4 Game Programming Starter Kit 5.0
During Christmas of 2000, 5 years later, I got a present called "Game Programming Starter Kit 5.0". It had Gamestudio (A4 Standard), DirectMusic Producer, and an unrecalled program used for writing C++ programs with. I didn't understand programming at all, but I got to fiddle around with 3D game design and Gamestudio's world editor, WED. MED, the model editor, was quite limiting and troublesome when it came to applying a texture to an object. I don't recall if it had SED, the script editor, but I doubt it. I didn't really get involved with it much.
1.5 HTML and my Web site
Starting in August of 2001, my main Web site, currently at ulillillia.us was born. I learned a bit of HTML beforehand, of which was easy to use and learn. This was the first bit of real programming that I did, although it couldn't be used for games. I at least gained enough knowledge with HTML to be able to make a Web site of my own, initially at Geocities then Angelfire.
1.6 Studying game mechanics
I don't recall when I first began doing this, but at some point, I studied game mechanics, the inner workings of games by nothing more than playing them.
1.6.1 Origins and the great advantages
I don't recall when I first began doing this, but at some point, I studied game mechanics, the inner workings of games by nothing more than playing them. I noticed a few patterns, such as how many points an enemy was worth when defeated, or how many coins you could get from a repeating coin box in Mario.
I also noticed that, by repeatedly pausing games, I could work around the 300-millisecond human reaction time, making even difficult games quite easy. When I pause a game, I identify the situation and plan things out. When I'm ready, I unpaused and quickly pause again, repeating as necessary. Sometimes, I don't have to pause, when nothing is around for a while. Pausing also helps me study movement mechanics to a greater level of detail.
There's also the infinite extra lives trick I use often - find a level with over 100 of an item where getting 100 means an extra live, or an extra life that respawns and deliberately lose a life. I then go collecting all the fast-to-get items again and repeat. This often gave me so many lives that I was otherwise guaranteed to finish the game, even if one or 2 levels needed 20 lives to finish. By looking for patterns and the such as I played my games, I gained an advantage that makes me excel at games.
1.6.2 Studying parallax scrolling
One of the most useful elements that I made use of from studying game mechanics is discovering how parallax scrolling worked. This didn't start until near the end of the days of the fourth generation systems. Knowing that different parts of background scenery moved at different rates compared to the foreground where the level itself is, I wanted to learn more about it. With the great speeds I was getting with Bubsy and later Sonic (and a few other games), I was needing other ways to gauge speeds. The backgrounds almost always moved much slower than the foreground parts.
So, I thought, why not study the way this works. I moved the character one pixel at a time (letting the game clock waste away) and counted to see how many pixels I needed to move to get a certain part of the background to move. The clouds in the desert world of Bubsy needed 16 pixels for them to move 1. The furthest rocks had 8 and the banded rocks closer in just above the sand had 4. It was quite consistent too. The vertical was harder to do, but I eventually found out that it was 32 for the first 12 levels, 64 for the forest and 2 for the last one. Trying this with other games, I realized the same things were present. The parallax scrolling in these games was almost always unrealistic and imprecise. Afterall, mountains that move once every 32/7 pixels (Sonic 3's Ice Cap Zone) is way off considering a distant island in the same game uses 32. Sonic 2's Emerald Hills and the desert world in Bubsy are the most accurate I've seen yet for parallax scrolling and it's no wonder why I have over 1000 hours logged on level 8 in Bubsy alone (the awesome music (Genesis version only) also helped)....
1.6.3 Figuring out fog
Through playing 3D games that used fog, I began noticing how distance and fog went together. If the visibility was 5000 feet and I was looking at an object 2500 feet away, the object's texture would be enveloped by the fog's at 50% opacity. The further the object, the more opaque the fog color became. Like I did to figure out how parallax scrolling worked, I fiddled around in these 3D games to determine precisely how fog worked.
1.6.4 Animated GIFs - a precursor to game design
I was also actively involved with forums. There was an option to make an "avatar", an icon found next the display name, usually below it, sometimes above. I could use animated GIFs as well and I thought, why not use animated GIFs? With all this knowledge gained from studying other games' mechanics and identifying their weak points, I began to do this in my animations, as a way to help fulfill my game design dreams. At first, I always stepped by powers of 2*, since that's what I frequently saw in other games (they are always a derivative of powers of 2, such as the 32/7 scale for the closest mountains in Ice Cap 1 on Sonic 3, or 128/10 for the vertical scale in Carnival Night's background on the vertical span). After enough animations, I began realizing some more patterns that I didn't realize in games.
I noticed that doubling the distance caused the object to move half as fast, but also cover twice the physical distance. In addition, the more layers I used, the better the 3D effects became. Unfortunately, adding in more layers required a lot more work until I used Gamestudio to automate this part, leaving only dealing with Excel a necessity. Excel is used to calculate the positions of every layer in the scene. I also began putting fog into my animations, once I resolved the limited color palette issue. 2003 was my prime time for making animated GIFs, coming out with a new one every month for several months in a row. The lack of a batch converter that kept the original colors prevented me from going much beyond 100 frames.
Today, I may hold the world's record for the longest, most detailed, most complex, user-created (as opposed to using screenshots or random images) animated GIF with the most frames (over 3000). With Flash costing a huge fortune, AVI requiring a tedious process to unzip and needing a lot of disk space, and GIF being easy and free, I had almost no choice but to use GIF. It took me years to find a worthy batch converter so I didn't have to keep manually opening each BMP file (later XCF, GIMP's format), and save them as GIF. Today, with everything outside the Excel spreadsheet part otherwise automated, I could quite well make a 12,000-frame animated GIF. Only memory limits me today (the 3000-frame animated GIF used up 1.1 GB of memory alone for the 320x240 size).
1.7 Gamestudio and my first program
I wanted to go with more than just animated GIFs, I also wanted to interact with the scenery. Around the end of 2003, I returned to Gamestudio. They now had A6 when I was stuck with A4 Standard. I had to spend months saving up for a worthy enough edition. The pro edition cost far too much. The commercial edition was a bit more limiting, but it met nearly all of my needs and the price wasn't excessively high either ($199 is quite well-handled as opposed to $899). I went with the commercial edition and got it in July of 2004. I started with a 3D RPG, of which had a dense fog (there was a reason for it). I abandoned it due to the complexity. At some point in the future, this project may resume, but, unlike before, it'll be written in C rather than done with Gamestudio.
I didn't understand programming at this point either, but at least this time, I got a small start on it. Through asking hundreds of questions on the Gamestudio forums, I eventually learned how to program. Gamestudio had a language called "C-script". It closely resembles C, only considerably simplified. I eventually realized that programming is actually nothing more than variable manipulation for the most part from what I can see. After all, image data, audio data, this text you're reading, etc. are all stored as numbers, as variables. Even programs themselves are nothing but numbers at their heart. Computers are really nothing more than calculators, only they're extremely fast in comparison to a standard pocket calculator.
After enough time, I began to realize that I could program almost anything if I could figure out how to manipulate variables in the right way. Gamestudio used a single type of variable that has a range of -2,097,152 to +2,097,151.9990234375 (the real actual range). For many things, this is sufficient enough, but, being the limit hater I am (read: the maximum possible score in platform masters is 9,223,372,036,854,775,807, taking over 500 years to reach), this range caused problems, a lot of problems. Today, I realize that it's actually a signed 32-bit integer that's been "morphed" in a way. A 32-bit integer has a range of -2,147,483,648 to +2,147,483,647 - dividing these by 1024, which is what Gamestudio's "var" stepped by, and you get the exact range that the var uses.
I began making my first program shortly after getting A6 Commercial. With enough progress in C script, I finally got everything I needed to getting this simple program working. I called it "The Interactive Animation". It was supposed to be a way to allow users to change the scaling of various objects as a way to explain my animated GIFs. It was released as freeware in January of 2005.
1.8 The Supernatural Olympics 2.4
Shortly after releasing my first program, I began more complex projects afterwards. One of which is a 3D platformer. The modeling program, MED, was causing me problems and I was also having frame rate problems as well (that, today, I know how to resolve, due to experiments that I've done). The other project was called "The Supernatural Olympics". Originally, it was intended to be a more updated version of "The Interactive Animation". It eventually turned into a game from suggestions from my parents. The development went on clear until 2006.
During the development, I began realizing just how troublesome and limiting the "var" actually is. It put limitations on almost everything I could really use. The way each layer of objects was added was very tedious, limiting the number of layers I could use. Today, I realize that the panel element is actually a struct (structure). Even today, I use something kind of similar to it, only much more dedicated. I couldn't add in slopes as, even a very slight 128H1V slope going up just 1 pixel in the foreground or a 10-foot-high light pole would be more than enough to max out the var (passing 2,097,152). Despite these limitations, I have figured out several solutions to various problems caused by the limited range of the var.
When TSO 2.4 was released, in the middle of August in 2006, I received a very few sales, but I soon realized another one of Gamestudio's limitations causing problems - no file packer means the code and things are easily exposed. I either had to get the pro edition, costing a huge fortune, or find an actual file packer. I found Molebox. It went well, or so I thought. When problem issues came in involving the key file in an E-mail, in that 60% of users couldn't get it to load, I knew that Gamestudio's limitations struck again. Without the key file working, the game ran in free edition mode and an error displayed. It worked perfectly fine on my computer and my dad's computer. However, I noticed some strange problems on my dad's computer - the road lines were flickering in and out like crazy, something that didn't happen on my computer. I then transferred the unpacked version of my game over and the problems went away, pointing to Molebox being the problem. I never used that program since and Gamestudio's limitations really put a dent on my motivation for future games. That was the final straw and as a consequence, Gamestudio was abandoned in the middle of 2006, especially since there weren't any updates going on for a very long time. I knew I was going to have to learn C, of which I've been neglecting for nearly a decade, if I was to get any further with designing games. Today, there is the thought of releasing TSO 2.4's full edition as pure freeware, starting once Platform Masters is officially released (the first beta releases don't count).
1.9 Learning C
With Gamestudio's limitations causing me so much trouble, I had almost no choice but to abandon it. This was in the middle of 2006. I knew I needed to learn C programming, of which I've been neglecting for over a decade by this time. Unlike before, since I was used to C-script with Gamestudio, migrating to C wasn't all that difficult. It took over a year before I finally got the surge in motivation I badly needed. I started with simple things like using printf and scanf to change and calculate things. This first program definitely wasn't a game, but at least it was a start and it worked.
With my first program out of the way, not necessarily a "hello world" type thing that you often see, I needed to get the basics for a 2D game engine set up. I had a huge struggle with figuring out how to get any backend stuff like taking keyboard input and drawing images on screen. All the things I cherished in Gamestudio I couldn't do in C, but at least I had numerous advantages at my fingertips, once I got past the basics. Like before, I asked repeatedly to get past trouble spots. This is what my primary weakness with programming is - knowing what the name of a function is that does something I need, such as drawing an image on the screen. I'm terrible with searching as I find so many irrelevant results. It takes my motivation away and is partly why it took 3 years to find a batch converter for my animated GIFs back then.
Once I got all that resolved, I remade my first project, The Interactive Animation. Using C offered me numerous advantages and many things could be adjusted and enhanced, something Gamestudio didn't offer. One of which was dynamically changing the fog color as the scaling changed. The only thing I didn't do was animate the ground - I didn't know how at the time (I do today though - look at roads in Jeremy's House along with the clouds once for proof (only, these are even more complex)). The remake of "The Interactive Animation" was released on May 6, 2007 and like its Gamestudio-made counterpart, it's also freeware.
1.10 The Supernatural Olympics in C
Now otherwise ready to remake my flawed 2.4 version, I began converting everything to remake "The Supernatural Olympics". At first, things were going well, and I spent over a year working on it, off and on. I was having problems with the terrain and the such and various other areas as well. I could never get malloc to work, or any dynamic memory allocation. After encountering problems with the terrain system TSO 3.x was supposed to have used, among others, such as frame rate problems, I eventually declared the project as "stalled" and no further progress was made. Development went on for over a year. Today, the project is abandoned in favor of Platform Masters since it's almost the same thing and far better on pretty much every front.
1.11 The birth of Platform Masters
On April 16, 2009, a new idea came to my mind out of nowhere for a game. I wanted something that didn't have the graphical complexity of TSO, but something much simpler and also easier. I also wanted something that included pretty much every staple in classic video games - collectables, lives, worlds, enemies, bosses, stories, etc. I spent a lot of time writing a design document.
What started the whole progress was the exploitation of a likely design flaw with Jumping Flash 2 that I've known about for over a decade. By using the missiles that come from the red dog-like enemy, with super or hyper mode, it's entirely possible to get from the lowest point to the highest point without ever landing on the ground. The missiles were used as stepping stones. My YouTube videos, such as this one inspired me to make the clouds in Platform Masters the way they are and thus, the first screenshot was taken and the entire history of Platform Masters has since been documented with numerous videos posted on YouTube.
2 Developing Platform Masters
Since the initial birth of Platform Masters, the entire history from the start to where things are today have been well-documented (outside classified contents of which gradually get declassified months or even years later). Not only are there tons of screenshots, there's also dozens of YouTube videos. The YouTube videos are also narrated by me as well.
These videos are shown here at half the resolution that Platform Masters uses. The individual segments and screenshots in the frequently-updated screenshot archive are also at half size. To watch these videos at the game's real resolution of 1024x768 (as opposed to going with full screen via this player), go here. Clicking the screenshots will show the true size version. (Notice the 1920x1440 resolution that I run everything in Windows at.)
3 The future of Platform Masters
3.1 The near future
At the moment, Platform Masters is a work in progress. As of January 17, 2012, I'm about 55% complete. I'm estimating a 20% chance of release by late 2012, 60% chance by early 2013, 80% by mid 2013, 90% by late 2013, and 95% by early 2014. Several worlds have been fully completed as far as the scenery goes, others close to finished. Once the character is redone, for improved animaation and the inclusion of omitted animation states, I'm only about 6 weeks away from making the game's levels, the most motivating part of making the game. Once the scenery is done for every world (story scenes can wait), progress will seriously accelerate. What may be slow now will become much faster later on.
Like what you do when you do the same thing over and over for weeks on end, you get bored of it. As a consequence, I repeatedly stop working on Platform Masters for a few weeks, often playing Disgaea or some of my other video games. When I get bored of that, or something comes up, such as a solution to a long-lasting problem, I return to working on Platform Masters. When I do work on Platform Masters, I tend to go for 12-hour days nonstop for a few weeks. Think about working an 80-hour work week, basically 12 hours a day and including weekends. That's what I end up doing. For a few weeks when I return to playing my video games, I get zero hours of progress for some time. Overall, I average about 30 hours a given work week.
Continuing to work on Platform Masters, in the usual off and on case I get, will dominate the near future, likely for another 1 to 2 years. As I reach certain points in development, I take screenshots or record videos for use on YouTube, posting them on my screenshot archive.
3.2 The time for beta releases
When Platform Masters nears completion, betas will eventually be released. They will only be of the demo version at first. Through bug reports in this demo, and other adjustments, further public betas may be released which will further check for bugs.
Why only for the demo? Unless I sell the game as a beta, generally unwise, or provide a free download (against my will), there isn't any other known solution. Besides, it'll at least help test for system support and stability, beyond the only 2 computers I can use at home.
3.3 The initial release
Once the bulk of the bugs with system support and stability are resolved to the best of my ability, the game will be released. So far, it's only intended to be available on Regnow, perhaps also Steam or Desura (the latter two are completely unknown to me - YouTube comments is how I learned of its existence). The price is intended to be anywhere from $24.95 to $40 with $34.95 being the most likely. I do intend on offering an early bird special where you can get Platform Masters at $5 less than the initial release price ($29.95 most likely).
My greatest dream for Platform Masters is seeing the box on store shelves. I've even got 2 1/2 pages in my design document dedicated to this very thing. A willing publisher or a print-on-demand publisher for software (like Lulu is for books) is the only thing I'm missing.
3.4 After release - updates and other projects
After Platform Masters gets released, updates will also be released from time to time, much like I've done with my book, "The Legend of the 10 Elemental Masters". These updates will only be of further bug fixes and not new features.
Aside from that, this is where things are a bit hazy. I have 3 projects for consideration.
The most likely is my 2D RPG that I've had planned since 2007 or so. This 2D RPG is mostly classified, but most of the systems it uses and the fact that stats don't have limits (yep, 1000+ years to max the stats out, and billions of years to max out level) are already known. The systems it uses are well-explained in my book, in appendix 2 to be precise. A 2D RPG is easier to make than Platform Masters... except for all the character and enemy images needed.
The next most likely project is a 3D remake of Platform Masters, basically Platform Masters 2. If you've seen all the rich detail PM goes into for its scenery and planning, you can only imagine what I may have in store for a 3D remake of Platform Masters. I even have a few ideas as well but they're otherwise undocumented.
Footnotes:
* Powers of 2 are numbers where x is an integer (no fractions like 4.82 allowed though negative numbers are allowed (depending on the case)) in Value = 2^x. 2, 4, 8, 16, 32, and 64 are examples of powers of 2.