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

Add game replay and undo/redo #17

Open
Mikolaj opened this issue Jan 30, 2012 · 2 comments
Open

Add game replay and undo/redo #17

Mikolaj opened this issue Jan 30, 2012 · 2 comments

Comments

@Mikolaj
Copy link
Member

Mikolaj commented Jan 30, 2012

See AllureOfTheStars/Allure#50. One point is to have this feature, more or less powerful, another is to refactor the engine with this feature as a measure of success.

@Mikolaj
Copy link
Member Author

Mikolaj commented Mar 5, 2012

For moves that revealed anything, allow undo and redo, just disallow restarting the game from any time point except point 0. So, if some combat animations scrolled past too quickly or were skipped by pressing a key, they can be replayed. Or a particularly masterful strike executed by the player.

@Mikolaj
Copy link
Member Author

Mikolaj commented Apr 30, 2014

In principle, this should now be implementable without the need for any major code overhauls. However, the feature would not be usable at this point, because experiments show the stored atomic commands take too much memory and disk space. At first, we can just implement this feature and keep it disabled by default. Later on, something shrewd has to be done (probably the obvious optimizations won't solve the problem).

Edit: The best start is probably game replay (even though both use the same internal machinery), since undo/redo can lead to corrupted game state more easily, so may require more bugfixing.

@Mikolaj Mikolaj changed the title Add player action undo/redo Add game replay and undo/redo May 9, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

1 participant