As a Player who is controlling a character during an encounter, I'd like it if there was a way that I could view the encounter from a top-down view -- like a real-time-strategy -- so that I can see how far my character can move from their current location and easily select where I want my character to move during the next movement action I queue-up.
Acceptance Criteria
Given that I am in "encounter" mode:
I would expect the camera to shift into a third-person, top-down view, like a real-time strategy game.
Overlaid on the ground around my character, I would expect to see a faint outline of the tiles/squares/hexagons into which my character can move from their current position with the action points they have right now.
Given that my character cannot reach a specific area of the map because the tile is blocked by terrain, another character, or some other obstacle: I would expect no tile/square/hexagon to appear in that area of the map.
I would expect to see a cursor on the screen.
Given that I move the mouse (PC) or the left analog stick of my controller (console/XBox controller): I would expect the on-screen cursor to follow the movement of my mouse or controller.
Given that I press WASD (PC) or I move the right analog stick of my controller (console/XBox controller):
I would expect the third-person view to move around the map, following the movement of my mouse or controller.
I would expect my camera movement to be restricted to a reasonable area around my character so that I do not lose track of the encounter.
Given that the cursor is hovering over a tile that my character cannot reach: I would not expect any change in visual appearance for the tile or cursor.
Given that the cursor is hovering over a tile that the character can reach in a single turn: I would expect the tile to become brighter or highlighted, to communicate that it can be selected.
Given that I click the primary mouse button (PC) or press the "A" button on my controller (console/XBox controller):
Given that it is not currently my character's turn to act, according to initiative: I would expect to be able to select a movement tile, but not to be able to move until my character's turn comes up.
Given that it is currently my character's turn to act: I would expect my character to move toward the tile that was selected, moving at the proper movement speed for my character.
Given that my character has not finished the last move I queued-up: I would expect to not be able to queue-up any additional movement actions until my character reaches the tile that I previously selected.
Design Concepts
We can borrow the top-down view of combat mode from Dragon Age Inquisition:
As a Player who is controlling a character during an encounter, I'd like it if there was a way that I could view the encounter from a top-down view -- like a real-time-strategy -- so that I can see how far my character can move from their current location and easily select where I want my character to move during the next movement action I queue-up.
Acceptance Criteria
Given that I am in "encounter" mode:
Design Concepts
We can borrow the top-down view of combat mode from Dragon Age Inquisition:
Other ideas include a simple grid: https://youtu.be/mUfLKRgbIEo?t=10
... or a hexagonal grid: https://youtu.be/QzAfE9tVQuc?t=5
Implementation Notes
Looks like we might be able to borrow from the open-source UE4 RTS toolkit, which is MIT-licensed: https://github.com/npruehs/ue4-rts