Main :: Everything :: Map :: RSS

Cy Gerber, Cyber Burglar

Edited February 3, 2023

This is one of my favorites of the 20 jam games I made in 2020. In retrospect, this project was the source of a huge amount of the code library I built up over time while making these things. The basic player movement and collision code from here got reused over and over, and laid the groundwork for Pogue Thacker, my 7DRL entry from the following year. As usual, click the picture up there to play it, or visit it in its original context on

Original post-post-mortem post:

(This is me from 2020, not me from 2023 when this is being posted to Horrible Farm.)

Apparently I forgot to write a post-mortem for this one at the time, so Iím backfilling this from memory. Another action game, but without any of the goofy gimmicks of the previous couple. It uses the collision detection stuff I learned in making Nebula Jalopy, and I think it does so in an extremely inefficient way, which makes its performance really bad on certain browser/OS combinations. I need to learn how to use the Javascript profiler in Chrome. Iím certain I could make the code more efficient, I just donít know which code is the actual problem.

EDIT: Chris Moyer taught me some basic stuff about the profiler, and I learned that the performance problems were not collision related, but more or less entirely due to drawing the walls every frame. This is apparently mostly due to having shadow blur applied to them, which is also the thing that makes them look hella cool. This is way worse on other peoplesí computers than it is on mine -- probably a video card issue. I might revisit this and try to figure out a way to make it work better, but itís gonna be tricky if I canít actually get it to perform badly. Maybe my old laptop.

EDIT EDIT: I patched it, and now it performs way better.

The jam theme was ďStealth.Ē I liked the idea of spotlights as enemies for scope and laziness reasons, because they donít have to be constrained by walls, and they donít really need to consist of anything other than a shape. If you get caught by one, it starts a sweep of red static that wipes out the screen, and you have to escape before it catches up with you. This is stolen from a part of Tron 2.0 I really liked, where you were in a system that was being formatted, and the deletion of your environment was presented as a red wall that ate the level.

Iím pleased with the way the procedural level generation turned out. I tried a slightly different approach than I usually use -- instead of an algorithm that guarantees a traversable level, this one makes a much more random level and then checks whether or not itís traversable. If it finds that the exit is blocked, it tries again. It also ensures that the levels have a certain amount of space blocked off. Putting all the treasures in those inaccessible spaces serves the whole key/wall destruction mechanic.

Incidentally, walls are destroyed with keys instead of bombs because the jamís last-minute limitation was ďno violence,Ē and I wasnít sure if bombs counted as violence or not.

I found this one pretty fun to play. Again, I think the combination of a score chase and procedural scenarios is what made the difference there. Itís probably too easy for younger people with better reflexes, but I found that it was tuned well for me. It felt challenging but not impossible to get the maximum score on a run.

Main :: Everything :: Map :: RSS