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

On a very big level, undoing 3 times results in resetting the metadata. #119

Open
athin2008 opened this issue Aug 13, 2023 · 2 comments
Open
Labels
bug Something isn't working

Comments

@athin2008
Copy link

athin2008 commented Aug 13, 2023

Describe the bug
On a very big level, undoing 3 times results in resetting the metadata. The issue was also mentioned here.

Reproduction Steps

  1. Create a single level with a size of 100x100 and runtime_metadata_twiddling on.
  2. Put a button where the player can change the smoothscreen e.g. LATE [Player Button] -> [Player Button] smoothscreen 3x3 1x1.
  3. Player goes to the button, walks around a bit, and then undo 3 times.

What did you expect would happen?
The smoothscreen should still be 3x3 unless the undo passed the button.

OS & Browser version, desktop/mobile
Windows 11, Firefox

Screenshots, example projects, other relevant issues, etc.

It has the following error:

RUNTIME METADATA TWIDDLING: Reloaded level state that did not have saved metadata. Likely this state was recovered from a CHECKPOINT. Using the default metadata instead.

This issue also appeared when we were working with a checkpoint and restarting a level.

Reproduction Steps 2

  1. Create a single level with a size of 100x100 and runtime_metadata_twiddling on.
  2. Put a button where the player can change the smoothscreen e.g. LATE [Player Button] -> [Player Button] checkpoint smoothscreen 3x3 1x1.
  3. Player goes to the button, walk for just 1 unit, and then restart the level (press R).
@athin2008 athin2008 added the bug Something isn't working label Aug 13, 2023
@Monakrom
Copy link

similarly, on very big levels, smoothscreen is not updated upon undo, which means that the player is eventually undoing stuff they can't see. Besides being just something that isn't supposed to happen, it also makes experimentation and undoing large swaths of stuff in these big levels a pain in the ass.

it's more nuanced than just big = bad (Skipping Stones To Lonely Homes, in my testing, works just fine with smoothscreen. Enigmash does not.) but I admittedly can't figure it out beyond the fact that it's probably an individual level thing and not anything to do with a game as a whole.

@david-pfx
Copy link

I don't get it. Smoothscreen is just a setting applied during rendering. The undo storage should be exactly the same as any other level and/or metadata. Why does the size of the level matter, and why is it not updated? [I'm happy to look into it, but more info would help.]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants