À propos du projet

Mon premier projet sérieux de game development : un FPS 3D solo réalisé avec Unity et C#. Encore au stade de prototype, il pose les bases d'un moteur de gameplay FPS : contrôleur de personnage, caméra à la première personne, système d'arme et objets physiques interactifs/destructibles.

Je suis la série FPS Full Game Tutorial de la chaîne Mike's Code, un tutoriel complet en 15 parties pour construire un FPS de A à Z. J'en suis actuellement à la Part 5 (Shooting at Bottles).

Ce projet me permet de combiner ma passion pour les jeux vidéo avec mes compétences en programmation C#, tout en explorant un domaine complémentaire à ma formation BTS SIO. Le code source est public et suivi sur GitHub.

Ce qui est déjà implémenté (Part 1 à 5)

01

Contrôleur du joueur — Basic Movement

Déplacement via CharacterController (ZQSD/WASD), saut et gravité personnalisée avec détection de sol par sphère (groundCheck).

02

Caméra FPS

Rotation souris à la première personne, clamp vertical pour éviter le retournement de caméra, curseur verrouillé au centre de l'écran.

03

Système d'arme — Basic & Advanced Shooting

Trois modes de tir (Single / Burst / Auto), délai entre tirs, dispersion aléatoire (précision), balles physiques propulsées par impulsion (Rigidbody).

04

Bullet Impact Effect

Détection de collision par tag (Target, Wall, Beer) avec effet d'impact instancié au point de contact.

05

Shooting at Bottles

Bouteille de bière réagissant aux impacts (physique + son), avec anti-spam audio sur collisions rapprochées.

+

Bonus perso — Objets destructibles

Cubes démolissables en morceaux physiques via le plugin Mesh Demolisher, ajout personnel en dehors du tutoriel.

Prochaines étapes (suite de la série)

  • Part 6-7 — Modèle d'arme, son, muzzle flash et animations
  • Part 8-9 — Rechargement et ajout d'une seconde arme
  • Part 10-11 — Ramassage/changement d'arme et UI de base
  • Part 12-13 — Ramassage de munitions et visée (ADS)
  • Part 14-15 — Objets lançables (grenades)

Ce que j'apprends

  • Programmation C# orientée objet dans un contexte game dev (enums, coroutines, singleton)
  • Utilisation de l'éditeur Unity et ses composants (Rigidbody, CharacterController, Collider)
  • Principes de physique 3D : forces, impulsions, raycast, détection de collisions par tag
  • Conception de GameObjects et architecture de scripts Unity (séparation Core/Player/Weapons/Interactables)

Ressources utilisées