Difference between revisions of "DevelopmentPlans/2.3"

From BZFlagWiki
Jump to: navigation, search
(Backports)
(3.0 was was named 2.99)
 
(53 intermediate revisions by 14 users not shown)
Line 1: Line 1:
 +
=Note=
 +
2.3 was released as [[BZFlag_2.4.0|2.4.0]], the documentation contained here was just a worksheet and does not represent the final list of features released.
 +
 
==Overview==
 
==Overview==
BZFlag 2.3 will be a development version that will be released as 2.4.0.0. 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.
+
BZFlag 2.3 was the development version released as 2.4.0. This is to get around the problem that [[BZFlag 2.99]] development has stalled and does not look like it will continue. This is a last ditch effort to get development moving again.
 +
 
 +
==Release==
 +
[[BZFlag_2.4.0|2.4.0]] was released on July 3, 2011 and will be maintained as per the [[Development_RoadMap]]
  
 
==Goal==
 
==Goal==
Line 8: Line 14:
  
 
==Schedule==
 
==Schedule==
* 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.
+
* Move trunk to a v2_99_branch. '''Complete'''
* When proposals are in and accepted by consensus, start the 1-month countdown clock.
+
* Copy v2_0branch to trunk and change protocol number. '''Complete'''
* Move trunk to a v2_99_branch.
+
* Change the version docs to make compatibility be the minor version number. '''Complete'''
* Copy v2_0branch to trunk and change protocol number.
+
* 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. '''Complete'''
* Implement accepted proposals and test.
+
* When proposals are in and accepted by consensus, start the 1-month countdown clock.'''Complete'''
* Change the version docs to make compatibility be the minor version number.
+
* Implement accepted proposals and test.'''In progress'''
* Document server upgrade process for the many server owners.
+
* Document server upgrade process for the many server owners. '''In progress''' ''Thumper by 6/20/2011''
* After 1 month, revert any changes that have caused unfixed regressions.
+
* If release is not stable by 6/17/2011 revert changes that made it unstable.
* Do a release candidate before final release?
+
* Public beta on 6/20/2011
* Make trunk into 2.4.0.0 for release.
+
* Public RC on 6/27/2011
* Tag Trunk to 2_4branch and release.
+
* Release on 6/30/2011
  
 
==Projects==
 
==Projects==
 
These are the many ideas, both new and old, for changes to BZFlag.
 
These are the many ideas, both new and old, for changes to BZFlag.
 +
 +
===Assignments and tracking===
 +
Task tracking is managed via a google spread sheet that can be found here.
 +
 +
https://spreadsheets.google.com/spreadsheet/pub?hl=en&hl=en&key=0Agca59DESlNKdC1CSUtUMUhiSldrOVVPSHcwQUNzOUE&output=html
 +
 +
Developers with assigned tasks can request edit access to the document on IRC.
 +
 +
===Timeline===
 +
Project must be completed by June 14th 2011 or they will be rolled back and excluded from the release.
  
 
===Viable Projects===
 
===Viable Projects===
Line 27: Line 43:
  
 
====Backports====
 
====Backports====
These 2.99 features are suitable for porting to 2.3.
+
These 2.99 features are suitable for porting to 2.3. Not all items were implemented in 2.4, check [[BZFlag_2.4.0|2.4.0]] release document for final release list.
  
* Connection header change (HTTP-style) ''JeffM''
+
* Connection header change (HTTP-style) '''JeffM'''
* New GUI elements
+
* New GUI elements '''DTRemenak'''
* Server-side scoring
+
* Server-side scoring '''DTRemenak'''
* Segmented simulation loop (to prevent wallwalking)''JeffM''
+
* Segmented simulation loop (to prevent wallwalking) '''JeffM'''
* Server-side flag ID and pickup
+
* Server-side flag ID and pickup '''Pimpinella'''
* New shot graphics (geolaser/geothief)''JeffM'' '''Discuss on IRC'''
+
* [[2.3_NewShotGraphics|New shot graphics]] (geolaser/geothief) '''JeffM''' '''Discuss on IRC'''
* HUD markers ''JeffM''
+
* HUD markers '''JeffM'''
* Removal of low graphics, promotion of experimental to high. ''JeffM''
+
* [[2.3_QualityChanges|Removal of low graphics, promotion of experimental to high]]. '''JeffM'''
* Server list from GSoC
+
* Server list from GSoC '''DTRemenak'''
* BZFS API rework ''JeffM''
+
* BZFS API rework '''JeffM'''
* Remove local authentication (the /identify command)
+
* Remove local authentication (the /identify command) '''JeffM'''
* Windows project cleanup ''JeffM''
+
* Windows project cleanup '''JeffM'''
* New make system
+
* New make system '''BulletCatcher'''
* New source docs (authors etc...)
+
* New source docs (authors etc...) '''Constitution'''
* Server-side handicap
+
* Server-side handicap '''Thumper'''
* Guided Missile shot checks
+
* Guided Missile shot checks '''Pimpinella'''
* Stealth fixes for rabbit
+
* Stealth fixes for rabbit '''mdskpr'''
* Asynchronous screenshot compression so client won't freeze up during screenshots
+
* Asynchronous screenshot compression so client won't freeze up during screenshots '''DTRemenak'''
* BZFlag update notification
+
* BZFlag update notification '''DTRemenak'''
* Wings velocity change (additive flap instead of instant upward velocity)
+
* Wings velocity change (additive flap instead of instant upward velocity) '''blast007''' (r14997, r15162, r15832)
* Message protection (ensure network messages are valid)
+
* Message protection (ensure network messages are valid) '''A_Meteorite'''
* Add message types so that actions (/me) are properly implemented
+
* Add message types so that actions (/me) are properly implemented '''blast007''' (r19833)
* New artwork ''JeffM''
+
* New artwork '''JeffM''' [[2.3_NewEffects|Effects Updates]]
* Server option to disable teamkills ''JeffM''
+
* Server option to disable teamkills '''JeffM'''
* OpenFFA ''JeffM''
+
* OpenFFA '''JeffM'''
* Download URL change (to force just images.bzflag.org, not any .org or .bz)
+
* Download URL change (to force just images.bzflag.org, not any .org or .bz) '''Constitution'''
* Remove option to turn off fog ''JeffM''
+
* Remove option to turn off fog '''JeffM'''
* Require OpenGL 1.2 ''JeffM''
+
* Require OpenGL 1.2 '''JeffM'''
* Only allow a single end shot credit for holding the shield flag ''Thumper''
+
* 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''
+
* Only players with POLL permission are eligible to take part in a vote '''Thumper'''
* Add the /serverdebug command ''Thumper''
+
* Add the /serverdebug command '''Thumper'''
* bzfs: Report errors to stderr instead of stdout ''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: Add -utc switch to output log messages in UTC instead of localtime '''Thumper'''
* bzfs: Fix timestamp buffer size so -ts micros output fits ''Thumper''
+
* bzfs: Fix timestamp buffer size so -ts micros output fits '''Thumper'''
 +
* Joystick input fixes/enhancements '''DTRemenak'''
 +
* Remove -geometry and make -window take a size '''JeffM'''
 +
* bzfs: Allow -time to have an ending time '''blast007'''
  
 
====New Changes====
 
====New Changes====
* Round Robin for services
+
* Round Robin for services '''JeffM'''
 
* Fix the protocol bug that version [[BZFlag 2.0.16|2.0.16]] was a band-aid for
 
* Fix the protocol bug that version [[BZFlag 2.0.16|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''
+
* Facilitate moving global services (e.g., my.bzflag.org) to new hardware, if any changes will help '''JeffM''' '''Blast007''' '''JoeVano'''
 +
* Import client customization settings from the 2.0 config.cfg file to the 2.4 version
 +
* Implement new version numbering system into code. (/src/date/buildDate.cxx and DEVINFO at least, there might be more places where it is needed)
  
 
===To Evaluate===
 
===To Evaluate===
Line 73: Line 94:
  
 
====Backports====
 
====Backports====
* Map changes
+
* Map changes '''mdskpr'''
* HTTP plugins
+
* HTTP plugins '''JeffM'''
* New API events ''JeffM''
+
* New API events '''JeffM'''
* BZFSCron
+
* Custom flag system '''DTRemenak'''
* Server Side Players ''JeffM''
+
* BZFSCron '''Thumper'''
* Bug fixes not in notes
+
* Server Side Players '''JeffM'''
* New flags
+
* Bug fixes not in notes '''Thumper'''
* Rabbit as proper team
+
* Hunter as proper team '''mdskpr (grabbed by DTRemenak)'''
 +
* bzfs -publickey '''trepan'''
 +
* push stats as default
  
 
====New Changes====
 
====New Changes====
* Countdown/reload timer position fix for when showCoordinates is enabled
+
* Countdown/reload timer position fix for when showCoordinates is enabled '''mdskpr'''
* SVN props cleanup
+
* SVN props cleanup '''BulletCatcher'''
* Display BZBB rank images in game. ''JeffM''
+
* Display BZBB rank images in game. '''JeffM'''
  
 
===Exclusions===
 
===Exclusions===
 
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.
 
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.
  
 +
* New flags
 
* Network buffering
 
* Network buffering
* Lua
 
 
* Lag compensation (needs a lot more testing)
 
* Lag compensation (needs a lot more testing)
 
* Acceleration changes
 
* Acceleration changes
Line 97: Line 120:
 
* New Translations (requires the new font system)
 
* New Translations (requires the new font system)
 
* Map geometry changes (requires flag zap zone support or breaks existing servers)
 
* Map geometry changes (requires flag zap zone support or breaks existing servers)
 +
* Website changes.
 +
 +
==Known Issues==
 +
===Empty Flag Types===
 +
When you start BZFS with +f good{2} the server will generate 8 "empty" flag IDs in addition to all normal good flags (no flag type.)
 +
This can be seen by doing '/flag show'. You can also '/flag give' the empty flag types, although all it seems to do is say "user: grabbed flag " in chat and make the flag pick-up noise - it doesn't actually give you a flag.
 +
 +
[[Category:Versions]]

Latest revision as of 23:09, 9 February 2013

Note[edit]

2.3 was released as 2.4.0, the documentation contained here was just a worksheet and does not represent the final list of features released.

Overview[edit]

BZFlag 2.3 was the development version released as 2.4.0. This is to get around the problem that BZFlag 2.99 development has stalled and does not look like it will continue. This is a last ditch effort to get development moving again.

Release[edit]

2.4.0 was released on July 3, 2011 and will be maintained as per the Development_RoadMap

Goal[edit]

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.

Schedule[edit]

  • Move trunk to a v2_99_branch. Complete
  • Copy v2_0branch to trunk and change protocol number. Complete
  • Change the version docs to make compatibility be the minor version number. Complete
  • 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. Complete
  • When proposals are in and accepted by consensus, start the 1-month countdown clock.Complete
  • Implement accepted proposals and test.In progress
  • Document server upgrade process for the many server owners. In progress Thumper by 6/20/2011
  • If release is not stable by 6/17/2011 revert changes that made it unstable.
  • Public beta on 6/20/2011
  • Public RC on 6/27/2011
  • Release on 6/30/2011

Projects[edit]

These are the many ideas, both new and old, for changes to BZFlag.

Assignments and tracking[edit]

Task tracking is managed via a google spread sheet that can be found here.

https://spreadsheets.google.com/spreadsheet/pub?hl=en&hl=en&key=0Agca59DESlNKdC1CSUtUMUhiSldrOVVPSHcwQUNzOUE&output=html

Developers with assigned tasks can request edit access to the document on IRC.

Timeline[edit]

Project must be completed by June 14th 2011 or they will be rolled back and excluded from the release.

Viable Projects[edit]

The developers believe any (but not all) of the following could be added to 2.3 within the proposed schedule.

Backports[edit]

These 2.99 features are suitable for porting to 2.3. Not all items were implemented in 2.4, check 2.4.0 release document for final release list.

  • Connection header change (HTTP-style) JeffM
  • New GUI elements DTRemenak
  • Server-side scoring DTRemenak
  • Segmented simulation loop (to prevent wallwalking) JeffM
  • Server-side flag ID and pickup Pimpinella
  • 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 DTRemenak
  • BZFS API rework JeffM
  • Remove local authentication (the /identify command) JeffM
  • Windows project cleanup JeffM
  • New make system BulletCatcher
  • New source docs (authors etc...) Constitution
  • Server-side handicap Thumper
  • Guided Missile shot checks Pimpinella
  • Stealth fixes for rabbit mdskpr
  • Asynchronous screenshot compression so client won't freeze up during screenshots DTRemenak
  • BZFlag update notification DTRemenak
  • Wings velocity change (additive flap instead of instant upward velocity) blast007 (r14997, r15162, r15832)
  • Message protection (ensure network messages are valid) A_Meteorite
  • Add message types so that actions (/me) are properly implemented blast007 (r19833)
  • New artwork JeffM Effects Updates
  • Server option to disable teamkills JeffM
  • OpenFFA JeffM
  • Download URL change (to force just images.bzflag.org, not any .org or .bz) Constitution
  • 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
  • Joystick input fixes/enhancements DTRemenak
  • Remove -geometry and make -window take a size JeffM
  • bzfs: Allow -time to have an ending time blast007

New Changes[edit]

  • Round Robin for services JeffM
  • 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
  • Import client customization settings from the 2.0 config.cfg file to the 2.4 version
  • Implement new version numbering system into code. (/src/date/buildDate.cxx and DEVINFO at least, there might be more places where it is needed)

To Evaluate[edit]

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.

Backports[edit]

  • Map changes mdskpr
  • HTTP plugins JeffM
  • New API events JeffM
  • Custom flag system DTRemenak
  • BZFSCron Thumper
  • Server Side Players JeffM
  • Bug fixes not in notes Thumper
  • Hunter as proper team mdskpr (grabbed by DTRemenak)
  • bzfs -publickey trepan
  • push stats as default

New Changes[edit]

  • Countdown/reload timer position fix for when showCoordinates is enabled mdskpr
  • SVN props cleanup BulletCatcher
  • Display BZBB rank images in game. JeffM

Exclusions[edit]

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.

  • New flags
  • 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)
  • Website changes.

Known Issues[edit]

Empty Flag Types[edit]

When you start BZFS with +f good{2} the server will generate 8 "empty" flag IDs in addition to all normal good flags (no flag type.) This can be seen by doing '/flag show'. You can also '/flag give' the empty flag types, although all it seems to do is say "user: grabbed flag " in chat and make the flag pick-up noise - it doesn't actually give you a flag.