Platform Masters Title
Platform Masters - Will you be the world's next platform master?




Last updated: Feb 3, 2011 (first version)
Level 3 update on Jan 17, 2012 (Proofreading and a few extra details and updates)
Level 5 update on Jun 4, 2012 (Section 3 expanded and section 4 added)



1 Before Platform Masters



1.1 In the beginning



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 or programming oversight 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



2.1 The learning curve



Since I wrote the game engine from scratch, utilizing my animation creation skills (for animated GIFs) as a guide, I needed to learn its quirks and limitations. The first 2 years of development involved ever-increasing complexity in the graphics. I really wanted to put emphasis on "parallax scrolling taken to an extreme never seen before". During this learning curve, I thought of new graphical enhancements, how to optimize everything, what the limits are, among others. In fact, Platform Masters, despite the huge visibility and graphical complexity, gets upwards of 200 frames per second on my computer, 300 fps for the simpler scenes. This means that a rather outdated 2.5 GHz Pentium 4 processor can still run Platform Masters at 60 fps. Platform Masters is a CPU-intensive game rather than GPU-intensive (though the GPU does have an effect).

2.2 The real progress takes off



After the learning curve, I began finalizing many things. Much of the scenery, aside from bugs and oversights, is now being declared final and every world's theme is now known to the public. As of May 29, 2012, this is where Platform Master is at today.

2.3 Keeping up to date



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



At the moment, Platform Masters is a work in progress.

3.1 Estimated time of release



I'm estimating roughly 490 days of actual development which points to Q4 2013 release. However, I can't keep at the same thing for over a year straight, no one can. Thus, I take breaks every now and then. I also expect redos from oversights and bugs. This means it's much closer to 850 days (2 1/3) remaining before Platform Masters is finished. This points to a Q4 2014 release. To break down the odds of a release by a certain date:

Probability of a release by a given date
Date*Probability
Before Q4 2013< 1%**
Q4 20132%
Q1 20148%
Q2 201425%
Q3 201475%
Q4 201495%
Q1 201598%
Q2 201599%
After Q2 2015> 99%**


Table footnotes:
* Q1 means first quarter, or January 1 through March 31 of any year. Q2 means second quarter or April 1 through June 30 of any year. Q3 means third quarter or July 1 through September 30 of any year. Q4 means fourth quarter and means October 1 through December 31 of any year.
** By the laws of physics (thanks to quantum mechanics and choas), you can never be exactly 0% or 100% certain on anything.

3.2 At the moment - the scenery



As to what's in store, completing all the worlds' scenery as far as I can (story-related stuff aside) is first on my mind. Without the scenery, I have nothing to make levels with. This will dominate the next roughly 5 months.

3.3 The very near future - game play



What's a game without game play? This part of the process will take about 3 months of work to do. Once the scenery is done as far as I can go, redoing the character's animation is next. Without the character's animation redone, I cannot provide full functionality of some game objects without going back and redoing what I did because collision bounds change, the animation state changes, among other things. Getting the rest of the game objects added in and working is next. This includes the enemies, bosses, their projectiles, the rest of the types of platforms, and others. Without those, I can't make a fully functional level editor. Getting the level completion behaviors working (providing functionality for the all-important goal platform) is another important game play aspect.

3.4 The near future - making terrains and levels



With 20 worlds each containing 16 main levels and one terrain map, this will easily take 7 months to complete. Before I can make any levels, the terrains must be complete as the levels are shaped around the terrain. This is one part of the level creation process I can do right this second.

Making the game's 320 main levels (ignoring story levels) is the next major task. This is the 200 regular levels, 18 boss levels (worlds 19 and 20 don't have a boss), 62 jumbo levels (worlds 19 and 20 have an extra jumbo level to replace the boss level), 20 supersize levels, and 20 tutorial levels associated with the main game. Making the game's levels is best done by making a level creator much like I've already done for the terrain creator. The making of the levels also includes testing them, especially the frustratingly difficult levels in world 20.

3.5 The somewhat near future - the story



Today's games almost always have a story in them in some form or another. Platform Masters is no exception. While I have written the story (4 times), I need another rewrite to conform to all the recent design changes (and any future ones). Once the story has been rewritten, adding it into the game itself, providing the full functionality, is next. However, there's more to it than just simply writing the story. I also need to make any extra scenery associated with the story as well as complete the various worlds that require the story in order to know what is needed (Ronnis for example). This should all take about 4 months to complete.

3.6 The somewhat far future - the overworld and configuration



Quite far into the development process is the making of the overworld and adding the 40+ configuration settings, a task that will take about 2 months to do. The overworld itself, being as massive as it is, will take a long time. Adding the configuration settings (of which involve much more than just adjusting the controls and sound volume), despite the huge quantity and depth, isn't expected to take anywhere near as long to do. Because the sky darkening effect requires the time of day (from the story), latitude (from the overworld) and direction the camera is pointing (from the overworld) for the stars to be represented correctly, I can only finalize that feature once the story and overworld are done.

3.7 The far future - audio and extra features



By this point, Platform Masters is a fully functional video game... just about. Before everything is done, I need the audio added in - the music and sound effects. A game is quite dull without these. Of course, I also need the title screen so that players can start a new game or, more commonly, load an existing game to resume. Those are the basic parts I need. Of course, Platform Masters has more to it than just the main game. There's those blue and magenta flags on the overworld as well that have some sort of functionality to them (why else would they be used?). There's a few other things to add in as well. Adding all this will take about 2 months.

3.8 The very far future - finalizing and release



After the audio and extra features have been added, Platform Masters will become a full-fledged game, ready for sale. However, the release won't be immediately after this. I have to make sure that the game really is as functional as it should be. Who wants a game that crashes frequently or has a level that is impossible to complete due to mistake? Who wants a game where you can't get anywhere because collision detection is causing the character to fall through the ground? The game has to be tested and tested thoroughly. It is uncertain as to how long testing will last, but roughly 2 months is a good approximation. During testing, about 20 or so days in, I intend on releasing a public beta that will check to see if Platform Masters will run on other computers and learn what the system specifications really are, along with getting feedback on any bugs I haven't yet caught.

After the major, moderate, and most minor bugs (ones that are known) are fixed, the official release of Platform Masters will be available. This will be for the full edition. The deluxe edition will take some extra effort to record and add in the developer commentary.

4 Beyond Platform Masters



Platform Masters isn't my only project. I also have a 2D RPG and thoughts of a true 3D version of Platform Masters as well.

4.1 The 2D RPG



Although pretty much everything about the 2D RPG is classified (and even on my end, filled with unknowns), you can expect a lot of the extremes Platform Masters has - needing hundreds of years to reach the limits. Also, what you see in my book, "The Legend of the 10 Elemental Masters", is also a rough idea on what you can expect for the mechanics behind the stats and the like. It's intended to play a lot like the classic 2D RPGs from the early and mid 1990s with the top-down view, random battles, and other such things from those days. Although I'm an extreme powerleveler, you shouldn't need to powerlevel at all. You will certainly be able to powerlevel, and to an extreme beyond any other game. The 2D RPG has been planned for since about 2007, so it's already 5 years into the making... in a way.

4.2 A 3D version of Platform Masters



Depending on the popularity of Platform Masters, making a 3D version of it is considered. This involves real 3D, using actual 3D objects where you can run around on all 3 axes instead of just the X and Y axes. You've seen what rich detail has gone into Platform Masters itself so you can only imagine what I have in store for a true 3D version of Platform Masters. I have, at least, had visions as to what this variant would look like and how it would behave, it's pretty much entirely classified beyond these few details. I don't have a design document for it yet.



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. 21, 48, and 132 are not powers of 2.