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

Editing DevelopmentGoals

Jump to: navigation, search

Warning: The database has been locked for maintenance, so you will not be able to save your edits right now. You may wish to copy and paste your text into a text file and save it for later.

The administrator who locked it offered this explanation: Archived wiki

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
 
This page describes the development goals for the project. It is a set of desired features, problem areas, wishlist items that define the general direction that the developers feel the project should be taken in.
 
This page describes the development goals for the project. It is a set of desired features, problem areas, wishlist items that define the general direction that the developers feel the project should be taken in.
 
'''Please see [[Development RoadMap]] for a more detailed list of the development plan.'''
 
  
 
==Tools==
 
==Tools==
  
BZFlag has a number of sub-tool projects, each with their own needs.
+
BZFlag has a number of sub-tool projects, each with there own needs.
  
===BZWorkBench===
+
===BZWorldBuilder===
 
BZWB is a world/map editor that was completed for the 2007 Google Summer of Code program that BZFlag participated in. It is mostly functional but lacks a number of features, including.
 
BZWB is a world/map editor that was completed for the 2007 Google Summer of Code program that BZFlag participated in. It is mostly functional but lacks a number of features, including.
  
Line 28: Line 26:
 
* Using LDAP for authentication
 
* Using LDAP for authentication
 
* Moving away from PHP/Apache to a real compiled daemon.
 
* Moving away from PHP/Apache to a real compiled daemon.
* Moving away from HTTP to a more efficient TCP protocol.
+
* moving away from HTTP to a more efficient TCP protocoll.
  
 
===Group Management===
 
===Group Management===
The current system of using phpbb to manage user groups is proving to be logistically difficult given the large number of servers and the groups that their server owners desire. A more user centric group management system would be a large help.
+
The current system of using phpbb to manage user groups is proving to be logisticaly dificult given the large number of servers and the groups that their server owners desire. A more user centric group management system would be a large help.
  
 
A full spec for the system can be found at [[Group Management System]]
 
A full spec for the system can be found at [[Group Management System]]
 +
 +
===Main Website===
 +
A more data driven site would be beneficial, as well as integrated user management.
  
 
===Game Statistics===
 
===Game Statistics===
A more push oriented stats system is desired. The concept of having pages poll the list of running servers to get stats data is not desirable.
+
A more push oriented stats system is desired.
 
+
Proposals have been;
+
 
+
* Include a standardized plug-in that pushes data to various stats sites.
+
* Include more detailed stats with the game servers' list server update pushes.
+
* Provide a common "data dump" page on the list server so that external stats sites don't have to poll data.
+
  
 
==Codebase==
 
==Codebase==
 
 
===libGame===
 
===libGame===
As much game code as possible needs to be generalized into a lib game and be shared by the client and server.
+
As much game code as possible needs to be generalised into a lib game and be shared by the client and server.
 
+
===Cleanups===
+
The current codebase has a number of files/functions that need to be broken up for better reuse and maintainability, these include:
+
* bzfs.cxx
+
* playing.cxx
+
  
 
==Game server==
 
==Game server==
 
 
===Authoritative Server State===
 
===Authoritative Server State===
The game server needs to keep full track of where every player and every shot is. This state needs to be pushed out as the authoritative state to all clients. The server needs to also verify all input according to the current game's rules. This state needs to include at least the following;
+
The game server needs to keep full track of where every player and every shot is. This state needs to be pushed out as the authortive state to all clients. The server needs to also verify all input according to the current game's rules. This state needs to include at least the following;
  
 
* Player position
 
* Player position
Line 73: Line 61:
  
 
==Game Client==
 
==Game Client==
 
 
===Graphics system split===
 
===Graphics system split===
The graphics subsystem of the game client needs to be split out and made into its own module that can be optionally built in. This will help standalone bots.
+
The graphics subsystem of the game client needs to be split out and made into it's own module that can be optionally built in. This will help standalone bots.
  
 
===Graphics Engine Evaluations===
 
===Graphics Engine Evaluations===
 
Existing third party graphics engines/libraries need to be evaluated to see if they would provide the game with significant features. Engines such as OGRE, Crystal Space, and Open Scene Graph look promising.
 
Existing third party graphics engines/libraries need to be evaluated to see if they would provide the game with significant features. Engines such as OGRE, Crystal Space, and Open Scene Graph look promising.
 
==See Also==
 
[[Server Updated Shots]]
 
 
[[Group Management System]]
 
 
[[Category:Development]]
 

Please note that all contributions to BZFlagWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BZFlagWiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel | Editing help (opens in new window)