worldforge / ember

The main client for the Worldforge MMORPG system.
http://www.worldforge.org/index.php/components/ember/
GNU General Public License v3.0
131 stars 51 forks source link
cegui lua mmorpg ogre3d

DEPRECATED

This code has been moved to the Worldforge repository.

Ember

Join us on Gitter! Appveyor build status Build with CMake

Get it from the Snap Store

Ember is the client for the WorldForge virtual world system. It can be used for playing and exploring as well as authoring.

That means that if you're a player who wants to explore a virtual world hosted by a Worldforge server, this is the client for you. And if you're a world builder who wants to build your own world, this is also the client for you.

To learn more about Worldforge visit our website.

Installation

The simplest way to install all required dependencies is by using Conan.

conan remote add worldforge https://artifactory.ogenvik.org/artifactory/api/conan/conan
conan install . --build missing -c tools.system.package_manager:mode=install -c tools.system.package_manager:sudo=True
cmake --preset conan-release -DCMAKE_INSTALL_PREFIX=./build/install/release
cmake --build --preset conan-release -j --target all --target install

Alternatively you can use the Hammer tool to compile Ember. This is script provided by the Worldforge project which will download and install all of the required libraries and components used by Worldforge.

Tests

The test suite can be built and run using the check target. For example:

make check

or

cmake --build --preset conan-release --target check

API documentation

If Doxygen is available API documentation can be generated using the dox target. For example:

make dox

or

cmake --build --preset conan-release --target dox

Working with media

An alternative to the media-download target is to instead use the raw media repo source, as found at https://svn.worldforge.org:886/svn/media/trunk/. If you intend to edit or add new media you probably want this instead.

The target mediarepo-checkout will use Subversion to checkout the repository to the mediarepo directory. When running a non-release build Ember will automatically load media from this directory. Note that this might lead to longer start times, as more files needs to be processed.

In addition, there's a mediarepo-process target which processes the media from the media repository, as fetched by mediarepo-checkout, and places the results in the build directory, under a subdirectory named ember-media-<version>. When running a non-release build Ember will automatically load media from this directory, taking precedence over the mediarepo directory.

Dependencies

We use Conan for our dependency handling. If you're developing locally you can issue this command to setup both a "debug" and "release" environment.

conan install -s build_type=Debug . --build missing -c tools.system.package_manager:mode=install -c tools.system.package_manager:sudo=True --update  && conan install . --build missing -c tools.system.package_manager:mode=install -c tools.system.package_manager:sudo=True --update

Running Ember

As Ember is a 3d client it requires a 3d capable graphics card. If you have a fairly recent machine you should be good though.

If you want to run Ember as a world builder tool we strongly recommend that you also install and run a local instance of the Cyphesis server. By running an instance of the Cyphesis server on your local machine you're automatically given administrative access to the world, and can build and alter it however you like. Just as with Ember we recommend that you use the Hammer tool to compile Cyphesis.

How to help

If you're interested in helping out with development you should check out these resources: