Crushed by Rusty Bailey

Crushed
Enter a cursed tower where the world has come alive and grows with every touch! Reach the top of the tower to attain the chalice and break the curse!
Instructions
- Use arrow keys to move.
- Press Z or Up Arrow to jump.
- If you get stuck, press Enter to open the pause menu and select “Restart Level”.
Good luck!
.
. 
2018-08-15: Fixed the bug where you would explode if you jumped into the side of a platform. Many performance improvements.
2018-08-13: Fixed a major bug where the game would run out of memory if the level restarted too many times.
| HTML5 (web) | https://rustybailey.itch.io/crushed |
| Original URL | https://ldjam.com/events/ludum-dare/42/crushed |
Ratings
| Overall | 381th | 3.58⭐ | 27🧑⚖️ |
| Fun | 315th | 3.52⭐ | 27🧑⚖️ |
| Innovation | 108th | 3.82⭐ | 27🧑⚖️ |
| Theme | 225th | 3.94⭐ | 27🧑⚖️ |
| Graphics | 373th | 3.76⭐ | 27🧑⚖️ |
| Audio | 180th | 3.64⭐ | 27🧑⚖️ |
| Humor | 651th | 2.478⭐ | 25🧑⚖️ |
| Mood | 623th | 3.087⭐ | 25🧑⚖️ |
| Given | 22🗳️ | 10🗨️ |
I did end up in a few situations where a platform got away from me and I had to restart, which was frustrating.
Fun game!
The crush detection would probably benefit from switching to this algorithm:
Build a placeholder tilemap that copies the level data just for crush detection.
Each time a wall grows, superimpose the rectangle bounds of the wall onto the tilemap as if it were tiles.
Then plot the position of the player on that same tilemap.
If the player is surrounded on all sides by collision, they're crushed.
I see something about an OOM bug being fixed but the game still has some performance issues. I can't see the code but there is probably a way to optimize wall drawing so that it's lighter - in general PICO-8 performs better with respect to its "virtual CPU cap" when the code uses fewer symbols to do the same thing, with the exception of function calls. Fewer function calls are better.

Good job! I enjoyed it!
(ノ・∀・)ノ
-( BTW ) We also have an entry if you want to play it and rate it