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

DevelopmentPlans/2.6.0

From BZFlagWiki
Revision as of 14:47, 28 April 2013 by Blast (Talk | contribs) (Overview)

Jump to: navigation, search

Overview

2.6.0 will be a new breaking release that is not compatible with the 2.4.x line. A strong focus of this release should be improving the user experience and improving the flexibility of the user interface.

Goals

  • Tutorial Mode (1.1.1, 1.1.2, 4.1, 4.2, 4.3, 5.1, 5.2, 5.3, 6.1, 6.2, 6.3, 7.1, 7.2)
  • Easier polling system (1.1.2, 2.1, 2.2)
  • Useful MOTD (1.1.1, 3.1, 3.2)
  • Better localized messages (4.1, 4.2, 4.3, 5.1, 7.1)
  • Additional mapping features (5.1, 5.2, 5.3)

Features

  1. Add new UI elements
    1. Dialogs
      1. Modal dialogs are featured front and center, and require being dismissed by the user. They support hotkeys, server-specified buttons, or freeform menu items. Keyboard, mouse (including clicking items), and joystick interaction is supported.
      2. Unobtrusive dialogs show up as smaller semi-transparent boxes towards the edge of the screen and support only hotkeys (keyboard, mouse button, joystick button) for interaction.
  2. Revamp the poll system
    1. Add an actual message type to the protocol for the poll system (MsgPoll and MsgVote, perhaps, or just build it with generic dialog message types)
    2. Add an unobtrusive dialog for polls with support for both the old style /vote command and polling/dialog key bindings.
  3. Revamp the MOTD
    1. Update client MOTD code to send the client version and other system information (operating system and similar) to the server. The MOTD server would then use this information to send appropriate MOTD entries.
    2. Have the MOTD code detect when there is a new MOTD and pop up a modal dialog. Include a MOTD menu item for later access.
  4. Font system and language support
    1. New font system (FTGL or similar)
    2. Add the additional fonts and better translations from 2.99.x.
    3. Send the client locale to the server so that the server could localize messages sent to the client
  5. Map features
    1. Text object (from 2.99.x)
    2. BZDB controlled attributes
    3. Mesh bases/teleporters
  6. Server Side Players
    1. Server-side shot path tracking
    2. Shared client logic library used in both the client and server.
    3. Ability to spawn and control SSPs from a plugin.
  7. Other
    1. Add a per-player name/value pair system. This would be used for data like:
      • Motto
      • Locale
    2. Implement MsgAllow from 2.99.x (or should this be part of the per-player name/value pair system?)