819
by erik
2005-01-22 Erik Hjortsberg <erik@katastrof.nu> |
1 |
Ember
|
2 |
||
3 |
Introduction
|
|
4 |
||
5 |
This is the Ember client for the Worldforge project. |
|
6 |
||
7 |
Ember is a fully functional 3d client for both Cyphesis |
|
8 |
and Indri servers. It's goal is to be used with all |
|
9 |
worlds created withing the Worldforge project.
|
|
10 |
||
11 |
Quickstart
|
|
12 |
||
13 |
In the upper part of the window is the console. It has
|
|
14 |
two modes, full or small. In small mode, which is the
|
|
15 |
default, only the input strip is shown. I full mode the
|
|
16 |
console occupies half of the screen. Use F12 to switch
|
|
1244
by erik
2005-09-26 Erik Hjortsberg <erik@katastrof.nu> |
17 |
console modes. The console is used for both talking in
|
18 |
the world and executing commands. If you've used IRC |
|
19 |
before you'll find it quite similiar. All commands are |
|
20 |
prefixed by "/". Use the command "/list_commands" to get a
|
|
21 |
list of all available commands. If you just enter text
|
|
22 |
normally in the console, your character will say what
|
|
23 |
you've entered in the world. |
|
24 |
||
25 |
Use the server browser to connect to a server. Once |
|
26 |
connected, you'll have to create a new account. Enter |
|
27 |
an account name and a password and press "create". After
|
|
28 |
you're logged in with an account, you'll have to create |
|
29 |
an avatar in the world. An account can have many
|
|
30 |
avatars. Choose a name, a type, a sex and optionally a
|
|
31 |
description.
|
|
819
by erik
2005-01-22 Erik Hjortsberg <erik@katastrof.nu> |
32 |
|
33 |
Moving around in the world
|
|
34 |
||
35 |
Once in the world you'll be presented to a third person |
|
1244
by erik
2005-09-26 Erik Hjortsberg <erik@katastrof.nu> |
36 |
view of your avatar. The default mode is GUI mode. In |
37 |
GUI mode you can interact with the different GUI |
|
38 |
widgets and moving your mouse will move the cursor. |
|
819
by erik
2005-01-22 Erik Hjortsberg <erik@katastrof.nu> |
39 |
Press the right mouse button to switch to movement |
40 |
mode. When in movement mode, the mouse is used to pan |
|
41 |
around the world. The avatar will change direction to |
|
42 |
face the camera. Use the keys w,a,s,d to move around |
|
43 |
the world. Pressing shift will make the avatar run. |
|
44 |
||
45 |
When in gui mode, the gui behaves pretty much like a |
|
46 |
standard gui. Double click on window headers to make |
|
1244
by erik
2005-09-26 Erik Hjortsberg <erik@katastrof.nu> |
47 |
them roll up and down. |
819
by erik
2005-01-22 Erik Hjortsberg <erik@katastrof.nu> |
48 |
|
49 |
Click on an entity in the world (a tree, a NPC) to show |
|
50 |
the mouse picker menu. Most options here are pretty |
|
1244
by erik
2005-09-26 Erik Hjortsberg <erik@katastrof.nu> |
51 |
self explanatory. If you have something wielded, like |
52 |
an axe or a shovel, you also get an option to use the |
|
53 |
wielded object with the picked entity. |
|
819
by erik
2005-01-22 Erik Hjortsberg <erik@katastrof.nu> |
54 |
|
55 |
Talking to people |
|
56 |
||
57 |
Use the console to talk to people in the world, just |
|
58 |
enter some text and press enter. (Note that all console |
|
59 |
commands are prefixed by "/", such as "/quit".) When |
|
60 |
someone else in the world says something, it will be |
|
61 |
shown through the use of a "talk bubble" to the left of |
|
62 |
the person. Some NPC have a series of suggested |
|
63 |
responses. These will be shown to the left of the NPC. |
|
64 |
You can let your avatar say one of these by clicking on them. |
|
65 |
||
66 |
Developing
|
|
67 |
||
68 |
The main design philosophy behind Ember is to as much |
|
69 |
as possible use 3d party libraries. We strive to remove |
|
70 |
as much uneccessary code from Ember as possible, if |
|
71 |
there's equivalent functionality to be found in an |
|
72 |
existing library. This prevents us from a
|
|
73 |
Not-Invented-Here mindset and makes it easier to kill
|
|
74 |
our darlings.
|
|
75 |
||
76 |
* It uses Ogre (http://www.ogre3d.org) to present the
|
|
77 |
world in full 3d. Ogre is very much hardwired into
|
|
78 |
the core of Ember.
|
|
79 |
||
80 |
* SDL is used for input handling. This is not that hard
|
|
81 |
wired as Ogre, but since the goal of SDL is to
|
|
82 |
provide a platform agnostic library there's perhaps |
|
83 |
no big reason to provide support for a different |
|
84 |
input library. We will hade to do some research into |
|
85 |
DirectInput though. |
|
86 |
||
87 |
* SigC++ is used for signals and events. This is also |
|
88 |
very much hardwired into Ember. |
|
89 |
||
90 |
Other notable libraries used: |
|
91 |
||
92 |
* CEGUI (http://www.cegui.org.uk) is used for the gui. |
|
93 |
This can be removed from Ember, and another library |
|
94 |
can be used. Note however that all current widgets |
|
95 |
are made for CEGUI only, ie. we don't try to provide |
|
96 |
a generic widget abstraction. It seems unlikely that
|
|
97 |
such a construct would work. For reference, see any
|
|
98 |
discussion on Java's AWT, Swing and SWT. |
|
99 |
||
100 |
* OpenAL (http://www.openal.org/) is used for the |
|
101 |
sound. This should be loosely decoupled from Ember, |
|
102 |
but much like SDL OpenAL is geared towards providing |
|
103 |
platform agnostic sound support. Then again, FMOD |
|
104 |
might be interesting. |
|
105 |
||
106 |
See the doc directory and |
|
107 |
http://www.worldforge.org/dev/eng/clients/ember/ for |
|
108 |
more information. |