Alex McColm

Projects

Ordered here from most recent to oldest.

Tagalog Wordle Implementation

Click here to play the game!

This spin on Worlde uses Tagalog-language words of lengths 6 and 8 letters. The React frontend makes queries to a REST API, implemented with FastAPI, which in turn talks to a PostgreSQL database.

CHIP8 Emulator (Interpreter)

An interpreter for the CHIP8 assembly-like programming language. The project resembles writing an emulator for an old gaming system, and many ROMs are available. I wrote my interpreter in C++ also making use of SDL2. In the screenshot I'm playing Breakout with the interpreter.

Click here for the repo where you can download chip-emu.

Leetcode Badge Generator

I love old-web style 88x31 buttons, and built a simple web app to take a Leetcode username and generate a badge with their number of easy, medium, and hard problems solved. The backend is written in Python with FastAPI, making use of a SQLite database and queries to Leetcode's GraphQL database. The front end is simple HTML and JS, and is my first time using Javascript. Currently working on extending this to generate different graphics.

Click here to try it out!

Pomodoro Tkinter App

I built a study/work timer app real quick with the Python tkinter module. I find the pomodoro timer really helpful when I am trying to study or work and also found it silly I was using a web app for it all this time. The app is built in an object-oriented way.

This Site

This website is built in HTML and CSS and run on my own server, a Raspberry Pi, using Nginx. It renews its SSL certificate with the Certbot snap. I've already learned a lot, troubleshooting some self-hosting problems: how to use Nginx, installing a newer version of RPi OS on my Raspberry Pi, port forwarding with my router, and hopefully many more...

The site still has a long way to go. I plan to have a more interesting design soon.

World Path

A game for the Nintendo DS that has the player make paths between countries on the world map. Uses graph theory and breadth first search. A reimplementation of Travle by Oisin Carroll. Test-driven development from scratch in C and making use of the Check library for unit testing, and NightFoxLib which builds on LibNDS for Nintendo DS homebrew applications. Done, with dots on the world map as visual aid. Released the second development build May 2024.

Readability Calculator

A tool which estimates the level of education required to read English writing without difficulty, based on the Dale-Chall formula developed in the 1940s for public communications and marketing. First development build released on Github for Linux.

Roguelike Level Generator

Used a binary partitioning algorithm, implemented in C#, to generate varied and interesting dungeon levels for a 2D role playing game concept in the Unity Engine.

Other

I added Bezier curve drawing functionality to FPDF2, an open source Python library for drawing and rendering PDF documents. The new function can draw a cubic or quadratic Bezier curve with specified control points, end points, and line style. See my pull request here.

I contributed a couple simple functions to a "nano-like text editor built with pure C". The functions were wrappers with error handling for malloc() and realloc(). See my pull request here.

I've experimented with the Nitro Engine for 3D game development on the nintendo DS. I got as far as a functional 3d demo where the player is a bird, with flapping wings, able to fly about the demo level.