Casse brique – Typescript
Retour aux projetsCréation d’un jeu Casse-Brique réalisé en Canvas HTML5 et en TypeScript. Ce projet est personnel et a été réalisé dans l’optique de tester mes capacités avec le langage TypeScript.
Le concept
Ce jeu a été réalisé dans le cadre de notre cours de Multimédia. Nous avons développé un framework Canvas qui nous a permis de créer un jeu pour l’examen de fin d’année. Nous devions choisir un jeu, et j’ai opté pour un casse-brique, car je trouvais qu’il convenait parfaitement pour démontrer les fonctionnalités de Canvas. J’ai eu l’occasion de gérer les collisions de la balle et de générer des éléments de jeu en fonction des choix de l’utilisateur.
Le défi que je me suis lancé
De mon côté, j’ai voulu créer différentes difficultés en modifiant les paramètres de la balle et la génération des niveaux en fonction de la difficulté. J’ai également souhaité accorder plus de contrôle à l’utilisateur en lui permettant de choisir la couleur de sa balle. Mon objectif était de créer le jeu de manière optimisée. À ce jour, le jeu n’est pas encore terminé, il est toujours en cours de développement.
Les étapes de mon travail
Tout d’abord, lors de la réalisation de mon projet, j’ai dressé une liste de toutes les tâches à accomplir dans le fichier README.md de mon dépôt GitHub. J’y ai répertorié les défis que je me suis lancés. Ensuite, j’ai établi une checklist pour suivre l’avancement de mon projet et noter ce qui me restait à faire. Je vous invite à consulter mon dépôt GitHub pour voir chaque étape en détail. Vous pouvez y accéder en cliquant sur ce lien : Page github du projet
Les difficultés que j'ai rencontrées
J’ai rencontré plusieurs difficultés lors de la réalisation du projet. Tout d’abord, le système de collision n’est toujours pas optimal à ce jour, mais il fonctionne. J’ai eu du mal avec la détection des coins de ma forme, car la balle a une hitbox circulaire et non rectangulaire. Il était donc difficile d’éviter des comportements aléatoires lors de l’impact sur un coin. Ensuite, j’ai rencontré des difficultés lors de la synchronisation de l’ensemble de mon code au démarrage du jeu et lors de sa réinitialisation après la fin de partie.