This wiki is archived and useful information is being migrated to the main bzflag.org website
Editing Jwir3:csproposal
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, | + | 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 | + | 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 BZFlag. The 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 | + | 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 | + | * May 28 - Jun 8: Research of BZFlag codebase |
− | * Jun | + | * Jun 9 - Jun 15: Integration of bugplug |
− | * Jun | + | * Jun 16 - Jun 18: Development of Specifications |
− | * Jul | + | * Jun 19 - Jul 30: Implementation of Specified Functionality |
− | * Aug | + | * Jul 31 - Aug 5: System-Wide Debugging, Initial Release |
− | * | + | * Aug 6 - Aug 18: Final Debugging |
− | * Aug 20: | + | * Aug 19: Final Code Documentation and Code Polishing |
− | + | * Aug 20: Final Release to Google and Community | |
− | + | ||
== 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 | + | 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 |