Games > SPEED

7
Spring Lisp Game Jam 2026 entry.
A precision platformer with the focus on obtaining and maintaining speed.
Collect powerups, escape the caverns, and reach for the stars!
A write-up about the development process: https://andreyor.st/posts/2026-05-24-spring-lisp-game-jam-2026
Tips for playing:
- When doing extended jumps, release the direction buttons to avoid losing speed
- Press the slide button preemptively instead of timing your slides
- Release the slide button when under a low ceiling, the slide will continue, and you'll be able to jump immediately after (jumping doesn't work when the slide button is held)
- If you don't know how to make a certain jump, try doing it without jumping (????)
- Game menu features a static camera and an option to toggle off music
Share your completion time and retries!
Attributions:
- Original music by https://whoisthatdf.bandcamp.com/, TIC-80 port by andreyorst
Palette: https://lospec.com/palette-list/urbex-16
Update 16-07-2026:
- added new camera: a blend between follow-the-player, and snap transition
- removed 2544 colliders that couldn't be reached by the player (optimization)
- merged remaining single-tile colliders into longer horizontal/vertical strips (optimization)
Update 20-07-2026:
- merged more colliders
Update 03-09-2026:
Major graphical overhaul:
- new parallax background with custom palette
- some foreground sprite fixes and changes
- new default camera that follows the player, with per room/region boundary
- background animations and proper color change for biomes
If you wish to play the original version of the game as it was submitted to the jam, you can do so on itch.io: https://andreyorst.itch.io/speed
Comments
![]() andreyorst
|
Made a TAS speedrun for this game with a few skips and some crazy movement https://youtu.be/OyRDwPJh-m4
|
![]() andreyorst
|
Updated the TAS speedrun, making it faster by ~26 seconds:
https://www.youtube.com/watch?v=DChIxczuQZI |
![]() frzysk
|
was sick thanks
|
![]() urassari
|
great game, but I hate that I have to release down in order to jump. it makes things way harder for no reason
|
![]() andreyorst
|
well, it's hard to jump from a sliding position... I mean, the character here is no Kazuya Mishima from Tekken nor Richter Belmont from Castlevania :)
|
![]() andreyorst
|
phew! finally managed to do a deathless run in 00:02:42.704
|
![]() God0909
|
結構面白いこのゲーム
|
![]() God0909
|
めっちゃ死にまくってる
|
![]() DcyD3
|
I like the GX (the rocks are incredible !) concept is HARD to master but VERY VERY GOOD
1st level go left for take speed ... and YES you will die often !!!! very very very very often ! THX !!! |
![]() DcyD3
|
i think i understand how to parallaw but not sure : 1/ MAP (0,0) when player move x-1 or x+1 but there is sprite in front(x,y) and at all frtame you draw it ? with x-4 x+4 ??? if yes very interesting !!! THX
|
![]() andreyorst
|
I have a camera system that uses map() to draw the level, and it has a method for translating sprite coordinates from world space to screen space. So the camera object is both a rendering pipeline for the level and the objects in it. That's a general idea of how a single layer is rendered.
Because the camera draws from a set of coordinates, for parallax I shift these coordinates by a certain factor, and it gives the offset with which I draw the background. So, both foreground and background are just map() calls, but sprites for the background come from a different bank, which I have to sync() every frame. Since sync() works only once per frame, I have to draw the foreground, sync, draw the background, and on the next frame I draw the background first, sync(), and then draw the foreground. The order changes each frame, allowing rendering from two banks seamlessly. |




