Hey, my name is Chris

:(

Who am I?

I'm Chris, I just graduated from Western Univerity's Software engineering programming in 2023.

As a kid, I was fascinated by games and gained a deep curiosity about how they worked, prompting me to learn how to code. Years later, I still love exploring game development, particularly on the engine side of things.

I've also gained an interest in other facets of programming as well, such as making web applications (typically on the MERN stack), generative art, artificial intelligence, and embedded systems.

Some of my other passions include photography, playing the piano, going to the gym, snowboarding, and watching long video essays about niche topics.

Projects

:(

Ubisoft Next 2024 Programming entry | C++

My entry for Ubisoft NEXT 2024, where I build a 3D renderer ontop of Ubisoft's 2D line renderer API and then implemented a game using that engine. Contains patterns like an Entity Component System and Object pooling, as well as having its own math backbone.

:(

ryflect.ca | Mongo, Express, React, NodeJS

A once a day journaling web app built on the MERN stack, built to journal for today, and the future using time-locked entries.

:(

Tessellated Water | C++, OpenGL

A water effect made in OpenGL. Features tessellation, Gerstner wave simulations in the geometry shader, displacement maps, and phong lighting.

:(

Marching Cubes | C++, OpenGL

The Marching Cubes algorithm implemented in C++/OpenGL.

Features real-time rendering using threads, a .ply file output, phong lighting, and VBO partitioning for large vertex processing.

:(

Spline Creator | C++, OpenGL

A project that simulates the creation of splines using OpenGL's immediate mode

:(

Nintendo DS Scene Graph Renderer | C++, LibNDS, OpenGL

A fully functional Scene Graph Renderer made within the Nintendo DS using LIBNDS and to be run in the DeSMuME emulator.

Supports a SceneGraph Tree with cascading transforms, an Entity Component System, Animation keyframe LERPing, and LODs.

:(

Nintendo DS Space Game | C++, LibNDS

A 2D space SHUMP made to run on the DS using embedded graphics on the OAM and Background layers.

:(

Various Generative art | JavaScript

Projects made during a week long challenge where I set aside an hour to make a generative program a day.

:(

Rope Physics | C++, SFML

A simulation of rope physics with both static and dynamic points using verlet integration

:(

ARM DEC-SoC Snake | C, ARMv7

An embedded snake game to be run in the DE1-SoC ARMv7 microcontroller.

:(

2D Lighting demo | C++, OpenGL

The interaction of two point lights over a texture using multiplicative blending, to show light interaction

:(

2D Pixelated Water | C++, OpenGL

Inspired by Celeste, a program made to simulate pixel-aligned water with multiple adjustable paramters.

:(

Draft My Schedule Clone | Mongo, Express, Angular, Node

A draft my schedule clone made for a web development course. Has functionality like authenticated logins, managing timetables by adding/removing courses, and admin accounts with special permissions.

:(

Terminal Socket chat app | Java

A terminal based socket chat app that can host multiple clients connecting and disconnecting, where clients can talk to eachother.

:(

PlatformerGL | Java, OpenGL

A platformer made in LWJGL (OpenGL) With multiple levels and obstacles within each level. Levels are loaded from images.

:(

Space SHUMP GL | Java, OpenGL

A simple space SHUMP made in OpenGL

:(

BlocksGL | Java, OpenGL

A Tetris clone made in OpenGL (Overkill, but you live and you learn) Uses the Symmetric Rotation System and includes more Tetris classics, like wall kicks and T-Spins

:(

Game of Life | Java, Swing

An old project made to replicate Conway's game of life in Java Swing