chess

Chess Bot

A chess engine written from scratch and compiled to web assembly with a simple canvas UI.
Alpha-beta pruning, transposition tables, bitboards, and more. ~1700 rating on Lichess.
Do you have what it takes to defeat the machine? Try it online!
Zig, Java Script
fractals

Fractal Rendering

Real time Mandelbrot, Julia, and Newton fractal zoom explorer.
Iterative math on complex numbers makes pretty pictures.
Rendered on the GPU, extended precision using pairs of floats.
MacOS only.
Swift, C++, Metal, SwiftUI
code

C (subset) Compiler

Targets LLVM IR or aarch64 assembly text.
Only supports a small subset of C: ifs, loops, pointers, functions, structs, arrays.
Simple VM that runs my intermediary representation for debugging.
Rust, LLVM
maze

2.5d Maze Rendering

Explore 2d mazes in first person. Dynamic lighting and portals, rendered with only vertical lines.
Maze generation based on the book Mazes for Programmers.
Try it online!
Rust, SDL
code

Lox Interpreter

A stack based, bytecode virtual machine for a dynamically typed, garbage collected, object-oriented programming language.
Based on the book Crafting Interpreters.
Try it online!
C++, Python
mods

Minecraft Mods

Added various features to Minecraft.
Some work with larger teams. Several open source contributions. 10 million cumulative downloads.
Freelance work for 40+ clients paid my university tuition.
Experince determining requirements from non-technical stakeholders.
Java, Kotlin, Forge, Fabric, Mixin
raytracer

Ray Tracer

Real time ray tracing. Supports spheres, cubes, planes, shadows, reflection, and refraction.
The same code can run on the GPU (MacOS only) or the CPU (cross platform).
Based on the book The Ray Tracer Challenge.
Rust, C++, Metal
github.com/LukeGrahamLandry