Vigil Nights

[Specification version 1.3]

By Joseph Gentle


Vigil Nights is a space action shooter game. The game involves flying a space ship around from a top-down perspective similar to Escape Velocity, Inner Space and Silent Death. Combat is fast paced action in levels of increasing difficulty. Many game modes as well as player advancement keep the game interesting. There will be different difficulty levels to support players with differnet skill levels. Victories will involve individual combat and piloting skills as well as ship design and planning.

As players get more experienced (and defeat more baddies) they will be able to customise their ship with different equipment. This will let them alter their playing style to suit the battle conditions (or the other way around).

A few years ago a simple prototype was developed as a high-school project under the name ‘tilde’. The windows version is included here, though beware it is quite buggy. It also doesn’t allow customisation or much combat; though it gives a sense of in-game movement and style.

No game currently on the market has such gameplay in the free or commercial world. The WinLibre Project has requested a new and innovative multiplatform, windows compatible game for their next release. Though not 100% new, Vigil Nights should prove a fun game to play and get involved in. Its very different from most games currently around; and the fast-paced action definitely fills a gap in the current opensource world. The game will also be simple and easy to learn, so its playable by the average joe user.


The space game Vigil Nights will be delivered: * Cross-platform (At the very least Windows, Linux and MacOSX will be supported) * It will be fun. * Easy to learn, hard to master * With many levels for gradual player advancement. * Ships will be customisable with a multitude of weapons, shields, engines, hulls and missiles.

Project Details


Vigil Nights will use OpenGL and SDL to do graphics and sound. SDL_image will be used for image loading and saving for plates and textures. The SDL_mixer library will also be used wrapped on SDL for more advanced sound processing.

These libraries are all cross-platform and open source. For more information and documentation about the above hit and .

The game itself will be written in C++, as it is a sufficiently high level language, its very fast, there are hooks to all the above tools for it and its cross-platform. It doesn’t have some of the nicer features of languages such as Python, C# and Java but they all have other issues making them unsuitable for this particular project. Some day, perhaps.

Any computer with graphics beyond a geforce 2 should be able to run Vigil Nights. Most modern computers with even onboard video support this.

Several tools will be used from previous BSD’ed game projects Joseph has worked on, speeding development considerably.

The game will be written in a modular way due to the sheer number of interconnecting modules of code. Though there will initially only be one developer development work will be done through a subversion server, and all code interfaces will be documented using Doxygen style documentation.

The build system will use a modified cross-platform Makefile system developed by David Greenaway for previous game development projects. Again, this framework is open source and will allow Vigil Nights to compile on any system will GNU Make and all the above listed dependencies. It will be included with Vigil Nights’ source distribution.

Visual Studio will be used to develop and compile while under the influence of windows.


The game itself will be (at least initially) a purely singleplayer endeavour. The player will have a profile which stores their current progress in the game. This will store the level they’re up to as well as their current ship loadout. Players will be able to play previous levels again if they feel they don’t have an adequate ship to defeat subsequent levels. Opponents and objectives will change throughout the course of the level progression to keep levels interesting. Opposition will consist of ships ranging from small fighters to capital ships.

When a player first starts Vigil Nights they’ll be given a simple ship equipped with a simple loadout. The player can purchase many ships as the game progresses for various play styles and to help with various level objectives. These will range from all-out attack ships to ships with control and defence. Hull size will come into play a lot; the smaller craft will be far more manuverable though they will have less attack power. Large ships will have many more slots for loading up weapons and armaments, but their increased mass will reduce their acceleration and manoeuvrability.

Levels will be automatically randomly generated based on the difficulty and level number. Players are encouraged to slowly play harder and harder levels in order to discover the later game content.

A variety of armaments will exist with offensive, defensive and battle control abilities.

For the benefits of terseness a more thorough discussion of ship equipment, level types and in-game interfaces has been moved to the web here: Rest assured, its very exciting and should promote many interesting and novel gameplay elements. (This detail should be moved to the winlibre wiki!!)

Project Schedule

Because of the later Australian examination period, development will begin July 5.

Though development from scratch of these modules is infeasable given the time restrictions, well.. they’re not being written from scratch. Code from many previous projects will be used and abused appropriately.

For details on whats included in all these modules, point your browser here:

July 5 - 10:

Main game engine

July 11 - 17:

In-game Interface

July 18 - 24:

In-game Interface
Sound reproduction

July 25 - 31:

Game Mechanics
Level creation

August 1 - 7:

Game Mechanics
Level creation

August 8 - 14:


August 15 - 21:

Extended playtesting

Note: * There’s a lot of overlap. This is partly because many tasks have interdependancies, but mostly because personal development experience shows changing modes of attack during development for projects like this helps Joseph stay focus. * Based on this schedule the game should be mostly finished before the deadline. Extra time will be put into gameplay tweaks, bugtracking, fixes, extra shininess, extra equipment, packaging, and generally finalising the project.


Joseph Gentle plays way too many computer games, but still manages a high distinction average studying Computer Science at the University of New South Wales in Sydney, Australia. He’s in third year, but showing no signs of leaving university any time soon (WAY too much fun). Aside from designing games, Joseph does lots of theatrical work and has recently been researching AI and playing with robotic dogs. They’re not sentient. Yet.

Despite desiging computer games since school back in 1999, it wasn’t until 2004 that Joseph founded the UNSW (University of New South Wales) Game Development Society. Since then he’s been lead developer on 2 open source game projects; Ankh and Blunderbuss.

UNSW Game Development Society can be found here:

Our Game Development society currently has just over 150 members.

Information about Blunderbuss (completely written in 3 days) can be found here:

What we lack in web design skills we make up for in gameplay :) (and, eventually, world domination.)

winlibre_soc/joseph_proposal.txt · Last modified: 2011/07/21 14:29
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki