Introduction

Retaliation (50Mb) is a top-down 2-D shoot-'em-up for Windows (full-screen only). If you ever owned an Amiga, there was a fantastic little shareware (or freeware?) game for it called 'Transplant' which I played to death. It was a bit like Asteroids, with enemy space ships and a top down view, but the view remained fixed on your space ship when you turned left or right, and everything else (background, enemies, rocks, lasers etc) rotated around you. Well this is an entirely new game based upon that idea, but much expanded, written for Windows PCs with DirectX 9. Most PCs built within the last five years should be able to run it. Rough minimum requirements are: 1.5GHz processor, around 50Mb HD space and a basic 3D graphics card, though the game has not so far been tested on many older machines.

Basics

Your spacecraft remains at the centre of the action, enabling fast manoeuvering and shooting without confusion. Throughout the game are scattered bases where you can land in order to upgrade your ship, your weaponry and associated equipment. Many parts of the game contain impassable walls, which must be negotiated, and doors which can be opened either by activating switches or by destroying important targets. You will be assailed by enemy ships both small and large, gun emplacements, alien technology, and a dangerous colection of free-falling rocks, all of which you must eliminate whilst dodging the ever-present hail of enemy fire. Assisting your mission are occasional friendly outposts, teleporters, energy upgrades, blueprints for new technology, invulnerable but stupid helper drones, and your own skill and cunning. The game also has a two-player split-screen co-op mode so a friend can assist you in the alien-blasting fun.

Features

Upgrades

One of the key elements of shoot-'em-ups has always been upgrades. You can change your ship by collecting credits, and there is a selection of main weapons available, with more powerful weapons becoming available later in the game as you collect the respective blueprints. You can also add 'equipment' to your ship, which can be: an item designed to make your ship easier to pilot, such as radar or a booster; an item designed to protect your ship, such as a shield; or a secondary weapon system, such as a missile launcher, a secondary drone weapon, or homing plasma torpedoes. Each piece of equipment takes power to run, so only the more powerful ships will be able to install multiple secondary weapons systems, for example.

Aim

I wanted to create a game that was simple to play, one you could just get stuck into and start blasting away. For that reason I've tried to restrict the number of controls - there are only seven main keys required, of which four are the arrow keys (the others are: Z = 'primary fire', X = 'missile launcher' and SPACE = 'operate devices'). I have tried to keep the main screen uncluttered, so that the player is not distracted from the action. Due to the viewpoint I doubt anyone would get their spaceship mixed up with the enemy craft, as can happen occasionally in some shoot-em-ups, and I think it's usually obvious what you have to shoot at and where you have to go in the more complex levels. I have also tried to ramp up the difficulty smoothly, and to tempt the player with better ships and weapons without making it too easy. As the game isn't finished yet, it's hard to say whether I've succeeded, but I've found playing the two-player game with my girlfriend to be fun so far.

Technical

The background is made from 64x64 pixel tiles tiled together. The drawing routines use Direct 3D so some form of 3D card is required (you can enable shader effects such as distortions from explosions if your graphics card supports shader model 2.0). All the objects in the game are bumpmapped and rendered in 32-bit colour, so the light can appear to fall on them from the correct direction, without needing massive processing power or complex 3D models. Many objects in the game include transparency, enabling effects such as translucent wings, smoke trails and glowing energy balls, and objects can have animations overlaid. The game is extremely user-modifiable. The graphics files are all in .png format, and the objects, weapons, ships and levels in the game are defined in simple text files. The speed of the game seems adequate on my mid-range AMD Athlon 4200+ and rather low-end GeForce 8400GS card; the game's frame rate seems bound only by the refresh rate of my monitor rather than by CPU or GPU speed. I have recently made a few optimisations that should keep the speed reasonable on older hardware. It's highly recommended that you play it on a monitor with a refresh rate of 75Hz or above.

Download

You can download the latest demo of the game from this link. The demo contains the first ten levels plus a couple of hidden bonus levels.

Cheat Mode

To enable the developer cheatmode, unzip the archive, edit data/prefs.dat with notepad, and change cheatmode no to cheatmode yes. Now you can press 8 during play to tool youself up to the max, 9 for a minor tool-up plus high speed and power, 0 to save your game, and 1-5 to select weapons if you have a main cannon installed. Warning: the cheat mode may be slightly unstable when it comes to changing drones in the base.

Status

The game is about 90% complete at the moment. The code is pretty much finished, and I am in the process of shifting the focus of the work to the graphics, sound and level design. It's looking good so far, in my humble and probably biased opinion. See below for a video. Preliminary instructions can be found here.