1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
Ember
Introduction
This is the Ember client for the Worldforge project.
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.
Quickstart
In the upper part of the window is the console. It has
two modes, full or small. In small mode, which is the
default, only the input strip is shown. I full mode the
console occupies half of the screen. Use F12 to switch
console modes. The console is used for both talking in
the world and executing commands. If you've used IRC
before you'll find it quite similiar. All commands are
prefixed by "/". Use the command "/list_commands" to get a
list of all available commands. If you just enter text
normally in the console, your character will say what
you've entered in the world.
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 "create". 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.
Moving around in the world
Once in the world you'll be presented to a third person
view of your avatar. The default mode is GUI mode. In
GUI mode you can interact with the different GUI
widgets and moving your mouse will move the cursor.
Press the right mouse button to switch to movement
mode. When in movement mode, the mouse is used to pan
around the world. The avatar will change direction to
face the camera. Use the keys w,a,s,d to move around
the world. Pressing shift will make the avatar run.
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.
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.
Talking to people
Use the console to talk to people in the world, just
enter some text and press enter. (Note that all console
commands are prefixed by "/", such as "/quit".) When
someone else in the world says something, it will be
shown through the use of a "talk bubble" 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.
Developing
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.
* It uses Ogre (http://www.ogre3d.org) to present the
world in full 3d. Ogre is very much hardwired into
the core of Ember.
* 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.
* SigC++ is used for signals and events. This is also
very much hardwired into Ember.
Other notable libraries used:
* 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.
* 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.
See the doc directory and
http://www.worldforge.org/dev/eng/clients/ember/ for
more information.
|