I'm presently designing a map-based interface for most actions in Incursion. Using functionality from the newest betas, I've got a 17x13 map and there's a 17x1 toolbar below that, with items only visible to the appropriate player.
For deploying units, this toolbar has a nice system where you can drag a number of units right from the toolbar onto a territory, and when you've finished all the deployment you can hit an OK button that appears. (Units that haven't been deployed yet but are ready to go sit on the map in little circles; these circles can be clicked, and if you click them you get an input() box asking how many units should be moved in; this can be used for quick editing, so you can add more or send some back.)
For dice rolls, however, this could get trickier. It's not enough just to have three buttons (1 die, 2 dice, 3 dice) offering choices of what to roll, because there will be times when the user will have extra dice available. Of these 8-sided "general dice", a user may have more than one--though those cases will be rare. My question to all of you is this: How should I handle a clickable interface, avoiding input() boxes wherever possible, that allows the selection of 1-3 dice and 0-n other dice?
My current idea on this is to have 3 checkable buttons (i.e., they can be pushed on and off), and perhaps have a general die indicator if one is available; that indicator can have text attached saying whether it's just one die or 2x, 3x, etc.--or crossed out if it's not in use. Then that indicator could be clicked to bring up a quick input() box to ask how many of the available 8-sided dice should be rolled. Then there'd be a Roll button that would go ahead and complete the roll. This sounds like it might not be the best system, so I'm really looking for suggestions.
Another problem will be redeployment: That is, movement of troops and/or resources from one territory to an adjacent one. I may as well use the same interface for both possible situations: After a conquest, and at the end of a turn. At the end of a turn, any number of redeployments may be done; they can be set up beforehand and then finalized to end the turn.
My idea for a redeployment interface is simpler than some of the others. If there hasn't been a conquest, the user may click one territory and drag to another. In the toolbar I'll show an arrow (which may be a two-way arrow, in the case of a non-conquest redeployment) with armies and resources on either side. These may be clicked or dragged from one side to the other. The only major drawback here is that I'll have to drag only simple units, i.e. 1, 5, or 25+ at a time for armies and either 1 or 10 for resources; it could get a little tedious. Then there will be an OK button and a Cancel button (except post-conquest; no cancellation possible). If OK is clicked, an arrow goes on the board to indicate a redeployment that can be clicked and edited later, and eventually finalized; or, if this is after a conquest, the units are simply moved then and there.
Aside from the problem of how many units to move/drag at a time in this interface, there's also the problem of showing adequately which units are moving and which are staying. I'm thinking of something a bit like this:
A+B <-> C+DIn that case, A and C would be the original units that haven't moved yet, where B and D would represent units that have moved from the other side. I'll just need some kind of plus sign thrown in there to indicate that.
However--and here's a real trick--I'd like some way to specify more quickly that all units or resources be moved, and also a way to specify via an input() box an exact number to move.
To finally complicate this matter, I have it in mind to permit out-of-turn deployment by certain card plays. However, I'd need to show both the deployment toolbar and the dice toolbar for a defender in case they were under attack. As you might imagine, it's tricky business.
All thoughts and suggestions appreciated.
Lummox JR
Lummox JR wrote:
This would need lag testing, but personally I'd really want to avoid input() here. Very ugly thing to drop in the middle of your map-based interface.
What if clicking on a circle with units caused a little popup graphical menu? That is, client-side you could place three or four objects immediately above that circle, each indicating a number of units. The player can click on a number or click on the circle again to make the menu go away.
Perhaps the same approach?