I have a game project similar in scope to a game called "Rodent's Revenge", included with Windows PCs back in the 90s. Not everyone has played this but despite seeming simple on the surface I realize it is not as easy as it seems to create.
I installed Chess, MoveTo & a number of other plugins by rexrainbow which proved to be very useful in creating this quickly.
The player moves around the grid going Up, Down, Left and Right. The player can push blocks at will with no limits on stack size, only the confines of the screen.
The problem I'm having is that the blocks that the player pushes do not act naturally. Instead of waiting to come in contact with another block, all the blocks along the axis & above the player move as if being moved by themselves.
What I tried
Currently, if the Player cannot move Up, then it picks the block that is above them along the Y axis and instructs it to move Up, then move the Player. I am trying to create a recursive or nested loop that tests if THAT block cannot move, and if so, grab the block above that, checking each one until there is a free space, then moving all of them.
Unfortunately I have failed more than a few times getting my code to grab the correct blocks and move them the right way. I'm hoping anybody who 1) has a solution and 2) has familiarity with these particular plugins (long shot, I know) could push me in the right direction, no pun intended.
I have further plans for this game, as well as graphics and different game mechanics at the ready, but I feel none of them are worth implementing until the basics work at least.
Here's a link to the file on Google Drive:
Final note: The block pushing in this file only works when moving UP. I made the decision to only work on one direction before I rewrite the code for Down, Left and Right. It needs to work first. THANK YOU!