PlayDate API
Mostly high-level rusty API for the Playdate handheld gaming system.
Usage with cargo-playdate is strongly recommended.
⚠️ Prior to the version 1.0 API is unstable and can be changed without deprecation period.
What's inside
Covered parts of API:
- controls
- display
- file system
- graphics (with color)
- lua
- scoreboards
- sound
- sprite
- system (with menu)
- sys - base, low-level cffi bindings
Plus some extensions to make it all more rust-ish.
Not yet covered parts:
- json
How to start
Look at the examples.
Examples
Here is available examples. You car run it with following command:
# Simulator:
# Device:
More information how to use cargo-playdate in help: cargo playdate --help.
Prerequisites
Follow the instructions for:
- SDK
- cargo-playdate
- playdate-sys (prerequisites only)
Hello World
There is multiple ways to learn and start.
Following two is just a quick introduction. In details it all will be explained soon in the wiki.
Short Way
- Install cargo-playdate.
cd where/your/project/will/becargo playdate init --lib --full-metadata --deps="playdate"(more about it)cargo playdate run
Done. Now take a look at long way below for details what's happen.
Alternative Way
Just run cargo new <your options> and add do following:
- Add [playdate crate][playdate-crate] as dependency to your project
#![no_std]for library, or#![no_std] #![no_main]for executable binary- Look at existing example for api-parts like that
- Add minimally required metadata to build package:
package.metadata.playdate.bundle-id = "com.yourcompany.game"- Read about playdate metadata format if needed
- Install cargo-playdate to build your project
- Run
cargo playdate run - Help this project somehow.
Made with ❤️🔥 by me.
This software is not sponsored or supported by Panic.