Skip to content

gopdsdk v0.3.0 - Production-capable 2D rendering and game worlds

Choose a tag to compare

@Djunichi Djunichi released this 02 Aug 15:58
· 32 commits to master since this release
b3c8bd7

gopdsdk v0.3.0 completes the P3 scope, providing the public graphics and world-building capabilities required for conventional 2D Playdate games.

Highlights

  • Immediate-mode lines, rectangles, ellipses, and triangles, including filled variants.
  • Solid, XOR, and value-owned 8×8 pattern paints.
  • Clipping, draw offsets, and bitmap draw modes.
  • Callback-scoped, zero-copy framebuffer access with explicit dirty-row reporting.
  • Drawing into explicitly owned offscreen bitmaps with automatic drawing-context restoration.
  • Copied-data tile maps and clamped cameras with rendering work bounded to visible cells.
  • Static tile overlap queries kept separate from sprite collision.
  • Explicit scene-local resource ownership, initialization rollback, and deterministic cleanup.
  • playdate.Launcher support through the official exitToLauncher path.
  • Launcher artwork packaging through pdxinfo.imagePath.
  • New focused examples for primitives, framebuffer drawing, tile maps, cameras, and application navigation.

Integrated acceptance game

Crank Caverns is the external P3 acceptance game. Its repository is currently private, but the link is retained as the canonical reference.

The game uses only the public gopdsdk API and combines:

  • lifecycle and input handling;
  • crank controls;
  • owned bitmaps and offscreen drawing;
  • sprites and collision queries;
  • bitmap-table animation;
  • sound effects and streaming music;
  • custom-font UI;
  • primitives and graphics state;
  • direct framebuffer access;
  • tile maps and camera movement;
  • in-process menu transitions and Launcher exit.

Compatibility

The verified Windows toolchain profile remains:

  • Go 1.26.5
  • Playdate SDK 3.1.1
  • TinyGo 0.41.1
  • Arm GNU Toolchain GCC 15.3.1

The complete Go test suite, vet checks, external-game tests, Simulator SDK probe, and hard-float device-build/package probe passed for this release candidate.

Official SDK, Simulator, and physical-device execution on macOS and Linux remain unverified. Fixed frame-time, bounded-heap, extended physical-device soak, termination cleanup observation, and post-run device-log measurements for the integrated game also remain unverified.

See CHANGELOG.md and COMPATIBILITY.md for the complete changes and evidence levels.

Install

go run github.com/Djunichi/gopdsdk/cmd/gopdsdk@v0.3.0 doctor
go run github.com/Djunichi/gopdsdk/cmd/gopdsdk@v0.3.0 init --module example.com/my-game ./my-game