Difference between revisions of "DevelopmentPlans/2.3"

From BZFlagWiki
Jump to: navigation, search
(General Overview and Idea of Project)
(3.0 was was named 2.99)
 
(67 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 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.
  
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 development on [[BZFlag 3.0]] 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 7: Line 12:
  
 
The hope is that this process will renew developer motivation and attract new developers.
 
The hope is that this process will renew developer motivation and attract new developers.
 
Note: This proposal requires changing the version docs to make the compatability be the minor version number.
 
 
==General Overview and Idea of Project==
 
* Facilitate moving global services (e.g., my.bzflag.org) to new hardware.
 
* Add one or two non-trivial client features so the players will be motivated to upgrade
 
** graphics quality?
 
** server list backport?
 
** Cloaked Shot flag (hoping for better than this)
 
* anti-cheating?
 
** Only allow a single end shot credit for holding the shield flag
 
** Only players with POLL permission are eligible to take part in a vote
 
* Fix the protocol bug that version [[BZFlag 2.0.16|2.0.16]] was a bandaid for.
 
* Command changes
 
** Remove the /identify command.
 
** Backport the /serverdebug command
 
* BZBB rank promotions! ;-)
 
  
 
==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'''
* Copy trunk to a V3_FAIL tag.
+
* Change the version docs to make compatibility be the minor version number. '''Complete'''
* Copy v2_0branch to trunk and commit a change that requires a new 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'''
* After 1 month, revert any changes that have caused unfixed regressions.
+
* Implement accepted proposals and test.'''In progress'''
* Update version docs and make trunk into 2.4.0.0 for releease.
+
* Document server upgrade process for the many server owners. '''In progress''' ''Thumper by 6/20/2011''
* Tag Trunk to 2_4branch trelease.
+
* 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==
 
==Projects==
These are the things that are in "the plan"
+
These are the many ideas, both new and old, for changes to BZFlag.
  
===Backports===
+
===Assignments and tracking===
These items should be moved back from V3 into the new version.
+
Task tracking is managed via a google spread sheet that can be found here.
  
* Connection Header Change
+
https://spreadsheets.google.com/spreadsheet/pub?hl=en&hl=en&key=0Agca59DESlNKdC1CSUtUMUhiSldrOVVPSHcwQUNzOUE&output=html
* Round Robin for services
+
* New GUI elements
+
* Server Side Scoring
+
* Sim loop breakup (to prevent F5)
+
* Server Side Flag ID and pickup
+
* New Shot Graphics
+
* Hud Markers
+
* Removal of low graphics, promotion of experimental to high.
+
* Server List from SOC
+
* API rework
+
* Remove Identify
+
* Windows Project Cleanup
+
* New Make system
+
* New source docs ( authors etc..)
+
* Server side handicap
+
* Gm shot checks
+
* Stealth fixes for rabbit
+
* Screenshot fixes
+
* Update Notification
+
* Wings Velocity Change
+
* Message Protection
+
* New artwork
+
* no Tks
+
* open FFA
+
* download URL change ( to force just images.bzflag.org, not any .org or .bz )
+
* remove fog options ( let server force)
+
* require GL 1.2
+
  
===Backport evals===
+
Developers with assigned tasks can request edit access to the document on IRC.
These items should be evaluated to see if they can be or should be moved back, but are not critical. These may exist as code or patches.
+
  
* Map changes.
+
===Timeline===
* HTTP plugins
+
Project must be completed by June 14th 2011 or they will be rolled back and excluded from the release.
* New API events
+
* BZFChron
+
* Server Side Players
+
* Bugfixs not in notes
+
* New flags
+
* Rabbit as team
+
* SVN props cleanup
+
* Countdown/reload timer position fix for when showCoordinates is enabled
+
  
====Things NOT to backport====
+
===Viable Projects===
These items should not be moved back due to stability issues. These are generaly be the blocking items preventing V3s current release.
+
The developers believe any (but not all) of the following could be added to 2.3 within the proposed schedule.
  
 +
====Backports====
 +
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'''
 +
* New GUI elements '''DTRemenak'''
 +
* Server-side scoring '''DTRemenak'''
 +
* Segmented simulation loop (to prevent wallwalking) '''JeffM'''
 +
* Server-side flag ID and pickup '''Pimpinella'''
 +
* [[2.3_NewShotGraphics|New shot graphics]] (geolaser/geothief) '''JeffM''' '''Discuss on IRC'''
 +
* HUD markers '''JeffM'''
 +
* [[2.3_QualityChanges|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''' [[2.3_NewEffects|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====
 +
* Round Robin for services '''JeffM'''
 +
* 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'''
 +
* 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===
 +
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====
 +
* 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====
 +
* Countdown/reload timer position fix for when showCoordinates is enabled '''mdskpr'''
 +
* SVN props cleanup '''BulletCatcher'''
 +
* Display BZBB rank images in game. '''JeffM'''
 +
 +
===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.
 +
 +
* New flags
 
* Network buffering
 
* Network buffering
* Lua
+
* Lag compensation (needs a lot more testing)
* Lag Comp
+
* Acceleration changes
* Acceleration Changes
+
* Font system (still has some bugs/glitches and possible performance issues)
* Font System
+
* New Translations (requires the new font system)
* New Translations
+
* 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.