{"id":13633016,"url":"https://github.com/boozook/playdate","last_synced_at":"2025-05-15T14:05:58.926Z","repository":{"id":193887381,"uuid":"688447185","full_name":"boozook/playdate","owner":"boozook","description":"Playdate Dev Tools and API","archived":false,"fork":false,"pushed_at":"2025-05-14T15:28:27.000Z","size":2530,"stargazers_count":163,"open_issues_count":102,"forks_count":9,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-05-14T16:44:00.150Z","etag":null,"topics":["build-system","build-tool","gamedev","playdate","playdate-console","playdate-sdk","rust"],"latest_commit_sha":null,"homepage":"https://mastodon.gamedev.place/@pd","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/boozook.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/addr2line/Cargo.toml","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"boozook","custom":"https://www.buymeacoffee.com/fzzr"}},"created_at":"2023-09-07T11:19:37.000Z","updated_at":"2025-05-10T12:18:49.000Z","dependencies_parsed_at":"2024-02-19T02:25:40.988Z","dependency_job_id":"f2bd7f9c-a2d3-490d-878d-600724ee4ece","html_url":"https://github.com/boozook/playdate","commit_stats":null,"previous_names":["boozook/playdate"],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boozook%2Fplaydate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boozook%2Fplaydate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boozook%2Fplaydate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boozook%2Fplaydate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boozook","download_url":"https://codeload.github.com/boozook/playdate/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254191803,"owners_count":22029914,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["build-system","build-tool","gamedev","playdate","playdate-console","playdate-sdk","rust"],"created_at":"2024-08-01T23:00:24.482Z","updated_at":"2025-05-15T14:05:53.916Z","avatar_url":"https://github.com/boozook.png","language":"Rust","funding_links":["https://github.com/sponsors/boozook","https://www.buymeacoffee.com/fzzr"],"categories":["Game Development"],"sub_categories":["Programming Frameworks \u0026 Languages"],"readme":"# 🦀 Playdate API and build tools in Rust\n\nThis project allows you to create games for the [Playdate handheld gaming system][playdate-website] in Rust lang.\n\n[playdate-website]: https://play.date/\n\n\n* [Modular build system][support-dir]\n  - build-support libraries\n  - pre-configured bindgen with extra codegen\n  - [cargo-playdate][cargo-dir] - one-button solution to build, package and run programs\n* [Modular low- \u0026 high- level API][api-dir]\n  - with [examples][ctrl-examples-dir]\n* __All the parts of API are accumulated in [One Crate][playdate-crate]__ ([git][playdate-crate-git])\n* UI components\n  - [crank-indicator][crank-indicator-gh] (port from [lua version][crank-indicator-lua])\n\nWelcome to [discussions][] and [issues][] for any questions and suggestions.\nTake a look at [videos](#demo) or [do something great](#usage).\n\n\n[crank-indicator-gh]: https://github.com/boozook/playdate/tree/main/components/crank-indicator\n[crank-indicator-lua]: https://sdk.play.date/Inside%20Playdate.html#C-ui.crankIndicator\n\n\n## Prerequisites\n\nFollow the instructions for:\n1. [SDK](https://sdk.play.date/Inside%20Playdate%20with%20C.html#_prerequisites)\n1. [cargo-playdate](https://github.com/boozook/playdate/blob/main/cargo/README.md#prerequisites)\n1. [playdate-sys](https://github.com/boozook/playdate/tree/main/api/sys#prerequisites)\n\n\n## Compatibility\n\n* __Minimal__ supported versions of Playdate SDK is `2.5.0` because of breaking changes in `2.5.0`.\n\n\n\n## Usage\n\nRun example:\n```bash\ncargo run -p=cargo-playdate -- run -p=playdate-controls --example=buttons --features=\"sys/lang-items sys/entry-point\"\n```\n\nInstall `cargo-playdate` and build \u0026 run another example:\n```bash\ncargo install cargo-playdate\ncargo playdate run -p=playdate-sound --example=sp --features=\"sys/lang-items sys/entry-point\"\ncargo playdate run -p=playdate-sound --example=sp --features=\"sys/lang-items sys/entry-point\" --device\n```\n\n### Demo\n\nEarly development demonstrations of the building process: [bin][video-bin] and [sim][video-simulator] screencasts originally posted on [dev-forum][video-post].\n\n[video-post]: https://devforum.play.date/t/sdk-2-0-b2-pdc-produces-pdx-with-broken-binary/11345/37\n[video-bin]: https://www.youtube.com/watch?v=hfFspYbnF5k\n[video-simulator]: https://www.youtube.com/watch?v=w-pZrn8qex4\n\n\n## Modularity\n\nThanks to the modular structure of the system, you can use all or only the parts of the system you need.\n\n### Create a Game\n\n1. Add [playdate crate][playdate-crate] as dependencies to your project\n  - Or/and [API-components][api-dir]\n2. Install [cargo-playdate][] to build your project\n\n### Create an API-extension\n\n1. Add [playdate-sys][] to dependencies\n1. Write neat code\n1. Build \u0026 test using cargo, [cargo-playdate][] or anything else.\n\nHere is [example][color-dir] of simple API-extension.\n\nPlease follow [the instructions of playdate-sys](https://github.com/boozook/playdate/tree/main/api/sys#extension-development).\n\n### Create your bindings\n\n1. Use [playdate-bindgen][] in your build-script\n\n### Create your build-system\n\n1. Use [build-support crates][support-dir]\n\nThere is all needed to find SDK and arm-gnu toolchain on user's system, build flags, configurations, formats including pdxinfo, etc.\n\n\n\n[playdate-crate]: https://crates.io/crates/playdate\n[playdate-sys]: https://crates.io/crates/playdate-sys\n[cargo-playdate]: https://crates.io/crates/cargo-playdate\n[playdate-bindgen]: https://crates.io/crates/playdate-bindgen\n\n[playdate-crate-git]: https://github.com/boozook/playdate/blob/main/api/playdate\n[support-dir]: https://github.com/boozook/playdate/tree/main/support\n[cargo-dir]: https://github.com/boozook/playdate/tree/main/cargo\n[api-dir]: https://github.com/boozook/playdate/tree/main/api\n[ctrl-examples-dir]: https://github.com/boozook/playdate/tree/main/api/ctrl/examples\n[color-dir]: https://github.com/boozook/playdate/tree/main/api/color\n\n[issues]: https://github.com/boozook/playdate/issues\n[discussions]: https://github.com/boozook/playdate/discussions\n\n\n- - -\n\nThis software is not sponsored or supported by Panic.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboozook%2Fplaydate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboozook%2Fplaydate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboozook%2Fplaydate/lists"}