This document discusses the general development road-map for Future BZFlag Releases.
Individual features may move up or down the roadmap depending on how/when they get done. Entire releases may be pushed up the roadmap or merged depending on how development goes.
Current Development Target
The current development target (trunk) is the 2.4.2 release
Goals: Get a release out
2.4 will be the next release of BZFlag and is protocol incompatible with all previous versions.
2.4.0 (Wake the dead)
Released on 2011/07/03 BZFlag 2.4.0
BZFlag_2.4.2 Release page.
2.4.2 was the first maintenance release of the 2.4.x compatibility line. It does contain some bug fixes but it's primary function is to provide an updated package for the debian system. It does include non breaking items that were not ready during the initial release including:
2.4.4 will be a bug fix maintenance release of the 2.4.x compatibility line. Its primary function is to fix bugs found in the 2.4.0/2 releases and to include non breaking items that were not ready during the initial release including:
- Ensure bzadmin on Windows gets built with PDCurses
- All the horrible things we missed
- Push Stats
- Joystick fixes
- CIDR/subnet bans from Filter.cxx
- New Death effects
- HTTP Management plugins
- Bug fixes
- New Font System
- New Server List
- New Translations
- Download Authorization Dialog
- GM lock-on markers on the radar.
- Fix mac .app build system (make it just use a script not xcode?)
- Sever side IP/Host/callsign (not perm base) mute
- Evaluate rabbit logic.
- how to deal with third party libs in plugins, specialy ones we build optionaly.
- command line options that have -set <name> <value> equivalents should be reviewed and possibly eliminated
- bzfs should error out if no users or groups have SPAWN
- Teach Roger not to drive into deadly physics drivers
- Test anti permissions.
- Translation update push.
- Set app icon for as many OSs as possible (SDL does not do this)
- Case insensitive bans.
- Block spamers on rejoin (using BZID?)
- Max chat rate (using filters?) with auto scilence. (maybe a plugin?)
- Windows BZAdmin cleanup ( eval if it works the same as linux)
- Sanity check list server input ( players over limit, etc..)
- Extend player name cycling (like on /kick and /ban) to /poll kick and /poll ban
- When game is over, autoboot everyone after some time, so server cannot be blocked forever by one player just sitting there.
Continuing releases to fix critical bugs. New features should go into 2.6 at this point.
2.6 (Next Breaking Release)
This release will focus on improving the user experience and the user interface.
- Tutorial Mode
- Easier polling system
- Useful MOTD
- Better localized messages
- Additional mapping features
See the planning page for details about the planned features
Goals: Continue Development and cleanup gameplay.
This version may be rolled into the 3.0 release if that code base is still usable. If the code is extended from 2.4 it may have these features;
- Acceleration changes
- Flag Drop "Zone" feature
- XFire ?
- OpenAL/Support, OGG, Hardware mixing and 3d (replace platform audio?)
- Solution for dropped shots (TCP? confirm message? logging?)
- Tank parts? Customization? CustomTanks
- More colors in OFFA?
- Eval ID and ID label markers (MMO style? Always show teammates?)
- Graphics settings cleanup, optimize for GF2 or newer. Make low good for GMA chipsets.
- Server List showing that games require ID ( cool little icon?)
- Extern cleanup
- Vector class use instead of float
- Incorporate the player's handicap value and physic drivers into the check calculations.
- Decide what a GM is and how it should behave when guided when the user has or does not have the flag, and how the lock should work with ST and CL
- evaluate -noSelfKills server option at tracker
- evaluate -w server option wings instead of jumping tracker
3.0 (Next Major)
Goals: Get back to where V3 wanted to be.
Using the 2.99 continuing branch, or the 2.6 branch with a lot of back-ports depending on code-base stability.
- Lua (Client side)
- Have BZFS convert all world objects into mesh representations for consistent client collisions.
- Point in Polyhedron tests to remove inside/outside points.
- New Simulation
- Shot Type/Flag Type split
- Things added in previous versions that were not back-ported from the codebase this release uses.
- Support additional map objects inside definitions (SF Bug 2938335)
Goals: End user experience
Compatible release ( if possible ) that makes the game easier for new users to play and for servers to manage players.
- UI Cleanup
- New Group and User Management.
- In game registration
- Option to kick to observer.
- Make the texture manager give out IDs and have everyone use the ID, not the image pointer, as it can change. Or make the image pointer self updating.
- Binding keys to multiple actions (lua macros?)
Goals for this release are to bring the game's networking and simulation system up to par with modern games.
- Lag compensation
- Threaded Networking
- Threaded Simulation
- UI customization
- General Resource Updates and Downloads (sounds, scripts etc..)?
- HTF as real mode
- IPV 6
Goals: Server State
- Server Side Radar
- Server Side Shots (Iterative octree cell shot collision detection)
- Server Side Deaths
- Server Side Bot API and good bot samples
- Removal of Client Side Logic
- Generic Simulation serialization for recordings that are independent of network format.
- Third party networking?
Goals: Graphics Upgrades
- Third party graphics engine? Ogre? Irrlicht? lightfeather?
- Shader/Material Support?
- OpenGL 2+?
- Better Lighting, light objects in maps ( shaders or projected textures?)
- A library of "smart server side bots"
- Server defined game logic and settings
- Game mode plug-ins/scripts on the server
- Server defined graphics elements ( shots, models, etc)
- List server separation by game mode
- Require Registration and limit server choices until verified?
- Social Components for players ( player ratings, facebooklike stuff?)
- League Integration