Release: Music Box for Playdate

Hi all!

Ever since I got my Playdate last May I've been eager to develop a tiny game or app for it. After committing some of my free time to this project over the last few months I'm excited to announce the release of Music Box---a tiny musical instrument for the Playdate console.

loop

list

menu

edit

Simply select one of the well-known tunes included in the app and start turning the crank to advance the music. Or you can get creative and compose your own short song with the built-in editor.

I hope you enjoy!
-Tizian

23 Likes

Very slick. That 3D spinning barrel, turning to visible pins at the top and bottom, is the coolest!

3 Likes

Another "it's so obvious when you see it" use for the crank! Add me as another fan of the visible pin height as the barrel rotates, it's a great detail

2 Likes

Wow; what a delightful little app. Great job, really! It worked flawlessly for me (on hardware) and is straightforward and simple to use without needing any explicit guidance.

Notable things / stuff that I appreciated:

  • Nice animations everywhere! They are effective!
    • The barrel (is that what it's called?) turning is especially nice!
    • Little animations when confirming actions, menus appearing/disappearing, etc
  • Crank -or- DPAD works in the menus! Good touch.
  • I like that I can easily move around in edit mode using the DPAD.

Unsolicited suggestion time:

  • During new song creation, after naming it: the user is dropped into a menu to choose whether to play/edit/rename/etc. Since the song is going to be "empty", it might make sense to drop directly into editing mode?
  • It would be nice to be able to step the song in "Play" mode using the DPAD (identical to how it works in edit mode)
  • It would be nice to be able to edit the length of a song. I made a few very short songs that have emptiness that needs to be wound through before starting over again, or some were too long and I ran out of space to finish them up nicely. That said; having the length constraint can be handy for forcing creativity...
  • It would be nice to have an auto-play feature so I could keep a song playing without needing to crank that crank.
    • If you wanted to get fancy with this; "autoplay mode" could require "winding" the crank to get the player going, and it could slow down in playback speed over time. E.g.: behave like a physical wind-up music box
  • I went spelunking in the user data and the file format for songs is :ok_hand:
    • Not what I expected, but absolutely perfect when you think about it. I like that I could hand edit a tune if I wanted to.
    • Is the numbering structure strictly required, or could I use a custom name for the text file?
      • Ultimately what I am getting at is: whether or not there would be an easy way to create and share songs that wouldn't require people to rename the file on disk to be appropriately "numbered"

Bugs:

  • While renaming a song, using the crank to scroll through the keyboard also moves selection in the menu

That was a big wall of text. Mostly just thinking out loud about things that could be interesting!

I really, really like this. Thank you so much for making it! :slight_smile:

Edit: Couldn't help myself and was messing around with the files. I renamed one on disk, things launched fine -- but then when I checked again it was renamed back to numeric format? Hmm! I'm so intrigued now.

In any case, here's a little tune I made: 0014.txt.zip (560 Bytes)

1 Like

Thanks for the nice words, and I'm glad you're enjoying it!

This list of feedback is incredibly helpful.

  • During new song creation, after naming it: the user is dropped into a menu to choose whether to play/edit/rename/etc. Since the song is going to be "empty", it might make sense to drop directly into editing mode?

Agreed, that would be a bit smoother.

  • It would be nice to be able to step the song in "Play" mode using the DPAD (identical to how it works in edit mode)

The crank is much more fun though :wink: But yeah there is no good reason not to allow it.

  • It would be nice to be able to edit the length of a song. I made a few very short songs that have emptiness that needs to be wound through before starting over again, or some were too long and I ran out of space to finish them up nicely. That said; having the length constraint can be handy for forcing creativity...

A few people brought this up already. It's a question of how "realistic" this music box should be in the end. After all, there is only a limited number of pins that fit on the barrel and it would be weird if there are hundreds of steps. (Though to be fair, I already cheated a little bit. There are 48 steps with 10 degree increments each, so the barrel wraps around 1 + 1/3 times around... :shushing_face:)
Just allowing shorter songs is probably the more likely outcome, but I'm still considering both options.

  • It would be nice to have an auto-play feature so I could keep a song playing without needing to crank that crank.
    * If you wanted to get fancy with this; "autoplay mode" could require "winding" the crank to get the player going, and it could slow down in playback speed over time. E.g.: behave like a physical wind-up music box

My initial instinct would be to not have an auto-play feature. But I like that windup idea is so much that I'll have to add it I think :slight_smile:

  • Is the numbering structure strictly required, or could I use a custom name for the text file?
    * Ultimately what I am getting at is: whether or not there would be an easy way to create and share songs that wouldn't require people to rename the file on disk to be appropriately "numbered"

Yeah the idea is that sharing would be very easy by exchanging the files. But it's not as smooth as it could be. (Sidenote: networking functionality would be a great addition to the SDK....) The "automatic numbering" happens every time the game is started and just helps with defining a clear ordering for everything. With arbitrary filenames, each song needs to track somehow its position in the song list. I'll try to revisit this process in a future update. For now, it should be perfectly save to drop in new files with any name, and it will just rename them to follow the automatic convention.

  • While renaming a song, using the crank to scroll through the keyboard also moves selection in the menu

Ah nice catch. There's so many corner cases of different inputs and menus :sweat_smile:
It's fixed in the latest 1.0.4 release.

In any case, here's a little tune I made: 0014.txt.zip (560 Bytes)

Thanks for sharing, I like it!


I'm currently super busy with other things and won't have free time to work on any new features until the very end of January. But this really motivates me to keep working on this for a bit longer.

Btw: I'm also planning an option to "tune" the individual notes so you won't be quite so restricted in the type of songs you can create.

Thanks again!
Best,
Tizian

3 Likes

Nice! Thanks for the response.

Yeah this is true and something I had thought of that as well.

+1 :slight_smile:


I really like the idea of sharing songs and having a place to download some collected set of user-created tunes. That could be a list of files at the first post here, or something on your itch page.

To that end, I’d encourage folks who’ve put together little tunes to post theme here, at least. :heart:

1 Like

Hi all!

I've just released an updated version of the music box, including some commonly requested features:

  1. Adjustable tune lengths (between 20 and 120 steps now, instead of the fixed 48.)
  2. Individual notes can be tuned to anything between C3 and B6, including semitones.

And I also added @jaymakesgames 's cool suggestion for the wind-up mechanic when playing a song.

Detailed notes here: Release 1.1 - Music Box for Playdate by Tizian Zeltner

3 Likes

for those that haven't checked on this in a while, there's been another update to the app with some great improvements. Check them out here: Music Box for Playdate by Tizian Zeltner

you'll find a link to the shared User Songs folder on the itch page. Tizian made some new tracks, as did I and a few other users. Enjoy!