A new game to play in Renoise! Features MIDI controls, sound FX, a CPU opponent, multiplayer and more!
To learn more about the game, visit the official page here, or click the Button!
The game should not interfere with whatever project you have open, but to be safe, it is always recommended to save your work before using any tools, including this one. Sound support was accomplished without using OSC, so at first it may appear to mess with your project file, but rest assured that when you exit/stop the game, or turn off the sound feature, your project should remain unaffected.
Got this error notice when closing down the tool gui, then after having the sound of the ball bounce still playing in the pattern editor, I pressed ctrl + n in Renoise to start a fresh project;
"āC:\Users\pluge\AppData\Roaming\Renoise\V3.3.0\Scripts\Tools\mom.MOMarmalade.Paddles.xrnx\main.luaā failed in one of its notifiers.
The notifier will be disabled to prevent further errors.
Please contact the author (MOMarmalade [xephyrpanda@yahoo.com]) for assistanceā¦
std::logic_error: ātrying to access a nil object of type āclass RenoiseSongā. the object is not or no longer available.ā
stack traceback:
[C]: ?
[C]: in function ā__indexā
[string ādoā¦ā]:37: in function <[string ādoā¦ā]:35>
main.lua:517: in function main.lua:326"
Ah, thank you Djeroek! Itās not a harmful error, and I think most people probably wouldnāt encounter it anyway, but Iāll release an update ASAP to fix the issue
Update! The error has been fixed! However, I do want to release an update that will pause the game when the Paddles window is closed. But for now, this will avoid the error you encountered
Always use the colon :, the two parentheses () and the singular name. Do the same with all cases. Probably, inside your tool it does not have much importance, but it is a good way to get used to it.
Your game has surprised me! It is clear that you know how to program.
One question, is the bounce random or do you get it redirected based on movement up or down?
Thank you for the good info @Raul! I did read about using (): instead of []. but didnāt want to get too caught up in optimization and risk never releasing the game. But now that you point it out, Iāll be refactoring my code to use this from now on, and Iāll release an update to Paddles that will incorporate this too
The ballās direction/velocity change is a result of where it touches the paddle:
Dead center: no effect
Above center: adds velocity upward
Below center: adds velocity downward
This can be used to slow or speed the ball, depending on which direction the ball is traveling (up or down) when it hits the paddle.
If you set the Paddle Size to 1 though, the direction/velocity change becomes totally random.
Update! Some new features have been added into the game, including variable game speed, variable trail length, and paint mode. I have also incorporated the code improvements recommended by @Raul, and fully eliminated the error found by @Jonas !
The biggest performance bottleneck is updating the bitmaps each frame, so if youāre struggling to push frames, the best thing you can do is limit the trail length, or reduce the game speed.
If the ball flickers during movement, you can increase/turn off Renoiseās FPS limit to help alleviate this.
@Orangalang Can you think of another similar game, like chess? I have recently come to think that I would be able to build such a game with the Renoise API. But I do not have time
Woah!! That looks so cool! Reminds me of FLās piano roll (which I loooove)!
Yeah, the best solution I came up with is to monitor individual items for changes (in this case, individual notes on the piano roll), and only update bitmaps that have changed. Monitoring for changes isnāt even close to as expensive as updating all those bitmaps.
Yep, that was intended. Love the fl piano roll, too. I currently use buttons to render this grid, itās fast enough but changing color slows it down. Only happens, when you scroll through. I use a timer to fresh it every 50ms during scrolling. Its currently just render the current track. Note drawing is next on my list. Iāll upload it to github, when its ready to use.