Cobb

About me

I'm a self-taught C++ programmer with experience in some scripting languages including Lua. I've published a variety of modifications and tools for major video games, including The Elder Scrolls V: Skyrim and Halo: Reach. Many of my works have relied on knowledge gained through software reverse-engineering, particularly x86 and x64 disassembly.

Current project

DovahKit

DovahKit is a third-party content editor for The Elder Scrolls V: Skyrim, intended as a fully-featured replacement for the official "Creation Kit" tools. Planned features include: the ability to edit all high-importance game data types; an embedded Lua script interpreter with APIs for working with game data, and APIs for creating custom dialogs and UI; and a 3D renderer for editing the game world.

The Creation Kit loads all game data in full, and its load times are typically measurable in minutes. DovahKit, by contrast, uses a multi-threaded process to scan and index game files, so that data objects can be loaded only on demand and memory usage can be kept low. It takes fewer than ten seconds for DovahKit to scan Skyrim's game data and be ready for editing.

DovahKit is programmed in C++ using the Qt UI framework. As of August 2021, it has been in development for a year.

Major works

ReachVariantTool (2020)

ReachVariantTool is a third-party editor for Halo: Reach multiplayer game modes. It can be used to edit all game options normally accessible in-game as well as several that are ordinarily hidden from players. It can also be used to edit the script code for a multiplayer game mode, allowing the creation of entirely new modes and rules. The first published proofs of concept included a fully functional recreation of Minesweeper in Halo: Reach.

ReachVariantTool is programmed in C++ using the Qt UI framework. Though much of the data it works with had already been decoded by the community, I personally decoded the settings format for "Firefight," Halo: Reach's cooperative PvE mode, by disassembling the game.

Work on ReachVariantTool began in mid-December 2019. The program was released at the start of January 2020 without the ability to edit script code. After seven months of further work, the script editor was fully implemented and released in July 2020.

ItemTrig (2019)

ItemTrig is an add-on for Elder Scrolls Online which allows users to automate a variety of inventory management tasks. Players can create "triggers," each consisting of a list of "conditions" to check and a list of "actions" to take if all conditions are met. Conditions and actions are fill-in-the-blank phrases, and by combining them, players have a great deal of flexibility in controlling how in-game items and loot are managed.

Like all Elder Scrolls Online add-ons, ItemTrig is coded in Lua, with its menus and dialogs defined using both Lua and a game-specific XML dialect.

ItemTrig's initial development took two to three months.

NorthernUI (2018)

NorthernUI is a user interface and input mod for The Elder Scrolls IV: Oblivion. It reskins the game's menus and dialogs to resemble those of its sequel, Skyrim, and also adds Xbox controller support to the game's PC version for both menu operation and general gameplay.

NorthernUI relies heavily on a custom DLL injected using a community-made DLL loader. This DLL is written in C++ but uses handwritten x86 assembly to patch and tamper with Oblivion's engine code, to improve user interface behaviors and to implement Xbox controller support via XInput. NorthernUI also features a significant amount of graphical work: Bethesda Softworks, the Elder Scrolls developers, do not allow porting their assets between games, and Oblivion and Skyrim use different formats anyway (rasters versus vectors), so NorthernUI features Skyrim look-alike graphics drawn by hand, pixel by pixel.

NorthernUI's initial development and release took approximately eight months, spanning from September 2017 to its public debut in May 2018.

Cobb Positioner (2016)

Cobb Positioner is an in-game map editor for The Elder Scrolls V: Skyrim, allowing players to reposition scenery and manipulate the game's environments during play. The editor consists of a custom DLL coded in C++, alongside content created using the game's proprietary scripting language, Papyrus. The DLL relies on a community-made DLL loader, and is used to offer both game engine hooks and faster implementations of rotation math and other complex operations.

Cobb Positioner can be combined with Atronach Crossing, an additional Skyrim mod which allows players to place houses and decorations into the game world. These two mods were originally developed as a unified pair, with initial development beginning no later than July 2014. Cobb Positioner was released in April 2016, while Atronach Crossing was released in September 2016.

Minor works

Cobb Bug Fixes (2019 - 2020)

A custom DLL capable of patching The Elder Scrolls V: Skyrim in memory and fixing a variety of relatively small issues in the game engine. Issues fixed include bugs in ranged combat, graphical and audio issues, and a "softlock" that can actively prevent players with vampire characters from progressing further in the game.

Cobb Encumbrance (2015; rebuilt in 2018)

A mod for The Elder Scrolls V: Skyrim which uses a clever workaround to alter the player's stats based on how many items they're carrying. If a script in Skyrim reacts directly to items being removed from the player's inventory, the script can end up overburdening the game's script engine; instead, Cobb Encumbrance reacts to the player closing any menu that allows them to potentially use, drop, or destroy items.

ESO Death and Resurrection (2018)

A custom DLL and associated files for The Elder Scrolls V: Skyrim, designed to implement the death and respawn systems from Elder Scrolls Online. Players who die in-game are able to respawn elsewhere, or to temporarily become a ghost and escape the area, instead of having to reload a previous save file.

This project required relatively in-depth reverse-engineering of how Skyrim handles not only character deaths, but also stealth mechanics and AI detection. The player's death needed to be intercepted, and ghostly players needed to be made totally imperceptible to all non-playable characters.

Skyrim Outfit System (2019)

A custom DLL and associated files for The Elder Scrolls V: Skyrim which allows players to separate their equipped armor from their visible appearance: players can dress their characters however they like, visually, while still being able to wear powerful armor "underneath."