mirror of
https://github.com/worldforge/ember
synced 2026-08-13 16:23:06 -04:00
231 lines
5.9 KiB
Text
231 lines
5.9 KiB
Text
#LyX 1.5.6 created this file. For more info see http://www.lyx.org/
|
|
\lyxformat 276
|
|
\begin_document
|
|
\begin_header
|
|
\textclass docbook
|
|
\language swedish
|
|
\inputencoding auto
|
|
\font_roman default
|
|
\font_sans default
|
|
\font_typewriter default
|
|
\font_default_family default
|
|
\font_sc false
|
|
\font_osf false
|
|
\font_sf_scale 100
|
|
\font_tt_scale 100
|
|
\graphics default
|
|
\paperfontsize default
|
|
\spacing single
|
|
\papersize default
|
|
\use_geometry false
|
|
\use_amsmath 1
|
|
\use_esint 0
|
|
\cite_engine basic
|
|
\use_bibtopic false
|
|
\paperorientation portrait
|
|
\secnumdepth 3
|
|
\tocdepth 3
|
|
\paragraph_separation indent
|
|
\defskip medskip
|
|
\quotes_language english
|
|
\papercolumns 1
|
|
\papersides 1
|
|
\paperpagestyle default
|
|
\tracking_changes false
|
|
\output_changes false
|
|
\author ""
|
|
\end_header
|
|
|
|
\begin_body
|
|
|
|
\begin_layout Title
|
|
Ember
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Introduction
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
This is the Ember client for the Worldforge project.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Ember is a fully functional 3d client for both Cyphesis and Indri servers.
|
|
It's goal is to be used with all worlds created withing the Worldforge
|
|
project.
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Quickstart
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The first thing you'll see when you log in is the server browser, which
|
|
shows you all of the available servers.
|
|
If the list is empty you might be behind a firewall which blocks the needed
|
|
traffic.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Use the server browser to connect to a server.
|
|
Once connected, you'll have to create a new account.
|
|
Enter an account name and a password and press
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
create
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
After you're logged in with an account, you'll have to create an avatar
|
|
in the world.
|
|
An account can have many avatars.
|
|
Choose a name, a type, a sex and optionally a description.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Moving around in the world
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Once in the world you'll be presented to a third person view of your avatar.
|
|
By moving the mouse you can pan around, and the keys wasd will make your
|
|
character move.
|
|
If you click the right mouse button you'll switch to
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
GUI mode
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
, in which mouse movements will move the cursor instead of the camera, and
|
|
you can interact with the gui.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
When in gui mode, the gui behaves pretty much like a standard gui.
|
|
Double click on window headers to make them roll up and down.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Click on an entity in the world (a tree, a NPC) to show the mouse picker
|
|
menu.
|
|
Most options here are pretty self explanatory.
|
|
If you have something wielded, like an axe or a shovel, you also get an
|
|
option to use the wielded object with the picked entity.
|
|
\end_layout
|
|
|
|
\begin_layout Subsubsection
|
|
Talking to people
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Down to the left you have a widget which allows you to interact with the
|
|
world.
|
|
If you want to say something, just enter it here and press enter.
|
|
When someone else in the world says something, it will be shown through
|
|
the use of a
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
talk bubble
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
to the left of the person.
|
|
Some NPC have a series of suggested responses.
|
|
These will be shown to the left of the NPC.
|
|
You can let your avatar say one of these by clicking on them.
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Developing
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The main design philosophy behind Ember is to as much as possible use 3d
|
|
party libraries.
|
|
We strive to remove as much uneccessary code from Ember as possible, if
|
|
there's equivalent functionality to be found in an existing library.
|
|
This prevents us from a Not-Invented-Here mindset and makes it easier to
|
|
kill our darlings.
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
It uses Ogre (http://www.ogre3d.org) to present the world in full 3d.
|
|
Ogre is very much hardwired into the core of Ember.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
SDL is used for input handling.
|
|
This is not that hard wired as Ogre, but since the goal of SDL is to provide
|
|
a platform agnostic library there's perhaps no big reason to provide support
|
|
for a different input library.
|
|
We will hade to do some research into DirectInput though.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
SigC++ is used for signals and events.
|
|
This is also very much hardwired into Ember.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Other notable libraries used:
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
CEGUI (http://www.cegui.org.uk) is used for the gui.
|
|
This can be removed from Ember, and another library can be used.
|
|
Note however that all current widgets are made for CEGUI only, ie.
|
|
we don't try to provide a generic widget abstraction.
|
|
It seems unlikely that such a construct would work.
|
|
For reference, see any discussion on Java's AWT, Swing and SWT.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
OpenAL (http://www.openal.org/) is used for the sound.
|
|
This should be loosely decoupled from Ember, but much like SDL OpenAL is
|
|
geared towards providing platform agnostic sound support.
|
|
Then again, FMOD might be interesting.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
See the doc directory and http://www.worldforge.org/dev/eng/clients/ember/
|
|
for more information.
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Third party libraries
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
This project uses the Ogre3d library licensed under the LGPL.
|
|
It can be obtained from http://www.ogre3d.org
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
This project uses the CEGUI library licensed under the LGPL.
|
|
It can be obtained from http://www.cegui.org.uk
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
This project uses the OpenAL library licensed under the LGPL.
|
|
It can be obtained from http://www.openal.org/
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
This project uses libraries from the Worldforge project, licensed under
|
|
the GPL.
|
|
These can be obtained from http://www.worldforge.org/
|
|
\end_layout
|
|
|
|
\end_body
|
|
\end_document
|