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

Editing Jwir3:csproposal

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 11: Line 11:
  
 
== Deliverables ==
 
== Deliverables ==
According to [1], several of the integration details for Crystal Space have already been accomplished.  This project would seek to build upon these foundations, helping Tupone and [darek] with their integration tasks.  Functionality will be added for the radar renderer and debugging capabilities to the BZFlag client.  The world element will be completed using Crystal Space, and menu selection will be implemented using Crystal Space's CEGui plugin.  Improvements will be made to graphics including: addition of shadows, better shading capabilities, and lightmaps.  Finally, additional tasks will be taken on as needed and assigned by the mentors and community.  Since the Crystal Space integration project is ongoing, and is a project not limited to a single developer, much of this could (and probably will) change.  The overall goal will be to help make sure that bzflag is integrated well with the Crystal Space engine, so that the power of Crystal Space can be used in the game.
+
According to [1], several of the integration details for Crystal Space have already been accomplished.  This project would seek to build upon these foundations, and add functionality for the radar renderer and debugging capabilities to the BZFlag client.  The world element will be completed using Crystal Space, and menu selection will be implemented using Crystal Space's CEGui plugin.  The Crystal Space plugin for ode will be used to re-implement collision detection.  Finally, improvements will be made to graphics including: addition of shadows, better shading capabilities, and lightmaps.  If time permits, CEL will also be utilized to create a more structured, rigorous re-development of parts of the game.
  
 
== Functionality Details ==
 
== Functionality Details ==
Line 17: Line 17:
  
 
== Implementation Details ==
 
== Implementation Details ==
Since Crystal Space is a C++ library, the integration will be in C++.  Crystal Space's CEgui plugin will be used to re-implement DisplayMenuWorld will be redeveloped, entirely created using Crystal Space's format and API.  Focus will be first on getting the client using Crystal Space to be as close to the current 2.0 version as possible.  Once this is completed, additional features will be added.  Playability of the game will be maintained at all times, so when a new feature is to be added to CVS, it will not compromise the ability of others to play the Crystal Space Client branch in CVS.  Shading will be addressed, utilizing interfaces in Crystal Space's SCF system.  Improvements in overall lighting and effects will be made, as deemed necessary by the mentors.  Interface design will be taken into consideration, and it is possible that functionality and/or updated visual aesthetics will be added, as the community feels is necessary.  Debugging will be re-implemented, using Crystal Space's bugplug plugin.  Finally, the overall design will be reevaluated to determine if CEL can be used as an additional layer to improve object-oriented design later on.
+
Since Crystal Space is a C++ library, the integration will be in C++.  Crystal Space's CEgui plugin will be used to construct menus and user interface items.  A similar plugin for ode will be used to redevelop the collision detection/physic in BZFlagThe world will be redeveloped, entirely created using Crystal Space's format and API.  Focus will be first on getting the client using Crystal Space to be as close to the current 2.0 version as possible.  Once this is completed, additional features will be added.  Shading will be addressed, and lightmaps will be added, computed using interfaces in Crystal Space's SCF.  Improvements in overall lighting and effects will be improved.  Interface design will be taken into consideration, and it is possible that functionality and/or updated visual aesthetics will be added, as the community feels is necessary.  Debugging will be re-implemented, using Crystal Space's bugplug plugin.  Finally, the overall design will be reevaluated to determine if CEL can be used as an additional layer to improve object-oriented design later on.
  
 
== Development Methodology ==
 
== Development Methodology ==
Line 23: Line 23:
  
 
== Project Schedule ==
 
== Project Schedule ==
The first task will be to integrate the bugplug plugin, in order to facilitate debugging of other items of the code.  When this is complete and tested, the functionality will be broken into iterations as described in the development methodology.  Implementation, testing/debugging, and documentation will take up the largest portion of the project, and is estimated to take roughly 1.5 months.  Once complete, the project will be delivered to the BZFlag community for evaluation and initial recommendations.  Final testing and debugging will then be done before final submission to Google.  The initial project schedule will be:
+
The first week will be used to research the BZFlag codebase, as well as outline the exact specifications for development.  Once this is complete, the bugplug plugin will be the first change that is made, in order to facilitate debugging of other items of the code.  When this is complete and tested, the functionality will be broken into iterations as described in the development methodology.  Implementation, testing/debugging, and documentation will take up the largest portion of the project, and is estimated to take roughly 1.5 months.  Once complete, the project will be delivered to the BZFlag community for evaluation and initial recommendations.  Final testing and debugging will then be done before final submission to Google.  The initial project schedule will be:
  
   * May 28 - Jun 10:  Integration of bugplug
+
   * May 28 - Jun 8:  Research of BZFlag codebase
   * Jun 11 - Jun 16: Development of Specifications
+
  * Jun 9 - Jun 15:  Integration of bugplug
   * Jun 17 - Jul 25: Implementation of Specified Functionality
+
   * Jun 16 - Jun 18: Development of Specifications
   * Jul 26 - Aug 1:   System-Wide Debugging, Initial Release
+
   * Jun 19 - Jul 30: Implementation of Specified Functionality
   * Aug 2 - Aug 13:   Final Debugging
+
   * Jul 31 - Aug 5: System-Wide Debugging, Initial Release
   * Aug 14 - Aug 19   Final Code Documentation and Code Polishing
+
   * Aug 6 - Aug 18: Final Debugging
   * Aug 20:           Final Release to Google and Community
+
   * Aug 19:          Final Code Documentation and Code Polishing
 
+
   * Aug 20:         Final Release to Google and Community
It is possible that this schedule will change, due to the nature of the project.  As was previously stated, some of the code has already been developed for this integration, and I would be working as a member of a team in order to ensure its completion by the end of the summer.  Thus, there may be situations where a patch or feature will need to be added which wasn't described in this project outline.  The schedule is definitely flexible and open to change.
+
  
 
== Bio ==
 
== Bio ==
I am currently attending the University of Minnesota as a PhD student in the Computer Science department.  My specialization/research area is in Graphics and Visualization.  I have roughly 4 years experience working with Computer Graphics.  I have 10+ years of experience working with C/C++ programming, and have a passion for software engineering, especially when it comes to games and other entertainment software.  I am an advocate of open source software, because I believe it gives inexperienced software engineers the chance to work with those who have had years of prior experience in design, development, and debugging of code which they would not otherwise have had.  In my free time I enjoy playing the violin and practicing martial arts.
+
I am currently attending the University of Minnesota as a PhD student in the Computer Science department.  My specialization/research area is in Graphics and Visualization.  I have roughly 4 years experience working with Computer Graphics.  I consider myself an expert in C/C++ programming, and have a passion for software engineering, especially when it comes to games and other entertainment software.  I am an advocate of open source software, because I believe it gives inexperienced software engineers the chance to work with those who have had years of prior experience in design, development, and debugging of code which they would not otherwise have had.  In my free time I enjoy playing the violin and practicing martial arts.  
  
 
== References ==
 
== References ==
 
[1] http://my.bzflag.org/w/Google_Summer_of_Code#Graphics_Engine_Integration
 
[1] http://my.bzflag.org/w/Google_Summer_of_Code#Graphics_Engine_Integration

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)