CyanWorlds.Com Engine Open Source Project

Introduction

Cyan Worlds, Inc. and OpenUru.org jointly announce open source delivery of the CyanWorlds.com Engine client and 3ds Max plugin, aka Plasma, the engine used to power Myst Online: Uru Live.

Cyan Worlds Announcement

The following message was posted on the MystOnline.com forums on (date):

(Insert Cyan Worlds' announcement text here)

OpenUru.org Announcement

OpenUru.org introduces the CyanWorlds.Com Engine, Cyan Worlds' Plasma game engine used to power Myst Online: Uru Live. The OpenUru.org team is thrilled that the CyanWorlds.com Engine has been released by Cyan Worlds as open source. We are honored that Cyan Worlds has given OpenUru.org the opportunity to prepare and release it to the Uru community and the world. The initial release of the CyanWorlds.Com Engine includes Cyan Worlds' client and 3ds Max Plugin.

OpenUru.org is especially pleased to simultaneously announce MOSS, a CyanWorlds.Com Engine server, by a'moaca' with cjkelly1. MOSS was largely derived from a'moaca's work on her client protocol Wireshark plugin, a project also hosted on OpenUru.org. Cyan Worlds cannot release their server code until more is done to clear it for open source, so a'moaca's completion of her open source server couldn't have been more perfectly timed.

OpenUru.org is prepared with tools to support new development of the CyanWorlds.com Engine with MOSS. We welcome all developers, issue reporters and users to contribute to the effort. Contributors can work on our Foundry with Atlassian tools such as JIRA, Fisheye and Crucible to manage development projects and Jenkins (previously known as Hudson) for Continuous Integration to produce automated builds.

The OpenUru.org Foundry is initially providing executable builds with the sources for both the MOSS server and MOULa client, thanks to the stellar development and preparatory work by a'moaca' and cjkelly1, and Foundry development from rarified.

What is included in this source release from Cyan Worlds:

MOULa client engine source

MOULa 3ds Max plugin source

MOULa supporting Python and SDL files

What is not in this source release from Cyan Worlds:

MOULa server code

Certain parts of the internal client that deal with customer service support

Open Uru is an inclusive concept of a community of creative talent and hard work coming together to make new worlds, new stories, and new content - now able to openly use and develop the CyanWorlds.com Engine to empower it. The OpenUru.org team presently consists of JWPlatt, Mac_Fife, rarified, a'moaca' and cjkelly1. It is hoped that others will join to lead these efforts in the infinite possibilities of Open Uru.

What It Is

CyanWorlds.Com Engine is the client, server and tools used to develop and operate the Myst Online: Uru Live MMO. The server code needs more work before Cyan Worlds can clear it for open source. However, the client and 3ds Max plugin are now available in open source.

How To Get It

CyanWorlds.Com Engine is available on OpenUru.org's Foundry, hosted on a Mercurial code repository. There was much discussion on the Myst Online forums about the strengths of various repositories after Cyan Worlds' initial open source announcement in 2008. We listened. Mercurial was selected due to the needs of a distributed developer community.

OpenUru.org needs to throttle the initial download traffic due to the expected extreme demand built up during the long wait for open source. Therefore, any developer wishing to get the initial release needs to register an account on the Foundry at https://Foundry.OpenUru.org/jira. The Foundry is secured via SSL throughout the site. A browser security certificate is needed. Instructions are available on the certificate installation page.

Developers with an account will be given access to pull the CyanWorlds.Com Engine repository as quickly as possible. Once the developer traffic has subsided, the repository will be opened to the public and the curious.

Development

Some developers will be invited to join the team in management and development positions for the CyanWorlds.Com Engine project. But generally, anyone who demonstrates the skills and becomes a positive force in the project may contribute to development.

CyanWorlds.Com Engine version 1.0 will consist only of a buildable client. The plugin sources will need further work to make it buildable for 3ds Max 7. There will be no new features and no bug fixes, except those necessary to replace proprietary third party libraries that Cyan Worlds needed to removed before the release. Once a successful build is released that duplicates the functionality of the current MOUL binaries, phase two may begin to fix known issues or, for example, upgrade the plugin to the current release of 3ds Max. After that, the fun begins with new features and full steam ahead to keep on chugging down that open source track.

Once things get rolling, we'll be looking for people to fill or help with the following positions:

Development lead (prioritization of issues, issue assignments, tools, set up code review)

Web community lead (development of web presence and content to introduce, educate and deliver open source projects

Documentation

What documentation? The code documents itself! Right? Actually, there was an apparent early effort to maintain directives used for automated Doxygen documentation from code. Their use fell off as time went on. Introduction of integrated documentation is considered crucial to the successful development of the CyanWorlds.Com Engine. Therefore, Doxygen directives will be accepted into the main trunk from the start. We want to build integrated documentation originating from the source code for use beginning with Fisheye (our repo browser), HTML, PDF, and the Visual Studio IDE.

Everyone

Everyone will be able to download and watch progress of the CyanWorlds.Com Engine project and enjoy the benefits of exploring new worlds.

The Team

The CyanWorlds.com Engine Project was brought to you by Cyan Worlds' Rand Miller, Tony Fryman, Mark DeForest and the collective talents of everyone at Cyan Worlds who ever worked on Uru Live over many years. The original release team at OpenUru.org who are helping to make the open source CyanWorlds.com Engine project possible are JWPlatt, Mac_Fife, rarified, a'moaca', and cjkelly1.

Building The Client

In the article "Build the client with MSVC 2003", cjkelly1 describes how to build a working client from the CWE sources. Note that this build uses sources and makefiles that have been modified to substitute some of the libraries that could not be distributed with the original sources.