My Playdate Portfolio 🟨

I've been playing around with (and writing stuff for) a tiny yellow console known as the Playdate. Here's some of the ways I've been involved with Playdate!

Codename Babylon

Decode languages, solve puzzles, and discover the truth.

Seeking to take a break from the noise of your day-to-day live, you arrive to a strange research facility in the woods, not too far from the cabin you’ve rented. Naively curious by it, you enter into the facility and begin to uncover its inner workings and stumble across a sentient obelisk, caged in a glass room. Yet, everything you’ve seen and heard is unintelligible to you; every spoken and written word is in a language you don’t recognize. Can you learn the language, get to the truth about this place, and help free the obelisk creature?

Codename Babylon (actual name TBD) is an experimental puzzle game for Playdate that I'm developing with embedded Swift. Explore 3D environments as you decode a mysterious language to solve puzzles and discover the truth. Codename Babylon takes inspiration from titles like Lorelei and the Laser Eyes, Chants of Sennaar, INSIDE, The Witness, and Severance.

What the Taiji?!

Classic Taiji puzzles for the Playdate

Check it out

What the Taiji?! is my first foray into the Playdate SDK using the Lua language, aiming to provide a curated and delightful Taiji experience, designed specifically for Playdate. Players can play custom puzzles in the design language of Taiji from the default campaigns, and they can make their own puzzles and share them with others. Other Playdate games can even provide their own puzzles, too!

Package Resolved for Playdate

Collect packages as quickly as you can!

Check it out

My first-ever project for Playdate, Package Resolved for Playdate is a faithful recreation of Package Resolved, which I designed for the 132nd Trijam. Try to fulfill all your delivery requests by collecting the right amount of packages before time runs out!

I initially wrote the project in C before migrating it to embedded Swift when support was first included.

Developer Tooling

I've also worked on some libraries and developer tools to continue making the Playdate development experience enjoyable.

Check out some tools
  • PlaydateKit Tasks is a Nova extension I've created that lets developers build, run, and debug Playdate games and apps written with PlaydateKit and embedded Swift more easily. Quickly build and run your games in the Playdate Simulator, and debug code with LLDB.
  • LuaLS for Nova allows Playdate and Lua developers to leverage the widely popular Lua Language Server in their codebases, providing linting warnings and errors, documentation previews, autocompletion results, and more. It works well with the Playdate LuaCATS project!
  • PlaydateUIKit is a work-in-progress UI library for PlaydateKit that lets developers create beautiful and consistent interfaces for their Playdate apps and games. It is heavily inspired by Apple's UIKit, making Swift developers feel at home with the platform, and it is the basis for UI in Codename Babylon.
  • Renzo is a work-in-progress library for PlaydateKit that lets developers display and interact with 3D content in their apps and games. Renzo, the 3D engine that powers Codename Babylon, supports multiple projection types against a variety of cameras, manipulating 3D object data, and rendering content to the screen. And, with the Renzo Utilities add-on for Blender, developers can design and export models and scenes from Blender directly to the Playdate.
  • The Playdate Lua Just Template is a starter template for Playdate projects written in Lua, which also provides a Justfile for quickly building, running, and deploying Playdate apps and games from the command line.

Community Involvement

Besides making games for the Playdate, I've also been involved with the Playdate community.

Join the Playdate Squad on Discord
  • I co-host the Playdate Community Hangouts for the US/NZ/AU timezones on Fridays in the Playdate Squad Discord server, where we talk all things Playdate and app/game development.
  • I co-started the Playdate Squad collective GitHub organization to let developers freely share their projects under a collective. We've hosted and fostered projects such as the Achievements framework and pdShared, for sharing content across games.
  • I've helped play-test Playdate games from other amazing developers such as Lexgrid, Crank Defense Force, and Diora.
  • I was recognized as a Community Hero in the 2024 Playdate Community Awards.