Moteur de Jeu Web
Un moteur de jeu 3D pour navigateur, en TypeScript : Three.js pour le rendu, Rapier pour la physique.

- Type
- Moteur de jeu 3D
- Plateforme
- Navigateur
- Rendu
- Three.js
- Physique
- Rapier
Le projet
J'ai développé un moteur de jeu pour navigateur en TypeScript, construit sur une architecture orientée objet et un système ECS (Entity-Component-System). Le but : une base modulaire, extensible et performante.
Three.js gère le rendu 3D en temps réel et Rapier la simulation physique. Les deux restent synchronisés, pour que les mouvements et les collisions restent cohérents à l'écran.
Fonctionnalités
-
Architecture POO et ECS
Chaque entité est composée de composants spécialisés (physique, rendu, contrôleur) orchestrés par des systèmes dédiés. On ajoute, modifie ou retire un comportement sans toucher au reste.
-
Synchronisation physique et graphique
Les entités physiques (RigidBody, Collider) sont créées à partir de composants Hitbox. Leur état est recopié à chaque image sur les objets Three.js correspondants.
-
Entrées souris et clavier
Les mouvements de la souris et les touches sont convertis en événements accessibles aux systèmes. On contrôle un personnage ou une caméra sans lier les entités aux périphériques.
-
Caméras dynamiques
Trois modes à basculer à chaud : vue à la première personne (FPS), à la troisième personne (TPS), et caméra libre aérienne. Chaque mode adapte la souris et la physique.
-
Service Locator et architecture modulaire
Un Service Locator centralisé découple les dépendances critiques (physique, moteur graphique, entrées). On remplace un service sans réécrire la logique des systèmes.
Technologies
- TypeScript
- Three.js
- Rapier
Envie d'essayer ?
Le plus simple reste de l'ouvrir directement.