Project 2501

by Frank Siegert, Contact: frank(at)

Want to try it? Send email...

Project2501 is the working name of a first-person networked tank game similar in appearance and spirit to BZFlag but completely written from scratch in C++ using a modular, data-driven approach and using features of modern graphic cards (OpenGL, nVidia GeForce/ATI Radeon or similar recommended) for effects and visuals. It uses its own 3D graphics and game engine and network library (based on SDL and SDLnet, it will run on anything SDL runs on). The game and its components will be released under an open license (details to be defined), source code included except for the authentication layer for the network play.

Goals of the project

Games are made so the player can have fun, this is also the topmost goal of Project 2501. It is not an accurate tank simulation but a comic book style, driven by extremes, exploding toy tank online we-against-the-others shooting frency. You won't see gore or blood or even humans in this game, just little tanks shooting and killing each others with various means. Death is quick, but so is resurrection, explosions are large and the weapon effects insane. Another priority was to make it very snappy from the user itnerface side, your tank should feel 'part of you', as natural as the player moves his hand, the tank should move and control should be complete. Still another goal was to make the networking as free of lag as possible and the client playable over an ISDN line in at least a 8 client match. And the final goal - portability - the Project should run on most anything SDL works on. Only free (OpenSource, however no GPL code only BSD and LGPL) components were used for its development.


Targeted Platforms

Progress Report:

Update 16. Oct 2003: P2501 work ongoing, new test version for beta testers

Test platforms: Windows XP, Linux RedHat 7.2, Geforce1, Geforce2MX, Geforce2 Ultra, Geforce4 4400, Geforce3 and Geforce2go. Matrox Parhelia tested but severe problems with SDL_console (SDL OPENGLBLIT mode) needs a rewriting, also a tad slower compared to the others. I still wait for an answer from Matrox dev support how to speed up things on this (otherwise nice) hardware. In the mean time I can also rewrite the model loader to use vertex arrays (for the moment it uses display lists)

Graphics: 100% complete (OpenGL)
Robot code: 100% complete (scriptable, interpreted)
Network: 100% complete (UDP, with packet authetification)
List Server: 30% complete
Sound: 100% complete (stereo, directional)
World Loader: 100% complete
World Scripting: 100% complete
Menu: 25% complete (uses console for the moment but upcoming)
Currently working on: Debugging, porting, listserver

Flags and Add-Ons ([I] means already implemented, list not complete yet)
(Yes, you see the flags feature on the tank, e.g. a missile launcher)

P2501 allows Robots to connect to game. Robots are implemented as 'local' clients to the client itself. They connect by network (either local loopback or LAN but is perfectly possible to have a Robot in Australia connecting to a Client in Germany, the robot will feel the lag however) and can be written in any language you like as long as you implement the robot protocol. A sample robot in S-LANG is provided.

More screenshots? 1,2,3,4,5,6.

Want to see the light? 1,2,3,4.

Questions? - Send me an email or visit the BZFlag forum.

Project 2501 is a working title of a game currently under creation by Frank Siegert. The final name is not announced yet. All game design and program code is copyright Frank Siegert, 2001-2002 All rights reserved. Graphics and sounds are from free sources or self made. Please notify me if you have questions and/or concerns about anything offered on this web page.