Welcome to Groundfire.net

About Groundfire

What kind of game is Groundfire?

As I mentioned on the main page, Groundfire is inspired by Death Tank for the Sega Saturn. For those of you not familiar with Death Tank, I will attempt to describe what Groundfire is all about (If you are interested in learning more about Death Tank, check out some of the Death Tank links on the menu to the left.

Groundfire is a multiplayer (no single player mode) game in which each player takes control of a tank sitting on a simple 2D landscape. The game is divided up into a number of rounds. The aim of each round is to destroy the other players' tanks using a selection of weapons at your disposal. Blowing up other tanks, or simply not dying, will result in points being awarded at the end of the round. Points are converted into money which can be used to purchase new weapons and tank upgrades. After all the rounds have been played, the player with the highest score is crowned the winner and everyone else gets annoyed and demands a re-match (usually). For more details on how to play the game, see the Help section.

Game Requirements

These are the minimum system requirements for the latest release of Groundfire (Note: Groundfire is still in development and has not been optimised as-of-yet. It is possible the requirements will go down in the future).
  • 200Mhz+ processor - This is a best guess given the performance I have observed on other, faster, systems. If anyone has a system of this speed, feel free to let me know how the game performs.
  • 3D Accelerated Graphics (OpenGL) - The power of the 3D acceleration is what has the most affect on Groundfire's frame-rate. Liberal use of alpha-transparencies and filtered textures will make the game unplayable on none hardware-accelerated systems. As you might expect, resolution and colour depth has a big impact the frame-rate for many of the less powerful 3D cards available.
  • Sound - Actually, this is an optional requirement, but sound really does add to the game experience. The game does not currently make use of any of the fancy sound processing or 3D sound technology that most modern sound cards support, so anything that can make a noise should work fine.
  • 2MB Disk Space - Not much of a limitation this, especially considering that you can apparently get 300GB Hard drives these days! If you really don't have enough disk space for Groundfire, then getting Groundfire to run is the least of your worries.
  • Windows (95 and above) or Linux - These are the only two OSs I have verified that Groundfire works on. I only supply binaries for Windows because most Linux user will know how to build it themselves from the source (It's not hard!). If you want to try Groundfire on other OSs, check out the section below titled 'The Technical side'.

History of Groundfire

I started writing Groundfire shortly after I discovered Death Tank on the Sega Saturn and realised how fun it was. I quick search of the Internet revealed that there was nothing equivalent to it available on the PC. I thus, took on the challenge of making my own PC version of this game. The first lines of code were were written in September 2002. By Christmas 2002, I had a very basic tank game complete with deformable landscapes and tanks able to shoot at each other. Since then work has proceeded at a irregular rate. I am a full time software engineer so it's sometimes hard to motivate myself to program when I've just spent 8 hours at work doing just that! Regardless, I am still commited to Groundfire. The recent release of a early version of Groundfire onto the Internet is hopefully the first of many releases I intend to do.

The Technical side

Groundfire has been written from scratch in C++. The main objective was to produce a game that would work on as many different platform as possible with only minor changes. To this end, the game makes use of several freely available APIs to provide most of the functionality. Firstly, all the graphics are programmed using OpenGL which is supported, in one way or another, by every system that is worthy of being called a modern operating system. Other options, such as Direct3D, were out of the question because they would tie the game solely to the Windows platform (not to mention the fact that I hate programming in Direct3D). OpenGL by itself however, is not entirely platform independent. You still need to set up a window to draw the graphics in and this is done by totally different means on different platforms. To avoid this I use the GLFW API. This is a platform independent framework that can handle setting up of windows and other tasks that require different implementations on different systems. It provides generic interfaces for Threads, Input devices (including joysticks/pads) both of which are (or will be in the future, in the case of threads) used in Groundfire. In fact, GLFW provides everything Groundfire needs except Sound. Decent platform-independent sound is hard to come by, but eventually I came across OpenAL (Which, as the name suggests, touts itself as the Aural equivalent of OpenGL). OpenAL Supports several of my target platforms and adding it to the project turned out to be a doddle.

So which operating systems does Groundfire work on? I have only tested on two systems at the present time. Windows and Linux. Both of these will compile the source without modification and the game runs flawlessly on both systems. One thing to be aware of is that, although the game will work without hardware accelerated 3D, it will most likely be unplayable. The game should in theory compile and work on any other platform as long as it satisfies the following requirements: It has a standards-compliant C++ compiler available for it, GLFW can be compiled and used sucessfully on it, and OpenAL can be compiled and used successfully on it. Actually, it is technically possible to build Groundfire without sound support, which removes the dependency on OpenAL, but that's a bit of a poor solution. Using these factors, I have compiled the following list of systems that (should) be able to run Groundfire.
  • MS Windows (95 / 98 / Me / NT4(maybe) / 2000 / XP)
  • Linux (All distributions)
  • FreeBSD 4.X (Possibly 5.X as well)
  • MacOS X
The following is a list of systems that should, in theory, be able to run Groundfire but might not work with Sound support. Also, it might be difficult to get Hardware-Accelerated 3D working for these systems (which is a prerequisite if you want the game to be playable). If anyone can prove me wrong by getting the game to function perfectly on these systems, let me know.
  • NetBSD
  • OpenBSD
  • SUN Solaris / Sun OS
  • AmigaOS
  • MS-DOS
Any system not mentioned here probably has little chance of running Groundfire at the present time. Although, given the open-source nature of the project and of the API on which the project is built, this might not be the case forever.

The Future...

I have many plans for Groundfire. Obviously, the first stage is to get the rest of the weapons into the game so that it is comparable to Death Tank (This project was started as a way of being able to transfer the fun of mass Death Tank sessions to the PC). In the long run there are several other enhancements I would like to add. These include:
  • More weapons : Initially, this means all the weapons that are in Death Tank, although there's no reason why I have to stop there. I would love to add some weapons of my own creation to the game.
  • Record/Playback/Demo Mode : This might seem like a pointless gimmick but from a programming point of view this is a stepping stone to full network play. It contains some of the same problems (e.g. framerate independence playback/Syncronisation)
  • Network Play : Few people have 6 or more joysticks connected to their PC (which is currently the only way to play an 8 player game.) Network play is therefore, one of the most important enhancements to the game.
  • AI : Currently, Groundfire, like Death tank, does have computer AI controlled players. This is not such a important enhancement because the game is designed to be a multiplay experience. However, an AI if done properly could make the game more interesting. It would also aid in my testing of the game (As I rarely have 7 friends handy when I need to test a new build!)
  • Less of a Death tank look : I would like to give Groundfire more of its own look. Currently, the game's visuals are based solely on Death tank's. For instance, the shopping screen is practically identical to Death tank's. The processing and graphics power of modern PCs should allow for more detailed graphics and visual effect.
This is all I've got planned for the time being. If anyone out there has got any other ideas, I'd be interested to hear them.

The Designer / Programmer / Webmaster

Finally in this section, a bit about me: the genius (?!) behind Groundfire. My name is Tom Russell, I'm 24 years old and I live in Bristol in the UK. I'm a professional software engineer, I work for a local company that makes CAD software so I know my 1s and 0s, so to speak. I have a degree in Computer Science from right here in Bristol, I went to the University of Bristol and graduated in 2000. Since then I've been programming a bit in my spare time and Groundfire (my first game to make it this far) is the pinnicle of 18 months of hard work (Well, moderately hard work anyway.)