 |
|  |
 |
|
colorrr
|
|
I do have extensive experience with swing, and that also includes to a lesser extent user interfaces. I even did a course on that some years ago - how to make user friendly interfaces, which I put to use while making a windows based Oracle-made client interface to a project management tool.
Judging from Gonzalos experience I am sure he has a lot to contribute on this too. We could make a great team.
Judging from your response I guess you don't like the gui painters with generators that create a lot of connector methods to call different events on the screen in the way you painted them.
Thinking about the interface, has any considerations been made whether or not to use the full screen capabilites of the new 1.2.4 version of Java?
Jorgen
|
|
|  |
 |
|
Gary Thomas
|
 |
New Zealand
Mar 2001 time: 17:15
|
|
quote: Judging from your response I guess you don't like the gui painters with generators that create a lot of connector methods to call different events on the screen in the way you painted them. | I don't think I have any preconceived ideas for implementation. What I do not like is a dirty great list of components in an extension of JInternalFrame, which is what you get from the drag and drop gui generators. Most of the frames we have now are several classes deep, and this, I think, is more manageable. I do tend to throw JPanel around a lot, just to keep things organized.
What I have in mind, is a player control interface, so designed that the implemnting code does not know whether the input comes from the player interface, or from an AI sub-program. From my point of view, I would much rather avoid spending my time on the gui, and be, for example, writing the AI code.
However, in order for me to hand over the gui, we need a developed plan of attack. We need to identify ALL the areas of player intervention, and decide how each is to be handled.
Cheers
|
|
|  |
 |
|
topcat_arg
|
|
argentina
Mar 2002 time: 02:15
|
|
I have some experience working with JAVA.. but not in an friendly user interface... Anyway.. I want to (and like to) get more in deep in the subject in the next few day...
my first goal (even to get something do for the project) is to try a tree type Econ screen, even stand alone, just to get more use with the GUI capacities for JAVA...
I want to learn it fast.. and try to get a demo in the next days...
if after that mark give me a green light, I will happy start with colorrr or any one else a more better interface in every aspect..
just gave me a few days.. and i will get something for you to check out...
Good luck...
Gonzalo
|
|
|  |
 |
|
Mark_Everson
|
 |
Canton, MI
Jan 1970 time: 00:15
|
|
I have gone trawling for old interface-related threads. Just to have 'em all in one place for people to look over. Although both threads here are Ancient I think there are some decent ideas, and different perspectives presented. Mostly I'm putting these here in the hopes that they might stimulate current discussion on the important topic of guis and how we should approach them.
Numbers Available to players vs Hidden Numbers, a Poll
What do we want our user interfaces to be like?
I think there's more, specifically one on econ gui, but I couldn't find it in this pass.
Aha, stupid me, I had put my take on it on the Economy web page! Here is a link to the Economy Interface section.
Last edited by Mark_Everson on 25-03-2002 at 08:30
|
|
|  |
 |
|
Gary Thomas
|
 |
New Zealand
Mar 2001 time: 17:15
|
|
Checked out these references, but there wasn't much in them to help our present situation, though the odd generality did come through.
Here are some of my basic assertions:
1. It should be possible to play the game without having to enter or read any numbers. This may not be achievable, but I feel that it is. For example, tax rate should be able to be set by setting a barometer from "None", to "Crippling", with stations in between, actual number being optional.
2. On the other hand, if you want an accountant's report, it should be available. But not compulsory.
3. The system should be, essentially, mouse-driven, with the keyboard providing short-cuts only (unlike Civ). Again, on the other hand, it should be possible to drive the whole system without using a mouse. This may be a later aim.
4. Everything should have a tool-tip and a right-click menu. Under normal circumstances, the right-click should not, in itself, implement anything, just provide information and possibly a menu which would provide action options.
5. Anything which confuses the user should be banished.
6. The economics screen should be arranged around actions not accounts. It should have a number of buttons which clearly indicate what clicking the button will achieve: "Set tax rate", "Order a military unit", "Build roads", "Build infrastructure", "Show economic situation", "Show building progress". This is not fixed in concrete, but I would imagine there would be a detail panel in the economics screen which responds to the button click, and provides more detailed options, such as a list of units to build, or a list of current tasks which can be edited, or cancelled. Any building of a single item should have a "Repeat build" option. I chose the economics screen here because it is the only one currently in existence, a similar approach should be used for the other models.
7. At a later stage, each choice button should have a automatic (that is AI) option to make the decision, with the possibility of checking the AI choice before accepting it.
8. All the model screens should follow the same visual system, and work similarly. The player does not want a whole new learning experience for each model user interface.
9. The main screen toolbar should be arranged down the side of the main window (rather than across the top), on the right hand side. There should be very strict rules about adding buttons to this list. Later we can use pretty icons instead of buttons.
10. The information frame is useless and should go. It is only a very poor debugging aid at present.
There will be other things to add to this list, but that will do for now. Comments are welcome.
Cheers
|
|
|  |
 |
|
Mark_Everson
|
 |
Canton, MI
Jan 1970 time: 00:15
|
|
Hey Gary:
Good post, I'm with you either mostly or completely on virtually all of it. Just a few comments
quote: Originally posted by Gary Thomas
5. Anything which confuses the user should be banished. |
Easier said than done...
quote: 6. The economics screen should be arranged around actions not accounts. |
Especially high-level screens need IMO to be carefully crafted to show vital and most commonly used info and allow equally important actions. The most-commonly needed items of each should be accessable with ideally one or two mouse clicks. I think its important that any buttons allowing functions should be close to the information that allows you to decide whether you want to change the setting. Having all the buttons convenient on a screen is not particularly useful IMO if you need to go all over the place to find info to decide on what you want to do. Of course if the info is available in the main interface the info doesn't necessarily need to be duplicated.
quote: Any building of a single item should have a "Repeat build" option. |
I'd actually prefer to have a "Build X Many" control than a Repeat build that can go blundering off like the sorceror's apprentice. Of course one of the options for this could be your repeat, at least as I'm interpreting it. For the military side, in the future I think we will simply have a "Build an Army" gui element where the player specifies the unit composition of the army they want to shoot for, gives any geographic and time constraints, and then the army is built wherever it makes the most sense to do so within the constraints. The player wouldn't enter the econ screen to do it, although they would be shown the cost.
quote: 10. The information frame is useless and should go. It is only a very poor debugging aid at present. |
Agree completely.
Come on Everyone, join in, this is a Vital Discussion!
Clash will be a Vastly more enjoyable game with a good GUI.
And Better interfaces = better recruiting = faster progress toward the game we all want to play!
[edited plea at bottom]
Last edited by Mark_Everson on 26-03-2002 at 22:37
|
|
|  |
 |
|
RM
|
|
Uppsala, Sweden
Sep 1999 time: 05:15
|
|
How about using a tabbed pane for displaying information?
You could have different tabs marked with names like "military", "population", "economy", "diplomacy" etc.
When you click on military you get information about the military units in the marked square, and any defensive bonuses for it.
When you click on population you get details about the population in the square ( how many, ethnic groups, religion etc).
When you click on economy you get information about the production on the square, perhaps how some details about merchants and such.
When you click on the diplomacy tab you get information about the civ that owns the square, if any.
I think this would be a good way of showing much information at the same time, but still only show information that is somehow related to each other and relevant at the moment. I can think of many occasions when you would have use for this, for example when you try to increase the industrial production in peacetime, you might not be interested in seeing the exact composition of forces, but want many details on the economy. Another example could be when you are at war and make your military moves. Then any other information than the terrain and military forces are for the moment not interesting.
|
|
|  |
 |
|
RM
|
|
Uppsala, Sweden
Sep 1999 time: 05:15
|
|
Hello Mark.
The tabbed panes does not have too look more businesslike then you want them to. You can always make them pink, if nothing else helps ;-)
In the current demo both the detail frame and the unit frame give square details, so I assumed it was that kind of information that was going to be given.
Still, if there is a good way to deal with only higher level information, I am all for it, but it seems a square is always selected anyhow, in the current demo.
|
|
|  |
 |
|
Gar
|
|
Wanted to say hello, this looks like a fantastic project that y'all have going on. Been out surfing for a new hobby last few days and ran across a link here from the gamedev boards.
I've been putting around with making games/reading about making games/developing skills for game development/playing games for over 20 years. My biggest develpment interest is in interface issues, though I don't do a ton of it at work as I write mostly business code for e-commerce apps. I do alot at home with graphics and animation.
Anyhow, just a quick intro there; I'd be interested in getting involved in your project in whatever way, but as your call to arms was for GUI issues, that is what got me over here.
Taking a quick read through this thread without sampling the demo yet, wanted to throw a out a quick idea:
Single column formatted information with drilldown/collapsing menus that preserves previous views and automatically expands threads with 'hot issues.'
If you are using right-clicks, then any information item could get relevant shortcuts to areas that can be controlled or viewed relating that topic.
Just some thoughts, I'll be back through and take a look at the demo tomorrow.
|
|
|  |
 |
|  |
 |
|
topcat_arg
|
|
argentina
Mar 2002 time: 02:15
|
|
people:
I Just compiled all the info in the sun page about swing... i made a Hard copy of every page they have in their swing tutorial...
if someone want to have that info off line i can pass it to you... it's a 2.12 Mb. zip... ready to run...
anyway, I was doing some test with dummy data... when i finish it i will send to you, Mark, so you can have a look...
once we finish it, prob. we can put it somewhere so the rest can make some points about it..
Bye...
|
|
|  |
 |
|
RM
|
|
Uppsala, Sweden
Sep 1999 time: 05:15
|
|
Hello everyone.
A link to a place where you can see a tabbed pane similar to what I had in mind:
http://java.sun.com/docs/books/tuto...tabbedpane.html
Another webpage which I have found useful, in my own experimenting with swing is suns visual index to swing components, which is located at
http://java.sun.com/docs/books/tuto...components.html
Gary:
I am not sure that it is really such a big drawback that only one pane is visible at the time. When you compare things, you still usually want to compare the same things, for example compare one military unit with another, not compare the unit frame with the detail frame. That is a drawback as much in the current solution as with the use of a tabbed pane.
Besides, a tabbed pane would be larger and could contain more information at the same time, so if it is done in a good way, so it could contain information about almost everything relevant to the information wanted.
I also think a tabbed pane would be great for a more uniform way of getting the information one needs at the time, so one does not have to search in menus to get up the window you want.
But on the other hand a taskbar as Mark suggested, could have almost the same effect. But I think it should not be an aim to be able to have all frames visible at the same time, since that would require them to be rather small. (Still, none of them should be so large that it covers the entire map, if possible to avoid.) Still I think it would look nicer with a tabbed pane.
RM
|
|
|  |
 |
|
colorrr
|
|
I have been away from the boards several days, so I'll catch up a little.
First of all, let me repeat what I have heard from many others that a good interface is crucial to a games success.
The interface determines how the gamer interacts with the game engine, and how much fun he gets from playing it.
You can have an excellent game, but if the interface is bad, people will get frustrated with it and can end up rejecting the game, even though the game engine is a gem.
I agree with gary that the input should be the primary mouse driven, +/- buttons, drop-drag etc. to enter values.
It should be possible to input values by keyboards though, as when time goes by people get tired of repeatedly clicking the mouse to achieve one task and will want to use the keyboard to input numerical values in a more convenient and faster way.
I took a class on user friendly interfaces once, but I have lost the electronic notes I had when I changed my computer at work. Here's what I can remember right now:
- Everytime an action is taken by the computer, a window should show that the computer is in control. That window should always contain task information, a progressbar and a button to cancel the action. The last one can be a bit tricky at times but was deemed a necessity.
- When a task (like build road) is present in the window, it should have an image/icon and optionally a text. The reason that the image has such importance is that an image can say more than a thousand words and it is easier to memorize and 'hook up' an image with that task in our memory. It is also faster and easier for our minds to scan 5 images than scan 5 words or sentences when searching for something. The icons should be simple, clear and functional. No fancy stuff here as that could confuse the user.
- all actions that generate popup windows that contains decisions like f.instance Yes/No, should always have a cancel button. This is in case the user did not want to execute that action or take that decision now.
- of course, a good help should not be far away.
I'll see if I can get my hands on that course material again.
As for making minimized versions of windows, I think we are better without them.
My personal opinion is that the game should show one main window (the content pane Java wise) with a standard basic screen with sections showing the minimal information we deem necessary to play.
It should not include possibilities to move, resize or hide parts of the basic window. When more detail information is necessary it should be provided by pop-up modal windows (these could have tabs), but not in too many levels. Many levels of windows makes for more time lost in opening, closing & managing windows. Drilling down to get to information is a nice feature, but care should be taken to avoid many levels of drilling, especially if the information is important. The same goes for menus. There is also the issue with the amount of tasks/options available in one level. If there are too many at the same level, they should be split up in sub-groups/levels.
We want to avoid the user spending time in things that are not necessary to the game itself (managing windows, fighting the interface, opening up help, navigating menus). Most things should be one or two clicks away. The most important and/or used game functions should be accesible from the main windows itself. That means a toolbar or collection of buttons somewhere on the screen is necessary.
Gary:
About the generators, I have been using VisualAge for Java extensively, which seems to do a good job at generating the runtime code from visual painting. I have not seen it create JInternalFrames, so I don't really understand well that problem.
Maybe when you say generator you have some higher level abstract tools in mind.
Unless you disagree I would like to continue using the visual composition editor of VAJ; it's much easier using a visual editor than having to write the code for everything.
Having said that I take care to make solid layouts. I do not set the sizes of the container components, I use the different layouts in Swing to get the desired result encapsulating components in containers whenever necessary. I have found that if you let Java control the layout it always go fine, no matter the size of the main window, but once you start trying to set sizes manually something will mess up the layout sooner or later.
Jorgen
|
|
|  |
 |
|
colorrr
|
|
About the tabbed panes, I don't think they are no-no . . to a certain extent, that is.
In the basic game window there should be no tabs, nada.
But when an info/action selection window pops up, there could be tabs, why not?
Recently played and golden oldie, RollerCoaster Tycoon. The game has no tabs in its basic window, but several other popup construction windows have tabs. Very functional and actually they are a feature I like a lot.
Jorgen
|
|
|  |
 |
|
Gar
|
|
The image link problem appears to be geocities way of preventing what I did here which is linking straight to an image and essentially bypassing their bread-winning advertisements. If that link doesn't work, paste it into the nav bar followed by a space.
Ideally the expanded information would stay, not sure how much would be retained naturally via the interface objects and how much would have to be saved/rebuilt. At some level there would need to be code for retention and reorganizing as current turn should bubble to top with drill-down retention/access for previous turns. The level of tree exansion should be retained for everything.
That way if you want to see nitty gritty numbers for all battles, but never for economy you can naturally select it that way based on your interest and next turn you'd see the same level of detail for each type of information generated in that turn.
|
|
|  |
 |
|
colorrr
|
|
quote: Originally posted by Mark_Everson
The place where I think minimizable windows are Very helpful is in keeping that second-most-vital view or information handy. FE if I am running a civ that is fighting a war on two widely-separated fronts, I want to have the main map on one, and have another map that can be called up with a single click that shows me the other. In this case I avoid lots of scrolling around on the map and lining things up right, potentially each turn, because I can just call up that map that I have lined up perfectly just once. There are many other similar cases. If we can enable this ability with another method that is ok, but I think there must be a way for a player to be able to set up a gui element and access it in one or two clicks.
|
I get your point about being able to 'watch' two different placeson the map. Unfortunately this is not very compatible with the idea of a fixed main screen. Maybe a solution is to provide a way to set hotkeys to center on a specific portion of the map,
i.e. Pressing Ctrl-1 set the 1 key to center the map on the current map, you move the map to the other location you want to watch, presses Ctrl-2 to set the 2 key to center on that map location.
Now you can switch between the two using the 1 and 2 keys.
quote:
Personally, I like to be able to move things around and resize them depending on what works best for me personally. OTOH it certainly will be easier to sell Clash to most people if it has a slick-looking main screen. I think we'll have some spirited discussions on this one. |
I understand what you mean, but how many commercial games have this feature on the elements in their basic screen? On the other hand, that does not mean your idea is bad. Maybe it's just easier for us to make it the first way.
Rodrigo:
I like your idea with the tree control, as you say the user can filter out the information he does not want to see at the moment. We could add color information to the main nodes, like grey when there is no new information, green when new information has arrived etc.
Color
|
|
|  |
 |
|
Gary Thomas
|
 |
New Zealand
Mar 2001 time: 17:15
|
|
I have got a little behind in commenting on this thread. I will try and catch up now - if I have missed anything, let me know.
Colorr:
quote: About the generators, I have been using VisualAge for Java extensively, which seems to do a good job at generating the runtime code from visual painting. I have not seen it create JInternalFrames, so I don't really understand well that problem. | The only Java generator I am familiar with is JBuilder, which may differ from Visual Age. My experience is that the design system in JBuilder is pretty much useless. However, Visual Age may be better. I would have to see some generated code before forming an opinion. From your comments, it seems likely that your method will be fine. Bear in mind that I am always worried about maintainability.
quote: About the tabbed panes, I don't think they are no-no . . to a certain extent, that is.
In the basic game window there should be no tabs, nada.
But when an info/action selection window pops up, there could be tabs, why not? | I agree completely with this assessment.
Mark:
quote: The place where I think minimizable windows are Very helpful is in keeping that second-most-vital view or information handy. FE if I am running a civ that is fighting a war on two widely-separated fronts, I want to have the main map on one, and have another map that can be called up with a single click that shows me the other. | Ouch. There is no provision for multiple maps at present. When do you want that implemented - please provide the value for x in Demo x.
Minimized windows are not a lot of use if you cannot find the minimized icon.
quote: Personally, I like to be able to move things around and resize them depending on what works best for me personally. OTOH it certainly will be easier to sell Clash to most people if it has a slick-looking main screen. | Not only are both of these objectives realizable, but, I believe, both are essential.
The reason for the resizable and moveable internal frames is that we got a lot of complaints from people whose screen resolutions differed. The basic system is designed for 800x600, but, for bigger screen resolutions the system tries to adjust. Where it can't the user can manually change things, and the program will remember. We tried to make everbody if not exactly happy, at least less disgruntled.
Gar:
quote: And here is a concept with art I tossed together in Paint Shop | The game literature stresses, very strongly, that a game needs its own look and feel. Personally I feel that if that were correct, then MS Word would need its own look and feel, and so forth. The whole point of a standardized windows system is that people are used to it. So, if the game experts are right, then MS and Apple are wrong in implementing their systems. However, some pretty graphics are another thing again, provided that they do not interfere with comprehension by more than, say 0.00000000000001%.
quote: Ideally the expanded information would stay, not sure how much would be retained naturally via the interface objects and how much would have to be saved/rebuilt. At some level there would need to be code for retention and reorganizing as current turn should bubble to top with drill-down retention/access for previous turns. The level of tree exansion should be retained for everything. | Effectively this is already implemented.
Colorr again:
quote: I like your idea with the tree control, as you say the user can filter out the information he does not want to see at the moment. | I am familiar with the Swing components in Java, as well as the Java Tutorial. The JTree class is useful for certain things (I intended to use if for allowing the player to rearrange provinces and military commands) but is not a universal answer. JTrees, badly handled, can be extremely confusing for the user.
Mark encore:
quote: The list is potentially endless, so there needs to be a solution that essentially minimizes a window IMO. And I think we just need to support this ability one way or another. | Wouldn't it be nice if we had a taskbar (as I earlier suggested), and when the province got uncomfortably close to revolt, the icon started flashing...
Cheers
|
|
|  |
 |
|
Mark_Everson
|
 |
Canton, MI
Jan 1970 time: 00:15
|
|
Hiya Gary
quote: Originally posted by Gary Thomas
Ouch. There is no provision for multiple maps at present. When do you want that implemented - please provide the value for x in Demo x. |
Not an issue yet, there isn't enough going on in the demos to require it. My guess would be about Demo 10.
quote: The reason for the resizable and moveable internal frames is that we got a lot of complaints from people whose screen resolutions differed. The basic system is designed for 800x600, but, for bigger screen resolutions the system tries to adjust. Where it can't the user can manually change things, and the program will remember. We tried to make everbody if not exactly happy, at least less disgruntled. |
I think we will get a Lot of complaints if we keep the windows look long-term though. Perhaps something can be done about the look of 'em without reducing the functionality you cite that's certainly desirable. Windows look is actually Fine by me, but we know I'm way out on the tail of the distribution on that one 
quote: Mark encore:
Wouldn't it be nice if we had a taskbar (as I earlier suggested), and when the province got uncomfortably close to revolt, the icon started flashing... |
Now that I think about it, for revolt risk we could allow it to be posted in the events, so perhaps it was a bad example of needing minimizable windows! The player would tell the "Internal Minister" to notify them when provinces are above or at X liklihood of revolt FE.
|
|
|  |
 |
|
Gar
|
|
Gary:
quote: The game literature stresses, very strongly, that a game needs its own look and feel. Personally I feel that if that were correct, then MS Word would need its own look and feel, and so forth. The whole point of a standardized windows system is that people are used to it. So, if the game experts are right, then MS and Apple are wrong in implementing their systems. However, some pretty graphics are another thing again, provided that they do not interfere with comprehension by more than, say 0.00000000000001%.
|
Mostly did the art by way of saying, oh and I do some art; as much as pointing out a conceptual approach to it. Honestly, if the art isn't improving comprehension of an interface it is of questionable value in my opinion, too. Like with skins, though, there is a recognized level of interaction in that interface elements of certain designs should behave in certain ways. Thanks or no thanks to the web, people are more comfortable with finding underlying interface themes.
I once made a version of Hammurabi in Excel, it was pretty cool in principle, but playing a game in Excel felt too much like working at some point and undermined the notion of escaping with the simple game. Often immersion will compete head-to-head with learning curve, but doesn't have to. But playability holds trumps over either.
Some User Interface concepts that I use:
Consistency - similar things Always behave similarly
Complexity scales to ability
Information and decisions are grouped in manageable sizes (the core concept is typically people have 7 short term memory slots, figure one stays in reserve for distractions, and one or two hold an immediate goal, this leaves 4 or 5 things a person can easily/comfortably decide between)
Time to dive into the game some, try to get a better feel for it. Btw, is the interface limited the 256 palette used for the map?
|
|
|  |
All times are GMT. The time now is 05:15. Apolyton Time is 00:15. |
top of page
|
|
|
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is ON
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|