DevelopmentPlans/2.3

From BZFlagWiki
Revision as of 15:15, 12 May 2011 by Bullet Catcher (Talk | contribs) (fix spelling and grammar, minor content changes)

Jump to: navigation, search

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.

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.

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.
    • 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 2.0.16 was a band-aid for.
  • Command changes
    • Remove the /identify command.
    • Backport the /serverdebug command

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.
  • When proposals are in and accepted by consensus, start the 1-month countdown clock.
  • Move trunk to a V3_FAIL tag.
  • 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.
  • After 1 month, revert any changes that have caused unfixed regressions.
  • Update version docs and make trunk into 2.4.0.0 for release.
  • Tag Trunk to 2_4branch and release.

Projects

These are the things that are in "the plan".

Critical

Backports

These items should be moved back from V3 into the new version.

  • Connection header change (HTTP-style)
  • New GUI elements
  • Server-side scoring
  • Segmented simulation loop (to prevent wallwalking)
  • Server-side flag ID and pickup
  • New shot graphics (geolaser/geothief)
  • HUD markers
  • Removal of low graphics, promotion of experimental to high.
  • Server list from GSOC
  • BZFS API rework
  • Remove local authentication (the /identify command)
  • Windows project cleanup
  • 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)
  • Message protection (ensure network messages are valid)
  • Add message types so that actions (/me) are properly implemented
  • New artwork
  • Server option to disable teamkills
  • OpenFFA
  • Download URL change (to force just images.bzflag.org, not any .org or .bz)
  • Remove option to turn off fog
  • Require OpenGL 1.2

New Changes

  • Round Robin for services

To Evaluate

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.

Backports

  • Map changes
  • HTTP plugins
  • New API events
  • BZFSCron
  • Server Side Players
  • Bug fixes not in notes
  • New flags
  • Rabbit as proper team

New Changes

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

Exclusions

These items should not be done or backported due to stability issues. These are generally the blocking items preventing 3.0's current release.

  • Network buffering
  • Lua
  • 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)