Skip to content

sayhiben/awesome-playdate

Repository files navigation

Awesome Playdate Awesome awesome-lint

A list of awesome resources for game development on Panic's Playdate console.

⚠️   Links may include spoilers

Contents

Game Development

Programming Frameworks & Languages

Pulp + Pulpscript

A "no-code alternative to the full SDK", Pulp provides a "click-and-place" game editor right in your browser.

Articles on Pulp + Pulpscript

Lua

Playdate SDK

Panic publishes two versions of their SDK: a high-level API for Lua, similar to LÖVE, and a lower-level C library for applications with higher performance needs.

Official
Unofficial
Playdate SDK Previews
Lua Libraries

The following libraries are expected to work well-enough on the Playdate:

  • AnimatedSprite - A lua-based library for animating sprites. Containing finite state machine, json configuration and plugNplay behaviour.
  • deep - An "action-queue" library; helpful for things like z-indexing (although the Playdate already has z-index support in its draw ordering).
  • GFXP - A library with a collection of dithering patterns for the Playdate. An online version of the editor can be seen here.
  • Knife - A collection of useful micro-modules for Lua.
  • Jumper - A pure Lua pathfinding library for grid-based games.
  • lua-star - A* pathfinding in pure Lua.
  • middleclass - A simple OOP library for Lua that introduces inheritance, operator overloads, static variables, and mixin support.
  • Noble Engine - Noble Engine is a Lua-based game engine library built on top of the Playdate SDK that offers a variety of helpful features.
  • profile.lua - Performance profiling for Lua applications.
  • rxi/classic - A tiny class module for Lua. Attempts to stay simple and provide decent performance by avoiding unnecessary over-abstraction.
  • rxi/json.lua - A lightweight JSON library for Lua.
  • rxi/lume - A collection of functions for Lua, geared towards game development.
  • rxi/shash - A simple, lightweight spatial hash for Lua.
  • rxi/tick - A small Lua module that simplifies the calling of functions at a set interval or after a delay.
  • tiny-ecs - An entity component system in pure Lua.
  • vector.lua - An alternative 2D vector library for Lua.
  • bump.lua - A 2D colission detection library.
  • philanc/plc - Pure Lua Crypto. Crpytographic functions and utilities implemented in pure Lua.
  • Keyboard Based Menu - A menu that uses the playdate's keyboard to navigate and select.
LOVE

The Lua-based LÖVE framework offers a similar API to the Playdate Lua SDK, useful for prototyping before the public release of the Playdate SDK.

See love2d-community/awesome-love2d for additional resources.

C

  • Playdate Game Development in C - Alberto Benavent Ramón's Bachelor's Thesis in Multimedia Engineering, explores the hardware and software of the Playdate
  • Taxman Engine - A 2D, platform-independent game engine designed for the Playdate. Online demo here.
  • Prismatic Engine - A 2D game engine designed for faster prototyping and simplified development with the Playdate C API.
Low-level Hardware Documentation & Datasheets

This information was gleaned from a developer preview unit and screenshots.

Experimental & Other

These projects represent experiments with the Playdate. Use at your own risk.

  • Crankstart - An experimental Rust crate to write games for the Playdate in Rust.
  • playdate-rs - Unofficial Rust binding for Playdate C API.
  • playdate4j - Unofficial Java binding for Playdate C API.
  • playdate-nim - Nim bindings with extra features for the Playdate SDK.
  • VSCode-PlaydateTemplate - VSCode autocompletion with the Playdate simulator. For Windows & Linux.
  • VSCode-PlaydateTemplateForLinux - VSCode autocompletion with the Playdate simulator. Linux based system only.
  • playdate-vscode-build-macos - VSCode one click build and simple starter template. macOS only.
  • mini3d-plus - 3D engine based on the mini3d library provided in the SDK examples.
  • pd-usb - JavaScript librarty for interacting with a Playdate connected over USB.
  • playbit: Build cross-platform Playdate games, create build scripts, and utilize preprocessor macros!
  • GitHub Action: get-playdate-sdk Installs the Playdate SDK in your GitHub Actions Workflows

Development & Graphics tools

  • Tiled - 2D map editor
  • Thrshold - Figma plugin to apply a threshold effect filter
  • LDtk - A modern 2D level editor with a strong focus on user-friendliness
  • PlaydateLDtkImporter - Load tilemaps created with LDtk in playdate games

Development Concepts

Game Programming Patterns

Graphics & Art

Physics

Procedural Generation

Graphics

Fonts

Open Source Playdate Games & Example Code

Tutorials & How-Tos

Playdate SDK

Pulp

  • Pulp Pong - How to recreate the all-time classic Pong

Playdate Games & Dev Blogs

Social

Discussion groups

Accounts to follow

Official Playdate accounts

Game Dev Accounts

Playdate & Panic
Third-party Devs

Contributing

Contributions welcome! Read the contribution guidelines

Footnotes

Official Links

News, Background, and Fluff

Panic & TE Announcements