Source code for my Playdate game "Propeller Rat", a game where you pilot a propeller-strapped rat through increasingly challenging, hazard-filled worlds with crank-based movement! Features a total of 80 action packed levels spread across 8 different worlds, and leaderboards to compete for the fastest times in each world! You can get it on Catalog, or on Itch IO.
mockups/: contains all the .aseprite files used in the projectsource/: contains all the source code and assetsdata/: contains font + LDtk world dataimages/: contains all game imageslauncherImages/: contains all images used by Playdate launcherscripts/: contains all source codeaudio/: contains audio manageraudioManager.lua: handles all SFX and Music in one place
game/: contains game scenegameScene.lua: manager for all game elements (player, hazards, tilemap, etc.)
hazards/: code for all the hazard elementslevels/: handles spawning all the level elements (walls, hazards, etc.)libraries/: contains all the libraries used in this projectAssets.lua: Lazy Loading Assets by Shaun InmanLDtk.lua: Playdate LDtk Importer by Nic MagnierSceneManager.lua: Scene Management, by meUtilites.lua: Generic Utilities, by me
pickups/: contains code for keys and the teleporterplayer/: contains player controllerstory/: contains dialog/story codetitle/: contains all non-game scenesgameCompletedScene.lua: unused game end scenelevelSelectScene.lua: level select + level preview generationscoreboardScene.lua: scoreboard displaystarfield.lua: generates random starfield backgroundtitleScene.lua: title + disabled cheat codeworldSelectScene.lua: world select + unlocking
globals.lua: game data, tags, z indexes, all script importstests.lua: sanity checks for valid levels
sound/: contains all sfx and music filesmain.lua: only imports globals and sets the starting scene
All code is licensed under the terms of the MIT license, with the exception of the Assets.lua library by Shaun Inman.



