Hacking Xconq - Guidelines and Suggestions

Go to the first, previous, next, last section, table of contents.

## Guidelines and Suggestions

Although as the interface builder, you are free to make it work in any way you like, there are a number of basic things you should do. Some of these are general user interface principles, others are specific to Xconq, usually based on experiences with the existing interfaces. Applying some of these guidelines will require judicious balancing between consistency with the different version of Xconq and consistency with the system you're porting to.

[following items should be better organized, moved in with relevant sections]

Draw single selected unit in a stack larger.

Draw single selected occupant in UR corner next to transport, when at mags that show both transport and occs.

There should always be some sort of "what's happening now" display so player doesn't wonder about apparently dead machine.

Image tool should report which type of resource is generating a given image, so can find which to hack on (report for selected image only).

Interfaces should ensure stability of display choices if random possibilities, so need to cache local decisions about appearance of units if multiple images to choose from, choice of text messages, etc.

Rules of Interaction: 1. Player can get to any unit in any mode. 2. Any player can prevent a turn from completing(/progressing?), unless a hard real limit is encountered. 3. All players see each others' general move/activity state, modes, etc. 4. Players can "nudge" each other. 5. Real time limits can be set for sides, turns, and games, both by players and by scenarios.

Player should be able to click on a desired unit or image, and effectively say "take this", either grabs directly or else composes a task to approach and capture.

Unit closeups should be laid out individually for each type, too much variability to make a single format reasonable.

Add option where game design can specify use or avoidance of masks with unit icons.

Player could escape a loss by saving a game, then discarding save. Mplayers could register suspicion when player saves then quits - "You're not trying to cheat, are you?" - but can't prevent this.

All interfaces should be able to bring up an "Instructions" window that informs player(s) about the current game, includes xrefs to all game design info. Restrict help to generic and interface info only.

Graph display should graphing of various useful values, such as amounts of units and materials over time, attitudes of sides, combat, etc. Maximal is timeline for all sides and units, usually too elaborate but allow tracking movement for some "important" units. Note that move actions may be recorded anyway.

Make specialized dialog for agreements, put name on top, then scrolling list of terms, then signers, then random bits (public/secret, etc). Use for proposals also, so allow for "tentative" signers, desired signers who have not looked at agreement. Be able to display truth of each term, but need test to know when a side can know the truth of a term?

Interfaces should have a "wake up dummy" button that can be used by players who have finished their turn, to prod other players not yet done.

Commands that are irrelevant for a game ought to be grayed out in help displays, and error messages should identify as completely invalid (or just not do anything, a la grayed Mac menu shortcuts).

Should be able to drag out a route and have unit follow it (user input of a complete task sequence).

Hack formatting so that variable-width fonts usually work reasonably.

Add xref buttons to various windows to go to other relevant windows and focus in.

The current turn or date should be displayed prominently and be visible somewhere by default.

Add some high-level verbs as commands ("assault Berlin", "bomb London until destroyed").

Don't draw outline boxes at mags that would let them get outside the hex.

If dating view data, allow it to gray out rather than disappear entirely. Could even have a "fade time" for unit images...

Even if display is textual, use red text (and other colors) to indicate dangerous conditions.

Next/prev unit controls should change map focus, even if screen unaffected.

In general, ability to "select" a unit implies ability to examine, but not control. Control implies ability to select, however.

Use a builtin color matching a color name if possible, otherwise use the imc definition.

Connections may need to be drawn differently in each of the two hexes they involve, such as straits connecting to a sea. (what is this supposed to mean?)

If cell cramped for space, show only one material type at a time, require redraw to show amounts of a different type.

Draw time remaining both digitally and as hourglass, for all time limits in effect.

Could tie map to follow a specified unit (or to flip there quickly a la SimAnt).

Have a separate message window from notices, allow broadcasting w/o specific msg command? (a "talk" window)

Redraw hexes exposed when a unit with a legend moves. Truncate or move legend if would overlap some other unit/legend.

Put limits on the number of windows of each type, set up so will reuse windows, except for ones that are "staked down".

Fix border removal so inter-hex boundary pixels are cleaned up also.

Need a specialized window or display to check on current scores (showing actual situation vs what's still needed). (Show both scorekeepers actually in force, as well as the others.) Side display could also display scores relevant to that side.

Every unit plan display should have a place to record notes and general info about the unit, add a slot to units also. Use in scenarios.

Need a command for when a player can explicitly change the self-unit.

Players should be able to rename any named object. The interface should also provide a button or control to run any namer that might be available to the unit.

Be able to select unit number display indep of unit name display, and feature name display indep of unit names.

Don't draw things that xform to 0 pixel areas, only draw the most important things if 1-4 pixels or so.

If time/effort to do action is > length of game, then interface can disable that action permanently.

Use moving bar or gray under black to indicate reserve/asleep units.

Autoscrolling should always position so that each adjacent cell to a unit also shows *entire* adjacent cells, all around.

Go to the first, previous, next, last section, table of contents.