GSoC/GCI Archive
Google Summer of Code 2013

WorldForge

Web Page: http://wiki.worldforge.org/wiki/Summer_of_Code

Mailing List: http://mail.worldforge.org/lists/listinfo/general

The WorldForge project is about building tools to allow the construction of virtual worlds. The original community came together over a decade ago, out of a desire to create a game that was better and freer than Ultima Online.

But as the aims of the project evolved and became more ambitious, the overall goal changed. Instead of one game, we instead decided build a flexible framework that would allow everyone to contribute their own unique ideas and goals to the Worldforge project, allowing a multitude of games to be created. Our core focus is the construction of a complete system with all the tools, technology, content and artwork required to build complex persistent online virtual worlds.

As part of our commitment to a vibrant virtual worlds ecosystem, we're also acting as an umbrella project for both Ryzom Core and CEGUI.

 Ryzom Core logo

Ryzom Core is a framework built to encourage and facilitate the creation of open-source MMORPG projects and worlds. It contains all of the essential functionality needed for a mid-to-large scale MMO. Ryzom Core is a complete platform for MMORPG development and includes a vast array of artistic assets, tools, services and a full featured client so that a new project can sit down and begin creation on day one.

Projects

  • [Ryzom] Programmable shader pipeline and material editor tool Ryzom currently uses a renering pipeline with hardcoded shaders in shader assembly. This project aims to replace that pipeline with one that is programmable using material definitions using high level shader language. Additionally a material editor tool will be created so that materials can be easily defined and previewed. Also the current 3DS Max plugin for exporting models and materials will be updated to support the new pipeline.
  • Account Management Web Application With Ticketing System And Its Integegration into Ryzom App. Ryzom Core needs an 'Account Management System', with all its related components regard- ing account registration. An important aspect of this account management system is the Ticket system! Because Ryzom App has some great potentials, we will intigrate the ticketing system as an App into it, in this way, users can easily start a ticket while being ingame.
  • CEGUI - Custom-shape drawing (vector-graphics ready) + SVG support I would like to make CEGUI capable of rendering images defined in the SVG format. To make this happen, the core library has to be extended with an SVGImage class and the renderers have to be extended to be able to render vector graphics by generating pre-tesselated vertex-geometry shapes that can be rendered in real-time. Additionally, shaders have to be created for the different renderers, so that at least some of the gradient types, defined in the SVG standard, can be rendered using the respective fragment shaders.
  • Environment dependent camera animations Camera animations that are linked to character animations. With this system we can make the camera shake when a huge creature follows us for instance.
  • GUI navigation and visual focus The project aims at providing an easy way to enable navigation between different GUI items and their activation, besides using the mouse (e.g.: using the keyboard).
  • Replace current terrain manager with Ogre terrain component Ember currently uses PagingLandscapeSceneManager 2(PLSM2), a plugin for the Ogre 3D rendering engine which can display a Terrain by replacing the default Ogre scene manager. PLSM2 is no longer being developed and its design makes Ember inflexible. Therefore, it is desirable to switch to the new Ogre::Terrain component which is part of core Ogre and can be used independent of the SceneManager implementation.