– Play Burning Platform –
:: In the Beginning ::
Before Ludum Dare 23 commenced, I knew that I wanted to make a mobile game. I firmly believe that mobile is going to play a strong role in the future of games, and that the possibilities offered by the devices themselves, given their typical assortment of sensory input and output mechanisms, offer the chance to give gamers experiences beyond those that they’re used to expecting from a “game.” One of my goals was to create an experience that literally would not be possible on a general purposed computer. This means using something like the accellerometer, the magnetrometer, voice input, something really unique.
The question in my mind was whether I was going to use Unity3D as my dev environment, or go native. I’d already used Unity for my last Ludum Dare entry to relatively good effect. At the same time, I felt as though I wanted to broaden my toolset a bit and step out into the world of native code. I chose Android for several reasons.
- I own an Android phone and an Android tablet, so device testing wouldn’t be a problem
- I wanted to actually put the app on an app store as my distribution channel (even though the app is free) and Google has virtually no red tape, and instant availability compared to Apple in this respect.
- I currently know Java better than I know Objective-C
At first I wanted to do something really avant garde, and to do it with the traditional Android interface platform using xml view layouts and a little bit of Java glue to make it all appy-but-yet-not-appy-and-actually-a-game. I still think I’ll do this, as the idea really appeals to me. What pushed me in the direction of Burning Platform though, was my purchase of the Asus Transformer and the discovery that some people who had been stricken by sheer insanity decided to write a Java IDE and compiler for making Android apps on an Android device. The tool, AIDE, is a relatively nice Java environment. It seemed totally usable as a code editor, and the dropbox integration was a nice touch. What it did not have though, was an XML interface gui tool. This put the kibosh on my plans to make a more traditional app, but opened up the way to making a more “traditional” game.
I set about transcribing, page by page, from Mario Zechner’s “Beginning Android Games” book, and seeing just how the compiler would fare with his bare-bones game framework. It turned out that the Transformer and AIDE work fairly well for this. Originally I had planned not to use any framework at all, but the time it took me to transcribe Mario’s framework convinced me otherwise. I decided to just use that (as well as some particle effect code that I played with as my test bed) as my base code as mentioned in my “I’m in” declaration.
I was convinced that while I could make a nice game with just the basic get/set pixel calls and nothing but colors, that aside from the technical achievement of making a game on such an exotic workstation the game itself would be rather bland. Fortunately one of my coworkers found and pointed me towards some of the apps that I ended up using to generate graphics and sound for my game. With art, music, sfx, and sound file editing tools all sitting on the tablet, I felt like I actually had a chance to make something halfway decent!
:: Ideation ::
I have to say that this theme was sort of disappointing to me. It wasn’t very inspirational, and I wasn’t sure the ideas I was generating were particularly novel or good. I thought possibly about making a simulation game where a nobody from a small town tries desperately to escape from his tiny world and get into the big city, but I didn’t really want to write up a full storyline for it. Then, like several others, I thought about making a planetary based game, but after two hours of prototyping I wasn’t happy with the way the idea was shaping up and I wasn’t having any fun with it. That’s when it hit me :: A small “world” that shrinks over time, not that you are trying to escape but that you are desperately trying to stay inside of. A mobile device is perfect for this concept, because these devices have accellerometer input controls that let you tilt and sway the device in order to cause reactions in the game world. It’s a game that literally could not be made for your computer or your laptop, which was one of my big goals in the making of Burning Platform.
My original world design had (what I thought to be) a more “earthy” feel. I wanted to have a sort of geographical landscape that shrank away from under you. Unfortunately, when I showed the prototype around, that wasn’t being conveyed by the art. People didn’t recognize it as being much of anything other than a mass of muddy colors. That’s when I knew I had to change direction and make the “world” nothing more than a “platform”. This then brought to mind that perhaps the platform is shrinking because it is burning away under you, and so I added the glowing red effect to make this apparent.
Further volunteer feedback suggested that simply keeping the people on the platform wasn’t quite compelling enough, so I decided to add some pickup items as well. With items that can stop the burning, rebuild the platform, and let one of your guys escape, this gives you something to do other than just try to keep balance.
In the end, the game seems to have turned out to be rather fun, if a bit insanely hard. On the other hand, I believe in making games that are easy to get into, and easy to start over from, so the cost of dying is small. This encourages creative play and experimentation in strategy.
So, what is it acually like to code and create content on an ASUS Transformer tablet?
- You miss the screen real estate of a dedicated workstation.
- You LOVE the fact that you compile the application and it’s right there, without waiting to push to the device
- You LOVE that it cuts the emulator out of the question entirely.
- You really wish there were a better way to keep tabs on logcat than to exit your app.
- You can’t just watch logcat it scroll by as you play with the application.
- Logcat now has a much more limited number of lines of text that it hangs onto.
- No photoshop obviously, but all I need is a paint equivalent, and Pixelesque is a relatively nice one (but with serious limitations)
- Plasma Sound is FUN to use, and FUN to make sound effects with.
- SPC is FUN to use and FUN to make loops with. Seriously I love my soundtrack on this game.
- One thing I could not do on the Transformer was generate a keystore in order to “sign” my game. It’s a bit of Google-required paperwork that you must do in order to actually distribute your app on their market.
:: What could have been better ::
I mentioned that I used the engine from “Beginning Android Games.” That was serviceable, but it was lacking a few things that I really would have liked to have available. Some of these were things I found before the competition, like the fact that Android devices do not treat accellerometer input consistently, and that one must correct for it if one wishes to use it in a game. Of the remaining issues, most of them I was able to hack in during the competition, though I wished I didn’t have to.
The line drawing mechanic, of putting a wall in front of your friends to bounce them around, didn’t turn out as I’d hoped. The walls don’t live nearly long enough to be very interesting as a mechanic, and I ran out of time to really think about how to solve the problem. Now that the pressure is off I think I have a good solution, but because I am distributing the game solely through Google Play I won’t update the compo build until after judging is over.
:: In Total ::
This experience was great fun. Truly, I did not have any expectations that the game would turn out as nicely as it did even a week before I started on it. The abundance of tools, and the horsepower available to even my older model Transformer were all I needed to make a functional and engaging game. I would definitely do this again.
– Play Burning Platform –