This wiki was in read-only mode for many years, but can now be edited again. A lot of information will need to be updated.

DevelopmentPlans/2.3: Difference between revisions

From BZFlagWiki
Jump to navigation Jump to search
3.0 was was named 2.99
 
(75 intermediate revisions by 14 users not shown)
Line 1: Line 1:
BZFlag 2.3 will be a development version intended to sidestep the abandonment of [[BZFlag 3.0]] development.
=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==
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 6: Line 13:
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.
==Schedule==
* 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==
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===
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.


==General ideas==
* Connection header change (HTTP-style) '''JeffM'''
* Facilitate moving global services (e.g., my.bzflag.org) to new hardware.
* New GUI elements '''DTRemenak'''
* Add one or two non-trivial client features so the players will be motivated to upgrade
* Server-side scoring '''DTRemenak'''
  - graphics quality?
* Segmented simulation loop (to prevent wallwalking) '''JeffM'''
  - server list backport?
* Server-side flag ID and pickup '''Pimpinella'''
  - Cloaked Shot flag (hoping for better than this)
* [[2.3_NewShotGraphics|New shot graphics]] (geolaser/geothief) '''JeffM''' '''Discuss on IRC'''
* anti-cheating?
* HUD markers '''JeffM'''
* Fix the protocol bug that version [[BZFlag 2.0.16|2.0.16]] was a bandaid for.
* [[2.3_QualityChanges|Removal of low graphics, promotion of experimental to high]]. '''JeffM'''
* Remove the /identify command.
* Server list from GSoC '''DTRemenak'''
* BZBB rank promotions! ;-)
* 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'''


==Schedule==
====New Changes====
* Immediately open 2.0.17 up for whitespace, Subversion properties, copyright notices, and other easy changes that don't break protocol.
* Round Robin for services '''JeffM'''
* 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.
* Fix the protocol bug that version [[BZFlag 2.0.16|2.0.16]] was a band-aid for
* When proposals are in and accepted by consensus, start the 1-month countdown clock.
* Facilitate moving global services (e.g., my.bzflag.org) to new hardware, if any changes will help '''JeffM''' '''Blast007''' '''JoeVano'''
* Copy trunk to a V3_FAIL tag.
* Import client customization settings from the 2.0 config.cfg file to the 2.4 version
* Copy v2_0branch to trunk and commit a change that requires a new protocol number.
* Implement new version numbering system into code. (/src/date/buildDate.cxx and DEVINFO at least, there might be more places where it is needed)
* Implement accepted proposals and test.
 
* After 1 month, revert any changes that have caused unfixed regressions.
===To Evaluate===
* Update version docs and make trunk into 2.4.0.0 for releease.
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.
* Tag Trunk to 2_4branch trelease.


==Backports==
====Backports====
These items should be moved back from V3 into the new version.
* 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


* Connection Header Change
====New Changes====
* Round Robin for services
* Countdown/reload timer position fix for when showCoordinates is enabled '''mdskpr'''
* New GUI elements
* SVN props cleanup '''BulletCatcher'''
* Server Side Scoring
* Display BZBB rank images in game. '''JeffM'''
* 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 )


==Backport evals==
===Exclusions===
These items should be evaluated to see if they can be or should be moved back, but are not critial.
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.


* Map changes.
* HTTP plugins
* New API events
* BZFChron
* Server Side Players
* Bugfixs not in notes
* New flags
* 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.


==Things NOT to backport==
==Known Issues==
These items should not be moved back due to stability issues. These are generaly be the blocking items preventing V3s current release.
===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.


* Network buffering
[[Category:Versions]]
* Lua
* Lag Comp
* Acceleration Changes
* Font System
* New Translations

Latest revision as of 23:09, 9 February 2013

Note

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

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

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

Goal

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

  • 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

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

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

  • 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

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

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.