Hey y'all!
I am interested in making a port of Celeste Classic (Pico-8) to the Playdate. I assume that is something that could be done, but I have no idea where to start. Anyone have any resources/suggestions to get started on it?
Thanks.
Hey y'all!
I am interested in making a port of Celeste Classic (Pico-8) to the Playdate. I assume that is something that could be done, but I have no idea where to start. Anyone have any resources/suggestions to get started on it?
Thanks.
@hteumeuleu is working on that exact thing in the Discord. You can see his progress in the #development-logs channel. Maybe you could ask him how he is porting the code from Pico-8.
Hey there! I'm indeed working on a port of Celeste Classic at the moment. I'm barely a month in, but you can check my work in progress code here: GitHub - hteumeuleu/celeste: An unofficial port of Celeste Classic to Playdate
The way I started was by grabbing the Lua from the original, and polyfilling any PICO-8 function in Lua with the Playdate SDK. You can see this in my pico-8.lua file. From there, I realized two things:
So I'm now looking into making the game visually better for the Playdate’s contraints. And also getting it to run at 30 fps. This means I'm redoing a lot of things over, like manually redrawing sprites with a clean outline, or recoding parts that are too CPU intensive in the original (like collision checks).
Anyway feel free to ask if you have any question.
Hey!
That's pretty awesome! I can't wait for it to be able to run well on device (once I get my device). Looks like you are doing a better job at this than I would!
@hteumeuleu Do you happen to have a build I could check out? I'm getting the error error: source\Scripts/Game.lua:4: No such file: ./celeste.lua
when trying to build it..
That's weird, I've got no problem compiling the main branch (I'm on macOS). This looks like a path import issue that may be due to differences of the SDK on each OS. Try changing the imports path on Game.lua
to their full path (so "data.lua" becomes
"Scripts/data.lua"`).
Thanks! I'm on Windows and that seemed to fix it. Thanks for doing such a great job on this!