skirlez.com

Welcome!
My name is David. My username in most places is Skirlez.

I am 18 years old. I've started programming/game development around age 9 or 10, using Scratch. After a while I moved to GameMaker, and later on I started doing programming on its own, learning languages like Java. I never used HTML/CSS/Javascript before, which is likely why this site looks so bad.

On this site, you will find projects I've created or contributed to!

You can find me on:
Discord (skirlez)
GitHub
X, the Nothing app
Bluesky
















Starman from EarthBound doing an awesome kick and then staring at you for all of eternity

Projects


A level builder for Void Stranger. You can create your own levels and upload them to a Void Voyager server instance.

I think this is the most complex/impressive project on this list. Aside from the expected challenges of a level editor mod, and communicating with a server to upload/download levels, the mod has its own patching system and method to merge its code and assets with the main game. It's probably the project I enjoy working on the most.

Links:


Fabricated Exchange

A Fabric remake of the Minecraft mod ProjectE/Equivalent Exchange 2.

I love the original mod and decided to try and remake it to learn Minecraft modding. A lot is already done, and I'm very proud of how the mod is in its current state.

Links:


Untitled Assembly Game

An incredibly short game whose game logic is written in Assembly.

We had to write a game in assembly as the final project for a course. The actual rendering, audio, and input, are handled by SDL2, and there's a very small amount of C++ code... But the vast majority of the game part itself is indeed MASM assembly.

I really like how it turned out! Pretty much exactly how I had it in my head: A chaotic game where you have to manage multiple elements at once, and if you fail to handle any of them for long enough, you lose. The music, which I composed, also turned out very well, and I'm afraid I will never compose anything better.

Also, the project got a 100. Obviously!!!

Links:


cate-bossfight-gm

A remake of the Scratch game "Cate remix remix remix remix remix remix" in GameMaker.

I decided to remake this game pretty much on a whim. It's a pretty faithful recreation of the original, with enhancements like widescreen and an unlocked framerate. It also has some additional, new content...

Links: OR Play in your browser!


ZeroRanger & Void Stranger Palette Makers

These two apps allow you to make your own palettes for both of these games. The Void Stranger palette maker app is just a slightly modified version of the ZeroRanger palette maker app, so they go together. The games' palette system is basically identical.

Internally, these two are AWFULLY written. I would recommend for anyone looking to improve on this to start from scratch.

Links: (ZeroRanger), (Void Stranger)


GameMaker Nix Flake

I switched from Windows to NixOS at the very beginning of 2025 and I don't regret it. However, when I was first setting up the system, I had discovered that there was no GameMaker package on Nixpkgs!
(NixOS, of course, can't simply install the official .deb file(s))

Initially, I used distrobox to set up an Ubuntu instance and installed GameMaker there. However, there were a few issues with getting my NVIDIA GPU to work with it, and eventually I decided to write a flake.

I first assumed GameMaker just wasn't popular enough with Linux users to get a package. After making this flake, I think it's actually because it's quite an annoying piece of software to package for Nix. This is the very first flake I wrote, so I'm sure it SUCKS, but it works.

Links:


Contributions


RetroArch

I implemented scrolling sounds for RetroArch. You may find them in Settings->Audio->Menu Sounds->Enable 'Scroll' Sounds.

The audio for scrolling was made quite a while ago, but no one bothered to implement it. I think audio adds a lot to menu feel, and I love RetroArch, so I decided to spend the time to make a pull request. I also implemented the sound for closing a notice. (The sound for when notices open was implemented, but not for when they closed)

Links: