This repository contains the full source code and assets for the port of Matthias Falk's PICO-8 game, UPWARD, to Playdate.
Both this Playdate verion and the original PICO-8 version of UPWARD are available to play for free!
The code is released under GPLv3, but if you wish to write your own proprietary Playdate game in Zig, feel free to use my Zig-Playdate template, which is released to the public domain.
- Either macOS, Windows, or Linux.
- Zig compiler 0.12.0-dev.3156+0b2e23b06 or newer. Pulling down the latest build is your best bet.
- Latest Playdate SDK installed (2.4.1 as of this writing).
- Make sure the Playdate SDK is installed, Zig is installed and in your PATH, and all other requirements are met.
- Run
zig build -Doptimize=ReleaseFastwhich will compile the release version of the game.- If there any errors, double check
PLAYDATE_SDK_PATHis correctly set and either binutils or the ARM Toolchain (depending on your OS) is properly installed and set in yourPATH.
- If there any errors, double check
- The
upward.pdxexecutable should be produced in the newly createdzig-outfolder.- Keep in mind, this executable will only run on the platform you compiled on, plus Playdate hardware. If you want your
updward.pdxto be "universal", you will need to compile this codebase on macOS, Windows, and Linux, and have anupward.pdxthat containspdex.dylib,pdex.dll, andpdex.so.
- Keep in mind, this executable will only run on the platform you compiled on, plus Playdate hardware. If you want your
- Make sure the Playdate Simulator is closed.
- Run
zig build -Doptimize=ReleaseFast run.- If there any errors, double check
PLAYDATE_SDK_PATHis correctly set and either binutils or the ARM Toolchain (depending on your OS) is properly installed and set in yourPATH.
- If there any errors, double check
- Optionally, connect your Playdate to the comupter and upload to the device by going to
Device->Upload Game to Device..in the Playdate Simulator.
While working on this project, I wrote a performance profiler to help me keep track of how fast each frame was and performance of certain complex code.
It is disabled in the final release, but, if you're curious to take a look at these metrics, you can renable the profiler by setting ENABLE_PROFILING to true in profiler.zig. Then, while running the game, you can toggle the profiler buy holding the A, B, and Up buttons.
- Daniel Bokser - Ported UPWARD to Playdate.
- Matthias Falk - Creator of the original UPWARD game on PICO-8 and contributed some UX ideas to the port.