Current and Past Projects:
Fellowship of the Ring: Disk Space Fix
This forgotten game can still be played on modern systems with some effort, but has issues when installed on large hard drives (> 2 TB) due to an integer overflow bug. Specifically, you are unable to save the game due to "negative" disk space.
To fix this problem, I reverse-engineered the file-loading process and replaced the code responsible for disabling the save button with no-ops. After applying this fix, you will continue to see messages about insufficient disk space, but will no longer be prevented from saving your game.
You can download the disk space fix here.
Fill It: Restored
Another offering from Burkhard Ratheiser, Fill It! remained playable through the latter 2000s and early 2010s, but eventually reached a point where the game would launch, but the "Start" button did nothing when clicked. This prevented the game from being played at all. The bug emerged from changes in branch prediction optimization on modern CPUs, causing the game loop to no longer evaluate the condition needed to start the game.
I decompiled the game into its original Java code and implemented threaded waits to fix the errant game loop. In addition, I added bounds-checking to the player and enemies—which was not present in the original game, and had been responsible for buggy behavior even back in the early 2000s.
You can download the restored Fill It here. The Java Development Kit (JDK) is required to play.
Gulpy: Restored
This beloved game from circa 2000, originally developed by Burkhard Ratheiser, has been inaccessible to players for almost twenty years since the original site went down in 2005. Popular archival projects like Flashpoint Archive have never been able to restore this game due to missing files and mismatched versions. Other repositories point only to the original, nonexisting webpage, and even the Wayback Machine did not capture all needed files.
Now, in 2023, this game returns to its full glory. I scavenged Gulpy's many loose data files from across the web, verified their integrity and version compatibility, fixed issues with the game's texture atlas, and assembled it all into the original 50-level experience. The game is now fully playable on modern hardware.
You can download Gulpy here. The Java Development Kit (JDK) is required to play.
Case Study: Enabling Mod Support in Crysis 3
April 2021 Update: apparently my tool was too popular! EA released a patch to shut down the mechanism that I was using to provide mod support in Crysis 3. I am still investigating a workaround—in the meantime, please stay on the older version if you want mods to work.
Crysis 3 is a frustrating game from the modder's point of view. For over seven years, this game has rejected virtually every attempt at modding: whether to deliver new textures, maps, or community bug fixes. Crytek offered us the free CryEngine SDK in lieu of native mod support. Unfortunately, that SDK only allows the creation of new games and is useless for modding Crysis 3 itself.
After spending four very long days with IDA Pro, HxD, and Cheat Engine, I was able to analyze the highly obfuscated Crysis 3 executable and discover how the asset files were encrypted. I then developed a tool that would decrypt the game files and re-encrypt them with a public modder's key, thereby allowing everyone to create and share their own mods. This tool avoids copyright infringement by working directly with the user's legal copy of Crysis 3—no copyrighted game files are distributed by this tool, and no such files will EVER leave the user's computer.
The Crysis 3 Mod Enabler is freely available for anyone to use under a Creative Commons license (see the readme for more details). This tool backs up your game folder as a safety precaution; as such, you will need approximately 30 GB of free space on your computer to use it. You must already possess a legal copy of the most recent Crysis 3 version (on Origin) before using this tool. Only single-player mods are supported. Do NOT use this mod in multiplayer or you might get banned!
The Crysis 3 Mod Enabler does not come with any mods of its own. But please consider giving my NanoContinuity Mod for Crysis 3, the first mod ever for Crysis 3, a try!
File Crawler
File Crawler is a free Java-based search tool that is up to ten times faster than regular Windows Search. This application can search by file name, extension, size, last-modified date, and more. It can also detect duplicate files and search the contents of files such as Word or Excel documents.
Unlike other search alternatives, File Crawler fully supports regular expressions for both filenames and content to give you extra search power. IT staff and system administrators will be pleased to see an integrated file tracking and highlighting system for scrubbing those troublesome network files (in fact, this application was originally designed to find and redact social security numbers). File Crawler can be used in a full command-line mode e.g. on servers, provided Java is installed.A rare treat in these days, File Crawler does not connect in any way to the Internet and never collects or transmits data of any kind. Sensitive searches will not leave your computer/server.
While you are free to use File Crawler for any purpose you see fit, this application should not be hosted on or distributed from any other site. Source code is available here.
JavaMon
JavaMon is an extensible, open-source, fully-documented game engine which aims to provide a suite of tools and templates for developing 2D RPG-style games. The engine includes a turn-based battle engine, 2D sandbox maps, and event-based scripting. The primary languages for this engine are Java and Lua, but you need almost no programming experience to create your own game!
The engine is finished and is currently open to selected beta-testers (an open-source release is still pending). Copyrighted material is never distributed with JavaMon, ensuring that you can use it in most any project.
Wyoming Global Technology Summit
I assisted my advisor Jeff Clune with editing a video of his research talk at the Wyoming Global Technology Summit, 2017. See the video here.Web/Graphic Design
In my spare time, I do freelance web design and graphic design for clients. This includes: creating new websites, maintaining existing websites, designing logos, converting raster-based designs to vector, restoring old photos, etc. I am well versed in HTML, PHP, JavaScript, Photoshop, and many other languages and software (a complete list is available on my CV).
I also designed the website for my previous job at Brandeis University's Getz Multimedia Lab. You can check out the website here (update: this seems to be down at the moment).
Game Mods
Several of my more popular mods are listed below. Unfortunately, I don't have much time for modding games any more, so this list won't be growing very quickly.
File: | Description: |
SW:RC Rebalance | A mod that rebalances the weaponry and enemies of Star Wars: Republic Commando to better reflect established lore. For example, Destroyer Droids should be more powerful than Super Battle Droids, but they were actually weaker in the original game. Hard Mode is still just as hard in this mod (and perhaps even more so!), but combat is both more realistic and more satisfying. |
NanoContinuity for Crysis 2 | This mod reworks the Nanosuit in Crysis 2 to more faithfully resemble that from the original Crysis and Crysis Warhead. Restores Speed Mode, removes the Armor Mode energy drain, and more! When paired with the Crysis 3 variant, you can play through the entire Crysis trilogy free from the jarring "watering down" of the Nanosuit between games. |
NanoContinuity for Crysis 3 | Same as previous, but for Crysis 3. Requires the Crysis 3 Mod Enabler (see further up on this page). |
Enhanced Saber Realism | A mod for Star Wars Jedi Knight: Jedi Academy. Inspired by a previous author's work, this modification enhances lightsaber damage and dismemberment for more realistic combat. A must for this game! |
(KotOR) Items and Gameplay Mod | A mod for Star Wars Knights of the Old Republic (KotOR). Adds several new lightsaber colors, new guns, lightsaber crystals, and armor. Also overhauls the skill/stat progressions for all character classes to make them more true to their in-game description. Known to produce occasional dialogue bugs in some games (remove the *.dlg files if you have trouble). |
(KotOR) No Dark Side Corruption | With all the mods for KotOR II that remove the "dark side face" (gray/blistered skin and yellow eyes), it was strange to me that no equivalent mod seems to exist for the original KotOR. This mod removes the facial changes that normally occur as you draw closer to the Dark Side. |
ZMOD v3.1 | A mod for Diablo II: Lord of Destruction. One of my most popular mods, this was part of a larger project to create a new 5-act story building upon the ending events of the original game. While the project was ultimately abandoned due to time constraints, this modification contains many of the new items and gameplay overhauls, including a general increase in difficulty. Note that a bug in this version prevents you from defeating the Countess in Act 1 (all other quests function normally). |
Glass Duel | A multiplayer map for Star Wars Jedi Knight: Jedi Academy. Won second place in the JK3Files beginner-level map contest. |
(LotR War in the North) Drop Any Item v2 | By reverse-engineering the game, I found a way to make Lord of the Rings: War in the North drop any equipment item of your choice, including elfstones. Multiplayer-compatible! Requires Cheat Engine. Updated for increased compatibility. |
(Fallout: New Vegas) FNV Positioner v1.3 | This is THE decorating mod for Fallout: New Vegas. Move, rotate, scale, duplicate, remove, collect, and accurately place almost any object in the game—including those added by other mods. You can also save, load, and share your decorations with others. This mod is styled after the popular Skyrim mod Jaxonz Positioner, and is compatible with virtually everything. |
(TES5) Arrows to Ingots | Adds crafting recipes for converting arrows back to ingots in the popular Skyrim mod Requiem. |
(TES5) Better Low-Level Illusion | Tweaks Requiem's Illusion mechanics to make this school of magic more reliable at lower levels, and to make Fundamental/Novice spells more useful in the later game. |
(TES5) Consistent Two-Handed Bash Timing | Fixes the animations for two-handed weapons to use the same bash timing and hit-frames, making counters more reliable. If you ever noticed that timing your bashes with battleaxes and warhammers is harder than with greatswords, this is the fix for you! |
(TES5) Dragon Souls Experience System v1.6 | Converts Skyrim's experience and death system into that of Dark Souls. Skills can only increase by spending XP, which is earned by doing everything from defeating enemies to chopping wood. If you die, you return to the last visited shrine or checkpoint. If you die again before retrieving your "soul shard" (containing all of your items), you will permanently lose all gold and XP. This mod also introduces an old-school RPG class system to improve immersion and prevent you from over-generalizing your build. |
(TES5) Finders Keepers (Better Stones of Barenziah) | Stop using your browser to complete No Stone Unturned! This Skyrim mod adds a lore-friendly book to help you find all 24 stones (and also improves the final reward of that quest). |
(TES5) Guild Ranks and Progression | Are Skyrim's main guild quests breezing by too quickly for you? This mod adds skill/loyalty checks without changing the guild quests themselves. You will need to use guild-related skills and complete jobs/favors for fellow members before you can "move up" in the guild ranks. |
(TES5) Inigo Avoid All Combat | Adds a true passive mode for the popular Skyrim follower Inigo, such that he won't attack other enemies at all. |
(TES5) Lord Zapharos Actor Value Percentage Fix | A SKSE plugin fixing the broken behavior of Skyrim's GetActorValuePercent condition functions, including the Papyrus variant. Also adds a Papyrus script function for obtaining actor value modifiers. |
(TES5) Lord Zapharos Default Outfit Changer | Gives you full control over the outfits of all NPCs in Skyrim, both followers and non-followers alike. Outfits can be exported and imported, so you can share with friends. Resolves the infamous "no clothing" bugs common to follower overhauls, offers 500 unique outfit slots, and has zero performance impact on your game! |
(TES5) Lord Zapharos IO Utils | A SKSE plugin providing highly efficient, line-based reading and writing to external files (faster than Debug.Trace()). Source C++ code is included. |
(TES5) Lord Zapharos Jumping Bonus Fix | A SKSE plugin fixing the broken behavior of Skyrim's JumpingBonus actor value (which in the vanilla game did absolutely nothing). After applying this fix, the player will jump heigher (or lower) with respect to this value. |
(TES5) Lord Zapharos String Utils | A SKSE plugin providing functions for converting form IDs into strings that are independent of load order. Also allows you to efficiently convert between decimal and hex representations. Source C++ code is included. |
(TES5) Necromancy is Hated | Did you ever wonder why everyone in Skyrim denounces necromancy, but no one bats an eye when you raise the dead right in the middle of town? This mod makes NPCs attack anyone who dares to summon such vile abominations in public. |
(TES5) No Vampire Face Clipping | Removes the "sunken face" effect when you become a vampire, and also prevents beards, brows, and scars from clipping into the player face. |
(TES5) Save and Load Cells: Jaxonz Extension | Despite its immense popularity as a home decoration tool, Jaxonz Positioner does not provide the ability to transfer decorations between different characters or playthroughs. This mod allows you to save your masterpiece to a portable text file, which you can then load into a new game or share with others. Unlike other mods, this tool handles variable load orders and mod loadouts seamlessly—it's as simple as clicking "Save" and then "Load"! |
(TES5) Spriggans Fear Nettlebane | Adds a unique enchantment to Nettlebane, allowing it to deal greater damage against spriggans as befits the established game lore. |
(TES5) Stop Pushing Me! | Prevents NPCs from bumping into you and moving you around the game while in conversation. You can also instruct both NPCs and followers to stay away when taking screenshots or during indirect dialogue and cutscenes—features not offered by any other mods that attempt to solve this issue! |
(TES5) TDF Equipment Restrictions for Duelists and Assassins | The popular Skyrim mod TDF Equipment Restriction prevents you from wielding higher-grade weapons without sufficient skill (similar in spirit to Dark Souls). This mod is an extension of TDF allowing duelists to block with their weapons without separate training in Block, and allowing assassins to wield high-level daggers with only investments in Sneak. |
(TES5) The Legendary Red Eagle | Borrows an idea from Dark Souls to finally make Red Eagle's blade useful. Red Eagle's Fury deals almost no physical damage, but high fire damage (similar to Quelaag's Furysword). The variant Red Eagle's Bane is inverted, and causes nearly all undead to flee. |
(TES5) Useful Requiem Beverages | Brings unique effects to the many beverages of Skyrim, making them useful outside of pure roleplaying. Improves the White Phial to better match Requiem's enhanced difficulty curve, and modifies the Sanguine Rose to provide different roleplay options, especially for Frostfall users. |
(TES5) Vilja Avoid All Combat | Adds a passive mode for the popular Skyrim follower Vilja, such that she will almost never attack other enemies at all. |
(TES5) Wait I Know You Bug Fix | Fixes a vanilla Skyrim bug with the "Wait, I know you..." dialogue line, and also forces you into conversation with any guard who utters it. |
(TES5) Weapon and Armor Etching v1.2 | A Java-based SkyProc patcher for Skyrim that creates "etched" versions of all mod-added armor and weapons in your load order, allowing you to keep your favorite-looking weapon or armor for the entire game. Talented smiths can upgrade their mod-added blades into silver, ebony, dragonbone, and even daedric variants (especially important for Requiem, which uses such materials for core game mechanics). Light and heavy armor can also be upgraded, and all crafted items can be further enchanted or tempered. |
(TES5) Whispering Fang Unarmed Combat v1.1 | Adds a full unarmed combat system to Skyrim, including unarmed blocking, knockdown/disarm effects, and various other perks—without any gimmicky spells or cumbersome controls. Also adds new unarmed finishing move animations for wolves, spiders, etc. Requires Requiem. |