A small wrapper for Kinect V2 SDK for GameMaker games - mostly handy for using the sensor as a color and/or depth camera.
Links: GitHub repository
This is a page with a tagged list of things I made!
It is by no means complete (some projects are small, some stay under NDAs, some I might forget to add), but I tried to include everything of interest.
Also see:
Last updated in March 2021.
You can click on section titles to expand/collapse them, and click on tags to only show sections that have that tag.
Quick display controls:
Expand allCollapse all
Programming languages:
Haxe C/C++ C# Lua JavaScript
Game engines:
GameMaker Unity Construct
Tags explained:
Compiler Compilers, transpilers, and interpreters (see descriptions for specifics).
Netcode Online multiplayer and related features.
Format Projects involving file format implementations - documented or not.
Hook Projects involving function hooking, memory scanning, and so on.
Mod Unofficial or semi-official modifications for games.
Web Web-based (read: runs in a browser) projects.
SDK SDK wrappers and implementations.
A small wrapper for Kinect V2 SDK for GameMaker games - mostly handy for using the sensor as a color and/or depth camera.
Links: GitHub repository
A simple wrapper for The Eye Tribe's eye tracker SDK for use in GameMaker.
Links: GitHub repository
I'm doing netcode for the sequel to the award-winning bushido brawler!
Links: Read more · Twitter account · Discord server
A remake of my 2009 icon converter in Haxe and modern HTML5.
Links: Online version · Blog post
Minimalistic (read: mouse_event
) mouse simulation for GameMaker games.
Links: GitHub repository
A GIF reader for GameMaker games!
Links: GitHub repository
Tricks and function hooking to hot-swap shaders in GameMaker games.
Links: GitHub repository
I wrote netcode for this arkanoid-platformer ballbusting title!
Links: Read more · Steam page · Discord server
A tool for repairing GameMaker Studio 2.2 projects
Links: itch.io page · GitHub repository
A web-based tool for converting bitmap fonts into TTF files. A successor of BitFontReader.
Links: Online version · Blog post
For April Fools 2020 I decided to pick no low-hanging fruit and made a tech demo of code in a GameMaker project live-reloading into Unity. Also a good showcase of why I like Haxe.
Links: Blog post
Allows changing window icons / taskbar badges for GameMaker, C# WinForms, and Unity.
Links: GitHub repository
A multi-version mod for Nova Drift that uses DLL injection to add a number of quality-of-life tweaks... and optionally give spaceship 6 legs to scuttle with.
Links: itch.io page
Allows capturing arbitrary parts of screen into Texture2Ds in Unity games.
Links: itch.io page · Asset Store
I once wrote a tool to perform static analysis and generate equivalent C# code for gradually migrating a GameMaker project to C# and Unity.
Links: Read more
A tool to convert GameMaker Studio 2 projects back to GMS1 format.
Links: GitHub repository
A haxe-based wrapper for mod.io API that is used for the official GameMaker SDK and can be used with Haxe or JS for simple (read: no browser embed) access with no extra dependencies.
Links: GitHub repository
A tool to aid with version control branch merges and project manipulation in GameMaker Studio 2 - from a time before this was handled correctly "out of box" in GMS2.3+
Links: itch.io page · GitHub repository
Uses various high-end tricks to enable a variety of "offline" GameMaker games to be played over the internet in a form of deterministic lockstep simulation.
Links: itch.io page
A mod that adds SUPERHOT-esque mechanics to Unexplored, a top-down roguelite game with spectacular level generation and mechanical depth.
Links: itch.io page
Monkey-patched internal functions to implement exception handling in GameMaker long before the language officially supported exception handling.
Links: itch.io page
I wrote the modding system (with a GMS2-equivalent scripting language) and the "backend" for the netcode of the award-winning idle & crafting game... before the game fell apart, that is.
Links: Read more
Allows GameMaker games to distinguish between input from multiple mice/keyboards.
Links: itch.io page
Monkey-patches an internal function to allow GameMaker HTML5 games to use Data URIs in place of any file/URL path.
Links: itch.io page
A tool that converts GameMaker rooms to a JSON format and an extension to load them.
Links: itch.io page
I wrote netcode, level sharing, and leaderboard systems for this multiplayer sandbox 'racing' game.
Links: Read more · Official website · Discord server
Allows GameMaker games to generate specification-compliant ZIP archives.
Links: GitHub repository
I wrote netcode for this little volleyball-inspired game.
Links: itch.io page
I wrote a two-part tutorial on writing custom scripting languages and an example GML-like language for it!
Links: Blog post · GitHub repository
Allows capturing arbitrary parts of screen into surfaces in GameMaker games.
Links: itch.io page
Early 2018 I was commissioned to work on series of small fixes for GameMaker's HTML5 target.
Links: Read more
A GOG.com SDK wrapper for GameMaker games.
Links: GitHub repository
An Electron-based code editor for GameMaker projects with themes, plugin support, and countless convenience features over the default IDE.
Links: itch.io page · GitHub repository
In 2017 one of the clients had found themselves in an unfortunate situation after their first developer decided to code a matchmaking server for a large-ish (100+ CCU) turn-based game in GameMaker.
GameMaker didn't have exception handling back then, so the entire server would crash rather easily on any logic mishaps. After realizing the direness of the situation, the developer promptly evaporated.
I was commissioned to write a custom compiler which, by utilizing both type inference and manual type hints, would convert dynamically typed GML code into statically typed Haxe. Doing so allowed to utilize Haxe's exception handling (meaning that bugs would only affect their respective match at worst) and added performance from targeting strictly-typed C++.
Although the project had long concluded, my research lives on in my blog posts - so, when I want interactive demo(s) in a post (examples: 1, 2, 3, 4...), I write them in GMLive.js first, convert them to Haxe, and pair them with a little framework that implements a handful of GameMaker functions while eliminating anything unused via DCE. The result is mere kilobytes of JS code.
Links: Screenshot
A tool for manipulating Heat Signature's character files.
Links: Online version
I made the "official unofficial" online multiplayer mod for Caveblazers, an roguelite action platformer game.
Links: Blog post · Steam page
zlib [de-]compression from a time before GameMaker had built-in functions for it.
Links: GitHub repository
A live-coding extension for GameMaker!
Allows hot-reloading scripts, sprites, shaders, and rooms, making widely considered one of the most useful GameMaker extensions to date.
Scripting runtime expands upon my earlier work with GMLive.js and Nuclear Throne Together.
Links: Blog post · itch.io page · GM Marketplace page
After working on Nuclear Throne Together for a year, I have been approached to help with development of base game, which resulted in game's update 99, and later the Switch port.
A specification-complaint JSON encoder/decoder for GameMaker games. The extension allowed for garbage-collected JSON objects before built-in functions for them were introduced in 2020.
Links: Blog post · itch.io page
Allows to integrate Lua scripting in GameMaker games!
Links: itch.io page
I [re-]wrote netcode and made the scripting system for the indie platform fighting game!
I also worked on adapting the systems for the game's Switch port.
Links: Read more · Official website · Steam page · Discord server
I wrote netcode for Gutter Arcade's action platform-fighting game and have been working on netcode for the game's sequel prior to it being put on hold in 2021.
Links: Read more · Official website · Steam page
A tool to explore sprites and textures in GameMaker games.
Links: Online version
Allows GameMaker and Construct 2 games to offer the user to save screenshot PNGs.
Links: itch.io page
A simpler Steamworks SDK wrapper for old versions of GameMaker.
Links: GitHub repository
At some point I wrote someone a DLL to do binary communication over a COM port, which was used to pipe data to series of 7-segment indicators on a billboard.
Links: (what am I supposed to show here? I don't have any COM devices on hand)
Improves upon GameMaker's INI support by introducing support for escape characters, ability to manage multiple INI files at once, preservation of comments/formatting, and so on.
Links: Blog post · itch.io page
Following news of AM2R receiving a DMCA takedown request from Nintendo, I set off with an ambitious task to reconstruct the game's source code from the available binaries.
The project was structured in a way so that the reconstructed repository would be void of Nintendo's copyrighted works. Subsequent community-made updates are based on it.
Links: GitLab repository
I did netcode for Indie Pogo, a platformer pogo brawler game for 2-4 players with an impressing number of cameo characters.
Links: Read more · Official website · Steam page
I was doing netcode for Kerfuffle, a platformer fighting game for 2..4 games.
Alas, the game was eventually put on hold, but I did do netcode for Knight Club too.
Links: Read more
I wrote netcode for Hive Jump, a run-and-gun arcade-ish rogue-lite game.
Due to various reasons, it wasn't the very best.
Links: Read more
I did netcode for this platformer MOBA/Tower Defense hybrid.
Though "did netcode" seems like a generous statement given that all I did was give permission to the game's artist to reuse the tech that I made for our previous collaboration, and have never even seen the game's source code. Still, I'm credited for netcode in-game.
Links: Steam page
A 3d first-person arena shooter inspired by Doom, Quake, and a particular cue sport.
Links: Blog post · itch.io page · GitHub repository
A web-based tool that compiles and runs snippets of GML code right in the browser.
Spots a custom GML➜JS transpiler that pairs code up with GameMaker HTML5 runtime.
Links: Read more · Blog post · Online version
I made a Nuclear Throne mod that does a whole lot of things:
I was later hired to work on Nuclear Throne itself, incorporating many of my fixes and improvements into the base game.
Links: Read more · Blog post · Blog tag · itch.io page
I was at some point developing a scripting language with type inference for use in one of the contract projects. The project had not seen a release, though some of the ideas would live on in my later compiler works.
Links: Twitter thread
A wrapper extension for Steamworks SDK that implements numerous functions not covered by GameMaker out of box (networking, matchmaking, Steam Input, etc.).
Links: GitHub repository
I wrote netcode for this delightful 1-3 player snake game.
Links: Read more · itch.io page
An online multiplayer mod for the jam version of Vlambeer's Nuclear Throne.
Links: Read more · itch.io page
An online multiplayer mod for Vlambeer's Super Crate Box, also adding a versus mode and various options/improvements.
Links: Read more · itch.io page
A short minimalistic platformer game made with pico-8.
Links: itch.io page
I was hired to fix the game's netcode, subsequently hired to rewrite it to work well enough, and wrote netcode for the various releases of the game.
Links: Read more · Official website · Steam page
A web-based companion/mini-wiki web application for Terraria.
Noteworthy for extracting information directly from the game's files.
Links: Online version
A custom Haxe compiler module to generate compact Lua code for use with pico-8.
Links: Blog post · GitHub repository
A custom Haxe compiler module to allow generating GameMaker Language code from Haxe.
Development started in 2015 to make it feasible to write complex code for GameMaker games, and the project was publicly available since 2018.
Links: Read more · itch.io page · GitHub repository
I wrote netcode, a platformer engine, and various bits of UI for this asymmetric versus platformer game.
Links: Read more · Official website · Steam page
A web-based tool for converting bitmap fonts into BitFontMaker2-compatible format to allow exporting them to TTF. I would later improve upon the process in Pixel Font Converter.
Links: Blog post
A mod for Derek Yu's Spelunky Classic that adds online multiplayer and a number of fixes/tweaks/features.
Links: Read more · Blog post · itch.io page · GameJolt page
A Construct 2 extension wrapping GameJolt's JavaScript SDK.
Links: Blog post
A web-based character editor for Terraria.
With millions of pageviews, technically one of my most popular tools!
Links: Online version · Blog post · Read more
A 2-player action game where the players compete to paint the field in their color while fighting the other player.
Links: Read more · itch.io page
I at some point made this little application that would dock a panel with on-screen keys to cover things that Win8 on-screen keyboard wouldn't offer out of box. Dedicated to days messing around with a x86 Win8 tablet.
Links: Screenshot
Sometime in 2013 I had prototyped a lockstep netcode system without knowing what lockstep netcode is - purely on assumption that this must be how netcode in emulators works.
Me and a friend would then mess around and make various little 2P games/mods with no strong direction (first-person game, third-person race, among others), finished titles being Color Ninjas and Spelunky SD.
An IDE and a custom programming language for logical scheme simulation developed for use in local universities.
Links: Read more
A custom HTML5 backend for OpenFL framework with focus on performance and application development - by targeting Flash+HTML5, a web app could run on more or less every desktop or mobile browser. As HTML5 support in browsers improved, this became unnecessary.
Links: Read more · GitHub repository
A JavaScript minifier for Haxe-generated code that supports Reflection API.
Links: Read more · GitHub repository
A demake of a Flash game Impasse written entirely in MCS-51 (8051) assembly.
Links: Read more
I have spent some time in 2012 messing around with LÖVE framework. No games came out of this, but I wrote some blog posts.
My time "playing" Minecraft was split between:
Eventually it became too much effort to keep updating client-side mods and I stopped actively playing the game.
A predecessor of LDLS-m, written in AS3 and MinimalComps.
Primarily exists because I was sufficiently upset with a 16-bit DOS program used for the course and made an assumption that I could make a replica of it over a weekend (which I did).
Had its own assembly-like programming language (much like the original), a bytecode interpreter, and a simple debugger.
Links: Screenshot
A 360-degree platformer game made for a GameMaker Community Jam.
Links: Read more
A "Pipe Dream"-like game that I made for Kongregate's "Game in ten days" jam #13.
The restriction was that the compiled SWF must be 10KB or less. My 5KB entry took 1st place.
Links: Kongregate page · SWF file · Screenshot
I helped fix a handful of issues in this HTML5 game engine, eventually being credited as co-author. Development had since ceased and the engine was open-sourced.
Links: Official website
An ambient top-down exploration game with procedural generation made for PunkWeek game jam. Technically impressive but without much content. Took 3rd place.
Links: Screenshot
For desktop and Flash Lite 4 compatible Android devices.
Links: Screenshot
A short first-person 3d platformer with a "Shrinking" theme.
Written in 3d GameStudio's C dialect.
Perhaps the first game of mine to receive any real media coverage.
Links: Read more · GameJolt page
Posed with the task of porting a handful of client's low-complexity games from GameMaker to Flash, I decided to automate the process.
The result was a hilarious abomination:
In the end, the project was successfully used for intended purposes, I did some tests with larger games, and left the idea.
A small, Flash-based icon converter tool. Received a rewrite a decade later.
Links: Screenshot
My oldest attempt at doing netcode that I could find - after doing some basic tests with pong and alike, I decided to make a sandbox-ish thing where players could build/navigate a persistent world - with chunks, region ownership, and alike.
The idea was eventually abandoned as GameMaker couldn't export Linux executables back then, renting a Windows server was expensive, and I didn't want to rewrite the server in another programming language.
Links: Screenshot (from archive - couldn't find the game's DLL dependencies)
My earliest released game that still works, I think? A small arena shooter with AI opponents.
Links: GameJolt page