Tuesday, February 19, 2008

On ye Creation of Dragones

Once upon a time, I was told that I was going to be working on a neat project involving dragons, and a “create a block, destroy a block” mechanic similar to Solomon’s key.

Dragon Game Prototype

Read on, for the full accounting of how I got here from there, as well as such instruction as is necessary in learning “how to play”.


So. Solomon’s key, but with dragons. Could be great fun! I like dragons! And I like creating and destroying blocks! This could work!

Full of hopes and dreams, I went home for the weekend, and figured I’d give a shot at prototyping what I thought would be a neat way to represent it. “Well,” I reasoned, “Solomon’s key had some limitations about how things had to look. Everything looked square due to hardware constraints. But that was then. Why should I be similarly constrained?”

Thinking thusly, I started trying to make a dragon with some other features. I started with trying to make a tail that actually looked nice.

Several hours later, I had something pretty neat. Problem was, it was too short. So I made it longer. And longer. And longer still. Eventually, I realized that the tail was by far the coolest part of what I had done. But happily, dragons come in many shapes and sizes, at least one of which is pretty much all tail.

So. Slinky, oriental dragons it was!

This was going to be so neat, I figured. We were going to push the boundaries of what a side scroller could be. Why should the main character always fit in a bounding rect? Maybe when CPU load was a problem, but no longer! Now we’re living in the future! Even if I don’t have a flying car, I can still have an irregularly shaped protagonist!

Unfortunately, when I showed the producers in question what I hath wrought, on the following Monday, their reaction was not quite what I was hoping for. When I heard "dragons", I envisioned "slinky oriental serpents, maybe we can push the boundaries of what a side-scroller character is!", and they envisioned "square sprites that spit fire sometimes".

Oh well. They basically said “yeah, that’s kind of neat, but we would really rather just recreate Solomon’s Key…” (They went with square sprites.) Later the whole project was canceled, so it became a moot point. Oh well!


Still, I'm very happy with the effect. (You have to click through the customization screen to see the actual game. It's pretty rudimentary - Arrow keys move left, right, up. Space creates blocks. Holding down space breathes fire or something, which destroys blocks.)

It is very clearly just a prototype at the moment, mostly showing off the fluid snakey motion. I was, however, fairly proud of said motion, so that's mostly ok.

You have to click through the customization screen to see the actual game. It's pretty rudimentary - Arrow keys move left, right, up. Space creates blocks. Holding down space breathes fire or something, which destroys blocks. Having the same button breathe fire and create blocks was in response to a design request that we not go beyond d-pad + 1 button, for controls. It makes it a little cumbersome now, but it still works.

Someday, I'd like to revisit this, since I think it would make an awfully cool side scroller.


Read more!

More of my Handiwork

Digging around through some old projects, and found this little gem.

Handwriting Recognition Demo

Working (mostly) handwriting recognition, in flash, using a fairly novel approach! (As far as I know at least.) Read on for more explanation!


Recently rediscovered this old prototype while dredging the depths of my "projects" directory. Funny story about it, actually. It came about, (as with so many good things) over a dare and subsequent bet. I was working on Leapster at the time, which was an embedded system that ran Flash. The neat thing about it was the stylus input, which, since the Nintendo DS was still new on the scene, was fairly fresh and neat.

We (myself and several other engineers) were musing over the possibility of using the stylus as a text input device, but the general consensus was that that wouldn’t be something that was possible with our CPU available, much less making it work in Flash.

Long story short, after insisting that it was probably possible, at least in a general sense, a friend wagered a candy bar that I was full of it.

As fate would have it though, what I was actually full of was flu virus, and I spent the next day (a Friday) home sick. With nothing better to do, I did some digging into the problem, and came up with this neat little prototype, which I proudly displayed the following Monday. (And yes, I got a candy-bar out of it.)

Sadly, LeapFrog was never terribly interested in going this direction, so it remains a fun curiosity that time forgot. Still, it’s a neat approach. It’s not perfectly accurate, but it does have the significant advantage that it runs at acceptable speeds on our poor, embedded flash system.

I’ve also uploaded this document, describing how it works, for anyone curious about the technical details. The short of it is, it basically uses a transformation, which converts the user’s glyph into a unique number which contains some topographic information, and then checks a giant, sorted list, to see if the number matches with anything known. Since the transformation is fairly fast at runtime, lookups are fairly quick.

Anyway. Neat, old stuff! Fond memories! I can still taste the candy bar! (It tasted like Science! And also like Victory!)

Read more!

Saturday, February 9, 2008

I cast "Magic Missile"!

Missile command. One of my favorite games from "back in the day". This is my attempt to remake it later, and to apply some variations to it. Yet another piece of work done in Flash, which makes it easy to link to.

Missile Commander

Since this is one of the few games that I've actually written to a point that I feel is finished, I can actually do a realistic post mortem on it now.



Overview:
This was intended to be sort of almost a "journeyman" project in game design and programming for me. I basically set two challenges for myself: "Can I come up with enough variations to populate a reasonable number of levels with new mechanics?" and "Can I convince myself to sit down and start, continue and complete a full-scale project like this?" It feels like a success on both counts, so yay!


Specifics:
The basic idea is standard missile command. You protect things on the bottom, by blowing up attackers from the top. Your shots create explosions, and chain reactions can be used to wipe out several things at once. So far, all of this is pretty faithful to the original. What I did to try to spice it up was introduce the concept of "cities".

The player controls up to 4 of them, and switches between them with the keyboard, while targeting missiles with the mouse. While the basic cities are all standard missile launchers, this gave me some neat design freedom to make cities that did rather unique things, in addition to merely launching standard attacks.

I also introduced the idea of each city having its own recharge bar. This worked as an excellent balancing mechanism, since then I could make some cities that did some truly crazy things, but balance them by giving it a long recharge, and forcing the player to cover for it with other cities in the mean time.

The main other direction that I introduced new and neat things, was in the selection of things that would fly down from the top of the screen to harass the player. While I was a bit more creative with player verbs than I was with enemies, I still managed a reasonable number of annoyances. And I was extremely proud of managing an actual, honest-to-goodness boss at the end.

The only other place I did much of interest was in breaking the game into discrete levels, and giving them various goals. I didn't do as much as I could have with this, however, and most levels were basically some variation on "save at least X cities".

One rule I did stick with for levels however, was "one new mechanic per level". I made sure that every level in the game either introduced a new type of enemy, or a new building for the player to enjoy. I think this may have been one of the single best design decisions I made on the project, since it allowed me to ease the player in to new mechanics over the course of several stages. (For example, the game had a theme of "force fields protect you, but are destroyed by electricity" that was built up over several levels of progression.)

General things I think I did well:

  • Lots of neat cities
  • A fair number of neat enemies
  • The pacing was generally good
  • The end boss ruled, and was a good top to the game.

General things I think I could have done better:
  • The game could have greatly benefited from sound, and possibly a slightly higher framerate.
  • Level 10 was entirely too hard. All the levels before and after it were ok, but that one was an absurd spike in the difficulty ramp, for the sake of one neat mechanic/effect I wanted to play with.
  • Some of the later levels, the art choice (dark missiles against a dark background) were occasionally frustrating.
  • Later levels could also get fairly hard. I think I succumbed to the trap of "it's easy for me, who has been playing it all month!"
  • The end boss requires you to wait through too much animation before you actually get to fight him. (It's cool the first time. Tedious on repeated viewings however, and there is no way to skip.)
  • Would have been nice to have had a more satisfying ending. It's basically just a "you win!" screen. The battle, etc, was great, but some graphical fanfare would not have been inappropriate.

Read more!

I like cake!

A postmortem and quick review of some work I did earlier this year.

Birthday Cake

It's neat! It's candle flames! Watch them flicker! It's... one day of work, so don't be too disappointed if it's little more than an effect showcase.


This was a 1-day flash project I did, as part of a birthday for a family member. (I have at least one family member tolerant enough to let me get away with making flash birthday cards for holidays, which works fine for me, being the consummate procrastinator, since they can be emailed...)

It's basically a birthday cake. It's not even much of a "game". Most of the fun is moving the mouse around and watching the candles blow and flicker. The whole thing really is a lot of me experimenting with trying to make things look luminous, while trying to guestimate how candle flames flicker.

As a post-mortum-y thing, this version would probably look quite a bit nicer if smoke or something came up from the candles after they had been blown out. Also, as at least one friend has pointed out, it's thoroughly unsatisfying being unable to blow out the last, big candle.

(Both of these were not problems in the original. In the original, however, every candle blown out released a sappy, birthday wish. This is the de-sappified version.)

Read more!

Friday, February 8, 2008

Aquaria Playthrough Diary 8

A brief update, in which I brave the depths of the abyss, learn to bake a truly legendary cake, and learn that the truest love is that which comes from evolutionary selection-pressure.

Played a bit more, and took a break from my repeated attempts to kill the thing hanging on the ceiling in the bubble cave. I hate giving up on it, since it was such a pain to get to, but I'm running out of ideas. I went back to the veil though, and finally took down the giant squid. And hooray! Got a baby pet dumbo squid that follows me around like it thinks I'm it's mommy. (Presumably as some sort of recognition of the realities of evolution? Clearly the results of our battle showed that I was more fit than it's mother?)

I did not emerge unscathed from the squid fight however. I discovered (actually while playing in the bubble cave) that the number keys 1-9 seem to act as an instant “change form” button. Handy! Except... now I can't stop using it. It's TOO handy. The squid was actually difficult to beat without it, really. (Being able to instantly switch between beast form and sun form was invaluable.)

Also took some time to stock up on veggie cakes. (And special cakes! The berry on top makes all the difference!) And reflect a bit on how I do like the cooking system. I also explored a few more nooks and crannies that I'd skipped before, and discovered some neat toys. (Found a recipe for legendary cakes, woo!)

And then, some more time in the abyss. The little dumbo jellyfish is neat here, but really not quite adequate. Back to sun form. Exploring a bit, I discover.... a giant whale? ... Not what I was expecting to find in the ocean depths, (was figuring he'd be up near the veil, actually) but ok. Singing the whale song, I get him to open his mouth, and find a few neat things when I swim into it. Except that there's a little squid who looks like a shopkeeper, who seems to want something. And he's guarding a perl that I need for a different spot in the level. And I have NO IDEA WHAT HE WANTS. It's a little annoying actually.

He just keeps singing the same four, color-coded notes again and again, but doesn't respond when I sing them back. I can only imagine that I'm supposed to remember them and use them somewhere else, but so far, I have no idea where. Maybe it will become more apparent when I explore the abyss further?

I also found the mother of all jellyfish. This is a neat boss. I haven't beaten it yet, but I like it a lot. Unfortunately, at least one thing that has been hampering me is extremely annoying. For some reason, save-game doesn't seem to save your stored-up shots in beast form. This doesn't seem like much, but for the jellyfish fight, beast form is incredibly important. (To the way I'm approaching it, at least.) It's incredibly useful for clearing out jellyfish that are chasing you. And it would be great to be able to attack the center without leaving beast form. (Most beast form shots are superior to energy form, for this fight) But... if you die, they all go away when you continue. And there are very few things in the abyss that you can eat to get more shots. Which means I almost feel like the game is punishing me by making me go travel somewhere and grind by eating squid or something. (A strange thought.)

I'm still in the abyss, but haven't explored all of it yet. Probably play more soon.

Read more!

Sunday, January 20, 2008

Aquaria Playthrough Diary 7

So, instead of working on my own projects today like I meant to, I instead spent an awful lot of it playing Aquaria. Read on for my sordid tale of cradle-robbing, cryptography and deicide.


After having gained the nature form, I spent a long time trying to figure out where to go next. I explored all the blank corners on my map, but nothing really opened up. Since I wasn't finding any way forward, and I WAS finding an awful lot of writing on walls, I focused on deciphering it. I found enough samples that I can read it all now, and I'm honestly kind of glad I made the effort. It has a lot of nice flavor. (Paradoxically, I'll be annoyed now if there is some power later that translates it for you. Having made the effort, I don't want it to be invalidated by some freebie from the game designers.)

The writing itself ranges from cryptic (“Does absolution lie above the waves?”) to flavorful (“Mithalas beckons you”) to surreal. (“Rainbow soup, my only escape...”) (After reading the last one, with minimal experimentation, I managed to cook up some rainbow soup of my own. Its effects were... unique.)

Eventually I ended back up in Mithalas chapel, wondering if it was where I was supposed to go next or not. And here I have a complaint. I went to fight the boss, but he was different. He used an attack that I'd never seen him use before. (A suck-me-into-his-mouth thing.) Maybe I just missed it before, whatever. Since I was already assuming I had to feed him bloated fish-men, this seemed like an ideal way to make it work. Yup, he didn't like that. So now he gets really mad and starts shooting tons of beams at me, and refuses to eat any more fish men. I have no clue what to do next. After all of my attacks ping off of him, I get bored and chuck a seed his way, from nature form. BANG, he dies.

What. The. Heck.

Ok, so maybe there was some subtle cue that I was supposed to go back there after learning nature-form. And maybe there was some subtle cue that spiky kelp would kill a giant man-shark? If so, I missed both of them. This boss ended up feeling completely arbitrary, like he only died because I happened to have the right power with me and needed to tap him with it.

Oh well. At least I guessed right about what I'd get from killing him. (A form that could bite, and a way to get past currents that are going the wrong way.) The stealing enemy projectiles is a cute side-effect. And I like being able to eat schools of fish for health now. (I really have very few inhibitions about killing sea life, as long as it isn't with energy-form...

Oh yeah. Speaking of sea-life, I wandered through the energy-temple, now that I knew how to open red flowers to find pearls, and fought a boss-blaster. (That had, what sounded like, a creepy laugh.) And after blowing up the giant mother blaster, who was clearly just defending her young, I stole the egg and raised it as my own, with myself as the only mother the poor, kidnapped blaster would ever know. He's kind of cute. I call him “Blasty”.

Later, I went back to the giant nautilus, and repeated the grisly ritual of matricide followed closely by kidnapping. Although the nautilus (“Naughty”) is not quite as useful, so he gets less face-time.

Perhaps because of the macabre origin, Blasty is a little violent. I try to keep him away from the blue jellies, but he's managed to kill 3 so far when I wasn't on time. Also, Naughty had a funny scene where I was trying to ride some giant fish (under my house) and Naughty ran up and smacked it. It was unexpected and rather amusing. I like to imagine that Naughty was jealous.

As a side note, the Nautilus fight was quite possibly the most fun boss battle I've had yet.

I went up to the area in Mithalas that I couldn't get to before from the current, and here I have to admit, was a wonderful, wonderful moment. I could barely see a ghostly form in the room, but I couldn't seem to interact with him. So instead I went over to the middle of the room, because the window had some writing on it. The camera got all nice and zoomed up, and I slowly translated it. “Mithalas drown unbelievers” it read. Disturbing. I turned to go, and THEN the 3 spectral priests showed up to fight. Freaked me out, since they came just as I had decided there probably wasn't anything else I could do and was about to leave.

Next I wandered over to the veil, and I have to admit, here is one of those rare perfect moments. The water surface effect was exactly what it needed to be, and jumping around out of the water is great fun. The map freaked me out a little at first (so big and open!) but after I realized most of it was air, it was a bit more manageable. I found a few spheres of water floating in the sky, reachable by jumping, (It's fun seeing Naija cross land, creature-from-the-black-lagoon style) and I thought the designers had just said “Screw continuity, this will be fun”, but after later discovering the luminarians, I realized that this was probably in-character for the world. Either way I got a nifty sea-urchin helm to wear.

I also found a nice cave full of turtles (yay!) and a not-so-nice cave with a giant octopus in it, that I still haven't figured out how to beat. (Or even hurt.)

Speaking of the luminarians, I wandered over to the sun-temple next. The first (and main) puzzle nearly defeated me. I wasn't sure I had everything I needed to progress, and having been burned once already, I was a bit skittish. The “slide the thing on the water surface” is a neat puzzle basis, but it wasn't clear at all that the crystal-holder could move, so it took a long time before I tried casting binding on it. (After I realized that, the rest of the puzzle wasn't bad at all.) The boss was a pain, but the creepy writing on the wall in his room was worth it by itself. There seem to be a surprising number of races that got blown up by the creator. Given the text I'm reading on walls, I have a theory what the final boss will be...

Also recovered a nice memory of Naija freaking out some guy on a boat.

Sun-form in hand, I started heading towards the abyss. I took a side trip to the Agnassi ruins (or as I like to call them, the seahorse sanctuary) and was very impressed with their architecture. I also liked the whole racetrack element. I spent the whole time wondering what those crystal turtles did. And then when I finally read out the spell on the rock... LAP 1! Start!

I also found some song on a wall with a picture of a whale, but singing it didn't seem to do anything, either where I was, or later, when I found some baby beluga whales.

Marvelous. I finally got 1:17, but not without a little substance abuse. (Hot soups! Racer's friend!) I also fought some giant crab, but I'm not sure if I cheated. I made him walk over my spiky kelp, and he kept jumping up and down on it, and mashing his vulnerable face against it until he died. It didn't feel as epic as some other boss fights. Got some nice crab armor though. I'm getting all sorts of costumes now. (And tons of toys for my cave, too.)

I wandered through a bit of the abyss, and decided that the glowing things in the depths were extremely well realized here. (Especially the ones that swallow you until you get out somehow.) I took a detour to the ice caves, and the ice veil. After some aerial acrobatics, (that were hard enough to be bordering on “Very frustrating”, I found a giant cave full of water bubbles, complete with a boss.

And that's where I stopped. After several tries to kill him, the best I was able to discover is that I can knock him off the ceiling (he's a giant cave-fisher sort of thing) with spiky kelp. But after that, it's not terribly clear what to do next, and so I called it a night. The bubble cave itself doesn't help matters. It's hard enough to get around that it adds a lot of extra time (at least in my case) to every boss fight, just from reaching him. I realize that the bubbles ARE kind of nifty, but after 5 or 6 times of trying to get to the boss to try to fight him, it got kind of old.

I feel like I must be closing towards the end of the game. I suspect I'll find it (or at least a lot of it) in the abyss, or possibly deeper, since it looks from the map like the abyss map might go further down... More later this week, I imagine.

Read more!

Saturday, January 19, 2008

Aquaria Playthrough Diary 6

More watery pachinko machines of doom! And here was me just talking about Project Horseshoe's use of that term, when what should I discover in Aquaria but... something that can really only be described as such. Read on for this, and more adventures in Aquaria!


More of the kelp forest. And yeah. More pachinko. In this case, it takes the form of some neat little plants that operate much like pinball bumpers. And a whole bunch of them. In a current. I did manage to bounce off of them to get a prize at the top (or bottom in this case) but much as in the case of real pachinko machines, I'm not really sure that it was anything I did skillfully so much as just trying until it worked. Oh well, didn't all that long, and I look forward to seeing what it makes my cave look like later.

So. Highlights:

Learned some more recipes. Thought happy thoughts about how the "crafting" system is set up in this game. I like it a lot. Started learning some vegetarian dishes, including soup and cakes. These are significant because they give me regeneration, which turns out to be an incredibly efficient way to convert leafs I pick up into healing.

Made it to the boss of the kelp forest. Was a little sad - I didn't really WANT to blow up the giant face in the kelp, but apparently there is no leaving until I do. The boss fight itself was fairly neat though, especially with the progression as the boss got "angrier" and started spawning more things, or eventually just went full out attacking.

The cut-scene that greeted me at the end didn't make me feel terribly better either, for that matter. "Once upon a time there were some peaceful, kelp-dryad things that lived and were happy. Later, their god decided he could make something better than leaf-things, and so tore them all to bits. The only thing he left alive was their mother. Who you just killed. Jerk."

On the brighter side, the song I learned as a result almost makes it worth it. Really enjoying swimming around in nature-form, and I finally get to know what those strange blue plants I've been seeing are. And also, a trip to the energy temple is apparently in my future, since now I know what that big red plant I passed in there was. (Apparently they contain pearls?!?) I like making flowers around, and I like being able to make giant spiky pillars. They have been useful so far in several cases.

For one thing, they're unwieldy but effective weapons. I've had good luck boxing myself in with them, or sometimes if I'm especially lucky, boxing in something else. (Or sometimes especially unlucky and boxing them in with me...) Somehow I don't feel quite as guilty poking things to death with my giant kelp death-spines, as I do with blasting them via energy form. Go figure? I still draw the line at jellyfish however. A friend has informed me that the blue jellies seem to be pretty good sources of jelly oil and health, but I still can't bring myself to go after the blissful metroid-like blobs.

The forest-sprite cave was cute. They're weird-looking little buggers, but so it goes. I notice they have a "bed" in their cave, but I still can't figure out the point of beds. Aside from the dreams that showed up at the very beginning, they don't seem to do much. Maybe they recover your health? They always seem to be right next to red crystals though. Oh well, flavor if nothing else.

Some nice flavor-scenery in this area. Really appreciating the art. I was very happy to see that the giant long-legged happy thing was in the actual game, and not just in the cut-scene with the plant-people being torn up. The sunken ship was a also neat, although a bit of a disappointment until I found the secret passage. I still haven't been back to my cave for a while, so I don't know what the treasure-chest-o-bubbles will end up looking like, but one more thing to go look forward to, I guess.

Riding around on Sea-Horses and trying to balance "getting where I want to go" against "singing along with the background music" remains as fun as always. Kudos again to Bit-blot on that, if nothing else.


Speaking of bit-blot, I'm still wondering what's up with their logo when you start the game. Or specifically, what's up AFTER their logo, when we see the nice scene with the birds. And the windmills. Sometimes. And even more infrequently, the dragon. Not sure what it means, but I like it when the dragon shows up.

A bit of metagaming: I found "shark fin soup" which seems to make my "bite stronger" so I'm assuming that I'll find a form at some point that bites things. My initial guess right now is some kind of shark form, possibly learned from the boss of the Mithalas chapel. Since he was a big shark, and all.

I made it to the mermog cave, and then got bitten to death, and realized how far it had been since I had saved last (the forest sprite cave) and decided to call it a night. I like that it is challenging though. (The precision swimming around the spiny sea slugs was fun too.)

Probably play some more tomorrow.

Read more!