Aw thank you! I've been enjoying playing people's games in the jam during my free time and I like trying to help other people with some of their game design as well. Speaking of free time, I tried to see if I could come up with a solution to the enemies colliding based on a previous grid-based puzzle game I made a while ago. I'm not 100% sure if this will end up working however.
One way I can think of to prevent the enemies from colliding together after rewinding is that if an enemy rewinds into a spot that another enemy is in, it would cause a chain reaction of that enemy to also rewind back into its previous spot.
As for the enemies' normal movement, during a turn where enemies are about to move, an array will iterate through each enemy to determine their movement.
When the array iterates to the first enemy, they will determine the spot they want to move to and "claim" the location of the spot.
When the array iterates to the next enemy, they will check and see if the spot they want to move to is claimed or not. If the spot IS claimed, the area will be treated like a wall and will try to claim an area around it. Either that or they will just claim the spot they're already in if there's
absolutely no way around the previous enemy's claimed spot.
If the enemy finds a spot to move to then they will claim that spot, and the array will continue to iterate until there are no enemies left.
Once the array is done iterating, the enemies will move to their claimed spots all at once.