Full Archive

Portfolio

A showcase of my hobby projects — games, software, tools, and more.

Graphics and Games

4 projects
Screenshot of Blocks

Blocks

github.com/GarrettNixSoft/Blocks

A barebones Minecraft clone written in C++ with raw Vulkan rendering.

Features simple infinite chunk generation using simplex noise, multithreaded chunk generation and meshing, chunk mesh uploads on a dedicated transfer queue, and simple block breaking/placing.

When I first learned Vulkan in 2023, I challenged myself to render Minecraft-style chunks; at the time I managed to make something that almost worked; this year I decided to go back and give it another shot, and this was the result.

Screenshot of Vulkan Game Project

Vulkan Game Project

github.com/GarrettNixSoft/VulkanGameProject

My sandbox project for exploring rendering and game engine techniques in C++ with Vulkan.

It's an interactive 3D application with a free-motion first-person camera, physics using ReactPhysics3D, audio using SoLoud, and ECS using EnTT.

The renderer features diffuse and specular lighting, with directional lights, point lights, and spotlights; shadow mapping from the directional light; and multiple camera views of the scene using a SceneCamera (render-to-texture). For fun, I implemented some basic FPS interactions, allowing bullets to be fired into the scene which interact with the cubes and spheres' physics.

JFlatGL Logo

JFlatGL

github.com/GarrettNixSoft/JFlatGL

JFlatGL is a game library written in Java on top of LWJGL3. It's a fully functional library for creating 2D games and real-time applications, with the goal of making it easy to get a game up and running quickly with just a few lines, and providing a framework to implement complex, state-based game logic.

My original intention was to use JFlatGL to build a number of 2D games, which was my main passion at the time; however, due to consistent scope creep, as well as my transition to university and work, and moving on to learn Vulkan, JFlatGL fell to the wayside. I have used it to spin up a few quick game prototypes in the years since, proving its usefulness (at least to myself!).

Screenshot of DDPC

Doki Doki Platformer Club! (DDPC)

github.com/GarrettNixSoft/DDPC-Code

Doki Doki Platformer Club! (DDPC) is a pplatformer fan-game based on the visual novel Doki Doki Literature Club by Team Salvato.

DDPC features 16 levels, challenging platforming gameplay, and a short story inspired by the original game. Originally released in May 2018, I updated the game in early 2019 to add a winter theme and a set of challenge levels for players to enjoy.

DDPC is implemented in Java using the LWJGL2 library. Rendering is done in OpenGL using the old-school fixed-function pipeline.

Software and Tools

1 project
CanvaCord Logo

CanvaCord

github.com/GarrettNixSoft/CanvaCord

A self-hosted software with a Discord Bot designed to link the Canvas education platform with a Discord Server. CanvaCord allows students to integrate Canvas and Discord to access information on assignments, announcements, due dates and more via Discord bot commands or get automatic updates for assignments, due dates, and more on a set schedule.

Miscellaneous

1 project