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.