Now for the biggest update so far: the time rewinding mechanic is working! See for yourself:
Along with the features shown in the video, the mechanic allows perfect saving and loading, continues to work from one level to another and is efficient enough in both memory and processing power to work for the final product.
The rewind mechanics works by saving and loading frames extremely quickly and efficiently. The way it is built, it does force a few annoying restrictions on the rest of the game. For example, I will not be able to spawn or delete scene objects on the fly. Everything encountered in a level should be there from the beginning, apart from small special effects. Also, the density and accuracy of the frames will have to fall off as they're shifted further into the past. On top of that, I still need to implement frame interpolation to make the rewinding super smooth, without having to save each and every frame. Still, these problems are manageable and all in all I'm happy with how the it turned out.
Being one of the biggest and most complicated features so far, implementing it came with an annoying series of bugs that had to be fixed one by one. Here is one of the highlights, an animation bug caused by loading a blank frame.
With that, the to do list towards the demo is getting short, with only the levels themselves, a first few enemies, the first boss and the sound remaining. I doubt I will be able to finish all of this by the end of the month though, but I'll post updates towards a delayed date as soon as I can.