
Worm Playdate (Playdate + Windows + Mac)
This is my worm game for Playdate, initially written for the vircon32 fantasy console, then ported SDL3 and now to Playdate. It is a remake of the classic copter / worm game with multiple gameplay modes
Controls Playdate / XBox Controller
| Button | Action |
|---|---|
| A or B | Start GAME, Repeadetly tap to move Worm |
| LEFT/RIGHT | Select Game Mode on Titlescreen |
| UP/DOWN | Select Level on Titlescreen |
Controls Keyboard
| Key | Action |
|---|---|
| SPACE | Start GAME, Repeadetly tap to move Worm |
| LEFT/RIGHT | Select Game Mode on Titlescreen |
| UP/DOWN | Select Level on Titlescreen |
| F | Switch Fullscreen / Windowed |
| F3 | Reset Game |
| F4 | Quit Game |
Aim of the game
Repeadetly Press / hold A button to move the worm around, dont hit obstacles and walls, try to gain highest score.
High Scores
High Scores are only saved for levels 1 to 99 per game mode. If you select rnd2 levels, it will also select levels randomly higher than 99 but those all share a common highscore. If you want to compete with friends select a level manually to compare scores.
Seed System
The game has a seed system, you can choose a number between 0 and 99 for the seed. Selecting Rnd1 will select random levels between 0 and 99 on every (re)start, where highscore is saved for them. Rnd2 will select also random levels higher than 99 but it will use a common highscore for these levels. This is similar to how it was initially implemented in the SDL3 and Vircon32 port. It allows you to play random levels different from the fixed 99 ones.
Game Modes
There are 5 Game modes to play on, each with their own specifics
Mode A
- decreasing space for the worm to move in
- 5 obstacles
- Constant slower speed
Mode B
- Fixed space for the worm to move in
- No obstacles
- Increasing speed
Mode C
- Fixed space for the worm to move in
- 2 obstacles
- Increasing speed
Mode D
- Decreasing space for the worm to move in
- No obstacles
- Increasing speed
Mode E
- Pacman mode: Collect the yellow squares, missing one is game over
- Fixed space for the worm to move in
- No obstacles
- Constant slower speed
Credits
The game was made possible after watching this youtube movie: https://www.youtube.com/watch?v=W-3okcjOFnY
License
- License of my part of game's code is MIT
History
V1.1
- Better Collision detection, it now also checks for intersections on the rectangles instead of only fully inside in for example, walls, collectibles or obstacles
- Faster Collision detection for tunnel walls by only checking the tunnel sections near the player instead of all of them
- Fix a few tunnelSection potentially not being intialized although it posed no problem during gameplay in the previous version
- More Variables / constants in the code instead of relying on hardcoded numerical values
| Status | Released |
| Platforms | HTML5, Windows, macOS |
| Author | joyrider3774 |
| Genre | Action |
| Made with | Playdate |
| Tags | 1bit, 2D, Arcade, Casual, copter, High Score, Playdate, Remake, Singleplayer, worm |
| Code license | MIT License |
| Average session | A few seconds |
| Inputs | Keyboard, Xbox controller, Gamepad (any), Joystick |
| Accessibility | One button |
| Links | Source code, Twitter/X, YouTube |
Download
Click download now to get access to the following files:
Development log
- Worm Playdate V1.160 days ago
- Worm Playdate Version Available64 days ago

Comments
Log in with itch.io to leave a comment.
Woah, how did you port to playdate? I would love to make games for playdate that allow people to play who don't own the system
you mean how i made the pc / mac and webversion ? All my playdate games are C Games, so a few years ago i tried to port the playdate api to SDL2. I took the header files of the sdk and for every function prototype that existed i implemented my own counterpart in sdl2. It's far for from perfect and it won't work for every game (frambuffer editing is not implemented for example) but it did allow me to port my own games to to pc / web etc thanks to sdl2. you find it's repo here https://github.com/joyrider3774/Playdate_Api_SDL2
There also exists ways if you used lua to port your games to pc using love2d engine or so at least i've seen other people do this but it may require adapting code. The benefit of my api reimplementation is that i can take my original C playdate code and don't need to modify anything
Very cool! Sadly programming in C has been way too much for me, but I'll look into the current state of PD-Lua -> Love conversions!