I'm a 21 years old passionate programmer and video game enthusiast, currently at 42 school in Lyon, France. I'm currently learning video game development and low level programming through many different projects, ranging from game engines, video games, text editors and programming languages. This journey started over 10 years ago when I got my first computer, and started making 2d games using Game Maker. Although my GitHub profile does not really reflect this, I've since used many different engines such as Unity, Unreal Engine, MonoGame and even made engines myself. I'm also interested in programming languages, and I've been part of the Jai closed beta since the end of 2020.
Cubed is a video game project that I started along my game development learning journey.
The goal was to produce a high quality, polished and playable Minecraft clone, featuring complex world generation,
high quality rendering, animations, monsters and multiplayer. It is currently 30k LOC and I am still actively working on it.
Check it out on Github!
Here's what is featured in Cubed as of now:
In May 2022, the developper of the Jai programming language was looking for example programs to show off the language, so I started working on skeletal-animation.
This program loads a desired 3d mesh and animation, and plays it back on the screen, allowing the user to freely move the camera around it and tweak certain parameters via a user interface.
It features a custom Blender exporter for skinned meshes and animations in a text based format.
I used this exporter code later for Cubed, extending and modifying it to export in binary format.
The animations featured in the program were hand-made by me, as well as the 3d mesh.
Check it out on GitHub!
As the name suggests, this project is a programming language project.
The goal is to learn the inner workings of a tool I use everyday: a programming language compiler!
The language currently parses and typechecks source code to produce transpiled C code, although the goal is to ultimately
produce machine code directly, either via LLVM or with a hand-written backend.
The design of the language resembles C, with safety features and defaults such as array bounds check and automatic initialization.
When the basics are nailed down, I will involve more time and effort into language design.
Check it out on GitHub!