This wiki is archived and useful information is being migrated to the main bzflag.org website

Difference between revisions of "Development RoadMap"

From BZFlagWiki
Jump to: navigation, search
(bunnies)
(2.8)
 
(30 intermediate revisions by 5 users not shown)
Line 4: Line 4:
 
===Features===
 
===Features===
 
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.
 
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 [[DevelopmentPlans/2.4.2|2.4.2]] release
  
 
==2.4==
 
==2.4==
Line 10: Line 13:
 
2.4 will be the next release of BZFlag and is protocol incompatible with all previous versions.
 
2.4 will be the next release of BZFlag and is protocol incompatible with all previous versions.
 
===2.4.0 (Wake the dead)===
 
===2.4.0 (Wake the dead)===
The development goals are listed here [[BZFlag 2.3]]
+
Released on 2011/07/03 [[BZFlag 2.4.0]]
  
 
===2.4.2===
 
===2.4.2===
2.4.2 will be the first maintenance release of the 2.4.x compatibility line. Its primary function is to fix bugs found in the 2.4.0 release and to include non breaking items that were not ready during the initial release including:
+
[[BZFlag_2.4.2]] Release page.
  
 +
[[DevelopmentPlans/2.4.2|Planning page for 2.4.2]]
 +
 +
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:
 +
 +
* Fastmap
 +
 +
===2.4.4===
 +
[[DevelopmentPlans/2.4.4|Planning page for 2.4.4]]
 +
 +
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
 
* All the horrible things we missed
 
* BZFScron
 
* BZFScron
* Fastmap
 
 
* Push Stats
 
* Push Stats
 
* Joystick fixes
 
* Joystick fixes
 
* CIDR/subnet bans from Filter.cxx
 
* CIDR/subnet bans from Filter.cxx
* Fix tank drawing in radar mode
 
  
===2.4.4===
+
===2.4.6===
 
* New Death effects
 
* New Death effects
 
* HTTP Management plugins
 
* HTTP Management plugins
Line 34: Line 47:
 
* Fix mac .app build system (make it just use a script not xcode?)
 
* Fix mac .app build system (make it just use a script not xcode?)
 
* Sever side IP/Host/callsign (not perm base) mute
 
* Sever side IP/Host/callsign (not perm base) mute
* Graphic tank on radar at high zoom
 
 
* Evaluate rabbit logic.
 
* 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.
  
 
===2.4.x (Maintenance)===
 
===2.4.x (Maintenance)===
Line 41: Line 67:
  
 
==2.6 (Next Breaking Release)==
 
==2.6 (Next Breaking Release)==
'''Goals:''' Continue Development
+
[[DevelopmentPlans/2.6.0|Planning page for 2.6.0]]
 +
 
 +
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
 +
 
 +
==2.8==
 +
 
 +
'''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;
 
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;
* Lua (Client side)
 
 
* Acceleration changes
 
* Acceleration changes
 
* Flag Drop "Zone" feature
 
* Flag Drop "Zone" feature
Line 51: Line 90:
 
* Solution for dropped shots (TCP? confirm message? logging?)
 
* Solution for dropped shots (TCP? confirm message? logging?)
 
* Tank parts? Customization? [[CustomTanks]]
 
* Tank parts? Customization? [[CustomTanks]]
* Team After Join?
 
 
* More colors in OFFA?
 
* More colors in OFFA?
* Dialogs and prompts?
 
 
* Eval ID and ID label markers (MMO style? Always show teammates?)
 
* 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.
 
* 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[3]
 +
* 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 [https://sourceforge.net/tracker/?func=detail&aid=3537226&group_id=3248&atid=353248 tracker]
 +
* evaluate -w server option wings instead of jumping [https://sourceforge.net/tracker/?func=detail&aid=3599568&group_id=3248&atid=353248 tracker]
  
 
==3.0 (Next Major)==
 
==3.0 (Next Major)==
Line 62: Line 106:
 
Using the 2.99 continuing branch, or the 2.6 branch with a lot of back-ports depending on code-base stability.
 
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.
 
* Have BZFS convert all world objects into mesh representations for consistent client collisions.
 
* Point in Polyhedron tests to remove inside/outside points.
 
* Point in Polyhedron tests to remove inside/outside points.
Line 67: Line 112:
 
* Shot Type/Flag Type split
 
* Shot Type/Flag Type split
 
* Things added in previous versions that were not back-ported from the codebase this release uses.
 
* Things added in previous versions that were not back-ported from the codebase this release uses.
 +
* Lobby
 +
* Support additional map objects inside definitions ([https://sourceforge.net/tracker/?func=detail&aid=2938335&group_id=3248&atid=103248 SF Bug 2938335])
  
 
===3.0.2===
 
===3.0.2===
Line 76: Line 123:
 
* In game registration
 
* In game registration
 
* Tutorials
 
* Tutorials
 +
* 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?)
  
 
==3.2==
 
==3.2==
Line 86: Line 136:
 
* UI customization
 
* UI customization
 
* General Resource Updates and Downloads (sounds, scripts etc..)?
 
* General Resource Updates and Downloads (sounds, scripts etc..)?
* External model loading ( for tanks )
+
* HTF as real mode
 +
* IPV 6
  
 
==3.4==
 
==3.4==
Line 92: Line 143:
  
 
* Server Side Radar
 
* Server Side Radar
* Server Side Shots
+
* Server Side Shots (Iterative octree cell shot collision detection)
 
* Server Side Deaths
 
* Server Side Deaths
* Server Side Bot API
+
* Server Side Bot API and good bot samples
 
* Removal of Client Side Logic
 
* Removal of Client Side Logic
 +
* Generic Simulation serialization for recordings that are independent of network format.
 +
* Third party networking?
  
 
==4.0==
 
==4.0==
Line 104: Line 157:
 
* Shader/Material Support?
 
* Shader/Material Support?
 
* OpenGL 2+?
 
* OpenGL 2+?
* Tank skins
+
* Better Lighting, light objects in maps ( shaders or projected textures?)
 +
* A library of "smart server side bots"
  
 
==5.0==
 
==5.0==
Line 114: Line 168:
 
* List server separation by game mode
 
* List server separation by game mode
 
* Require Registration and limit server choices until verified?
 
* Require Registration and limit server choices until verified?
 +
* Social Components for players ( player ratings, facebooklike stuff?)
 +
* League Integration
 +
 +
[[Category:Development_Plans]]

Latest revision as of 15:32, 28 April 2013

Overview[edit]

This document discusses the general development road-map for Future BZFlag Releases.

Features[edit]

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[edit]

The current development target (trunk) is the 2.4.2 release

2.4[edit]

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)[edit]

Released on 2011/07/03 BZFlag 2.4.0

2.4.2[edit]

BZFlag_2.4.2 Release page.

Planning page for 2.4.2

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:

  • Fastmap

2.4.4[edit]

Planning page for 2.4.4

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
  • BZFScron
  • Push Stats
  • Joystick fixes
  • CIDR/subnet bans from Filter.cxx

2.4.6[edit]

  • 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.

2.4.x (Maintenance)[edit]

Continuing releases to fix critical bugs. New features should go into 2.6 at this point.

2.6 (Next Breaking Release)[edit]

Planning page for 2.6.0

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

2.8[edit]

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[3]
  • 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)[edit]

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.
  • Lobby
  • Support additional map objects inside definitions (SF Bug 2938335)

3.0.2[edit]

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
  • Tutorials
  • 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?)

3.2[edit]

Goals: Modernization

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

3.4[edit]

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?

4.0[edit]

Goals: Graphics Upgrades

  • Third party graphics engine? Ogre? Irrlicht? lightfeather?
  • Patching?
  • Shader/Material Support?
  • OpenGL 2+?
  • Better Lighting, light objects in maps ( shaders or projected textures?)
  • A library of "smart server side bots"

5.0[edit]

Goals: Extensibility

  • 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