Press the green flag to respawn WASD and arrow keys, press "O" for options This is basically my previous player movement project, but with different, faster configs. Because of this, I hope it'll run faster for you. So far, res 6 runs 12-20 FPS in Scratch for me. Res 1 in TurboWarp goes between 40 and 70 FPS. There exists annoying collision bugs. But I am not too invested in fixing them. Once again, this uses a BSP file format that I've been developing. It's loosely based off of idTech 2's BSP format. It executes a walk of the solid-leaf BSP tree, which stores the entire 3D scene, and submits face draws from front-to-back order. Polygons submitted for rendering sequentially clip against each other using an occlusion structure composed of a coverage-span buffer. The reason why this project in particular tends to be faster is simply due to the resolution of the base texture. A way to induce consistent speed boosts for this project may actually be to interleave the spanning algorithm with a z-buffer. Not only will that allow for moving objects submitted in arbitrary order (literally free features), but also It can help provide another layer of visible surface determination architecture, where I can trivially reject entire polygons via advanced masking algorithms or hierarchical-z methods. Additionally, a walk of the z-buffer provides the minimal amount of pen and movement operations, as opposed to the jumping around and drawing of individual polygons which happens in this project.