Help us
Version 14 (kervala, 09/29/2010 08:54 pm)
| 1 | 9 | katriell | h1. Help Us |
|---|---|---|---|
| 2 | 1 | vl | |
| 3 | 12 | kervala | Nice to see that you want to help the project :) There's lot of things you can do. |
| 4 | 12 | kervala | |
| 5 | 2 | sfb | This project requires a lot of work and this page will list in order of importance what you can do to help us: |
| 6 | 1 | vl | |
| 7 | 2 | sfb | h2. Promoting The Project |
| 8 | 1 | vl | |
| 9 | 9 | katriell | If you like this project please tell your friends, post on forums, blog about it, tweet about it, and do whatever else you can to spread the word. |
| 10 | 1 | vl | |
| 11 | 10 | kervala | h2. Improving GNU/Linux and MAC OS X and ports |
| 12 | 3 | vl | |
| 13 | 10 | kervala | Currently Ryzom is natively compiling and running on Windows, Linux and Mac OS X. However, the two last ports are very recent and need to be improved. We are looking for people who want to help to improve Ryzom to their preferred operating system. |
| 14 | 3 | vl | |
| 15 | 6 | vl | h2. Porting Tools |
| 16 | 1 | vl | |
| 17 | 9 | katriell | * 3D objects were made with 3dsmax. Work is already underway to eliminate that dependency and use free software alternatives like Blender. |
| 18 | 6 | vl | |
| 19 | 6 | vl | * [[Georges]], the tool used to describe all items in the world (monsters, npc, items, stats) was written for Windows with MFC. So it needs to be adapted to work on GNU/Linux using Qt. |
| 20 | 6 | vl | |
| 21 | 6 | vl | * [[ObjectViewer]] will be adapted to work on GNU/Linux using Qt thanks to a trainee from the Google Summer of Code but the task is big and help is welcome. |
| 22 | 6 | vl | |
| 23 | 9 | katriell | * [[WorldEditor]] is also made with MFC and only for Windows. We have a very precise vision of what we want to do to replace this tool. Using new web technology and "some tools":http://maps.bmsite.net already made by some Ryzom fans, we want to create collaborative online tools to directly edit and apply world modification into the servers. This will require lot of knowledge in Javascript and PHP. |
| 24 | 6 | vl | |
| 25 | 9 | katriell | These are the next big tasks that need to be done to make Ryzom even more useful to the free software community, so if you'd like to help, please [[Contact_the_community|contact us]]. |
| 26 | 1 | vl | |
| 27 | 2 | sfb | h2. Source Code Packaging |
| 28 | 1 | vl | |
| 29 | 2 | sfb | One of the first big changes to the Ryzom project will be to eliminate the build-specific files. Currently Ryzom uses a custom Makefile system for building on Linux and Visual Studio solutions and projects to build on Windows. The goal is to unify all of the disparate build environments under the CMake umbrella. |
| 30 | 2 | sfb | |
| 31 | 2 | sfb | CMake provides a certain level of automated packaging through CPack. We would like to start harnessing CPack to generate releases so that the release cycle can be shorter and easier. In addition we are seeking Debian and Fedora package maintainers to help build and maintain Ryzom packages for the various Debian-based distributions and the RedHat-based systems. |
| 32 | 2 | sfb | |
| 33 | 2 | sfb | Packagers for other distributions and distribution systems are eagerly welcomed as well. We would like to release often and to as many platforms as possible. |
| 34 | 2 | sfb | |
| 35 | 1 | vl | h2. Documentation |
| 36 | 1 | vl | |
| 37 | 9 | katriell | Documentation is something we readily admit is a weak point for us. If you're good at technical writing but not confident in your programming skills this could be a great way for you to contribute. We have a variety of documentation tasks including these examples: |
| 38 | 2 | sfb | |
| 39 | 2 | sfb | * Convert existing "NeL":http://dev.ryzom.com/projects/nel/wiki documentation to the new site. |
| 40 | 2 | sfb | * Convert the "OpenNeL Handbook":http://www.opennel.org/confluence/display/~mattr/MtrNelManualNotes to this site. |
| 41 | 2 | sfb | * Write tutorials on basic usage. |
| 42 | 2 | sfb | * Create simple sample demonstrations. |
| 43 | 2 | sfb | * Create tutorials and videos on things such as using the tools, creating content, etc. |
| 44 | 2 | sfb | |
| 45 | 2 | sfb | In addition to these examples we also very much need a developer willing to dig through obscure code and work on understanding how much of the lesser known pieces of code and functionality work and document them as well. |
| 46 | 2 | sfb | |
| 47 | 2 | sfb | h2. Security Reviews and Patches |
| 48 | 2 | sfb | |
| 49 | 2 | sfb | The Ryzom Project has gone through lengths in an attempt to mitigate as many of the potential security threats as possible but we know we're not perfect. We seek eager individuals to help us identify potential or actual security problems and work with us to resolve them. |
| 50 | 2 | sfb | |
| 51 | 2 | sfb | h2. Bug Slaying |
| 52 | 2 | sfb | |
| 53 | 2 | sfb | Every project has bugs and we are no exception. It takes a special person to catch those little flaws in code and figure out the right way to fix the problem. |
| 54 | 11 | kervala | |
| 55 | 11 | kervala | h2. Do some never ending tasks |
| 56 | 11 | kervala | |
| 57 | 11 | kervala | It's often a very good way to start to contribute. |
| 58 | 11 | kervala | |
| 59 | 11 | kervala | Never ending tasks are special tasks that are... never ended. They often are easy but sometime boring but they are very important to maintain the quality of Ryzom Core. You can see the list of "never ending tasks":http://dev.ryzom.com/projects/nel/issues?query_id=1 (fix the link). For example, it's code/comments cleaning, some small refactoring... Well, it's often easy to do when you read a header for example. If we all regularly work on these tasks, the project will become stronger. |
| 60 | 11 | kervala | |
| 61 | 11 | kervala | h2. Resolve a known issue |
| 62 | 11 | kervala | |
| 63 | 11 | kervala | There are some "bugs and features":http://dev.ryzom.com/projects/nel/issues?query_id=2 that have been requested by the community, you can take one and resolve it. |
| 64 | 11 | kervala | |
| 65 | 11 | kervala | h2. Do what you want |
| 66 | 11 | kervala | |
| 67 | 11 | kervala | After all, it's a Free Software project, you can do what you want! Just do it! |
| 68 | 1 | vl | |
| 69 | 1 | vl | h1. HelpWanted |
| 70 | 14 | kervala | |
| 71 | 14 | kervala | {{toc}} |
| 72 | 13 | kervala | |
| 73 | 13 | kervala | All open work is rated on a simple 4-place scale: Easy, Moderate, Difficult and Extremely Difficult. |
| 74 | 13 | kervala | |
| 75 | 13 | kervala | h2. NeL3D |
| 76 | 13 | kervala | |
| 77 | 13 | kervala | h3. Implement new OpenGL backend driver in NeL3D |
| 78 | 13 | kervala | |
| 79 | 13 | kervala | *Difficulty:* Difficult |
| 80 | 13 | kervala | *Description:* |
| 81 | 13 | kervala | Write a new OpenGL driver for NeL3D based on either OpenGL 2.0+ or OpenGL ES 2.0. The latter OpenGL implementation will be the more challenging effort. Writing an OpenGL 2.0+ driver would be a good step to providing the basis necessary for more modern OpenGL implementations and OpenGL ES 2.0 will set the basis for the future OpenGL 3.0 driver. |
| 82 | 13 | kervala | *Requirements:* C++, OpenGL |
| 83 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 84 | 13 | kervala | |
| 85 | 13 | kervala | h3. Implement a native MacOS X implementation using OpenGL |
| 86 | 13 | kervala | |
| 87 | 13 | kervala | *Difficulty:* Moderate to Difficult |
| 88 | 13 | kervala | *Description:* |
| 89 | 13 | kervala | Currently the NeL implementation for OS X relies upon X11 which is not a default feature for average end-users. We would like to create a custom native handler for the OpenGL driver for OS X systems. This will provide native window creation, screen management and events (keyboard and mouse input.) |
| 90 | 13 | kervala | *Requirements:* C++, OS X (Xcode), Cocoa, Objective-C |
| 91 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 92 | 13 | kervala | |
| 93 | 13 | kervala | h3. Modularize OS/Platform/Architecture Code |
| 94 | 13 | kervala | |
| 95 | 13 | kervala | *Difficulty:* Easy to Moderate |
| 96 | 13 | kervala | *Description:* |
| 97 | 13 | kervala | We would like to extract OS and platform specific code into separate code files that can be resolved at link-time as well as runtime. This will help clean a myriad of #ifdefs out of the code and will allow us, at runtime, to link libraries optimized for specific instruction sets (e.g. MMX). |
| 98 | 13 | kervala | *Requirements:* C++ |
| 99 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 100 | 13 | kervala | |
| 101 | 13 | kervala | h3. Create A Programmable Shader Framework |
| 102 | 13 | kervala | |
| 103 | 13 | kervala | *Difficulty:* Extremely Difficult |
| 104 | 13 | kervala | *Description:* |
| 105 | 13 | kervala | We want to create a pluggable programmable shader framework that allow us to load shaders at runtime and allows the configuration of use of a specific shader langauge based upon system support. This will give us the ability to allow graphic artists to write shaders for their models and terrain without requiring timely and bug prone modifications of the render pipeline and will eliminate the existing inefficient CVertexProgram architecture. This will also simplify our ability to support for existing built-in shader effects. |
| 106 | 13 | kervala | *Requirements:* C++, OpenGL *and* Direct3D, GLSL *and* HLSL (potentially Cg) |
| 107 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 108 | 13 | kervala | |
| 109 | 13 | kervala | h3. Expand Shadow Rendering Support |
| 110 | 13 | kervala | |
| 111 | 13 | kervala | *Difficulty:* Difficult |
| 112 | 13 | kervala | *Description:* |
| 113 | 13 | kervala | We need to fix shadow rendering to have more broad hardware support. We have a number of platforms in which shadows do not render properly. |
| 114 | 13 | kervala | *Requirements:* C++, OpenGL *and* Direct3D, potentially GLSL and HLSL. |
| 115 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 116 | 13 | kervala | |
| 117 | 13 | kervala | h2. NeLMisc |
| 118 | 13 | kervala | |
| 119 | 13 | kervala | h3. Implement Pluggable Scripting Framework |
| 120 | 13 | kervala | |
| 121 | 13 | kervala | *Difficulty:* Difficult |
| 122 | 13 | kervala | *Description:* |
| 123 | 13 | kervala | We want to create a pluggable scripting framework with a reference implementation in Python or Lua. This framework will provide the essential wrapping of the NeL API so that any NeL-related activity can be accomplished through the reference implementation. The goal in this is to make it easier for new and existing projects to develop gameplay changes dynamically while limiting the impact of compilation. In addition if the reference implementation is in Python this provides a crucial step forward in simplifying the path to a Blender exporter. |
| 124 | 13 | kervala | *Requirements:* C++, Lua and/or Python |
| 125 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 126 | 13 | kervala | |
| 127 | 13 | kervala | h3. Expand Image File Support |
| 128 | 13 | kervala | |
| 129 | 13 | kervala | *Difficulty:* Easy to Moderate |
| 130 | 13 | kervala | *Description:* |
| 131 | 13 | kervala | We want to add file format support for more texture and image formats using a third-party library such as DevIL. The new functionality should be flexible enough to exclude formats that may not supported by the third party library based on the library compile-time options. |
| 132 | 13 | kervala | *Requirements:* C++ |
| 133 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 134 | 13 | kervala | |
| 135 | 13 | kervala | h2. NeLGeorges |
| 136 | 13 | kervala | |
| 137 | 13 | kervala | Any ideas? Please add them! |
| 138 | 13 | kervala | |
| 139 | 13 | kervala | h2. NeLPacs |
| 140 | 13 | kervala | |
| 141 | 13 | kervala | h3. Create an Alternative Implementation of PACS |
| 142 | 13 | kervala | |
| 143 | 13 | kervala | *Difficulty:* Difficult |
| 144 | 13 | kervala | *Description:* |
| 145 | 13 | kervala | There have been a number of request to have a "true" 3D collision library implemented for NeL using NeL's types and compatible with NeL's landscape. The primary challenge with this is compensating for the landscape without inducing undue performance losses. The two optimal choices for a potential third-party library to support would be either "Bullet":http://www.bulletphysics.com/Bullet/wordpress/ or "ODE":http://www.ode.org/. It would also be preferred if possible to maintain NLPACS as an API and change it to load the legacy functionality or the new functionality as a driver in the same manner we manage OpenGL vs. Direct3D. |
| 146 | 13 | kervala | *Requirements:* C++, Physics, ODE or Bullet. |
| 147 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 148 | 13 | kervala | |
| 149 | 13 | kervala | h2. NeLNet |
| 150 | 13 | kervala | |
| 151 | 13 | kervala | Any ideas? Please add them! |
| 152 | 13 | kervala | |
| 153 | 13 | kervala | h2. NeLLigo |
| 154 | 13 | kervala | |
| 155 | 13 | kervala | Any ideas? Please add them! |
| 156 | 13 | kervala | |
| 157 | 13 | kervala | h2. NeLSound |
| 158 | 13 | kervala | |
| 159 | 13 | kervala | h3. Complete NeLSound OpenAL Driver. |
| 160 | 13 | kervala | |
| 161 | 13 | kervala | *Difficulty:* Moderate |
| 162 | 13 | kervala | *Description:* |
| 163 | 13 | kervala | The OpenAL sound driver isn't entirely complete and needs to be reviewed to ensure that it fulfills all of the feature requirements of NeLSound. Additionally a better mechanism for handling music may need to be considered. |
| 164 | 13 | kervala | *Requirements:* C++, OpenAL |
| 165 | 13 | kervala | *Issue Reference:* Feature #132: Implement manual rolloff in OpenAL driver |
| 166 | 13 | kervala | |
| 167 | 13 | kervala | |
| 168 | 13 | kervala | h3. Sound Source Loading System |
| 169 | 13 | kervala | |
| 170 | 13 | kervala | *Difficulty:* Moderate |
| 171 | 13 | kervala | *Description:* |
| 172 | 13 | kervala | Currently supported sound formats are dictated by the sound driver in use. We want to add a sound source loading system into the low-level API that exists between high level sound management and the driver. This would ideally load into a driver independent storage class and be compatible with the sound drivers we currently use (DirectSound, XAudio2, FMOD and OpenAL). |
| 173 | 13 | kervala | *Requirements:* C++ |
| 174 | 13 | kervala | *Issue Reference:* Feature #99: Sound buffer streaming, Feature #100: Multi-channel buffers, Bug #324 |
| 175 | 13 | kervala | |
| 176 | 13 | kervala | h3. Sound Occlusion and Obstruction Support |
| 177 | 13 | kervala | |
| 178 | 13 | kervala | *Difficulty:* Easy |
| 179 | 13 | kervala | *Description:* |
| 180 | 13 | kervala | We would like to implement occlusion and obstruction using hi/med/low pass frequency filtering available in the sound APIs. |
| 181 | 13 | kervala | *Requirements:* C++ |
| 182 | 13 | kervala | *Issue Reference:* Feature #167: Implement occlusion and obstruction in sound drivers |
| 183 | 13 | kervala | |
| 184 | 13 | kervala | h3. Custom Reverb Effect Algorithm |
| 185 | 13 | kervala | |
| 186 | 13 | kervala | *Difficulty:* Easy |
| 187 | 13 | kervala | *Description:* |
| 188 | 13 | kervala | We would like to implement a custom algorithm for applying the _RoomSize_ parameter on a reverb parameter structure to get the same reverb effect on all APIs. This would make each driver's sound consistent. |
| 189 | 13 | kervala | *Requirements:* C++ |
| 190 | 13 | kervala | *Issue Reference:* Feature #168: Environment room size does not work the same under different sound drivers |
| 191 | 13 | kervala | |
| 192 | 13 | kervala | |
| 193 | 13 | kervala | h2. NeLNS |
| 194 | 13 | kervala | |
| 195 | 13 | kervala | h3. New and Improved Login Service |
| 196 | 13 | kervala | |
| 197 | 13 | kervala | *Difficulty:* Moderate |
| 198 | 13 | kervala | *Description:* |
| 199 | 13 | kervala | We would like to update the Login Service (LS) and the supporting client classes to be more flexible in a variety of ways. We would like it to have more controls and flexibility around managing and securing user-operated shards. One of the goals would be to provide more information downstream to the shard (via the LS connectivity to the Welcome Service) as well as providing a reference implementation of a web-based account management tool. This web-based tool would be independent of the admin service tools. |
| 200 | 13 | kervala | *Requirements:* C++, PHP |
| 201 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 202 | 13 | kervala | |
| 203 | 13 | kervala | h2. NeL Tools |
| 204 | 13 | kervala | |
| 205 | 13 | kervala | h3. Convert Object Viewer to be Qt-based. |
| 206 | 13 | kervala | |
| 207 | 13 | kervala | *Difficulty:* Moderate |
| 208 | 13 | kervala | *Description:* |
| 209 | 13 | kervala | One of the primary tools used by programmers and designers alike is the Object Viewer. It is currently a Windows only tool and we want to rewrite this tool using Qt, ensuring that it is cross platform. The finished product must run on Windows, Linux and Mac OS X. |
| 210 | 13 | kervala | *Requirements:* C++, Qt |
| 211 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 212 | 13 | kervala | |
| 213 | 13 | kervala | h3. Convert Georges Editor to Qt |
| 214 | 13 | kervala | |
| 215 | 13 | kervala | *Difficulty:* Moderate |
| 216 | 13 | kervala | *Description:* |
| 217 | 13 | kervala | One of the tools used by programmers is the Georges Editor. It is a tool used to edit data loaded into the game. It is currently a Windows only tool and we want to rewrite this tool using Qt, ensuring that it is cross platform. The finished product must run on Windows, Linux and Mac OS X. |
| 218 | 13 | kervala | *Requirements:* C++, Qt |
| 219 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 220 | 13 | kervala | |
| 221 | 13 | kervala | h3. Complete Porting of Words Dictionary |
| 222 | 13 | kervala | |
| 223 | 13 | kervala | *Difficulty:* Moderate |
| 224 | 13 | kervala | *Description:* |
| 225 | 13 | kervala | One of the tools used by programmers and content editors is the Words Dictionary. It is a tool used to edit I18N and phrase data for the game. It is currently a Windows only tool and we want to complete the rewrite of this tool using Qt, ensuring that it is cross platform. The finished product must run on Windows, Linux and Mac OS X. In addition we want to investigate the possibility of adding more I18N functionality into this tool. |
| 226 | 13 | kervala | *Requirements:* C++, Qt |
| 227 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 228 | 13 | kervala | |
| 229 | 13 | kervala | h3. Create Blender Exporter |
| 230 | 13 | kervala | |
| 231 | 13 | kervala | *Difficulty:* Difficult |
| 232 | 13 | kervala | *Description:* |
| 233 | 13 | kervala | Presently NeL only officially supports 3DStudio MAX with a contributed plugin for Maya. We would like to expand our modeler support to include an Open Source modeling package, Blender. This exporter must be capable of exporting 3D mesh, animation and landscapes. |
| 234 | 13 | kervala | *Requirements:* C++, Blender, Python |
| 235 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 236 | 13 | kervala | |
| 237 | 13 | kervala | |
| 238 | 13 | kervala | h3. Create COLLADA Converter |
| 239 | 13 | kervala | |
| 240 | 13 | kervala | *Difficulty:* Extremely Difficult |
| 241 | 13 | kervala | *Description:* |
| 242 | 13 | kervala | Presently NeL only officially supports 3DStudio MAX with a contributed plugin for Maya. We would like to expand our modeler support to include COLLADA-supporting modeling softwares. This exporter must be capable of exporting 3D mesh, animation and landscapes. Due to the nature of COLLADA some work will be necessary in the NeL3D module to add support for deficient areas of the 3D engine, namely adding more interpolation techniques. |
| 243 | 13 | kervala | *Requirements:* C++, 3D Algorithms |
| 244 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 245 | 13 | kervala | |
| 246 | 13 | kervala | h3. Web-based Translation Chain Tool |
| 247 | 13 | kervala | |
| 248 | 13 | kervala | *Difficulty:* Easy |
| 249 | 13 | kervala | *Description:* |
| 250 | 13 | kervala | We would like to create a web-based tool chain for managing translations. This would provide an easier way for words and phrases to be submitted to the I18N files for translation efforts. |
| 251 | 13 | kervala | *Requirements:* PHP |
| 252 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 253 | 13 | kervala | |
| 254 | 13 | kervala | |
| 255 | 13 | kervala | h3. Landscape Editor |
| 256 | 13 | kervala | |
| 257 | 13 | kervala | *Difficulty:* Difficult |
| 258 | 13 | kervala | *Description:* |
| 259 | 13 | kervala | We would like an external tool for for editing and painting landscape. This tool would need to be capable of generating and editing large bezier patches as well as providing varying levels of detail editing and ultimately the ability to save to NeL-compatible zone files. |
| 260 | 13 | kervala | *Requirements:* C++, 3D Algorithms |
| 261 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 262 | 13 | kervala | |
| 263 | 13 | kervala | h3. BNP Tool Extensions |
| 264 | 13 | kervala | |
| 265 | 13 | kervala | *Difficulty:* Easy to Moderate |
| 266 | 13 | kervala | *Description:* |
| 267 | 13 | kervala | BNP is a virtual file system we use to package game information and media data. At present the tools for manipulating BNP files is simple. We would like to add one or more of the following extensions to the BNP tool chain: |
| 268 | 13 | kervala | * Make a kio for KDE platforms. |
| 269 | 13 | kervala | * Make a FUSE based file system for Linux. |
| 270 | 13 | kervala | * Make a shell extension for Windows. |
| 271 | 13 | kervala | * WinZip-style application for editing/managing them (written in Qt). |
| 272 | 13 | kervala | |
| 273 | 13 | kervala | *Requirements:* C++, Varying |
| 274 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 275 | 13 | kervala | |
| 276 | 13 | kervala | h3. Fix S3TC Texture Compression |
| 277 | 13 | kervala | |
| 278 | 13 | kervala | *Difficulty:* Easy |
| 279 | 13 | kervala | *Description:* |
| 280 | 13 | kervala | The NeL tool chain still performs S3TC texture compression through the use of a deprecated library no longer available for download. We would like to replace our reliance on this library through the use of a new third-party library such as DevIL or libsquish. |
| 281 | 13 | kervala | *Requirements:* C++ |
| 282 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 283 | 13 | kervala | |
| 284 | 13 | kervala | h3. Expand Object Viewer Zone Support |
| 285 | 13 | kervala | |
| 286 | 13 | kervala | *Difficulty:* Moderate |
| 287 | 13 | kervala | *Description:* |
| 288 | 13 | kervala | Visualizing objects/shapes, zones (landscanpe and clusters/portals (indoor/outdoor scenes) is presently accomplished through three GUI tools: Object Viewer, ZViewer and Cluster Viewer. We want to consolidate this functionality into Object Viewer. |
| 289 | 13 | kervala | *Requirements:* C++ |
| 290 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 291 | 13 | kervala | |
| 292 | 13 | kervala | h3. Create a GUI Interface for 3D Pipeline |
| 293 | 13 | kervala | |
| 294 | 13 | kervala | *Difficulty:* Easy to Moderate |
| 295 | 13 | kervala | *Description:* |
| 296 | 13 | kervala | We would like to create a Qt-based GUI application capable of performing the build_gamedata functionality but we would like to eliminate the dependency on that pipeline for this tool and consolidate the functionality and logic of the steps into the tool. This tool would allow programmers and graphic designers to visually manage the steps of the process. |
| 297 | 13 | kervala | *Requirements:* C++, Qt |
| 298 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 299 | 13 | kervala | |
| 300 | 13 | kervala | h3. Fix or Refactor Panoply Maker |
| 301 | 13 | kervala | |
| 302 | 13 | kervala | *Difficulty:* Easy to Moderate |
| 303 | 13 | kervala | *Description:* |
| 304 | 13 | kervala | Panoply Maker is a simple tool to generate textures via a source with configured variations in large amounts. For example Panoply Maker would take a texture of a shirt and generate textures of many colored shirts. Panoply Maker does not work or compile out of the box. We would like to investigate the delivered functionality of this tool and refactor it more intelligently as well as solving our compilation problem. |
| 305 | 13 | kervala | *Requirements:* C++ |
| 306 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 307 | 13 | kervala | |
| 308 | 13 | kervala | h2. NeL Builds and Ports |
| 309 | 13 | kervala | |
| 310 | 13 | kervala | h3. Configure NeL To Build via CMake |
| 311 | 13 | kervala | |
| 312 | 13 | kervala | *Difficulty:* Easy |
| 313 | 13 | kervala | *Description:* |
| 314 | 13 | kervala | NeL presently uses both a custom build system as well as autotools on Linux and a variety of Microsoft Visual Studio projects dependent on the version the developer is using. We're in the process of replacing these build systems with CMake. The goal of this project would be to complete the CMake transition, create custom packaging scripts and verify that installs work with appropriate variations. This will involve C++ programming to alter the tools, services and applications to more intelligently find their default configuration information. |
| 315 | 13 | kervala | *Requirements:* C++, CMake |
| 316 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 317 | 13 | kervala | |
| 318 | 13 | kervala | h2. NeL Samples and Tests |
| 319 | 13 | kervala | |
| 320 | 13 | kervala | h3. Expand Unit Testing |
| 321 | 13 | kervala | |
| 322 | 13 | kervala | *Difficulty:* Easy |
| 323 | 13 | kervala | *Description:* |
| 324 | 13 | kervala | NeL presently uses CppTest for unit testing. We are testing core areas and complex modules that are newcomers to NeL. We would like to expand the unit testing to all of the libraries and modules within NeL. |
| 325 | 13 | kervala | *Requirements:* C++, CppTest |
| 326 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 327 | 13 | kervala | |
| 328 | 13 | kervala | |
| 329 | 13 | kervala | h3. Create Advanced Sound Sample |
| 330 | 13 | kervala | |
| 331 | 13 | kervala | *Difficulty:* Easy to Moderate |
| 332 | 13 | kervala | *Description:* |
| 333 | 13 | kervala | We would like to create an advanced sound sample that allows the user to experience more of the features and functionality of the sound system. This sample would expand upon the existing sound_sources sample by adding a _very basic_ 3D presentation, music, ambient sounds and what ever other features of NeLSound are able to be completed within the project time. |
| 334 | 13 | kervala | *Requirements:* C++ |
| 335 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 336 | 13 | kervala | |
| 337 | 13 | kervala | h3. Advanced 3D Samples |
| 338 | 13 | kervala | |
| 339 | 13 | kervala | *Difficulty:* Moderate |
| 340 | 13 | kervala | *Description:* |
| 341 | 13 | kervala | We would like to write a series of samples demonstrating the more advanced features of the 3D engine. The list of features will be dependent upon time and resources but will include a simple landscape demonstration, animations, particles and special effects. |
| 342 | 13 | kervala | *Requirements:* C++ |
| 343 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 344 | 13 | kervala | |
| 345 | 13 | kervala | h2. Snowballs |
| 346 | 13 | kervala | |
| 347 | 13 | kervala | h3. Implement CEGUI Support in Snowballs |
| 348 | 13 | kervala | |
| 349 | 13 | kervala | *Difficulty:* Moderate |
| 350 | 13 | kervala | *Description:* |
| 351 | 13 | kervala | The GUI for Snowballs is very rudimentary. We would like to implement our NeL CEGUI Renderer for Snowballs and add better menu management to the game. |
| 352 | 13 | kervala | *Requirements:* C++, XML |
| 353 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 354 | 13 | kervala | |
| 355 | 13 | kervala | h3. Implement Login Control in Snowballs |
| 356 | 13 | kervala | |
| 357 | 13 | kervala | *Difficulty:* Easy |
| 358 | 13 | kervala | *Description:* |
| 359 | 13 | kervala | Snowballs allows users to log in to a shard but the functionality to allow the user to interactively enter their account information, choose a shard to connect to and choose a character from that shard is missing. This functionality is crucial to putting the game back into a playable state. |
| 360 | 13 | kervala | *Requirements:* C++ |
| 361 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 362 | 13 | kervala | |
| 363 | 13 | kervala | h3. Implement Sound Effects in Snowballs |
| 364 | 13 | kervala | |
| 365 | 13 | kervala | *Difficulty:* Moderate |
| 366 | 13 | kervala | *Description:* |
| 367 | 13 | kervala | Snowballs needs to be updated to take advantage of the NeLSound module. We want to add functionality into Snowballs to play sound effects for actions, interface interactions, environmental sounds and background music. |
| 368 | 13 | kervala | *Requirements:* C++ |
| 369 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 370 | 13 | kervala | |
| 371 | 13 | kervala | h3. Implement NeL Entities in Snowballs |
| 372 | 13 | kervala | |
| 373 | 13 | kervala | *Difficulty:* Moderate |
| 374 | 13 | kervala | *Description:* |
| 375 | 13 | kervala | We want to update the Snowballs services to use NeL entities to track online players. This will allow better player management as functionality is added to the game and allows a shard administrator to use the player lookup facilities of the admin web-tool. |
| 376 | 13 | kervala | *Requirements:* C++ |
| 377 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 378 | 13 | kervala | |
| 379 | 13 | kervala | h3. Implement Basic Game Logic in Snowballs |
| 380 | 13 | kervala | |
| 381 | 13 | kervala | *Difficulty:* Easy to Moderate |
| 382 | 13 | kervala | *Description:* |
| 383 | 13 | kervala | Currently Snowballs has none of the original game logic. We would like to add some of this logic in both from a client and from a server perspective. Examples of new functionality would be the ability to track hits in a database, implement "hit-effects" such as freezing in place for a period of time. |
| 384 | 13 | kervala | *Requirements:* C++ |
| 385 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 386 | 13 | kervala | |
| 387 | 13 | kervala | h3. Implement Spacial Chat in Snowballs |
| 388 | 13 | kervala | |
| 389 | 13 | kervala | *Difficulty:* Easy |
| 390 | 13 | kervala | *Description:* |
| 391 | 13 | kervala | Snowballs only has "global" chat. We would like to add the concept of spacial chat to the game so that "listeners" are limited by distance. |
| 392 | 13 | kervala | *Requirements:* C++ |
| 393 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 394 | 13 | kervala | |
| 395 | 13 | kervala | h3. Create Snowballs Game Page |
| 396 | 13 | kervala | |
| 397 | 13 | kervala | *Difficulty:* Easy |
| 398 | 13 | kervala | *Description:* |
| 399 | 13 | kervala | We would like to create a players-page for Snowballs that allows players to view scores, high scores, their character information and more. This could be comprised of simple shard level information and then a larger game-level site that allows the viewing of all configured shard information. |
| 400 | 13 | kervala | *Requirements:* PHP |
| 401 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 402 | 13 | kervala | |
| 403 | 13 | kervala | h3. Build Snowballs AI Service |
| 404 | 13 | kervala | |
| 405 | 13 | kervala | *Difficulty:* Difficult |
| 406 | 13 | kervala | *Description:* |
| 407 | 13 | kervala | We would like to build a simple AI service for snowballs that is able to perform scripted events, control entities in a semi-intelligent fashion. |
| 408 | 13 | kervala | *Requirements:* C++ |
| 409 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 410 | 13 | kervala | |
| 411 | 13 | kervala | h2. Miscellaneous |
| 412 | 13 | kervala | |
| 413 | 13 | kervala | h3. Implement MySQL Helper Library |
| 414 | 13 | kervala | |
| 415 | 13 | kervala | *Difficulty:* Difficult |
| 416 | 13 | kervala | *Description:* |
| 417 | 13 | kervala | Several of the NeLNS services use MySQL to persist information such as shard statistics, player and character information. We would like to create a helper library to simplify the NeL-developer's exposure to MySQL. This library would simplify calls to SQL, handle error catching and abstract the MySQL such that the NeL developer is only exposed to it as a last resort. It may be possible to utilize another library to do this, but a reference implementation using a NeLNS service must be created to demonstrate. |
| 418 | 13 | kervala | *Requirements:* C++ |
| 419 | 13 | kervala | *Issue Reference:* PLEASE CREATE AN ISSUE FOR THIS |
| 420 | 13 | kervala | |
| 421 | 13 | kervala | h2. Need To Discuss |
| 422 | 13 | kervala | |
| 423 | 13 | kervala | The following ideas can be discussed further if anyone is interested in them. They are no less important than the others but have no received sufficient discussion by the community to determine the requirements or priority. Do not be afraid to ask about these: |
| 424 | 13 | kervala | |
| 425 | 13 | kervala | * Create new Qt-based Log Analyzer |
| 426 | 13 | kervala | ** Add additional plugins or create new scriptable functionality for analyzing logs. |
| 427 | 13 | kervala | |
| 428 | 13 | kervala | * Fix NeLNS Admin deficiencies |
| 429 | 13 | kervala | ** Create a log server compliant with CNetDisplayer |
| 430 | 13 | kervala | ** Update admin web app to be capable of using the new logging server |
| 431 | 13 | kervala | ** Modernize the admin web app (Web 2.0) |
| 432 | 13 | kervala | |
| 433 | 13 | kervala | * Create an entity management layer that provides pluggable gameplay logic (behavior) identifying information (properties.) |
| 434 | 13 | kervala | ** For inspiration look at "CEL":http://www.crystalspace3d.org/main/CEL |
| 435 | 13 | kervala | |
| 436 | 13 | kervala | * As an extension on the audio and bitmap file support, support for video playback within nel would be pretty interesting as well. |
| 437 | 13 | kervala | ** Perhaps it could be useful to have all of these in a new nel media library, to avoid putting too many external dependencies within the core libraries. |
| 438 | 13 | kervala | |
| 439 | 13 | kervala | * Convert and modernize the Tile Editor interface to be Qt-based. |
| 440 | 13 | kervala | ** This is already mostly done, but not modernized. It will need to be completed, tested and merged into the source tree. |
| 441 | 13 | kervala | ** See "Issue 219":http://dev.ryzom.com/issues/219 |
| 442 | 13 | kervala | |
| 443 | 13 | kervala | * Web based (ajax, googlemaps) World editor to edit level design. |