This is the mail archive of the xconq7@sources.redhat.com mailing list for the Xconq project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: SDL interface ideas


>There is a lot to be said for minimality, and Xconq should adopt
>that as a goal.  The map display (whether overhead or at an angle)
>should be the focus of activity; any distraction from that must be
>at most temporary.

Amen.

                                    That said, most of Xconq's games are too
>complicated for a single map to be able to display everything
>that the player needs to know, and thus we need to be able to add
>auxiliary displays.

Not sure I agree here. Multiple maps was a necessary evil on the mac before
we had offscreen graphics. Now I never use them. It's much easier to have
one big map that fills up the screen, and then use world map clicking or
keypad scrolling to zip over to wherever you want to go. If you give xconq
enough memory you can have an offscreen gworld that covers the whole world,
which makes zipping back and forth instantaneous.

Now, the SDL graphics is really fast, particularly so under MacOS (as
compared to Linux). This means that it's easy to scroll over to wherever
you want to go. It's almost like using offscreen graphics. So I think a
single map with efficient scrolling could do the job in most cases.

BTW, I just added keypad scrolling to the SDL game. For those who never use
the mac interface, this is a feature which has long been present there, but
never made it into tcltk. You use KP1-9 to scroll the map in 8 different
directions.

>So given that we want to be map-centric, my suggestion is to
>implement all other elements as either panels that come in from
>a side of the map, or as popups that come up in the middle.
>Ideally, every panel will have a button that brings it out and
>pushes it back, so the players can choose which ones to have out.
>At some point it may be possible for players to rearrange panels
>by dragging.

I would say: the fewer panels, the better. I think panels are clunky,
whether we are talking about Mozilla or xconq. Popups are much better. We
should also look into the possibility of having stuff that would go into
panels (like help nodes and unit lists) in alternative screens, that you
bring up instead of the map when you want them. If we really need those
extra maps, we should implement them as alternative screens.

>Panels will always be opaque.

Do you mean it's impossible to have translucent panels? One thing that I
think would be very suitable for translucency is the unit info and
mouseover panes, provided we have a bold font in a glowing color that is
visible against most terrains. This would give us back some valuable screen
real estate. Too bad if it can't be done. Perhaps this text could just be
drawn in a glowing color in the bottom part of the map, without having a
separate pane for it? This would make things very simple, and also neat.

                                                    In a first version I
expect that
>panels will take up an entire side of the window (so as to avoid
>non-rectangular maps), which suggests that it should be possible
>to fit multiple panels into a side, for instance unit info and
>minimap side by side in a bottom panel.

This seems like an excellen idea. I would add to that a minimalistic game
pane, also within that single bottom row, which just shows the game turn
and your own progress bar. No need to show progress bars for other players,
as is now done. This is really cheating, even if it doesn't do much harm.
In a randomized setup game with world-not-seen, you should not even know
how many opponents are lurking out in the dark, much less how strong each
one of them is. Another advantage is that with a fixed size game pane, the
layout would be easier to handle. All the panes we really need could go
into that single bottom road.

Hans

Hans Ronne

hronne@pp.sbbs.se



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]