Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow actions to be planned on client-side and undone up until they are sent to server and executed #2411

Open
XHawk87 opened this issue Oct 22, 2024 · 2 comments
Labels
enhancement New feature or request gui This issue requires changes to the user interface

Comments

@XHawk87
Copy link
Contributor

XHawk87 commented Oct 22, 2024

Is your feature request related to a problem? Please describe.
It's very easy to make moves by accident, we've all done it, some of us more than others. In LongTurn, the consequences for this can be far-reaching.

Describe the solution you'd like
Rather than sending all actions to the server as they happen, make the move on client-side only and queue them up in sequence ready to be executed at once.

  • Queuing can be toggled to/from immediate execution in a menu checkbox.
  • The queue can be manually executed by the player using a menu option.
  • The queue is executed automatically when the player requests for something to be done that reveals more information. E.g. revealing tiles in fog, making an attack etc.
  • The previous action can be undone using a menu option, up until the most recent execute.
  • There is a menu checkbox to delay fog updates, which means that moving units in the vicinity of fog won't reveal new information and can therefore be queued
  • When making an attack, there is an option to queue the attack rather than resolve immediately, to prevent the queue from executing. This would allow staging a series of attacks to occur simultaneously, which may help deal with RTS.
  • There is a popup about queued actions on leaving the game, allowing you to execute or discard.
  • (Could have) Store plan queue client-side so that they can persist between sessions.
  • (Could have) A menu option to schedule the queue to execute at a specific time in the future.

Describe alternatives you've considered
Your mother.

Additional context
This mirrors the same features from the popular open-source turn-based strategy game Battle for Wesnoth, as well as some FreeCiv specific adaptations.

@XHawk87 XHawk87 added enhancement New feature or request Untriaged This issue or PR needs triaging labels Oct 22, 2024
@lmoureaux
Copy link
Contributor

We have something similar in the Multiplayer menu. The UI is not very good though.

@XHawk87
Copy link
Contributor Author

XHawk87 commented Oct 23, 2024

We have something similar in the Multiplayer menu.

Are you referring to Delayed Order Execute? I would see this suggestion as separate and in addition to that feature.

@lmoureaux lmoureaux added gui This issue requires changes to the user interface and removed Untriaged This issue or PR needs triaging labels Oct 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request gui This issue requires changes to the user interface
Projects
None yet
Development

No branches or pull requests

2 participants