Thomas Althot

Project Portfolio

Displayed as Markdown.


MPFW (2025)

MPFW is a game engine that supports Quake maps as its primary level format. Despite the game's age and the forever-active modding community, available documentation on the level format, notably through the Unofficial Quake Specifications, is mostly for Quake's betas which use a slightly different level format. The goal of the project is to eventually reach a state of compatibility throughout not only Quake's own file formats and protocols, but Quake's engine lineage (ie.: Valve Software's Source engine, id's id Tech 3, etc.).

Tech stack

  • Language: C++20
  • Libraries used: raylib, raymath, Asio
  • Main target: Windows

Video Showcase

This video showcases the three main features of MPFW, being compatibility with Quake maps, the integrated development console, and the physics engine.

Links


Jossec (2024-2025)

Jossec is a game engine developed for a school project at CFP des Riverains. The idea was to make a game where a player could play both a first person character controller and a vehicle. The game was titled Vehicular. It was particularly difficult to develop because of the time constraints. We started development on another racing game early, before the year's final projects even started, and were so close to being done we had to start from scratch to be able to show progress in weekly reports. We ended up presenting a functional demo with an original soundtrack which I wrote along with the engine.

Some very peculiar, but, in hindsight, rather fair, decisions were made while developing this engine, the most bizarre of which is probably the scripting system. When I was writing the engine, I decided to look into ways to add code at runtime. What I noticed is that Fabrice Bellard's TCC had a library that we could use for code generation. I've also decided to go with a block system for mapping, such as the one Ubisoft Nadeo has in GameBox for TrackMania and ShootMania, which made map iteration quick and easy.

The engine is also relatively fast, generally stabilizing at around 600 frames per seconds on larger maps and 800 on smaller maps.

Video Showcase

Links

Tech stack

  • Language: C++20, C
  • Libraries used: raylib, pugixml, dyad
  • Main target: Windows

3BUNE (2022-2025)

3BUNE is a 1-step-install chat client/server based off of the french tribune(bouchot/coincoin) system. Its backend is written in PHP and it works by storing messages in an XML file for compatibility reasons with other coincoins.

3BUNE encapsulates both a coincoin(client) and a bouchot(server), with the bouchot being written in PHP, and the coincoin being written in PHP for server-side rendering plus the client-side trinity; HTML, CSS, and JavaScript. It also adds new markup features for users such as Markdown-style bolding and italicizing and server-defined welcome messages that regulars can trigger upon the arrival of someone new to the conversation.

Links

Tech stack

  • Language: PHP 8, HTML, JS, CSS
  • Libraries used: jQuery
  • Main target: PHP on Raspbian, PHP on Windows