First of all, for context, I'm an absolute game dev newbie and have started tinkering around a bit with the Playdate SDK over the last few months and made good progress.
I've spent a lot of the last few weeks making sure my current game (an auto-runner with stacking mechanics) runs performantly on device, and have at least achieved a fairly stable 30FPS on 1.12.3 with only a few smaller dips (see this Mastodon thread).
Unfortunately I had to realize that with the update to 1.13.1 the performance went downhill a lot. Even stronger than with the worse performance tweaks I still explored on version 1.12.3 now ranging at 23-27FPS. Unfortunately, I have no idea where to start now, and even studying the changelogs hasn't given me any clues as to what I'm doing in the game that is being handled differently with the latest SDK update.
Maybe some experienced developer here can nudge me in the right direction.
In the attachment I have uploaded the source code of the current version. I apologize in advance for any spaghetti code.
For testing purposes, a short gameplay explanation:
- On the first screen (level-selection prototype), press A to enter the first level.
- The robot drives to the right by itself like in an Endless-Runner.
- The robot head must not hit any block. For this you can maneuver it up or down.
- D-Pad Up: Stack a robot block
- D-Pad Down: Remove robot block
Thanks for any help!
playdate-stacke.zip (741.2 KB)