Atelier Casse-Brique #2
Leflou Il y a 1 an Premium Pro4

Après avoir reproduit l’atelier cass-brique, j’ai commencé à travailler sur les collisions entre la balle et les briques lorsqu’elles sont frappées de côté.

Le casse-brique s’est rapidement transformé en casse tête. Rester avec les collisions de bases sans permettre une collision sur le côté d’une brique n’est pas une solution acceptable mais je ne m’attendais pas à ce que les choses se compliquent à ce point. Chaque nouvel essai me poussait à transformer le code et à ajouter des choses sans parvenir à régler le problème.

J’ai rapidement décidé de créer un programme juste pour les collisions. Je met donc de côté les tableau de brique pour juste lancer un balle et trouver comment la faire rebondir comme je veux sur un rectangle. Plus j’avançais, plus je me démotivait en me disant que ce n’était pas possible de ne pas être capable de régler un truc aussi simple. Le genre de doute qui peut dégoûter de la programmation. J’ai commencé à chercher un peu sur Internet et là j’ai compris que ce n’est pas un problème si simple que ça et que, comme souvent, il y a plusieurs solutions pour le régler.

Je voulais rester pour l’instant avec des collisions « simples », sans utiliser de calculs d’angles. Je suis tombé sur une série de vidéo super intéressante d’un programmeur qui fabrique son casse-brique sur Pico8 et en écoutant son discours sur les collisions, ça m’a rassuré sur le fait que « Oui, c’est pas si simple » et que « Non, je suis pas si con » https://www.youtube.com/watch?v=AGblHq-ZamI

Son idée de calculer la longueur de l’impact sur la brique et de calculer la pente de la balle a mis du temps à rentrer dans ma tête mais, et pour la première fois, j’ai réussi à mettre en place des fonctions avec des paramètres. La semaine n’a donc pas été très productive en terme de code ou d’avancée de projet mais en revanche, j’ai bien intégré ce concept pour vérifier la collision sur le côté d’une brique et il me reste maintenant à intégrer ces deux fonctions essentielles dans le premier programme adapté de l’atelier de David. Avant de repartir sur le projet de coder un remake d’arkanoid, je vais devoir travailler sur une nouvelle fonction pour gérer les apparitions des bonus. Je pense que mine de rien, c’est encore un gros boulot. Après ça, il me semble que le plus gros du travail sera fait, il sera temps alors de travailler la mise en place de l’interface (score, choix de taille d’écran de jeu) et les graphismes. Va falloir être patient :p

https://tic80.com/play?cart=1801

 

Comments (4)

Oh oui c’est pas si simple, j’ai toujours pas finis mon casse brique car j’ai encore des bugs sur les collisions et comme j’en ai bien chier dessus j’ai même pas envie de le finir. 🙁
J’ai du passer sur du CCD(Continous Direct Collision) pour éviter de bloquer la balle sur des briques et pour gérer correctement le repositionnement de la balle.
Allez pour fin 2021 je le finis 🙂

Est-ce que le CCD c’est de calculer le rebond avant d’afficher la balle ? J’ai pas intégré ça dans mes rebonds et je suis pas sûr d’être capable de le faire facilement. Je me dis que pour l’instant, je vais rester sur ce que j’ai fait et voir si c’est viable en jeu.

le CCD c’est de un moyen de detecter une collision entre deux objets et ce quelque soit la vitesse de déplacement. On fait une serie de test de collision entre les deux objets jusqu’à qu’on detecte si c’est vrai

On peut plus modifier les messages, je corrige mon erreur, c’est pas entre deux objets mais entre deux positions de la balle par exemple qu’on fait les tests de collision 😉

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.