New games every week!
Karl's OUYA Adventure
Blog
15th November 2013
Karl's Tiny Adventure was created way, way, way back in March of this year.
You can Play Karl's Tiny Adventure here. The game was my first true test of proper "Image Data Loading", and my first proper lesson in Android Fragmentation. Annoyingly, because different Android devices operate in slightly different ways, the Image Data Loading wasn't occurring in an accurate manner, and as a result, the level data was getting all screwed up. As well as that, I learned that old-skool gameplay doesn't really work well, at all, with an onscreen dpad. -=-=- As much as I loved Karl's Tiny Adventure, the honest truth was, this really wasn't the sort of game to get running on Android systems. I abandoned it. I left it behind. I forgot about it. Karl's Tiny Adventure was an attempt to make a minimalistic reproduction of Manic Miner's gameplay, but with a little more speed and randomness to the gameplay. In many ways it worked out nicely. It isn't "A Manic Miner clone", but it isn't entirely unlike it, either. It's a sort of middle-ground. Last week, I decided to bring Karl back to life, and rejigged a couple of things. First, I stripped out the Image Data Loading and replaced it with good old-fashioned "compressed lines of ASCII data" in a great big pile in the middle of the game's code. Messy, but works. Secondly, I've temporarily taken out the music, because that also uses Image Data, and I've not yet bothered to completely rewrite that stuff, yet! Third, you have a bloomin' controller. And BOY does that make a difference! Suddenly the game springs back to life, and feels exactly the way it oughta. The game is now back to the way I'd originally intended it to be (albeit without any music) and is neatly repackaged and available in the OUYA sandbox area. -=-=- DownloadsShockingly, Karl's Tiny Adventure has sprang into life, and in just a few days has managed to rack up over 100 downloads. In only 3 days, it's been downloaded about 1/2 as many times as BlastTrax, which has been available since the end of October, and has already had twice as many downloads as SpikeDislike2. I'm amazed that this simple little "test" game is doing as well as it is, and I guess that means I need to put a bit of love and attention to fixing up the Android edition, too. Expect some sort of "fixer upper" edition to appear in the coming month or so. Karl appears to be getting the love, so let's give him some back! -=-=- Image Data LoadingSince Monkey's various targets all work in slightly different ways, it's somewhat tricky to use accurate file-access everywhere. All targets can, however, load .png images just fine. I figured that since I could load the image and draw it to the screen, then read the pixels, I could use this to store little bits of data, like Level maps. Although this works wonderfully well on all but one target (guess which one!), and does indeed seem to be a nice way to get things to work, bloody sodding bastard Android decided to break the entire process. Some Android devices operate on the "What you draw on the screen isn't exactly what's stored in the buffer" principle, whereby the device's 16-bit display interferes with the data you're sending it. I was hopeful that I could use bitshifting and multiplication to reduce any inconsistencies, but different devices screw with the data in different ways, meaning you never really can be sure of exactly what's going to end up in the data buffer, nor can you be sure of what device will be doing what style, without specifically testing it on the device first.. Grrr... Views 35, Upvotes 6
Daily Blog
New games every week!
|