About

Goals

Stencil aims to be classical shoot'em'up game. Player controls the ship, shoots from various weapons and tries to survive wave after wave of enemy aircrafts. Stencil wants to have some mild story footprints at the background.

Primary target of Stencil is to create as most an engine as possible. The game should be heavily driven by datafiles and scripts. It should be simply extensible - if you download a level, it may contain specific graphics, scripts for new enemies, new equipment, etc.

As to the storyline part of the game - recently I've played Kingpin, and I really liked the game. It contains exactly the right amount of storyline that I want in Stencil - it's just plain old shooter, but there is some reason behind running through the streets and killing whatever moves.

Contrasts

Why just another space shooter? Well - have you really tried to play some space shooter on Linux? There is virtually no chance to get something similar to, say, Tyrian or Raptor. The one outstanding exception is Chromium B.S.U, which, sadly, is rather generic arcade game, with three level types, six enemies, two of them being bosses. The rest seems to be out of genre, to be random hack never meant to be finished, etc.

I chose not to take Chromium as a base of Stencil. I was considering it, but amount of additional features that need to be introduced justifies complete redesign. However, the proof of the concept will be game similar to the Chromium - with similar menu (if possible), with three kinds of weapons, health and armour, supershield, autodestruction, with random levels, and most importantly - with graphics taken directly from Chromium. If it's possible to bend the game away from the original concept that much, than it certainly is possible to make anything with it.

Status

This is work in progress. I've published first release mainly because there is enough work done to actually show the game. Enemies don't really move or shoot, they just wait to be executed, but player vehicle can be controlled (via mouse), may shoot, use inventory items, and filter injury through armour. Main menu is just a quick hack for me to have some control over equipment handling (some control better than hand hacking xml configuration files, that is).

I'm not entirely satisfied with code quality, and there will be large refactoring session necessary before 0.2 - the class handling has to be unified and code redundancy must disappear. Once the hierarchy is clean, it'll be possible to introduce large-scale issues like scripting on all levels (I'd love to see Stencil having scriptable game objects, equipment, menu, world itself, ...).

0.2 will also introduce full OSI-compatible licensing. To achieve this, I have to get rid of copyrighted (non-OSI, albeit freeware) graphics and sounds, code itself is clean.

Any and all participation on Stencil progress is mostly welcome. Please check out development page if you can help.