BZFlag 2.3 will be a development version that will be released as 18.104.22.168. This is to get around the problem that BZFlag 3.0 development has stalled and does not look like it will continue. This is a last ditch effort to get development moving again.
The goal is to release a new version of BZFlag that is incompatible with 2.0.x for a good reason, and has at least one new feature that will make many players want to upgrade.
The hope is that this process will renew developer motivation and attract new developers.
- Solicit specific change proposals that can be completed within one month. Each proposal must be sponsored by an individual developer who will lead its implementation.
- When proposals are in and accepted by consensus, start the 1-month countdown clock.
- Move trunk to a v2_99_branch.
- Copy v2_0branch to trunk and change protocol number.
- Implement accepted proposals and test.
- Change the version docs to make compatibility be the minor version number.
- Document server upgrade process for the many server owners.
- After 1 month, revert any changes that have caused unfixed regressions.
- Do a release candidate before final release?
- Make trunk into 22.214.171.124 for release.
- Tag Trunk to 2_4branch and release.
These are the many ideas, both new and old, for changes to BZFlag.
The developers believe any (but not all) of the following could be added to 2.3 within the proposed schedule.
These 2.99 features are suitable for porting to 2.3.
- Connection header change (HTTP-style) JeffM
- New GUI elements
- Server-side scoring
- Segmented simulation loop (to prevent wallwalking)JeffM
- Server-side flag ID and pickup
- New shot graphics (geolaser/geothief)JeffM Discuss on IRC
- HUD markers JeffM
- Removal of low graphics, promotion of experimental to high. JeffM
- Server list from GSoC
- BZFS API rework JeffM
- Remove local authentication (the /identify command)
- Windows project cleanup JeffM
- New make system
- New source docs (authors etc...)
- Server-side handicap
- Guided Missile shot checks
- Stealth fixes for rabbit
- Asynchronous screenshot compression so client won't freeze up during screenshots
- BZFlag update notification
- Wings velocity change (additive flap instead of instant upward velocity) blast007
- Message protection (ensure network messages are valid)
- Add message types so that actions (/me) are properly implemented
- New artwork JeffM
- Server option to disable teamkills JeffM
- OpenFFA JeffM
- Download URL change (to force just images.bzflag.org, not any .org or .bz)
- Remove option to turn off fog JeffM
- Require OpenGL 1.2 JeffM
- Only allow a single end shot credit for holding the shield flag Thumper
- Only players with POLL permission are eligible to take part in a vote Thumper
- Add the /serverdebug command Thumper
- bzfs: Report errors to stderr instead of stdout Thumper
- bzfs: Add -utc switch to output log messages in UTC instead of localtime Thumper
- bzfs: Fix timestamp buffer size so -ts micros output fits Thumper
- Round Robin for services
- Fix the protocol bug that version 2.0.16 was a band-aid for
- Facilitate moving global services (e.g., my.bzflag.org) to new hardware, if any changes will help JeffM Blast007 JoeVano
These items need further evaluation to see if they can be or should be backported from 2.99. These may exist as code or patches.
- Map changes
- HTTP plugins
- New API events JeffM
- BZFSCron Thumper
- Server Side Players JeffM
- Bug fixes not in notes
- New flags
- Rabbit as proper team
- Countdown/reload timer position fix for when showCoordinates is enabled
- SVN props cleanup
- Display BZBB rank images in game. JeffM
These items should not be done or backported at this time due to stability issues or the large effort required. These are generally the blocking items preventing 3.0's current release.
- Network buffering
- Lag compensation (needs a lot more testing)
- Acceleration changes
- Font system (still has some bugs/glitches and possible performance issues)
- New Translations (requires the new font system)
- Map geometry changes (requires flag zap zone support or breaks existing servers)