Sun 17 Feb 2013 11:09:56 AM UTC, original submission:
The unit orders system in the network protocol is potentially quite powerful, allowing a client to express an arbitrary series of moves and other actions.
We have a few common cases exposed in the client, for instance:
- Go to and build city (Shift-B)
- Connect with road/railroad/irrigation
However, there are plenty more that would be useful -- go-to-and-sentry, go-to-and-fortify, go-to-and-set-homecity, maybe even go-to-and-load.
Inventing unique keystrokes and menu items for all of the combinations that people would find useful is likely to be impractical -- we're short of keystrokes already, and the menus are likely to become unwieldy.
We could allow specification of arbitrary commands to terminate a 'G' goto mode in the client. For instance:
- Go-to-and-sentry: press 'G', point to destination (a line will be drawn), press 'S': goto mode terminated, and move-followed-by-sentry sent to server.
- Go-to-and-fortify: similarly, 'G', move, 'F'. (Suffers from usual fortress-vs-fortify confusion, but no worse than before.)
This would increase the problem of knowing what a unit's orders are: if you middle-click, you see the unit's path, but not what else it's up to. Some additional icon on tile where a unit is doing something other than a move could help here. A cheap fix would be to reuse the unit's activity overlay (yellow 'S' in corner), displaying it at the relevant tile with no associated unit.
- However, that doesn't catch non-activity actions such as "build city".
- Unit activity icons without units may be confusingly far from the affected path/tile, especially in iso tilesets. Maybe they would ideally be centred on the tile in this case.
- Also it might be confusing if there's a unit already on the action tile.
- No reason to not also apply this to the "connect with road" type orders.
This helps power users who've read the documentation, but isn't very discoverable for new users. It could be made more discoverable by having a "Go to and..." submenu with options like "Go to and sentry"; this would launch goto mode such that the final click adds the relevant order. As a reminder which submode you're in, the notation proposed above could be used as a prompt -- if you've selected "go-to-with-sentry", a yellow 'S' follows the end of line / mouse pointer to remind you what will by default happen when you click.
This can also be used for caravan actions, since we have keystrokes for those:
- go-to-and-help-build-wonder: 'G', move, 'W'.
- go-to-and-make-traderoute: 'G', move, 'R'.
- Ambiguous with 'go to and build single road at destination', but I think that's rare enough that we can live with it. We could even allow Shift+R (connect with road) to be a valid keystroke in goto mode, enabling this case and more.
(This would not be a replacement for the more interactive click-on-destination-popup I propose in bug #16905.)
|