Thomas Althot

Portfolio de projets

Affiché comme du Markdown.


MPFW (2025)

MPFW est un moteur de jeu qui supporte le format de niveaux de Quake comme format principal de niveaux. Malgré l'âge du jeu et la ferveur de sa communauté de modding, la documentation disponible sur le format de niveau utilisé, notamment les spécifications Quake non-officielles(Unofficial Quake Specifications), porte majoritairement sur le format utilisé dans les versions béta de Quake, ayant quelques différences avec le format final. L'objectif du projet est d'atteindre un stade de compatibilité à travers non seulement les formats et les protocols de Quake, mais de la lignée de moteurs basés sur Quake (ex.: le moteur Source de Valve Software, id Tech 3 de id Software, etc.).

Pile logicielle

  • Langage: C++20
  • Bibliothèques logicielles(librairies) utilisées: raylib, raymath, Asio
  • Cible d'exécution principale: Windows

Démonstration vidéo

Cette vidéo démontre les trois fonctionnalités principales de MPFW, soit la compatibilité avec les niveaux Quake, la console de développement intégrée au moteur et le moteur physique.

Liens


Jossec (2024-2025)

Jossec est un moteur de jeu développé pour un projet scolaire au CFP des Riverains. L'idée était de faire un jeu où le joueur pourrait jouer comme un jeu de tir à la première personne, mais également comme un jeu de course de voitures. Le jeu était intitulé Vehicular et a été particulièrement difficile à développer à cause de contraintes de temps. En effet, nous avions déjà commencé à travailler sur un autre jeu de course plus tôt, mais nous allions le finir avant même le début des projets finaux(projets intégrateurs). Nous avons donc recommencé de zéro et présenté une démo jouable avec une bande son originale que j'ai composée en écrivant le code du moteur.

Des choix étranges, mais plutôt corrects avec le recul, ont été faits pendant le développement du moteur, notamment concernant le système de scripts. Au moment d'écrire le moteur, j'ai cherché des manières d'ajouter du code à l'exécution. Ce que j'ai trouvé, c'est que TCC de Fabrice Bellard avait une bibliothèque logicielle que nous pouvions utiliser pour de la génération de code à l'exécution(JIT). J'ai également décidé d'aller en faveur d'un système de blocs pour les niveaux comme Nadeo a pu développer pour TrackMania ou ShootMania, ce qui a accéléré et simplifié l'itération sur les niveaux.

Le moteur est relativement rapide, se stabilisant à 600 images par secondes sur des gros niveaux et pouvant aller jusqu'à au moins 800 sur des niveaux plus petits.

Démonstration vidéo

Liens

Pile logicielle

  • Langages: C++20, C
  • Bibliothèques logicielles(librairies) utilisées: raylib, pugixml, dyad
  • Cible d'exécution principale: Windows

3BUNE (2022-2025)

3BUNE est un service de clavardage à installation rapide et facile basé sur le système de tribunes existant en Europe francophone. Son code serveur est écrit en PHP et le service fonctionne en stockant les messages dans un fichier XML pour des raisons de compatibilité avec d'autres coincoins.

3BUNE encapsule à la fois un coincoin(client) et un bouchot(serveur), le bouchot étant intégralement écrit en PHP et le coincoin étant écrit en PHP pour l'affichage côté serveur plus la trinité côté client; HTML, CSS et JavaScript. 3BUNE ajoute aussi certaines fonctionnalités comme la mise en gras ou en italique comme le fait le Markdown ainsi que des messages de bienvenue que les habitués peuvent déclencher à l'arrivée d'une nouvelle personne.

Liens

Pile logicielle

  • Langages: PHP 8, HTML, JS, CSS
  • Bibliothèques logicielles(librairies) utilisées: jQuery
  • Cible d'exécution principale: PHP sur Raspbian, PHP sur Windows