Casse brique - évolution


By Codnpix, 1 year ago

Controls: D-Pad: [Arrows / WASD] - A: [J] - B: [K] - Menu: [U] - Home: [I]
Enjoy games at full speed with sound and lights on the Gamebuino META!
Emulator by aoneill

This is a little breakout game, based on a customisation of the one from this tutorial .

Evolutions :

- Multiple levels (6, maybe more one day :))

- Bounce angle control on paddle

- Various types of bricks (1, 2, 3 shots destroyed, moving bricks...)

- custom FX

- user menu (level choose, see locked and unlocked levels)

- music (to get the version with the musics download the .wav files in that repository : and just add them inside the folder you downloaded here.)

Thank you for giving me feedbacks of any kind :) !

Petit essai de jeu de casse-brique en évolution de celui proposé par le tutoriel .

Évolutions :

- Plusieurs niveaux (6, peut-être d'autres un jour :))

- Contrôle de l'angle de rebond sur la palette

- briques variées, briques en mouvement...

- menu utilisateur (choisir le niveau, voir les niveaux bloqués et débloqués)

- custom FX

- musique (Pour télécharger le jeu avec les musiques, rendez-vous ici : , vous pouvez juste télécharger tous les .wav et les ajouter dans le dossier téléchargé ici).

Merci pour vos retours :) !

Last comments

1 year ago
Author :  Steph

Yes, of course, you can limit the horizontal speed with a maximum absolute value (let's call it vmax). In this case, it is enough to do:

vx = vx < 0 ? max(vx, -vmax) : min(vx, vmax);

Just after the calculation I developed above...

1 year ago
Author :  jicehel

yes your speedY have to be real to let you have more possibilities and have movement more fluent

1 year ago
Author :  Codnpix

Thank you for advice Steph !

Indeed I don't know if my current calculation is really linear (I tried to so but...). Also I wanted to remain a controlled max-speed for the ball, so the "speedX" value added to the lateral ball position is recalculated at the output of the function to remain it below a maximum. (and the speedY value can only be 1 or -1). 

Maybe that's why I cannot have all the possible bounce angles, but it prevents to fall into "infinite speed increase" cases and some other little problems...

Anyway I will try something with your equation, it looks quite better than mine :) !