Playdate
Learning #
👉 TODO: write a short summary for every official example in the SDK
- Getting started with Playdate development is an unofficial short guide
- If there was just one guide to get you started, it would be this one
- Takes you through the SDK installation steps and shows how to use the official examples.
- A bit silly but I discovered this guide when struggling to find the SDK examples. Hint: it's
~/Developer/PlaydateSDK/Exampleson Mac.
- The official guides:
- https://sdk.play.date/2.1.1/Inside Playdate.html
- https://help.play.date/developer/designing-for-playdate/
- These can be found in the SDK folder:
~/Developer/PlaydateSDK. Take your Playdate to a coffee shop, disconnect your laptop from the internet and start hacking.
- Playdate SDK tutorials from SquidGod on YouTube
- SquidGod's videos cover a lot of ground and are extremely well-made
- Check the Tamagochi-style Playdate game for one of their gamedev vlogs
- There's also the https://squidgod.itch.io/lua-for-game-development book that I'd love to read
- Lua reference manual
- https://www.lua.org/manual/5.4/
- Would be nice to have it available offline alongside the PlaydateSDK guides
- A collection of examples by Rachel Singh
- Playdate Wiki
Tools #
- LuaCATS for Playdate SDK provides documentation and autocompletion in VSCode, a must have
- gfxp is a nice and quick background editor with an export-to-code function
- mini3d+ 3D engine
- Playdate arcade fonts
- Taxman is a nice little crossplatform engine that uses webasm
- Agent Cooper's Makefile is handy for quick development
- sayhiben/awesome-playdate
- Panels is a comic panel framework behind The Botanist and Illumination.
- Really-really simple to learn for a non-coder, comes with a YouTube tutorial series
- Some other templates
Projects #
- Playdate gameboy camera
- Pick pack pup is a repo source code for one of my favorite games from the Playdate Season 1
Debugging #
- Profiling Memory in Lua by Pablo Musa
- Memory bloat: "memory consumption that exceeds the programmer expectations"
- Object churn, data structure misuse, memory leaks, memory hoarding ("useless references")
- Existing tools: Lua memory profiler (5.0-5.1+), ProFi (2012+), Luatraverse (2006-2010), microscope + GraphViz (2013+)
- Proposed tools: luamemprofiler, lmprof
- Memory bloat: "memory consumption that exceeds the programmer expectations"
- There's a limit to how long Playdate can wait for a screen update it is 10 seconds. A watchdog process will kill the game after that and record it to
error.logwhich can be accessed by rebooting to the drive mode.