This is Bananattack.

Tag: art

Quest for Colour

Posted by Overkill on April 12, 2009 at 5:50 am under Uncategorized

I remade my first compo game, Quest for Colour for fun this weekend. It was a neat experience. It taught me a lot about my old art and code, and how I’ve improved since then. I had plenty of head scratching puzzle along the way.

Among the improvements was a HUD showing the time limit, bits collected in the current area, and overall completion percentage. Gave the player way way more time. Scrapped the old battle system, and replaced it with a quest to capture all the slimes. Although it’s sort of annoying it’s less so than the battle system that was there.

There was some god awful hideous work-around code, that I commented out and replaced with like one or two lines of new Verge. It shows how both Verge and my coding has evolved.

At any rate, it’s there to download and drool at now.

I can’t say I was fully satisfied with what I’ve done, but I’ve made the thing a little more presentable and thus more playable for everyone. It was a fun diversion. So, go check it out.

UPDATE: Fixed more bugs with the game, and added a difficulty selector. With the addition of hard mode, which IS hard. If you switch maps which you haven’t cleared, all slimes return. Easy mode is the same difficulty settings as last update. Normal mode is slightly more challenging.

Tags: , , , ,

No comments (make one!)

Resonance Rebirth

Posted by Overkill on November 30, 2008 at 6:20 pm under Uncategorized

So this week, I began working on Resonance for the first time in a long while!

So what did I accomplish? Read on!

Walk Cycles: Boy, I suck at animating

First thing I spent time looking into was trying to make some walk cycles. I struggled with a 4-frame walk cycle, but there’s a bunch of things off with it that still need to be fixed.

Here’s the sprite sheet with a walk frames:

I’m too embarrassed to show it off in motion right now because it looks really… odd. I think I need to up the frame count and stop using ping-pong style frame switching.

I might just start over, since it only took a couple hours.

Abilities: Take Two

I also started to give thoughts to another aspect of Resonance, the ability system.

Currently abilities in Resonance just don’t feel “fun”, and are sort of overcomplicated with the whole level-based-on-position-to-beacon. I decided that this need to be changed. I present my — I hesitate to say “new”, but — fresh ideas on ability management!

All abilities are on/off, not level scaled. This means that you don’t need to worry about a level 3 jump boost becoming a level 1 jump boost and trying to memorize what the hell the difference is.

It means that I actually KNOW where each ability’s useful range begins and ends. Right now, the level 4 power is given by a like 1/8 of the broadcast range, and level 3 by 1/4 broadcast, and level 2 by 1/2 broadcast, which is just horrendous to deal with level design wise, and also DEFINITELY not clear to the user where something starts and ends.

This also improves how I can present the information on the HUD, since now I can show a show a gauge that indicates your distance from a beacon, instead of an arbitrary “level” indicator. And when an ability is near the “fizzle-out” distance, I can display nifty warning effects.
Abilities are distributed over “channels”, and are received by “equipment”, where each beacon in the world has an assigned channel it broadcasts on, and each equipment piece has a channel/channels it “listens” to. So you have, say a Weapon, Armor and Shoes, which determine different aspects of your ability listening.

At first this seems like a complicated thing to introduce, but hear me out!
Abilities on the same channel can be mixed.

So let’s say an “Alpha” Pistol can pick up on all modifiers broadcasted to the Alpha channel.

So there’s a base power: shooting stuff. Overlayed on top of that are the abilities in that channel.

So say you bump into an Alpha beacon which broadcasts “Frenzy”, it will turn your weapon into an automatic. And another Alpha beacon elsewhere broadcasts “Electrify”, which will make your weapon shoot powerful shockwaves. Walk into a region that broadcasts both Frenzy and Electrify, and you get a machine gun with electrical rounds.

Meanwhile, a “Beta” Sword picks up on all modifiers broadcasted to the Beta channel. A beta Frenzy will give you a rapid slashing attack, which is different behaviour from the gun.

Perhaps your final Shoes pick up on every channel, then, you get a Alpha Double Jump, a Beta Sprint, and you can use either at the same time, since the equipment listens to both channels.
But there’s more! Channels can be jammed and “bad” broadcasts can be made.

So listening to only one channel with equipment has the disadvantage of jamming preventing any abilities on the channel going through.

Bad broadcasts are also possible, so equipment that listens to multiple channels is more vulnerable. So something like reducing visibilty on screen, or gradual damage to the equipment holder could be employed.

These are both mechanics the enemies (who I plan on describing more in a later post) can use.
New channels are found as you go on, so for starters, there might be two channels, but later you’ll get equipment that listens to far-out there channels.
Certain enemies can listen to channels for abilities too, so any ability (good or bad) is picked up by the enemy’s equipment that can listen to special “enemy” channels (which you get access to later). And later enemies could be able to listen to every channel, to introduce a challenge further on.

Abilities: The Tough Part

Okay, so I sort of lied, I made the system more “comprehensible” and simpler for level/game design.

This isn’t exactly making the game’s ability any system simpler codewise. It’s more complex in code.

So in summary the new immediate things to do:

  • Make beacons that are on/off by range
  • Channels are introduced — need to give them cooler names than greek letters
  • Beacons have a single assigned channel for their abilities
  • Equipment has a base ability, and a list of channels it can listen to
  • The equipment interprets how to apply each power received to its base skill, and (weapons especially) should smartly mix combinations of powers on a channel.
  • A HUD of some sort needs to be planned out
  • I need to make enemies
  • Those enemies need to use equipment + modifiers and employing jammers smartly somehow, and this means clever AI (eek?) or smart scenario planning.

That’s about it for now. Also a warm hello to Kael and Zaril, who also seem to be making sidescrollery things.

Tags: , , , ,

No comments (make one!)

My Big Throbbing Love Organ

Posted by Overkill on February 24, 2008 at 2:21 am under Uncategorized

Yeah, that’s right, I drew a cutesy heart icon. Why, what did you think the title was referring to? Sicko.

Using it, I added a animating health meter to Resonance!

Get it here.

I’m not sure if this is this the sort of health gauge I’m going to stay with, just need something for now. I might switch to a percentage-style meter system which Megaman, Cave Story, Kirby Superstar, Castlevania, and a ton of games use. It’s a little more nice than a tick-style system, in that you get in-between health amounts, but slightly less fun to look at, because there’s less artistic representation usually with these sorts of gauges. Then there’s Metroid, which has several energy tanks and an active tank which has a health rating out of 100 (plus reserve tank which effectively doubles the tanks you get).

Oh, and then I need to think! How will underwater breathing work? Lots of games just let you breathe without penalty (NES/SNES age Marios on levels where water isn’t a deathtrap, Metroid, Kirby), or somehow keep you from going in water until you get a proper ability (Link to the Past), or keep you from going underwater but you can still swim until you get an ability (Aria of Sorrow). Then there’s Ocarina of Time, which had it so you’d just float back up after 3 seconds of diving (unless you get stuck underneath something, then I think you got hit with damage until you surface). Then there’s lots of games where you have limited air supply and start taking damage after air supply runs out. Cave Story took this too far, and just had you die instantly after about 15 seconds (100 air) elapsed without surfacing, which I didn’t like. Then I remember Mario 64 (and Sunshine, and maybe Galaxy, too?) had this wacked out health system for breathing underwater that overlayed your current health. Oh, the dilemma of water handling in video games!

Moving on, you can take a deep breath again, I find thinking about water levels a lot affects my breathing slightly!

I recently cleaned up a lot of unused files, and renamed the ‘chr’ folder to ‘sprites’, because none of the sprites use Verge’s CHR system (instead they use Mungo, a simple associative data language!). I might eventually move all my resource files into a folder called ‘resources’ or ‘res’, just to tidy up things and give my data a bit more hierarchy!

Oh, and I renamed my ‘v3′ namespace to ‘vx’ after Kildorf and I decided to rename the ‘LuaVergeRaw’ (internal v3 binding) package to ‘v3′, which was a better name. vx stands for Verge eXtension!

Since I don’t know how much I mentioned it before, vx is a slightly object-oriented approach to wrapping the v3 library, addressing some personal gripes with the classic library and making it nicer to compose with OOP. Kildorf seems to be doing the same thing, but I’ve did it first! I made my library before anyone actually knew LuaVerge existed! Zeromus and I meant it to be the official middleware wrapper to LuaVerge, but unfortunately there were a few things holding it back, and I’ve since decided that the ‘classic’ verge library should still be accessible to those that aren’t comfortable adapting to a new API.

Nonetheless, vx is kickass. Some people might appreciate its slight similarity to ika’s library, but it’s nicer to use in some aspects. For instance, a vx.Image is more powerful than ika.Image and ika.Canvas combined (in terms of how easily it can be manipulated — not so much render speed sadly). I think this could definitely be useful for those ika users who are on the fence but like Lua. Additionally, it can be intermixed nicely with the raw, classic bindings of Verge3 (which are also pretty solid) when this alternative API seems to be too much of a stretch. So if you were interested in LuaVerge, but wanted an alternative library that caters to your Lua script-kiddie OOP-seasoned mind, you might want to use vx! If you have questions about using this library, feel free to post on the regular Verge help forums, since I endorse this, and I want to make a usable game making interface.

I would NOT, however, recommend jumping to a new language midproject. If you’re actually getting somewhere using VergeC, why waste more time to learn a new language, and then rewrite your code? LuaVerge is certainly easier to pick up than VergeC, if you’re starting something NEW though!

Oh yeah, and I have an SVN for Resonance now, for those that are interested: (username: anonymous password: anonymous). The latest version of vx is always included in this SVN (for now, and hopefully forever). And here’s the vx documentation for those who want to see: (once again, you’ll need that SVN password). (Update: Things changed a bit. Please see for the latest information about vx!)

In other news, Thrasher, the metric unit for failure, has returned. Now I’ll have somebody else to make fun of again!

Now I depart. Look forward to more meaningful progress again on Resonance soon!



Tags: , , , , ,


A Ghastly Green Gruedorf Machine

Posted by Overkill on February 2, 2008 at 9:59 pm under Uncategorized

I lost Gruedorf again. Twice more. But I’m still alive, and want to continue work on Resonance! I’ve just finished a map, with lots of grass in it! Man, it was a pain in the ass to plot all those grass tiles down, but it’s done, it’s behind me! Eventually I’ll update it to look less visually bland by adding decorations to overlay the grass, maybe making a parallax scrolling background, and actually having fun things to do and things to shoot.

Get it here.

In this release, I also added in a small amount of interaction with beacons, so you have to find and turn on/off beacons to use/not use them by pressing Up on the keyboard. Z still shoots things, you just need to activate the fusion pistol beacon first. Sometime I’ll add new beacons besides just the map beacon and the fusion pistol thing and things will be more exciting and enjoyable for everybody!

Anyway, that’s about it for now. Enjoy, and hopefully I won’t fail next week, and I’ll see you by then. Later!

Tags: , , ,


Eyecandy is Made from Molasses

Posted by Overkill on January 5, 2008 at 11:10 pm under Uncategorized

Sloooow week.

I’ve been doing very, very tiny changes to the engine. I made an exporter for Mungo, and made it so the game will popup messages when you newly encounter abilities. Also, drew slightly nicer artwork. Updated the hero a bit to have a slightly nicer head, and a scarf, and some color enhancements. It actually mirrors well too, finally. Been drawing some other sprites too, but I’ll leave displaying them until I’m satisfied with how they look.

The grass was also given a tiny makeover for more enjoyable aesthetics. The grainy high contrast dirt was hard on my eyes, so I replaced it with transitioning the grass into darkness. Oh, and I added fancy-pants 60 degree angle hills for more landscape variation!

Here’s the updated tileset as it appears so far!

I’m thinking the water will need a redo, because it doesn’t look very pleasant at the moment and I’m not sure how to animate it without looking totally cheap (right now it just goes back and forth).

Oh, and I want to start on this underground mine cart level I had in mind sooner or later, cause that’ll be cool. That requires completely new landscape, with lots of dirt and wooden frames and railroad tracks! It’ll also need rideable carts and, I’ll need to make moveable beacons that can be loaded into the carts. Maybe drippy ceilings with puddles on the ground or even enemies! Cause that’s right, I have an awesome level idea in mind!

Here’s a game screenshot and stuff:

No build this week, since I’m running out of time and there isn’t really enough for it to be worth bragging about. I move back to school tomorrow morning so I can’t do the usual “get up early Sunday morning and slap together another more awesome Gruedorf” routine. Yeah, so I need your encouragement, folks! I don’t want to drop my progress just cause I’ll have a social life and school work to do again. Well, gotta run. Enjoy.

Tags: , , ,

1 comment

Resurrected with another name.

Posted by Overkill on December 16, 2007 at 12:37 pm under Uncategorized

After being pushed into a state of loseitude for two weeks by exams and all-nighters on school work, I have been clawing my way out of the inactivity abyss. On my way up, I thought fervently about a better title for Signal.

I decided that Resonance was a more fitting title, but I’ll probably change that again as I make more progress.

I’ve also come up with a semi-interesting way to do Resonance’s story. The main player is typical person, no real special powers or something. Then he and a few allies are assaulted by some monster thing. The player defeats it, but then an explosion occurs which propels an antenna tower into him, pinning him to a transformer, and impaling him and destroying him entirely. Several communications towers across the world no longer “work” after this.

The player is somehow given a second chance to live as a magical electrical field thing that has the deceased hero’s form. He initially gains an armored suit in order to disguise his appeareance because he is, by all human accounts, dead. The player is only kept alive by being in close proximity to at least one beacon (that is “broken” by human standards because they no longer transmit communications – but resonate with our player) AND a finite “health” meter.

Initially, things like metallic objects and thunderstorms, adveresly impact the hero by forcibly pulling him along them and getting damaged upon reaching an end. Thunderstorms would displace the player and be near-lethal. Stuff like maybe railroad tracks would “teleport” the player all the way to the other end of the track. Later on, these things will have no effect on the player, but initially, it would help to constrain the player’s exploration in order to teach them some things about the gameplay and it could also make for some interesting story sequences!

The player is motivated by a mixture of causes, but prevailingly a desire to return to natural human form and to explore the scientific mystery they’ve become. Eventually, the player will be capable of returning to their initial human state, but things won’t be the way they were, people will move on, and the player will realize essentially how weak they are outside of their “resonant” form.

In addition, various nit-picky art fixes were made, and I’m still not satisfied. But I may as well just move on for now and animate the damn thing:

Lastly, I made a textbox! A very sexy textbox. Check it out:

Here’s this week’s build, so you can see it in action, and most importantly, hear the really horrible punchline!

Now I’m off. Look forward to more posts hopefully, because the holidays are typically rather boring. Das ist alles.

Tags: , ,


A Creative Canvas of Cool Critters.

Posted by Overkill on November 25, 2007 at 11:35 am under Uncategorized

This week I decided to invest time in the artwork. It was exciting to draw these sprites, and I plan on making more.

To summarize the picture, I made a new hero sprite, a tree monster thing, a crow/oversized black bird, a pea shooter weapon, a sketch of the signal beacon, and a silly and excessively bloody death scribble. I had a busy school week once again, but I think the artwork is still sizable progress, taking that into account. There is no new build yet, but eventually I’m gonna add the art to the game and, well, actually make progress on level designs.

Progress might be going slowly, but I have a lifetime to make it. I have no plans to drop the project at the moment. To my adversaries and you nemesissies, you will fall by my hands! …Just wait a couple years! ;_;

Tags: , ,