Development:CyanWorlds.com Engine

Revision as of 07:24, 11 May 2012 by Lyrositor (Talk | contribs) (Added link to Open Source Task List (yet to come).)

The Guild of Writers development team, H'uru, is currently developing a fork of the CyanWorlds.com Engine  (formerly known as Plasma). This article provides information on the development process of this fork.

Building

If you want to build CWE for yourself using H'uru's fork, you should consult the getting started tutorial to help you compile and set up a fully working client. Additionally, a (slightly outdated) video tutorial has been made available.

Contributing

GitHub provides a robust set of tools to allow you to easily share your changes with the main Guild repository. These tools revolve around two concepts: forks and pull requests.

Using a GitHub fork, you can develop your changes in a repository that you have full access to. Once you're ready to share that change, you can issue a pull request. The GoW development team will be notified and we'll review your changeset for inclusion. After a few good patches, you will probably be offered direct access to the GoW repository, meaning faster turn around for your patches and less management work for the core dev team.

It is recommended that when you begin work on a bugfix or feature, you do so in a git branch. This will make it easier for us to merge your changes into the main repository. Try to avoid merging other branches into your work branch (including updates to master). The cleaner your branch is the easier it will be to integrate.

Once you are satisfied with your work, you should issue a pull request, which will let us know that you are ready for your changes to be merged into the main branch of development--the master branch. Once you have submitted your pull request, we will review your code and ask any applicable questions. Once your code passes our review(s), we will merge it into the master branch.

Code Guidelines

To improve the chance of your contributions being accepted, please consider the following guidelines.

  • Follow whatever code style is already in the file you're working on. Plasma was developed over many years, and there are a variety of styles in the code. Try to maintain an average style for the file you're working in.
  • Indentation should be 4 spaces. Tabs will not be accepted. Be sure to change your Visual Studio text editor settings to insert spaces if you have not already!

Roadmap

Short version: There is none. This is open-source software, and each developer works on what he (dis)likes most. Since we do that in our free time, there is little point in trying to make us do something we do not want.

That said, the efforts of many developers are currently aimed at making CWE cross-platform, so that it runs natively on Linux and Mac. This requires rewriting the network code, replacing the physics engine and adding an alternative rendering backend. However, if you want to work on any other area, that's perfectly fine! Here's the current task list for open source.