MWIF Game Interface Design

World in Flames is the computer version of Australian Design Group classic board game. World In Flames is a highly detailed game covering the both Europe and Pacific Theaters of Operations during World War II. If you want grand strategy this game is for you.

Moderator: Shannon V. OKeets

Shannon V. OKeets
Posts: 22102
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

MWIF Game Interface Design

Post by Shannon V. OKeets »

The following post is available from me as a PDF file. Simply email me at Steve@PatternDiscovery.us and ask.
--------------------------------------------------------------

Game Interface Design
(as of August 2, 2005)

I. Introduction

One of the most crucial aspects of making MWIF a great game is going to be the game interface. We already have a good start on the visuals: the map, the units, and window frames. Despite that, the range of things a player can do when playing MWIF and how easy it is to do them can determine whether he plays for 5 minutes or 5 years. Of course there are other aspects of the game that contribute to whether a player loves or hates it, but here I am concerned with the game interface.

By game interface I mean: the display of the map and units, the forms (a.k.a windows) that pop up during play so the player can make decisions, the forms that the player can call up to review status, the control the player has over how the forms look and what they contain, and lastly the keystrokes, mouse movements, and mouse clicks the player uses to control the game. Besides playing World in Flames itself, there are other aspects to the interface: loading/saving games, options, and other settings, communicating with other players either over the Internet or via email, and controlling the AI Assistant (AIA).

So, what I hope we can accomplish with this thread is design the game interface. You have all played computer war games before and have strong opinions on what is good and bad about their game interfaces. Most of you have played WIF as a board game and know what is required to move units and make decisions. If we combine our expertise, we should be able to come up with an excellent game interface design. I will accept nothing less.

As always, I will have the final say and do my best to make everybody happy. The hardest decisions will be deciding whether to include features that would enhance the game or exclude them because they will take too long to implement. To a very real degree, my call on each feature will depend on how many of you like it / want it / need it / can’t live without it versus how much effort it will take to code it. Let me know what you think.


II. Background

Instead of starting from scratch, we have the beta version of CWIF as a reference point. I could just go with its game interface and do no additional coding. That might be missing an opportunity for vastly improving MWIF. When Chris started writing CWIF 9 years ago, the state-of-the-art in computer wargames was much different from what it is today. Given all that has changed in terms of screen size, CPU speed, and available memory, we can be more ambitious in designing the interface.

Be that as it may, we should first start by looking at what CWIF contains. The following list is of the forms (windows) used in CWIF. Each one is accompanied by a short explanation of its purpose. Grouped below by game function, there are over 100 forms. I have omitted a dozen or so that are only used by the program internally. The notation “(map)” at the end of the purpose description indicates that the form includes a snap shot of the map area of interest.

Start of Game
Choose Scenarios...................choose scenarios, remote, watchers, free set up, extended game
Choose Options......................set optional rules on/off
Add Players............................add players to game
Bid..........................................current bids, bidding, countries available
Choose Sides..........................set who plays what
Password................................request player’s password
Setup......................................primary screen for setting up units

Declare War, Make Trade Pacts, and Lend Units and Resources
Declare War...........................declare war, align neutrals
Loan.......................................loan a unit to another player
New Trade.............................create trade agreement: resources, oil, build points
Pact Marker Move.................effects of moving a marker between offense and defense
Pact OD.................................choose offensive or defensive for a new marker

Initiative, Weather, Action Choice, and Switch Players
Init..........................................roll for initiative
Move First..............................choose whether or not to be 1st phasing player
Action ...................................choose action
Switch Player.........................change which player is active player

Entering Unit Orders
Main........................................master screen display
Game Map..............................detailed game map for moving all units and attacking
Globe......................................global map

Air Units
Setup Scrap............................scrap units
Air Resources.........................assign pilots
Air Transport Land.................put land units on a plane
Plane Role..............................choose fighter or bomber for a fighter/bomber
Air Attack...............................assign units to air attack, (map)
Air Combat.............................arrange fighters and bombers, results, (map)
Anti-Air..................................# of shots, (map)
Anti-Air Combat....................results, (map)

Land Units
Pick HQ.................................select HQ to use with Offensive Chit
Ignore Notional......................calculate attack odds with/without notional unit
Land Combat.........................choose table for land combat & resolve, (map)
Destroy Units.........................land combat results allocation
Overstacked...........................fix overstacked hex by destroying units, (map)
Breakdown.............................breakdown units, before and after
Reform...................................reform broken down units into a corps unit

Naval Units
CVP Classes...........................CVP classes by year for air units
Choose Carrier.......................place planes on carriers
Drop Off.................................embark and disembark units
Section....................................displays units in sea areas for moving a stack & dropping off units
Naval Interception..................choose to intercept naval units that are moving through
Naval Combat.........................overview of naval units in a sea area before combat
US Naval Combat..................US selects which units participate in naval combat
WIF Surprise..........................spend surprise points
Naval Combat Include Type...choose whether to include subs
Commit Subs..........................choose whether to commit subs
Naval Combat Results............affect results of naval combat: damage, destroy, abort
Convoy Info............................convoys by sea areas, and resources moving through
Split........................................split convoy points

Production, Reinforcement, Reserves, Reorganization, and Other End of Turn Stuff
Reserves.................................select reserves to activate
Add Minor Units....................add minor units to force pool
Fort Hexside...........................select on which hexside to build a fort
Reorganize.............................reorganize units using HQ
US Entry Pool........................overview and draw chits for Germany/Italy/Japan entry and tension
WIF US Entry.........................choose US Entry options, with overview
Production..............................review and set production
Production Undo....................cancel production and recover build points
Save Build..............................save build points, (map)
Save Oil..................................save oil points
Use Oil...................................use oil to reorganize units
Vichy......................................setup Vichy France
Destroy Factory......................select which factory type to destroy
Victory....................................display the final victory standings

Information and Overviews
Weather Report......................display current weather by weather zone
Weather Chances....................probabilities for each weather type by weather zone on next roll
Pool........................................overview of all the pools: production, force, etc.
Global Legend........................legend for global map
Action Limits.........................currently available actions
Note........................................attach a note to a unit
Distance..................................calculate air distance between points
Chart Land Combat................2D10 table
Pact.........................................overview of non-aggression pacts: garrisons and dates
Pact Markers...........................current offensive and defensive markers
Partisans.................................partisan overview
Relations................................overview of relations with other major powers
Trade.......................................overview of who is lending what to whom
Lending...................................review trade agreements
SB Losses...............................overview of strategic bombing losses
Resource Production..............overview of resources => factories => build points
Captured.................................list of factories and resources captured
Game About............................about MWIF

Player Interface Aids
Cnt List...................................jump to capitals on map
Dice........................................roll dice and see results
Game Options........................game interface options
CAP........................................set when to ask about using CAP
Select Units............................create filter for displaying units
Load Filter..............................load existing filter for viewing units
Save Filter..............................save a filter for viewing units to disk for future use
Load Options..........................load existing optional rule set
Save Options..........................save an optional rule set to disk for future use
Load Setup..............................load existing setup
Save Setup..............................save current setup to disk for future use

Communication with Other Players
Chat........................................messages to/from another player receive/send, reply/new
New Message.........................send a new message to another player
Send To..................................define a group to receive a message


III. Redesign

Yeah, I know, it’s a lot. To help you get started on your critique you might select one area, (say, Air Units), and think through what you will want to do with them when you play MWIF. How will you select targets for ground strikes? How will you check for enemy interceptors? How will you move the planes you are sending on a mission? Are there any helpful hints that you would like the program to tell you about your own units or the enemy’s?

You can choose an area that you have seen done really well in another game and tell us what was so good about it. Or choose an area of another game that you thought had a terrible interface, and tell us what to avoid.

Of special interest to me are your thoughts about the interface for playing over the Internet, playing by email, and working with an AI Assistant. The last two were not in CWIF so we are truly starting with a blank page for their interface design.

As some of you have probably figured out by now, I am very greedy in taking good ideas where ever I find them and building them into MWIF. The fact I never thought of an idea makes it even more attractive to me. Often I will take several ideas from different people and weave them together into one great idea. Even solutions that don’t work at all are of interest, because they usually identify a problem that needs to be solved.

This should keep us busy for a while.
Steve

Perfection is an elusive goal.
User avatar
Greyshaft
Posts: 1979
Joined: Mon Oct 27, 2003 1:59 am
Location: Sydney, Australia

RE: MWIF Game Interface Design

Post by Greyshaft »

Time to dig out the CWIF files again. What about your eager readers that don't have CWiF? I understand the quite valid reasons for not distributing that code but maybe that policy needs revision if anyone doesn't have it.What am I worried about? Let them take that point up with you! I'm all right Jack [:D]

I love:
* the tabbed scenario selection box in CWiF
* the combat view in SSG Ardennes Offensive. When attacking a single hex it's great to get a close up of the contents of the surrounding hexes. You can download the game for free from SSG.
* the Task Force pane from Grigsby's Pacific War (downloadable for free from Matrix). The graphics are early 90's but the layout is good.
/Greyshaft
User avatar
Neilster
Posts: 2872
Joined: Mon Oct 27, 2003 1:52 pm
Location: Hobart, Tasmania, Australia

RE: MWIF Game Interface Design

Post by Neilster »

I liked CWiF's interface but it had a steep learning curve.

There are a couple of things I'd like that I can think of off hand.

1. Watchable computer vs computer games. Love 'em. They should be interesting in WiF and would be a good learning aid for new players.

2. A DVD style interface to watch saved games, with heaps of options for controlling time, location, scale, unit filters etc. Games between master players could be downloaded and studied, as in chess.

Cheers, Neilster

Cheers, Neilster
Smiffus64
Posts: 105
Joined: Fri Jul 30, 2004 5:14 am
Location: Delft, the Netherlands

RE: MWIF Game Interface Design

Post by Smiffus64 »

Keep buttons large enough and their position logical, if I take WitP as an example, it has 'exit' buttons ('close the current window') which are very small and placed in a seemingly random way (ie. top left of the window, bottom right, etc.). It kept me searching for the right button and caused me to misclick several times.
Shannon V. OKeets
Posts: 22102
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: MWIF Game Interface Design

Post by Shannon V. OKeets »

ORIGINAL: Smiffus64
Keep buttons large enough and their position logical, if I take WitP as an example, it has 'exit' buttons ('close the current window') which are very small and placed in a seemingly random way (ie. top left of the window, bottom right, etc.). It kept me searching for the right button and caused me to misclick several times.

There are standard window controls that I was thinking of using. They appear in the upper right corner of a window and let you minimize, maximize, and close the window. They are present on almost every window in CWIF that I can think of; but they are kind of small. On the plus side, their location is always the same. On important actions (e.g., end of phase) I intend to ask the player to confirm yes/no and in those cases I would use a larger button.

As an example of what I am talking about, the window that pops up when you post a message to this forum has the standard window controls in the upper right corner and also larger buttons at the bottom center (ok/preview/cancel). Do you want more than that? If so, now is the time to tell me, for everything is under review. This is simple stuff to program, so I would like it to be perfect.
Steve

Perfection is an elusive goal.
User avatar
Froonp
Posts: 7998
Joined: Tue Oct 21, 2003 8:23 pm
Location: Marseilles, France
Contact:

RE: MWIF Game Interface Design

Post by Froonp »

The following list is of the forms (windows) used in CWIF. Each one is accompanied by a short explanation of its purpose. Grouped below by game function, there are over 100 forms. I have omitted a dozen or so that are only used by the program internally. The notation “(map)” at the end of the purpose description indicates that the form includes a snap shot of the map area of interest.
It would be interesting to create a PDF showing all the present dialog boxes used in CWiF (all those you listed in your post) and make it available to everyone interested. Review of the existing program's interface would be easier, and it would allow even the persons who do not have CWiF to review the interface.
I'll try to make it if I get some time.
User avatar
Froonp
Posts: 7998
Joined: Tue Oct 21, 2003 8:23 pm
Location: Marseilles, France
Contact:

RE: MWIF Game Interface Design

Post by Froonp »

There are standard window controls that I was thinking of using. They appear in the upper right corner of a window and let you minimize, maximize, and close the window. They are present on almost every window in CWIF that I can think of; but they are kind of small. On the plus side, their location is always the same. On important actions (e.g., end of phase) I intend to ask the player to confirm yes/no and in those cases I would use a larger button.
Don't forget to use the keyboard shortcuts. "Enter" should always validate the dialog, and "Escape" should always cancel it. "TAB" should allow to go from field to field in the dialog too, and "ALT" + "down arrow" should allow to open pull down lists.
The CWiF experience was GREATLY enhanced by the keyboard shorcuts that were existing in the game and made it play really faster.
Shannon V. OKeets
Posts: 22102
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: MWIF Game Interface Design

Post by Shannon V. OKeets »

ORIGINAL: Neilster
I liked CWiF's interface but it had a steep learning curve.

There are a couple of things I'd like that I can think of off hand.

1. Watchable computer vs computer games. Love 'em. They should be interesting in WiF and would be a good learning aid for new players.

2. A DVD style interface to watch saved games, with heaps of options for controlling time, location, scale, unit filters etc. Games between master players could be downloaded and studied, as in chess.

Cheers, Neilster

AI versus AI should be doable but I don't know what the role of the human 'player' would be. I guess he would be a 'watcher'. As such, he would need the authority to control what is displayed on the screen as per your second point.

I intend to maintain a detailed record of what happens in every game - a history file. What it will contain is the players' moves/actions/decisions that affect play. For example it would include the movement of a land unit from hex to hex. It would not include that the player wandered around the map looking at this and that before deciding on a move. During play it serves many purposes: undo moves, log the moves for transmission in a PBEM game, let a player who has fallen behind in an Internet game bring his copy of the game up-to-date incrementally instead of all at once. Of course it serves the purpose of replaying the game in a post-mortem session too.

The controls you describe would require some work but if we deny the player to ability to change orders during a replay it shouldn't be too hard. If the player really wants to pick up the game at a certain point and try something different, he could always just stop the game in the middle of a replay session and save the current position to disk.
Steve

Perfection is an elusive goal.
Shannon V. OKeets
Posts: 22102
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: MWIF Game Interface Design

Post by Shannon V. OKeets »

ORIGINAL: Froonp
It would be interesting to create a PDF showing all the present dialog boxes used in CWiF (all those you listed in your post) and make it available to everyone interested. Review of the existing program's interface would be easier, and it would allow even the persons who do not have CWiF to review the interface.
I'll try to make it if I get some time.
If you can do so, that would be great. If you can work out the procedure for doing 1 of them, and then tell me how, that would let me do any changes/improvements too.
Steve

Perfection is an elusive goal.
Shannon V. OKeets
Posts: 22102
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: MWIF Game Interface Design

Post by Shannon V. OKeets »

ORIGINAL: Froonp
Don't forget to use the keyboard shortcuts. "Enter" should always validate the dialog, and "Escape" should always cancel it. "TAB" should allow to go from field to field in the dialog too, and "ALT" + "down arrow" should allow to open pull down lists.
The CWiF experience was GREATLY enhanced by the keyboard shorcuts that were existing in the game and made it play really faster.
Yes. There are a lot of drop down menus that should be reviewed by everyone too. I'll see if I can present them all in some reasonable layout.
Steve

Perfection is an elusive goal.
User avatar
Froonp
Posts: 7998
Joined: Tue Oct 21, 2003 8:23 pm
Location: Marseilles, France
Contact:

RE: MWIF Game Interface Design

Post by Froonp »

For example it would include the movement of a land unit from hex to hex
I LOVE this log-thing.
Maybe it could also be queried to show results such as which air units had the most kills, which land unit was destroyed / Shattered / retreated the most, the list of cities taken by each unit, etc...
Just would like to add to this that I would like for this log to contain names instead of hexes numbers anywhere possible. Would be cool if the log also listed the hexsides crossed when the hexside is important, such as rivers or fortifications (ie. XL ARM corps crossed Dniepr River).
User avatar
Froonp
Posts: 7998
Joined: Tue Oct 21, 2003 8:23 pm
Location: Marseilles, France
Contact:

RE: MWIF Game Interface Design

Post by Froonp »

If you can work out the procedure for doing 1 of them
It is quite simple :
Start CWiF, and when an interesting dialog shows up, press "ALT" + "PRINT SCREEN" keys.
Then, open your favorite word processing program (mine is MS Word), and then PASTE.
Then change the size of the Dialog picture (keeping proportions by only handling it by its corners) crop it if needed, add any needed comment, and you're done.
Just convert it to PDF if possible to make it viewable by anyone.

To make changes to the PDF you'd just have to have the original DOC document, make the change, and convert it to PDF again.
User avatar
Greyshaft
Posts: 1979
Joined: Mon Oct 27, 2003 1:59 am
Location: Sydney, Australia

RE: MWIF Game Interface Design

Post by Greyshaft »

ORIGINAL: Froonp
Then, open your favorite word processing program (mine is MS Word)...
uh oh... you shouldn't have said that.
<don't mention MS Word>[:D]
/Greyshaft
Shannon V. OKeets
Posts: 22102
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: MWIF Game Interface Design

Post by Shannon V. OKeets »

ORIGINAL: Froonp
For example it would include the movement of a land unit from hex to hex
I LOVE this log-thing.
Maybe it could also be queried to show results such as which air units had the most kills, which land unit was destroyed / Shattered / retreated the most, the list of cities taken by each unit, etc...
Just would like to add to this that I would like for this log to contain names instead of hexes numbers anywhere possible. Would be cool if the log also listed the hexsides crossed when the hexside is important, such as rivers or fortifications (ie. XL ARM corps crossed Dniepr River).
Just for the sake of my sensitive nature, let's call it the 'record log' rather than log-thing. The names we choose usually matter when we get farther down the road.

I will want the record log as terse (encoded) as possible so it can be stored and transmitted efficiently. What you are discussing can be handled by a separate routine that reads the log and translates hex numbers into city, port, country, and sea area names. The same applies for crossing fortifications, rivers, canals, or straits. It will include when units are removed from the game, shattered, or retreated. I will have to think about how to capture which units are involved in attacks, invasions, air combat, etc., but I can make sure that is there too.

Thanks for the how-to on capturing screen images.
Steve

Perfection is an elusive goal.
User avatar
c92nichj
Posts: 345
Joined: Fri Jan 14, 2005 1:15 pm
Contact:

RE: MWIF Game Interface Design

Post by c92nichj »

ORIGINAL: Froonp
For example it would include the movement of a land unit from hex to hex
I LOVE this log-thing.
Maybe it could also be queried to show results such as which air units had the most kills, which land unit was destroyed / Shattered / retreated the most, the list of cities taken by each unit, etc...
Just would like to add to this that I would like for this log to contain names instead of hexes numbers anywhere possible. Would be cool if the log also listed the hexsides crossed when the hexside is important, such as rivers or fortifications (ie. XL ARM corps crossed Dniepr River).
As I'm also a sucker for statistics and graphs. It would be really great if you could see a log with a graph of stuff like:
- Number of BP lost each turn/impulse (Combination from combat losses/scrapping/strategic bombardment)
- Number of units gained each turn/impulse (Combination from building/aligning minors/getting partisans)
- Number of Victory Cities hold each turn.
- Unit who have participated in killing/shattering most opponents
- Unit who have been killed/shattered most.
User avatar
c92nichj
Posts: 345
Joined: Fri Jan 14, 2005 1:15 pm
Contact:

RE: MWIF Game Interface Design

Post by c92nichj »

One thing that I would like to keep from CWIF is "place unit".
This allows you to place a unit anywhere on the map at any point in time, when you really shouldn't be abel to do that.
When playing CWIF we used that a lot especially to allow for mulligans, for example. where you forgot to railmove a piece at the rail step and then done all your landmoves. Instead of redoing all your landmoves you would then just place the unit.

User avatar
c92nichj
Posts: 345
Joined: Fri Jan 14, 2005 1:15 pm
Contact:

RE: MWIF Game Interface Design

Post by c92nichj »

Some nice to have features

- On map filters would be neat. For example; show all unflipped Figheters, Show all CV's etc. if you then also could do next unit for each of them to focus on the next FTR that also would be nice.

-Undo capabilities for moves you do not want to make.

- A feature in Korsun pocket that I liked was that the computer calculated what odds you could get at opponent hexes if commiting all available resources. (if difficult to implement I would skip this one but maybe you will do this work for the ai anyhow)

- When you hover your mouse over a stack in Vassal the contents of the stack pops up. A nice feature I think.

- In cyber board your moves can be plotted with a marker when replaying another players PBEM move.






Image
Attachments
WIF.jpg
WIF.jpg (48.32 KiB) Viewed 236 times
Shannon V. OKeets
Posts: 22102
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: MWIF Game Interface Design

Post by Shannon V. OKeets »

ORIGINAL: c92nichj
As I'm also a sucker for statistics and graphs. It would be really great if you could see a log with a graph of stuff like:
- Number of BP lost each turn/impulse (Combination from combat losses/scrapping/strategic bombardment)
- Number of units gained each turn/impulse (Combination from building/aligning minors/getting partisans)
- Number of Victory Cities hold each turn.
- Unit who have participated in killing/shattering most opponents
- Unit who have been killed/shattered most.
Adding to this, when I play over the board, I always ran a count of strength of units on map by type by major power. That would let me compare the strength of the German army versus USSR turn by turn.

The graphs you mention seem to all have time as the x-axis with varying numerics on the y-axis.

The information about units seems more like a table with the individual units running down the left most column and other columns for kills, shatters, etc.. The player could also sort the table using any column or unit characteristic.

Steve

Perfection is an elusive goal.
Shannon V. OKeets
Posts: 22102
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: MWIF Game Interface Design

Post by Shannon V. OKeets »

ORIGINAL: c92nichj
One thing that I would like to keep from CWIF is "place unit".
This allows you to place a unit anywhere on the map at any point in time, when you really shouldn't be abel to do that.
When playing CWIF we used that a lot especially to allow for mulligans, for example. where you forgot to railmove a piece at the rail step and then done all your landmoves. Instead of redoing all your landmoves you would then just place the unit.
What you are referring to was a debugging aid that let players set up situations and then see if the program performed correctly. For example, setting up all the units needed for a complex air battle, sea battle, or invasion. I guess I could make it an option but you would have to really trust the opponent to not abuse the capability.
Steve

Perfection is an elusive goal.
Shannon V. OKeets
Posts: 22102
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: MWIF Game Interface Design

Post by Shannon V. OKeets »

ORIGINAL: c92nichj

Some nice to have features

(1) On map filters would be neat. For example; show all unflipped Figheters, Show all CV's etc. if you then also could do next unit for each of them to focus on the next FTR that also would be nice.

(2) Undo capabilities for moves you do not want to make.

(3) A feature in Korsun pocket that I liked was that the computer calculated what odds you could get at opponent hexes if commiting all available resources. (if difficult to implement I would skip this one but maybe you will do this work for the ai anyhow)

(4) When you hover your mouse over a stack in Vassal the contents of the stack pops up. A nice feature I think.

(5) In cyber board your moves can be plotted with a marker when replaying another players PBEM move.
Image

1 - CWIF had a lot of this. I need to review it to see if it does all that you are talking about.

2 - CWIF also had this. There is a problem with taking back moves after the opposing player has acted. For example, after trying to move a task force through a sea area and the opponent does a successful search, undo should not be allowed.

3 - Calculating odds, hmmm. I could see some problems with this. The AI could work it out but how to display the units involved could be difficult. It might involve invasions, paradrops, extended range bombers, ... There is also the issue of ground strikes not only on the target hex but also on enemy bombers that could otherwise be used for ground support. That's a lot of stuff to communicate to a player. The AI can do it as part of its calculations, but it doesn't have to 'see' what it is thinking about. If we just give the player the best odds achievable without explaining how we got them, we could drive him crazy trying to figure it out.

4 - CWIF does this but the units in the hex are at the bottom of the screen. Perhaps you mean a display of the units that is closer to the cursor position?

5 - Love it.
Steve

Perfection is an elusive goal.
Post Reply

Return to “World in Flames”