Skip to content

boozook/playdate

Repository files navigation

🦀 Playdate API and build tools in Rust

This project allows you to create games for the Playdate handheld gaming system in Rust lang.

Welcome to discussions and issues for any questions and suggestions. Take a look at videos or do something great.

Prerequisites

Follow the instructions for:

  1. SDK
  2. cargo-playdate
  3. playdate-sys

Compatibility

  • Minimal supported versions of Playdate SDK is 2.5.0 because of breaking changes in 2.5.0.

Usage

Run example:

cargo run -p=cargo-playdate -- run -p=playdate-controls --example=buttons --features="sys/lang-items sys/entry-point"

Install cargo-playdate and build & run another example:

cargo install cargo-playdate
cargo playdate run -p=playdate-sound --example=sp --features="sys/lang-items sys/entry-point"
cargo playdate run -p=playdate-sound --example=sp --features="sys/lang-items sys/entry-point" --device

Demo

Early development demonstrations of the building process: bin and sim screencasts originally posted on dev-forum.

Modularity

Thanks to the modular structure of the system, you can use all or only the parts of the system you need.

Create a Game

  1. Add playdate crate as dependencies to your project
  1. Install cargo-playdate to build your project

Create an API-extension

  1. Add playdate-sys to dependencies
  2. Write neat code
  3. Build & test using cargo, cargo-playdate or anything else.

Here is example of simple API-extension.

Please follow the instructions of playdate-sys.

Create your bindings

  1. Use playdate-bindgen in your build-script

Create your build-system

  1. Use build-support crates

There is all needed to find SDK and arm-gnu toolchain on user's system, build flags, configurations, formats including pdxinfo, etc.


This software is not sponsored or supported by Panic.