Hi! I'm Mat. You could even say I'm All-Purpose Mat.

Welcome to my webpage! Some quick links:


Web Games Blog Gitea

You may contact me through the links at the end of the page.

PGP key: 7BAE 1B7A 077B 8523 373A 0B69 ED35 A6AC 65A0 6B69

Who am I?

You can call me Mat, and I am 19 years old. My pronouns are he/him.

Born and lived in Spain for 10 years, I moved to Georgia, USA for 6 years. After a short stay in France, I am now in my second year studying game development at DAE (Howest) in Belgium.

Thanks to this, I ended up widening my lingo portfolio... I'm:

In terms of programming, I have become strongly acquainted with these environments over time:

I have completed the International Baccalaureate Diploma Programme, which is a rigorous high school diploma. I chose to specialize in Mathematics: Analysis and Approaches (Higher Level) as well as Physics (Higher Level).

I have a proclivity for using opulent language (I like uncommon words with peculiar meanings).

Working with other people is a large part of what makes development interesting for me. Almost all of my projects involved working with others all over the world.
I use many platforms, including my Gitea and Matrix to collaborate and meet online acquaintances.
In the past, I worked with a Japanese speaker who did not speak English to localize one of my projects, Whitehole. I've also teamed up with others around the world many times to create software together.

One of my core objectives in computing is writing fast, efficient, and native code. Doing away with abstraction layers which sacrifice the usual snappiness of computers allows our code to fully utilize the raw speed and power of the hardware it runs on.
It's why I opted to write this site in just HTML and CSS, and why all my recent projects use the low-level C++ language, interfacing directly with the hardware.

I believe strongly in Free and Open Source Software (FOSS) being the future of computing on all platforms. I use FOSS pretty much exclusively, and no devices I use run proprietary code within possibility.
FOSS, such as Matrix, allows one to have the same if not better experience than proprietary equivalents, such as Discord, while being more secure, featureful, faster, and not sacrificing user privacy and freedom.


My projects

Any projects with a gamepad icon indicate they can be played on the web! To see only these, visit my games library.

Reverse Abduction Simulator

Open Reverse Abduction Simulator on GitHub

Play in browser (sorry, this won't work in text mode!)

Screenshot of Reverse Abduction Simulator
Reverse Abduction Simulator logo

Reverse Abduction Simulator

by myself and 2FoamBoards.

Oh no! You deleted all of the humans from Earth!
Add them back before your boss returns from his coffee break, but be careful with what you add—you could end up causing chaos.

Click to play in browser!

This is my second original game! Using my own handmade C++ and OpenGL game engine supporting desktop, web, and mobile platforms, Reverse Abduction Simulator is a short open source game which puts the fun challenge of paying extra attention while letting people accross a border of "Papers, Please!" and combines it with the endless character customization possibilities of the Wii's "Mii Maker" into a frenzied rush to repopulate Earth before your alien boss gets back from his coffee break and notices you accidentally deleted all the humans. All the art is by my friend Smudge, and the audio design and score is by my friend Orchid.
We ranked 283rd out of 6200 entries in the Presentation criterion of the 2022 GMTK Game Jam.


Octopuzzler

Open Octopuzzler on GitHub

Play in browser (sorry, this won't work in text mode!)

Screenshot of Octopuzzler
Octopuzzler logo

Octopuzzler on itch.io

by myself and 2FoamBoards.

It was the year 2000, and octopuses roamed the earth.
Disclaimer: We don't actually know if this is factual.

My first game! Using an earlier version of my custom game engine, Octopuzzler is a goofy open source puzzle game by me and my friend Smudge
about managing constraints and saving your files into a floppy disk!
We ranked 82nd out of 5800 entries in the Originality ranking on the 2021 GMTK Game Jam.
I have since ported my engine to the web, and updated Octopuzzler to work in it! You can play it here.


Minecraft4k

Open Minecraft4k on GitHub

Screenshot of ray-traced Minecraft4k

In 2010, Notch remade Minecraft for a jam in a very limited form, using the now-defunct Java Applets framework.
Additionally, performance was limited by the single-threaded sequential CPU raymarcher which Notch implemented.

I fully reverse engineered the game, and multi-threaded the raymarcher. However, this was not fast enough to run it at a reasonable resolution.
I decided to remake it fully in a fully custom GPU-accelerated ray-marched C++ engine.

My cross-platform engine uses a suite of methods to finagle a lower storage footprint, as was the objective of the original Java game.


Whitehole

Open Whitehole on GitHub

Screenshot of Whitehole level editor

I grew up playing Wii games, such as Super Mario Galaxy 2. I was inspired by the level design and art, and had always wanted to create my own.
I discovered a community of people passionate about creating new content for the game (known as modding).

However, the user-created tools were buggy and lacking important features.
I volunteered to collaborate on the Whitehole project. Contrary to a black hole, a white hole spews out matter; much like the creativity which this level editor facilitates.

Screenshot of Whitehole MSBT editor

Among the many features I have contributed, here are some highlights:

You can find a full list of changes in the README.

Paper Mario: The Dozen-Year Door

Open TDYD on Gitea

Play in browser (sorry, this won't work in text mode!)

Screenshot of Paper Mario: The Dozen-Year Door

As part of my university's first year, we were tasked with re-creating a retro 2D game of our choosing. I had just finished playing through Paper Mario: The Thousand Year Door: a 3D turn-based RPG with flat, paper-like characters, released in 2001 on the GameCube.
I had a lot of fun reverse engineering the formats the game uses. Each character in the game is an intricate collection of sprites acting as a fully articulated armature, and I got to re-create this system from scratch.
I also enjoyed simulating a 3D effect within the 2D limitations of the assignment, employing quite a bit of parallax and remaking parts of the stage in Blender to get the perfect render of each layer.

As I use Linux, I undertook porting the entire engine and its build system from Microsoft Visual Studio to CMake. With that I also brought support for Emscripten (as I did for my older engine in which Reverse Abduction Simulator was made), and helped other students upgrade the engine as well. My final game is playable online thanks to this!


Bob-Omb Battlefield in Mario Odyssey

Download on GameBanana

Screenshot of Bob-Omb Battlefield Remake in Super Mario Odyssey

After moving on from modding Super Mario Galaxy, I participated in the Super Mario Odyssey scene for a while. I participated in the first ever texture replacement that was done for the game, and it's one of the fondest memories I have of the modding community.

My favorite project was by far when I teamed up with fellow modders MelonSpeedruns and JuPaHe64 to recreate the level Bob-Omb Battlefield from Super Mario 64, in the modern game. This was a really large project, and gave me my first taste of game development in a team. Getting the see-saw platform to move (without crashing the game!), designing the different challenges, and watching streamers and news outlets react to the mod was incredibly fun, and really kickstarted my eventual choice of game development as a major. I'm tremendously thankful to everyone in the community who helped me discover this, and worked with me on various projects.

You can download the mod on GameBanana, and view the release trailer on Piped.


Sud💜ku

Open on GitHub

As I set up my de-Googled phone, one app I could not find a satisfying FOSS replacement for was my Sudoku app.
I decided to instead write this one both as a way to learn Flutter/Dart and as a surprise present for a friend.
It turned out very polished, and I am really happy with it! It is published on the free and open source F-Droid app store.

Get it on F-Droid

Celsior and ChASM

Open Celsior on GitHub

Open ChASM on GitHub

Screenshot of Celsior emulator

Thanks to my fascination about low-level programming, a friend and I embarked on the journey of designing a custom CPU from scratch.

We chose Celsior as the CPU's name, as it means “stronger” in Latin. We called its instruction set CASM, which stands for “Celsior ASeMbly,” and it can be compiled from the higher level language “ChASM” (this one's just a pun).

Although the CoViD-19 pandemic never allowed us to finish building the physical board, I did produce an emulator and ChASM compiler, alongside a CASM assembler.

Developing a new programming language came with many, many challenges. The largest of which: how does the readable code turn into assembly?

Over a whole summer, I followed Dr. Jack Crenshaw's series and adapted the ideas he presents to Celsior's assembly language.
The ChASM language supports:

I acquiesced writing the IDE in Java (Swing library) as it was the language I was the most comfortable with at the time.
Some of my favorite features that I programmed into the cross-platform IDE are:

Screenshot of the ChASM IDE

Biit Saber

Screenshot of Beat Saber on the Wii

This project aims to “demake” the Virtual Reality game Beat Saber on the Nintendo Wii console.
I planned to use the ideas from this writeup in order to achieve accurate 6DOF tracking on the Wiimote.

I learned to use the Wii's GX GPU API to render sabers and blocks, the JSON format to parse user-generated maps, and the wiiuse library to interface with the Wiimotes.


YouTube

Note that links to this platform go through my Piped instance, a service which proxies YouTube URLs for a cleaner privacy-friendly frontend.

I have always loved sharing what I do with others. One way I used to do this was through publishing Nintendo-related tutorials and gameplay on the proprietary video sharing platform YouTube.

My YouTube channel reached around 3,000 subscribers when it was most active, with most of my videos reaching over 20K views, and one reaching well over 100K. Unfortunately, many of the more popular videos have been unfairly taken down by Nintendo, and shortly afterwards I lost interest in the platform. However, hundreds of my livestreams were preserved in a playlist.


Epilogue

Click here for more information on this website.

My website is inspired by this masterpiece.

This website is fully developed and hosted by myself using exclusively Free (Libre) Open Source Software, including but not limited to Neovim, NGINX, and Linux itself.

I have licensed this page under CC0 (public domain).

The font used is Lexend, which has been shown to improve reading proficiency and accessibility. Licensed under the Open Font License.

Find me on Matrix

Matrix

Follow me on Mastodon

Mastodon

See my projects on Gitea

See my projects on GitHub

Send me an email (business)

Mail (business)