Playmaker: a whimsical creative space for Playdate

Got some work done on Music UI. Borrowing some ideas from Paint UI but moving toolbar to the bottom to allow a wider canvas for measures to scroll/display. I've got to get a set of instruments I'm happy with. Also thinking about a little metronome animation to display current tempo vs a boring and kinda meaningless number. Once I have my set of instruments in place, I need to create icons for each which should help this UI come to life. Playback too needs to be a lot more fun. Oh, and that treble clef is far too large now! Eeek.

playmaker-music-ui-progress

2 Likes

Bit of work this morning getting a playback cursor in place. This cursor shows up on cue during playback with a nice animation to the start of the staff and it enters left, then playback begins.

This indicator also displays the moment I undock the crank and hides when I dock the crank. Unless playback is happening of course. This gives a nice visual indicator that the crank is for playback too. This means I can move the playback indicator around with the crank, after a period of crank inactivity it dismisses itself and displays the editor cursor again.

It's a bit complicated but in use it feels pretty natural I think.

Also the stop button now blinks to the correct playback tempo.

That treble clef is still far too big. :playdate_ugh:

playmaker-bar-indicator

3 Likes

playdate-cursors.2021-01-04 17_04_57

A bunch of work on cursor movement in Paint today. Simplified a lot. Now holding up or down or A moves the cursor AND paints at the same time. This way I don't need to hold down and right or left to paint and move. And holding left or right now simply moves the cursor in the direction of the arrow.

Speaking of arrows, there is now only one direction you can move in. This makes it easier to wrap your head around. Sure, you lose the ability to run back and forth on a straight line easily, but that's about it. The gain far outweighs.

I also did some work on cursor designs. Also animating some cursors between active and inactive states. This allows me to display a larger circle around the pen mark for example while not painting, and then focus the cursor into the actual shape of the pen while painting. Feels good... I think.

4 Likes

Worked a bit on the Voices space today.

Starting to think that maybe it's more of a audio recording playground than just simple canned voice effects, but not sure on that yet. I guess I wonder if I couldn't make this space more creative which is what Playmaker is all about. Canned voice effects are not especially creative, unless this is about being creative with your voice.

Got a little metering display of the audio as you record working. Implemented a reverse effect that plays the audio backgrounds, plus integrated some open source audio stretching code and surfaced it to Lua. An animated playhead displays now too.

Notice the visualization reverses when the reverse effect is selected.

And on that note, I need to get the effects list displayed. Unless I decide to make this more of a switch panel of effects you can layer on.

playmaker-voices

3 Likes

Little improvement this morning on audio visualization. Plus handling of device lock/wake/sleep etc. to stop/start mic listening appropriately.

playmaker-audio-display2

8 Likes

Super work! Looking great

1 Like

Thought it'd be fun maybe if Voices was a weird recorder robot with controls and speaks back your recording. I may have gone off the deep end with this one, though I honestly don't know. I feel like I have to push it further though. Eyes tracking your focus or the playhead during playback. We'll see! This is why git exists, no?

playmaker-robot-talk

12 Likes

Super cute. I like it.

Did you ever play either the DSi/3DS sound app? It has a talking budgie! I think you're safe.

1 Like

I haven't, though I can imagine! I'm just starting to think of ways to add some character to Playmaker. I kinda like the idea of a little recorder robot that does interesting stuff with your voice.

Took a little break from Voices today (though I did build some helpful functions for metering PCM data in C that is similar to how mic metering works in the SDKā€”thanks Dave).

Been thinking about a pencil tool (pixel editing tool) for Paint and decided to implement it today. Works great for touch ups. Automatic eraser mode. Does not take selected pattern/paint into accountā€”that is, I tried it and it was just weird, powerful, but weird.

playmaker-paint-pencil

3 Likes

Some improvements around cursor movement when using directional pad in Paint. Now pressing a direction moves by 1px. Holding a direction down after a short period then moves in that direction. This allows for precision movement while also allowing for fast movement across screen.

Also added a spraying sound that plays when using the spray tool. The spray tool is also more dynamic now, spraying down 1px and 2px bits of paint. The result is something much more like a spray can might produce.

playmaker-dynamic-spray

4 Likes

Very cool! Love this dev log BTW!

1 Like

Thanks! :slight_smile:

2 Likes

I've been experimenting with some new spaces in Playmaker. I had an idea a while back for a Dance space though to pull it off I needed a physics engine.

Any Lua based library would be too slow on device so I did some hunting for a simple C physics library. I came across velocityraptor which looked okay (if not a little messy). I got it up and running and found it to be quite buggy. So after a bit more research I discovered box2d lite which is essentially the first version of box2d.

Though written in C++, it looked very well made. So I ported it to C and hope to share it with the Playdate community. Very happy with the frame rates I'm seeing on device with ~8 bodies in world.

Anyway, all of that aside, I have a decent prototype up and running that is quite fun to play with and can produce hilarious interactions. All in all, it feels like a nice addition to Playmaker and helps make the product feel a bit more compelling IMO. My goal for Playmaker was for it to be a kind of creative gadget. Something you could sit down with on public transit or wherever and just exercise those creative muscles for a bit. And I think Dance fits well in that framework.

playmaker-spotlight

9 Likes

Further polish on Dance today. And a familiar curtain.

Lots of adjustments to weights and lengths to reduce joints getting knotted up with one another. Also I thought it would be more interesting that when using the crank to rotate our dancer, that their vertical position would lower the more horizontal they are. This allows for some fun breakdancing moves.

Next up: experiment with queuing sounds to play when the dancer's feet whack the stage.

playmaker-dance-polish

9 Likes

Is there a demo of this or something? I really wanted to play with this. :frowning:

1 Like

Not yet. I am still very much working on it however. I'll reboot this devlog if you want to follow along and chime in though. I hope to have a beta ready soon and will be looking for people to help test. :slight_smile:

5 Likes

I'd love to see you post more devlog posts! I've loved the look of this project so far :eyes:
Very awesome stuff!

1 Like

"...will be looking for people to help test. :slight_smile: "

Judging by my audible "Me, me, me!" and frantic search for my laptop to type this after reading the notification email from my iPhone, I guess you could consider me as a candidate for testing this... just maybe. :smiley:

And yes, this actually happened.

2 Likes

I appreciate it! I will start updating here again as I work away on Playmaker and I will certainly reach out when there is a build ready. Thanks for the support, it means a lot.

2 Likes