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

ButtonAction
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

KeyAction
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

Download

Download NowName your own price

Click download now to get access to the following files:

Worm playdate.zip 19 kB
Worm Windows x86_64.zip 14 MB
Worm playdate Mac Os (x64).tar.gz 10 MB

Development log

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!