unless modules : new ( avoider, pianoid )

hello first-time visitor!

this is a place where I post updates on my progress developing the unless modules.

skip to the bottom to see what’s new!

below is an image of ATOMS’ initial design, that was my original first post here back in 2019.


Source code ? :slight_smile:

Unless Games, you are a devilish temptress. I have no idea what that module does but I want to mess with it immediately.
Perhaps it is the mystery that drives me?
More seriously, that looks awesome. I need to make another patch around Piong as well.

HU a jira jira ! :smiley:

1 Like

It looks more like some kind of sequencer with concentric rings triggering each other.

1 Like

I’m live streaming another Unless Games module on my stream. It’s Piong “first to 1000 wins” with ambient noise generated by piong itself.
edit: finished
Player peaches one by a large margin

it will be available when the module gets released!

“look mum, it’s a waterfall!”
“no son… that’s an UNNYSTHIPLEASURESGRAPHER!” :wink:

clearing up the mystery: it is a sequenceable many-to-many switch.
that stream was cool! when I made piong I wanted to include some progress counting and now it was nice to see the game getting a patch! it’s a good note for module design I guess, that you don’t have to include everything… just rely on patchers’ creativity and NYSTHI :slight_smile:


That patch would not be possible if you hadn’t supplied a lot of cv for everything. That’s what allowed it more than anything and I think that’s the lesson. Also, it’s something that’s a lot easier to do with VCV than with hardware.
I actually did another one the next night with a slightly different setup. I’m pretty sure I’m going to do a youtube video of it at some point.

Yes, it is easy to have ports for everything, but there’s a point after which a panel becomes daunting like you start to feel trypophobic or something (I try to battle this now with configurable ports), but glad this one worked out for you! Haven’t seen the second stream, but you could try something like giving skills to the players related to their scores, for example if one of them has much higher score then it gets sloppier in matching the ball’s position to balance the game or if one scores 3 in a streak they grow in size :smiley:
anyways, I’ll check it out!

That sort of thing is harder because I’m not actually keeping score in a way that is recoverable i.e. i’m just incrementing BigNumber and you can’t actually get a value back out of them. I have made each player slightly different though.

Thought it had cv out. You could however do something like this to get the score out, although it’s not that great

16-seq from AS works, here you have the hundreds as cv the other digits as big numbers :slight_smile:

maybe there’s a more compact solution, but the individual gate outs / other rows could be used for skill progress or faster ball speed towards the end.

1 Like


Oooh. That looks interesting. Will we be seeing new modules with v1?
Also, I have now figured out how to meaningfully keep score with my Piong pathces but I’m not sure that it will help much.

I hope so, got at least four modules I want to finish, I just don’t have the time for them right now (somehow they always turn into feature creeps). First I’ll update the old ones for v1.

Nice! I was thinking about making a more general highscore/leaderboard themed module inspired by your stream…

1 Like

any news on this?

1 Like

coming along…

changed the design a bit and need to cut and add some functionality before it is ready.
It will arrive with the v1 version of my modules!

1 Like

That’s cool. I’m looking forward to it.
Here’s a quick question about Piong: how is the angle at which the ball bouces off the paddle calculated? I seem to be getting a lot of the ball bouncing off the pad at nearlly 0 degrees or 180 degrees to the paddle.

The ball’s angle gets reflected along the x axis and gets somewhat aligned with the “velocity” of the player paddle (only considering movement of the player since the last frame which should be last frame(s) in terms of the CLK input instead of Rack’s engine step).
Are you by any chance feeding a white noise (or similar fast moving signal) to the position inputs? In this case the “velocity” can get really large since there are sudden jumps between samples which results in near vertical bounce offs (I guess this is what you are describing).
Will fix this for the next update (not sure if I can update stuff for v0.6 anymore tho). Also spotted some mistake in the starting angle calculation while looking at this so thanks for bringing this up!
Another question, do you think I should fix the bounce off when hitting the top/bottom side of the paddles? So the ball wouldn’t get bounced back in these cases.

I’m not using white noise at all but I am changing the paddle sizes based on the score, which seems to fluctuate weirdly. Maybe I need to look at that.
I have it so that the paddle starts at 0 speed and then accelerates towards the y position of the ball. if it moves past the ball’s position it stops and starts the process again.


I wondered whether that was happening or I was just imagining it. It’s only a problem when the ball is oscillating wildly up and down.


edit: This just in! Putting a slew limiter between the place I’m holding my variables and piong’s paddle size input totally fixes the problem

poem to the vaporware feels

version 1