[crossfire] Improved/redone client.

Raphaël Quinet raphael at gimp.org
Mon Oct 9 13:57:40 CDT 2006


On Mon, 09 Oct 2006 01:10:52 -0700, Mark Wedel <mwedel at sonic.net> wrote:
> Standardize on 19x19 map size.
> 
> This size was chosen as that the map could still fully fit on lower resolution 
> systems.  Standard size so that map makers know what to design to, and so 
> players don't have an unfair advantage (if I have a 25x25 map and you only have 
> 19x19, I have more info).

Well, I disagree with a fixed size of 19x19 because it would be
difficult to use it on a 1024x768 screen (sorry, I cannot easily
switch to a bigger screen on my laptop).  I have currently set my gtk2
client to use 20x15 for the map size and this works quite well.

Here is a screenshot of my gcfclient2, with some comments about where
some space optimizations could be implemented:
  http://wilber.gimp.org/~raphael/crossfire/gcfclient-ui.png

> Make client fullscreen.
> [...]

Like you, I also find fullscreen applications annoying.  Although this
is good for many games such as action games that are played without
interruption, I often like to switch from crossfire to a text editor
or web browser in order to take some notes or read some docs.  Maybe
it is just a sign that the client does not provide enough features on
its own (such as allowing the player to take notes or having a better
online help system).  But even if some of these features could be
added later, I still think that I would prefer to use the crossfire
client in windowed mode.

> Standardize on one client
[...]
> My thoughts: As the writer and user of the gtk2 client, I'm biased, but keeping 
> the gtk2 clients seems fine to me.  I know there are complaints about it, as 
> well as bugs, but having 3 supported clients I don't think really helps things 
> much (it becomes too easy to just not make improvements or fix bugs and keep 
> using the gtk1 client).

I would also like to support the gtk2 client as the main client.  The
main problem with that client is that it is designed for a screen that
is at least 1000 pixels high and this causes most of the widgets to be
created out of the screen when the client in used on a 1024x768
screen.  It is even difficult to resize the user interface so that
most pieces fit on the screen, because even the resize handles for the
hpanes and vpanes are off the screen initially.  I had to resort to
hand-editing of the ~/.crossfire/gwinpos2 file in order to make it fit
on my screen because changing the map size or resizing the top-level
application window was not sufficient to make all widgets appear in
the visible area of the screen.

It is much easier for the user to start with a smaller window and make
it larger than to start with a window that is too large and try to
make is smaller.  I would like gcfclient2 to start with a smaller size
by default so that it fits on a 1024x768 screen.  Those (like you) who
have a larger screen will be able to enlarge the window in order to
make use of the available space and those who have a small/normal
screen will be able to make minor adjustments if necessary.

I was a bit disapointed to read in the docs of the client that you were
not interested in accepting patches for improving the client on small
screens.  I hope that you have changed your mind about this and that
you would still accept patches that change the initial dimensions of
the gcfclient2 widgets.

> Improve client UI
> 
>   This is often discussed, but I hear few concrete suggestions.
> 
>   I'll be the first to admit I'm not wholly satisfied with the gtk2 client.  Yet 
> at the same time, I'm not exactly sure what I'd change to make it better.
> 
>   Here are various thoughts and some suggestions I think people presented:
> - Pop up window for inventory handling (one gets so many items in crossfire, 
> that the normal scrolled area really isn't sufficient)

I agree that the inventory handling should be improved.  One of the
drawbacks of the current solution (using a nested list in the
inventory) is that it is sometimes hard to quickly close a container
during combat because you have to scroll up exactly to the right place
and this is tricky if you have many items in your inventory and in the
container.  I'm not sure that I would like a pop-up window, though.
Pop-ups should generally be avoided because they get in the way and
have to be dismissed explictely.

It may be better to get back to the solution that was used in the old
gtk1 client: replace the view of the stack/floor by the items in the
container and have a "close" button in a place that can be found
easily.  Maybe something similar could be used in the gtk2 client.

> - Maybe use themes to make the appearance more that of a game and less that of 
> an application (font size, background colors, etc)

Hmmm... Themes can be nice.  On the other hand, consistency with other
applications running on the desktop is also nice.

> - Figure out what information is important to display, and what isn't.  In 
> particular, I'm thinking of the stats pane here - most often I use the exp pane 
> to see where I am at relative to leveling, less so the resistances, and seldom 
> use the overall stats one, since stats don't change very often.  Could we maybe 
> use icons instead of string names, and scrollbars instead of numbers to 
> represent progress?  Add popup hints so if you hover over the value, you get the 
> full info?

I put some comments on the screenshot:
  http://wilber.gimp.org/~raphael/crossfire/gcfclient-ui.png

The most important information (from my point of wiew) would be:
- The current range/attack: spell, weapon, bow, rod, ...
- The total exp: it is very useful to be able to see if that number
  changes while you are doing something, and by how much.  If I want
  to see the details I can go to the "Skills & Experience" tab, but
  usually it is enough for me to see if the total is increasing.
- The current armor and other protections.  I am usually playing
  characters that have temporary resistances from spell or potions and
  I do not always see the messages telling me that some of them have
  expired (especially in the middle of some combat that generates lots
  of messages).  So keeping an eye on the protections is rather
  useful.

These values are the ones that I like to see when I am engaged in
combat.  When I am exploring, shopping or thinking between battles, I
may be more interested in the "Core stats" or the details of my skills
(which I can also get via the 'skills command anyway).

It would be nice if some of the unused areas (marked in red on the
screenshot) could be used to display some of these important values.
It may be sufficient to display the range and total exp somewhere so
that they are always visible, and then I could have the "Protections"
tab visible most of the time, while you would probably choose to have
the "Skills & Experience" tab visible.

> - Improved help - I don't think the help in the client has much useful content - 
> I think a lot of the information currently in various places could make it to 
> the client so it has a real help system.

Yes.  See also the previous discussion that we had in August in the
thread ``Proposal for better in-game information: client-side "player
books"''.

-Raphaël



More information about the crossfire mailing list