GSoC2011Application

Description

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. All of the essential 3D, sound (including spatial sound), physics, landscape/terrain, data loading and core network services are available. Ryzom Core has a robust pre-built shard framework ready for developers to build game logic upon and ready to scale to whatever the developer needs. One Ryzom Core's fundamental differences between most of its open-source competitors is that Ryzom Core has been in development since 2001 and is the framework behind the commercial MMORPG Ryzom (www.ryzom.com). 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.

Why We Are Applying

Through the years of being open-source Ryzom Core has attracted a great number of students who have experimented with Ryzom Core and NeL or used it for their projects and thesis papers. In addition to that Ryzom Core like so many open source projects has several deficient areas - especially in the tool chain - that we would like to get updated to remain competitive with other open-source projects as well as remain a viable alternative to commercial packages such as Torque. When the full Ryzom Core platform was released under the AGPLv3 license in May of 2010 we began porting many tools to be cross platform as well as began ports to other operating systems such as the Andriod platform. Additionally we had one student last year and the experience was very rewarding. This student remained with the community throughout the proceeding year and has continued to be a very valuable member. This will be our third year applying to participate in GSoC, previous years under the moniker of NeL.

Organization Administrator

Matt Raykowski (Google Account: ) has been active in the Ryzom/NeL community since 2003 and has been a contributing member especially on the build tools as well as maintaining his own project based upon the framework. His current focus is on the tool chain and the technology demo Snowballs. By day Matt manages a team of developers and application administrators for several software platforms at a non-profit hospital system. Matt Raykowski will be the organization administrator.

Vianney Lecroart (Google Account: ) has been with Ryzom Core since its inception and is currently working on a commercial MMORPG based on the open-source framework: Ryzom . Vianney is the CTO of the Ryzom project and will be the backup organization administrator.

License

The entire Ryzom Core framework source code is licensed under AGPLv3. The documentation and all artistic assets are licensed under Creative Commons BY-SA 3.0.

Ideas

The Ryzom Core community has generated a list of features, bug fixes and updates that have accumulated over the past couple years. Most of our current initiative is around rebuilding the tools using the Qt framework so that all of Ryzom Core is cross-platform. There are a handful of gameplay functionality ideas and students are welcome to add more in their proposals.

http://dev.ryzom.com/projects/ryzom/wiki/GSoc2011Ideas

Development Forum

The Ryzom Core community uses a forum in its development portal. It can be located at: http://dev.ryzom.com/projects/ryzom/boards

Nearly all of the community members also use IRC to communicate and collaborate: irc.freenode.net / #ryzom

We will also be encouraging GSoC participants (mentors and students) to use our Etherpad for collaboration. We have been using this in our release planning events and feel it will be a good venue for communication about GSoC, status and projects and a good medium for mentor-student collaboration. We also used our Etherpad during GCI to help document requirements for tasks with students making the process fluid and quick.

Application Template

We would like students to apply with the following template:

http://dev.ryzom.com/projects/ryzom/wiki/GSoCApplicationTemplate

Potential Mentors

  • Vianney Lecroart (Google Account: ) (IRC: ace)
    • Vianney was chosen as a mentor because he knows Ryzom Core better than anyone associated with the project. The majority of the code that may be touched by a student was written by or designed by Vianney.
  • Matt Raykowski (Google Account: ) (IRC: sfb)
    • Matt's long run in the community and his large contributions in areas as deep as replacing STLport make him an ideal candidate. Matt's delving deep into seldom used modules of Ryzom Core which has provided him with a wide range of knowledge and his expertise with the build systems used in Ryzom Core mean he can get a student up-and-running quickly.
  • Goncalves Nuno (Google Account: ) (IRC: ulukyn)
    • Goncalves has been active in the Ryzom community and in turn in the Ryzom Core community since 2004. He has a variety of achievements with Ryzom bug hunting and tools creation using the Ryzom Core framework. During the last bankruptcy Goncalves also began to write a variety of tools for resurrecting the media and a replacement server (loosely termed Ryzom emulator.) This experience has proven his ability to work with the tool chain, understand and write network services for shards and demonstrates a deep understanding of workflow within Ryzom Core.

Backup Mentors

  • Cedric Ochs (Google Account: ) (IRC: Kervala)
    • Cedric has been an active community member in both Ryzom Core and Ryzom since 2004. His active work to write tools and fix bugs in Ryzom gave him early exposure to Ryzom Core. He has gone on to spend a fair amount of time working on Ryzom Core and is specifically knowledgeable with the tools and processes.
  • Jan Boon (Google Account: ) (IRC: Kaetemi)
    • Jan's activity on the project has been largely centered around updating and modernizing the Snowballs technology demo and working within the sound library. Jan has most recently contributed a new Xaudio2 driver for NeLSound and has been working hard on putting the ground work in to port our tools to be cross-platform.

Disappearing Students

The Ryzom Core organization administrators and mentors will do their best to maintain good contact and communication with the students assigned to our project. We will first do our best to mitigate the possibility of disappearing students by refining our selection criteria. It is important that we understand the motivations of the student, where their core interest lies, whether they have the time necessary to take on the tasks they desire and ultimately to ensure they have the necessary skills to succeed at the tasks that interest them. The ambition to take on a large work effort without understanding the ramifications or amount of work involved is something the Ryzom Core community has suffered from in the past and is now something that we are able to anticipate and clearly communicate to project contributors.

We will also provide structure for the students to collaborate and communicate their progress, challenges and needs. This will provide them with a way to get answers to questions, feel valued and for us to be able to track their progress and advise them where necessary. In addition to the collaboration tools available to us (e.g. forum, IRC, Google Wave) we will make use of our wiki as well as our issue tracker to maintain a task list and track progress.

We realize that there may be students who are unable to perform the work they signed up for or become unavailable to do this work. To accommodate this we have chosen a variety of ideas that are important and drive the project forward in meaningful, valuable ways but are not crucial to the inner workings or infrastructure of the framework or project. The failure of a student to complete a task will not be harmful. If a student does disappear we will determine the nature of the code they were working on and whether it needs to be transitioned to a community member and then inform Google of the change in status for that student. In order to keep track of students who may not have a primary Internet connection we will be requiring some conventional means (e.g. not IM or email) to contact them.

Disappearing Mentors

The pool of potential mentors we selected all have a deep understanding of the Ryzom Core framework and tool chain, none of them are specialists in a certain area and so have the capability to mentor on near all of the ideas listed. We intend to not have more than 2 students per mentor. If a situation arises that a mentor has to leave the project we will appropriately move the task to another mentor that has less active work on their plate and thus are better suited to the passive task of mentoring.

In addition to the potential mentioned above there are a handful of other individuals who will be willing to mentor if necessary whose skills are more focused and specialized within Ryzom Core. If they are relied upon they will be chosen based upon the ideas that the missing mentor was responsible for.

Encouraging Students Interaction Within The Community

The Ryzom Core community is very active in IRC and we will encourage potential students to join in, ask questions and get to know us better. We feel that it is important for person to know the community and to judge for themselves whether they're a good fit. We're more interested in long-term members of the community who enjoy the work and the project than getting easy one-off-tasks done - people are more important than the work.

We will be encouraging students to develop their projects using Scrum and are hoping that this exposure to Scrum will leave a lasting positive impression. As a by-product of using Scrum they will be required to attend twice weekly Scrum sessions and their project will be managed on a biweekly (two week) sprint schedule. This transparency will also expose their project to the rest of the Ryzom Core community and provide opportunities for the community to help the student when they see that a story is falling behind.

Encouraging Students To Remain

The Ryzom Core community is a pretty close and friendly community. We won't hesitate to make students feel like part of the community and we hope that they enjoy their work with us. We're hoping that the work they do will encourage them to stay and work with the project and continue to contribute to it or join one of the many projects based on Ryzom Core and thus contribute indirectly to the project.