Encadrant·e·s :
- Sylvain GLAIZE, UBISOFT
- Nabil MUSTAFA, ESIEE Paris
Participant·e·s aux semestres 1 et 2 :
- Clément CHOMICKI a.k.a "technolapin"
Chef de projet
- Alexandre LEBLON
- Amaury BARUZY
- Nicolas GOISLARD
- Maÿlis MONTANI
- Barbara PARE
Participant·e·s uniquement au semestre 2 :
- Sébastien ZHOU
- Aymeric SALLET
L'objectif du projet est la construction d’un moteur de jeu video, et d’un jeu "test" pour prouver son fonctionnement.
Ce moteur de jeu devra être capable de :
- Rendre une scène à l'écran.
- Pouvoir y déplacer un élément contrôlé par un joueur.
- Y faire se déplacer des éléments contrôlés par le moteur.
- Résoudre des collisions entre les éléments de jeu.
- Plus largement résoudre des interactions entre les éléments de jeu.
- Afficher des éléments de signes et feedbacks au joueur (Texte et/ou particules, son).
En fonction du temps et de l'avancée, le moteur peut aussi intégrer (Par ordre de complexité) :
- Une gestion de musique déambiance.
- Gérer un écran de titre et différents niveaux.
- Des éléments animés par déformation.
- De la communication entre deux moteurs (Jeu en réseau).
Les étudiants devront entre autre :
- Identifier les différentes parties constituantes d'un moteur de jeu vidéo.
- Impl ́ementer ces parties en veillant à leur modularité / architecture.
- En architecture, déterminer en particulier sur quel modèle les entités du monde virtuel sont gérées.
- Optimiser le programme (CPU/GPU ainsi que mémoire).
- Décider et implémenter un "jeu test" pour montrer les possibilités du moteur.
De la jolie documentation sous forme de pages web peut être générée à partir de certains commentaires dans notre code, ainsi que les librairies utilisées.
Vous pouvez accéder à cette documentation à l'adresse suivante...
https://technolapin.github.io/moteur-de-jeu/doc/moteur_jeu_video/index.html
Ces pages sont séparées dans une autre branche, disponible à l'adresse suivante...
https://github.com/technolapin/moteur-de-jeu/tree/gh-pages
Pour générer la totalité de la documentation (celle des dépendances en plus), exécutez cargo doc
.
Vraiment, utilisez Linux. C'est plus simple. Ou alors, utilisez Windows Sub-Linux (WSL), mais on risque d'être vite limité.
sudo apt install cargo
sudo apt install libopenal-dev
sudo apt install libsndfile1-dev
Voir AIDE_AVEC_GIT.md
.
Se placer dans le répertoire moteur_de_jeu_video, ouvrir un terminal puis utiliser la ligne de commande suivante pour lancer l'exemple :
cargo run --release --example example
Voir COURS_RUST.md
.