A collection of systems and graphics programming projects from my time at École 42. Written mostly in C, these cover Unix internals, rendering engines, pathfinding, and computer graphics — the kind of low-level work that shaped how I think about systems today.

Unix

42sh:

Unix shell interpreter based on Csh. Written in C.

Websocket:

Simple Linux websocket echo server. Written in C.

Computer graphics

Gaussian Blur:

24-bit bitmap image reader/writer with gaussian blur filter. Written in C.

Original gaussian-blur-normal
Blurred: kernel=20, 100x50 gaussian-blur-apply
Blurred: kernel=10, 400x400 gaussian-blur-apply_2

Fractol:

Fractal viewer: Mandelbrot, Julia, MandelCube. Written in C.

Julia julia
Mandelbrot mandelbrot

FDF:

3D wireframe mesh renderer. Written in C.

42 42_fdf
Gen gen_fdf
Pyra Pyra_fdf

Wolf3D:

Wolfenstein-style raycaster render engine with lighting effects. Written in C.

Wolf 3D wolf 3D

Raytracer:

Ray tracing render engine built from scratch. Written in C.

Sphere shadow rt_sphere_shadow
Sphere light rt_sphere_light
Tree rt_tree
Scene rt_scene

Mod 1:

3D surface generator and hydrodynamic water simulation from scratch. Written in C.

Circular rainfall (demo) surface_4
Surface 1 surface_1
Surface 2 surface_2
Surface 3 surface_3

Algorithms & Simulation

Lem-in:

Traffic flow simulator using Dijkstra's algorithm to route ants through a network of tunnels via the optimal set of paths. Written in C.

Lions vs antilopes:

Predator-prey simulation covering game engine architecture basics and pathfinding algorithms for automaton behaviour. Written in C.

lionsvsantilopes

Minimax:

Connect 4 game with AI based on minimax algorithm. Written in C.

minimax