Käfer is a short tech-demo kind of game I wrote for one of Shmup-Dev's periodic design sessions. In these sessions, a broad theme would be assigned at the beginning of the session and participants would create a game interpreting that theme, trying to come up with interesting game mechanics and play that reflected it. There are two versions of this game, as I participated in two sessions and used the same base game as a starter for the second. For the first version, the theme was 'Land and Air'; for the second, 'Boss Rush'.
Land and Air
You play as a beetle-mecha, which can switch between land and air modes; while in air mode you cannot be hit by land bullets (which are red) and while you're in land mode you cannot be hit by air bullets (which are blue). Equally, you cannot shoot at air units while in land mode, and vice versa, but this doesn't mean that they always can't shoot at you.
Use the arrow keys to move, the Z or space button to shoot and either the Shift or X button to switch modes. Switching takes a second, during which you cannot fire but can be hit by bullets in the zone you're switching to, so be careful. You should always be able to see the bullets in the other zone, at least a little.
You'll need at least the .NET 2 runtime, available from Microsoft's site. Hopefully I've included all other required DLLs in the package (since they weren't huge), but if not you might need to grab the SDL.NET Runtime as well.
You'll also need an OpenGL-capable graphics card/driver. I hope that's everyone, since you'd have to have a pretty old videocard to not be able to use OpenGL...
In theory, since Käfer is written in .NET using SDL, it should be possible to run it on Linux or OSX through the power of Mono. I've not tried with this specific game, but past games using the same engine have been made to run fine on those platforms. Obviously you'll need Mono and SDL.NET set up; there are some linux notes here and some Mac notes here - for a different game, but the process should be the same. Of course, Windows is easier!
There's a small display bug I don't really have time to fix right now, which I only just noticed - if you die while transitioning from land to air or vice versa, your ship stays on-screen until the transition is finished. The explosion and the fact you can't move any more should hopefully be enough of a clue that you died, though.
The game is completely silent, because I'm not a sound guy. I can do pictures and code, but not noises.
The stage is a bit short, ramps up difficulty pretty quickly, and... there are a couple of bits which aren't so tweaked as I'd like. But it's playable, even if it does end pretty abruptly. Don't expect to be able to kill everything - half the idea of my concept for this game was that you have to pick your battles by switching between air and ground.
Things I'd like to have got in but didn't -
- Bombs which charged up when you graze, which only work in the plane you did the grazing, from the other plane. So you'd graze a lot on the ground, then switch to air mode and hit the 'bomb' button, at which point the ground would be attacked by your bomb. There'd be separate graze gauges for each plane.
- Bonuses that power up your gun, which get dropped from bigger planes when you kill them and land on the ground.
- More, better balanced stages... ;-)
Instead of limiting lives, you get a score bonus based on how quickly you defeat the boss; you can re-spawn an infinite number of times, but each one costs you five seconds of boss-killing time.
I originally wanted to do something far more ambitious but along similar lines, but various things got in the way and I ran out of time, so I figured it would be better to explore some Käfer boss designs than to just let the session slip by entirely, especially given that there was an extension to the original deadline. I hope there's some things there that interest people!