Hi! I'm Stéfan, a 21 years old passionate programmer and video game enthusiast. I love to take on interesting and challenging video game related projects.

Reach me out via oumansour.stefan@gmail.com
GitHub - Linkedin
See my resume (EN - FR)

Background

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.

Projects

Cubed

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:

  • Procedural terrain generation,
  • ImGui integration,
  • Biomes,
  • Basic terrain viewer,
  • Collision detection and response,
  • Water physics,
  • Third person and first person view,
  • Hand-made player animations,
  • Custom Blender animation and mesh exporter,
  • Animation blending and state machines,
  • Breaking and placing blocks,
  • Simple shader preprocessor

Mountains and terrain view Third person view and animations!

Skeletal Animation

Skeletal-Animation Skeletal-Animation

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!

Yet Another Language

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!

Skills

Languages
  • C
  • C++
  • C#
  • Jai
  • GLSL
  • x86 Assembly
  • Python
  • Javascript
  • HTML/CSS
Engines, Libraries & Tools
  • Unity
  • Unreal Engine
  • Game Maker Studio
  • MonoGame
  • ImGui
  • OpenGL
  • Blender
Fields
  • Engine
  • Animation
  • Graphics
  • Tools