adonthell-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Adonthell-devel] Code improvements and next steps ...


From: Kai Sterker
Subject: [Adonthell-devel] Code improvements and next steps ...
Date: Tue, 13 Jul 2010 22:23:47 +0200

After spending a lot of time on organizational things (with some
success, even!), I'd really like to get back to coding.

The first bit is already committed, too. While checking some stuff
I've noticed that sounds where loaded from the user data dir only,
which would fail once we install data to the actual game data
directory. So I changed it to use base::Paths.find_in_path() to locate
the audio files anywhere in our search path. I briefly thought about
keeping audio_manager::sound_dir to be able to "configure" the path to
the audio files inside the data directory, but in the end I didn't see
how this would be beneficial. So that's now hard coded as "audio/". If
anyone wants to bring more order to their audio files, they can still
do so by opening "ambient/forest.ogg" or "music/intro.ogg". Test cases
are also changed to work again.

What I really want to work on now is the "look" action, that will pop
up a description of an object (or rather a comment from the player
character). There are a number of pieces involved:

1. Storing the comment with an object
2. Making sure the comment can be saved in a data file and translated
(see http://lists.nongnu.org/archive/html/adonthell-devel/2010-01/msg00014.html,
near the bottom)
3. Creating the speech bubbles to display text over a characters head
4. Making sure the GUI can display those bubbles for a certain amount
of time before they vanish

So much for a short breakdown of the work ahead. There are some ideas
for (1) and (3) that I'd like to offer for discussion.

1. If v0.3 of Waste's Edge defines the features we want, then we need
to allow different comments for the same object. (Try to interact with
the crates or barrels in the cellar for an example, or the chests in
the individual guest rooms). That means we need to tie a comment to a
certain object at a certain position. OTOH, the most logical place to
put a comment would be with the entity. We could still imitate the
desired behaviour if we'd create different entities that represent the
same object, only with a different comment. But if we think further,
maybe we also want to allow different comments, depending on race or
gender of our character. Maybe we even want to execute a piece of
python code to generate a comment dynamically (think about the
grandfather clock in the common room. Would be great if we could get
the actual in-game time when looking at that).

The biggest problem is really how to tie a comment (no matter how
complex) into the current data structures (and the map editor). Any
suggestions are welcome.


3. For the speech bubbles, I'd like to improve the look a bit over
what we had in v0.3. Would like to make them more cartoon like, so
we'd probably have something like this:
  ..............
  : ,--------. :
  : |        | :
  : `--. ,---ยด :
  :     |/     :
  :............:

So we'd have a text box with a white, translucent background and a
rounded border inside a larger, transparent container. To the bottom
of the text box we stick an additional image an position the whole
construct next to the character's head. A bit like this:
http://www.thelegacy.de/pics/screen/a/Adventures_Of_Robin_Hood_alter.GIF
(that's actually the game where this idea is coming from). With the
transparency and closer to the character it should look much better,
though :-).

Again, thoughts or other suggestions welcome.


Anyway, that should keep me occupied for a while. For the speech
bubble, it would be beneficial if the border stuff in the GUI was
implemented by then, but for a first test, I can do without. We'd also
need graphics for the speech bubble. I can do them, but that will mean
they'll end up less nice than they could be.

Kai



reply via email to

[Prev in Thread] Current Thread [Next in Thread]