
Cours 420-146-AT Développement de jeux vidéo
Ragdoll Rampage
Jeu de combat 1 contre 1 où la physique dicte les règles
- Jeu vidéo
- Unity
- C#
- Physique 2D
- Projet individuel
Un jeu de combat pour deux joueurs sur le même clavier. Les personnages sont des « ragdolls » : des pantins mous qui réagissent aux coups comme de vraies poupées de chiffon.
Voir les détailsMasquer les détails
C’est quoi ?
Ragdoll Rampage est un jeu de combat où deux personnes s’affrontent sur le même clavier. Les personnages sont des ragdolls (des « poupées de chiffon ») : leur corps est mou et réagit de façon réaliste à chaque coup, ce qui rend chaque combat imprévisible et drôle.
Le défi et mes objectifs
C’était le TP3 du cours de développement de jeux vidéo, et je l’ai réalisé seul. Je voulais :
- Créer un jeu complet de A à Z : menu d’accueil, guide, combat, fin de partie, musique et sons.
- Faire de la physique le cœur du jeu. Je m’étais inspiré du jeu Stick Fight: The Game, où les combattants tombent, glissent et se font projeter.
- Permettre à deux joueurs de jouer sur un seul clavier, chacun avec ses propres touches.
Ce que j’ai fait
J’ai avancé une fonctionnalité à la fois, sur six semaines :
- Les bases (semaine 1). J’ai intégré un pack d’assets (un ensemble de ressources prêtes à l’emploi) qui fournit un pantin articulé. Je l’ai ensuite programmé pour qu’il marche et saute.
- Le combat (semaines 2 et 3). J’ai ajouté les coups de poing, une hache, la possibilité de ramasser une arme et d’attaquer dans toutes les directions.
- La défense (semaine 3). J’ai ajouté les dégâts, puis un bouclier hologramme qui bloque la moitié des dégâts et qui a sa propre jauge d’énergie. J’ai aussi ajouté la mort des joueurs et une minuterie de 5 minutes.
- La lisibilité (semaine 4). La caméra suit les deux joueurs en même temps et chacun a sa barre de vie.
- Les menus et la finition (semaines 5 et 6). J’ai fait un menu d’accueil où l’on peut attraper le titre et le lancer contre les murs, un guide « Comment jouer ? », des contrôles séparés pour chaque joueur, une carte, de la musique et des effets sonores 8-bit.
Mon choix technique principal : d’habitude, dans un jeu, on joue une animation puis on déplace le personnage. Ici, j’ai fait l’inverse : j’applique des forces sur les membres du pantin, et c’est la physique qui produit le mouvement. Un coup de poing, c’est littéralement un bras projeté vers l’avant par une force. C’est ce qui donne au jeu son côté chaotique.
| Action | Joueur 1 | Joueur 2 |
|---|---|---|
| Se déplacer | W A S D | Flèches |
| Attaquer | F | J |
| Bouclier | G | K |
| Prendre une arme | H | L |
Pause : P
Le résultat
Le jeu est complet et jouable : on lance une partie depuis le menu et les deux joueurs se battent jusqu’à ce que l’un tombe à zéro point de vie (« Joueur X remporte le combat ! ») ou que la minuterie atteigne zéro (égalité). Des armes apparaissent au fil du combat. J’ai aussi préparé une version web du jeu et rempli le formulaire de publication demandé dans le cours. Le jeu n’est pas publié en ligne pour l’instant.
Ce que j’ai appris
Techniquement :
- Utiliser un pack d’assets : comprendre du code écrit par quelqu’un d’autre, l’intégrer et l’adapter à mon jeu au lieu de tout refaire.
- Programmer la physique pour produire les actions, plutôt que de faire une action qui modifie ensuite la physique. Ça demande de penser en forces, en poids et en articulations.
- Gérer deux joueurs sur un seul clavier avec le système de contrôles de Unity (Input System).
Personnellement :
- [À COMPLÉTER : ce que ce projet seul t’a appris sur toi, ex. organiser ton temps, rester motivé sans équipe, prendre des décisions seul.]
Technologies utilisées
- Unity 6
- C#
- Unity Input System
- Physique 2D (Rigidbody 2D)
- TextMesh Pro
- Pack CGC Studio 2D StickMan Controller
- Shield Shader FREE
Liens
- Code source sur GitLab (nouvel onglet) dépôt privé du cours



