Petal Hero - rhythm game compatible with Frets on Fire for MicroPython-powered flow3r badge (ESP32-S3) #13076
dos1
started this conversation in
Show and tell
Replies: 1 comment
-
Not only fun, but the project looks very beautiful. Also compact. Thanks for sharing. If you ever consider making a students' trainer board using ESP32-S3, you can make one like this: |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hello! I've recently made a game using MicroPython and wanted to show it off a bit: it's called Petal Hero and it's a Frets on Fire/Guitar Hero-like game made for the flow3r badge's small circular display and capacitive touch input around it. It's compatible with songs for several popular rhythm games (MIDI format).
flow3r is the Chaos Communication Camp 2023's badge. It's based on ESP32-S3 N16R8 and uses MicroPython as part of its st3m framework for writing Python apps. It provides APIs to handle the hardware and bindings to ctx for vector rendering and bl00mbox for audio synthesis; st3m can also play media files, in this case MP3. All the rest in the game is implemented as Python code (it even uses some snippets copied directly from the original Frets on Fire codebase 😄)
Petal Hero can also be launched in the flow3r badge simulator, although its interface makes it rather hard to actually play 😉
I'm impressed in how usable the end result turned out to be! When I started the project I considered it an experiment that's quite likely to fail, but it ended up becoming a decent game. With recent MicroPython's garbage collection improvements for PSRAM on ESP32 it even forgives plenty of memory allocation sins, both in st3m and in the game code. GC stalls are still noticeable, but they don't cause that much trouble in the gameplay. Overall it was a pretty fun project 😁
See it in action on video: https://social.librem.one/@dos/111478238181935805
Beta Was this translation helpful? Give feedback.
All reactions