Overview of the Ryzom Core Project Structure
The Ryzom Core project consists of multiple seperate subprojects, each with their own specific purpose, and adding another layer of functionality on top of each other. There are four major projects in the code tree, namely NeL, NeLNS, Ryzom and Snowballs.
NeL is the heart of the project. It's purpose is to abstract platform functionality, and implement everything that is necessary in a game engine, that is unrelated to game-specific elements. The NeL project is further divided into a Misc library (NeL_Misc) which is the base requirement of all other NeL libraries, 3D (NeL_3D), Sound (Nel_Sound) and Net libraries providing common game engine related functionality. It contains also a library called Georges which handles data sheets, the PACS library (NeL_Pacs) that does collision detection, and the Ligo library (Nel_Ligo) for building environments from template building blocks. There is also a whole range of tools and samples, to operate with and to demonstrate the NeL library.
NeLNS holds the base of the service cloud architecture, and is built on top of the NeL Net library. This project contains various services, of which you can find more information on the NeLNS Services page.
Ryzom consists of all the source code which implements the Ryzom gameplay, as well as several highly optimized MMORPG specific algorithms. It utilizes both NeL and NeLNS. It consists of a Common library, containing all the code that is shared between the server and client, and of cource the Server and Client projects themselves. A range of Ryzom specific tools are also included. The Server project is then further divided into the various services which are needed to build a server, which are described on the server architecture page.
Snowballs is a small prototype game, used to demonstrate the features of NeL and NeLNS. Like Ryzom it contains a Server and Client project.