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

Difference between revisions of "CrystalSpace client"

From BZFlagWiki
Jump to: navigation, search
(Moved category to Development)
m (cleanups)
Line 1: Line 1:
An ongoing effort is to provide bzflag with a [http://crystalspace3d.org crystalspace] client.  
+
The Crystal Space client is an ongoing effort is to provide implement the BZFlag client using the a [http://crystalspace3d.org crystalspace] 3d engine and application framework.  
  
The version is very experimental and it is compatible with the 2.0 version. It will be only available via CVS, you can get it using the branch v2_0_cs_branch.
+
The current version is very experimental but, is compatible with all 2.0.x servers. It will be only available via CVS, using the v2_0_cs_branch.
  
In the current status, the client is playable, but has less functionalities than the stable release, so don't get it unless you want to help that development.
+
Currently, the client is playable, does not contain all the features of the stable release. It is not recommended as a playing client, only to be used for development.
  
 
That is the plan on the development, subject to change without any prior notification:
 
That is the plan on the development, subject to change without any prior notification:
  
# Integrate bzflag client in the Crystal-Space framework, particularly regarding the event handling nature of it. <span style="color: rgb(255, 0, 0);">(done)</span>
+
# Integrate BZFlag client in the Crystal-Space framework, particularly regarding the event handling nature of it. <span style="color: rgb(255, 0, 0);">(done)</span>
 
# Handle the command line interface a la Crystal-Space: <span style="color: rgb(255, 0, 0);">(done)</span>
 
# Handle the command line interface a la Crystal-Space: <span style="color: rgb(255, 0, 0);">(done)</span>
 
#* Option values separated by '=' instead of ' '
 
#* Option values separated by '=' instead of ' '
Line 13: Line 13:
 
#* Request of option on the command line using CS API
 
#* Request of option on the command line using CS API
 
# Joystick handling done from Crystal Space <span style="color: rgb(255, 0, 0);">(done)</span> This is actually having less functionality of native porting, as the force feedback is missing. I'll think I'll revert the joystick change when the work will go further.
 
# Joystick handling done from Crystal Space <span style="color: rgb(255, 0, 0);">(done)</span> This is actually having less functionality of native porting, as the force feedback is missing. I'll think I'll revert the joystick change when the work will go further.
# Initialize the 2d renderer engine. Should be compatible with openGL, so sdl is not an available option
+
# Initialize the 2d renderer engine. Should be compatible with open GL, so SDL is not an available option
 
# Crystal-Space manages the mouse, as far as possible.
 
# Crystal-Space manages the mouse, as far as possible.
 
# Crystal-Space manages the keyboard, as far as possible.
 
# Crystal-Space manages the keyboard, as far as possible.
# Remove all the opengl from bzflag and start to render the Tank using the CS API
+
# Remove all the open GL from BZFlag and start to render the Tank using the CS rendering API
 
# Build the world element using CS API
 
# Build the world element using CS API
 
# Build the Menu selection using the [http://www.cegui.org.uk Crazy Eddie GUI]
 
# Build the Menu selection using the [http://www.cegui.org.uk Crazy Eddie GUI]
# Rewrite the collision detection code using the [http://ode.org/ ode] plugin
+
# Rewrite the collision detection code using the [http://ode.org/ ode] plug-in
 
# Ship it!
 
# Ship it!
  
 
My idea is to have at any stage of development a working client, so we can see the product and change the direction of development at an early stage, if that is required, or abandon this idea at all.
 
My idea is to have at any stage of development a working client, so we can see the product and change the direction of development at an early stage, if that is required, or abandon this idea at all.
  
Actual work on this project is off line the 2.2 release. If the integration succeed, and the performance indicators are ok, only then we can think this work is good for formal release on whatever version is available at the moment. As probably crystal space is not going to be supported on ''alien'' architectures, the goal is not to substitute the old client, but to provide an enhanced version of it. We'll see.
+
Actual work on this project is on the 2.0.x branch, as to not delay the the 2.2 release. If the integration is successful, and the performance is acceptable then we can look into putting this work into a production release. Crystal Space, being a 3rd party library may have limited support for some of the less popular Operating Systems, as such support for those may be more difficult. Crystal Space does support the majority of our popular Operating Systems, including IRIX and Solaris.
  
Any developer is invited to contribute, having time and wish. I just ask to coordinate the effort with me. (atupone)
+
All developers are invited to contribute if they have the desire. It is just asked that work be coordinated with [[Tupone]]
  
 
[[Category:Development]]
 
[[Category:Development]]

Revision as of 22:56, 6 March 2007

The Crystal Space client is an ongoing effort is to provide implement the BZFlag client using the a crystalspace 3d engine and application framework.

The current version is very experimental but, is compatible with all 2.0.x servers. It will be only available via CVS, using the v2_0_cs_branch.

Currently, the client is playable, does not contain all the features of the stable release. It is not recommended as a playing client, only to be used for development.

That is the plan on the development, subject to change without any prior notification:

  1. Integrate BZFlag client in the Crystal-Space framework, particularly regarding the event handling nature of it. (done)
  2. Handle the command line interface a la Crystal-Space: (done)
    • Option values separated by '=' instead of ' '
    • Own handling of -help
    • Request of option on the command line using CS API
  3. Joystick handling done from Crystal Space (done) This is actually having less functionality of native porting, as the force feedback is missing. I'll think I'll revert the joystick change when the work will go further.
  4. Initialize the 2d renderer engine. Should be compatible with open GL, so SDL is not an available option
  5. Crystal-Space manages the mouse, as far as possible.
  6. Crystal-Space manages the keyboard, as far as possible.
  7. Remove all the open GL from BZFlag and start to render the Tank using the CS rendering API
  8. Build the world element using CS API
  9. Build the Menu selection using the Crazy Eddie GUI
  10. Rewrite the collision detection code using the ode plug-in
  11. Ship it!

My idea is to have at any stage of development a working client, so we can see the product and change the direction of development at an early stage, if that is required, or abandon this idea at all.

Actual work on this project is on the 2.0.x branch, as to not delay the the 2.2 release. If the integration is successful, and the performance is acceptable then we can look into putting this work into a production release. Crystal Space, being a 3rd party library may have limited support for some of the less popular Operating Systems, as such support for those may be more difficult. Crystal Space does support the majority of our popular Operating Systems, including IRIX and Solaris.

All developers are invited to contribute if they have the desire. It is just asked that work be coordinated with Tupone