OpenForge
Taking a system apart to understand its rules.

Game-specific controls, organised in one desktop application.
A game manifest
Declarative TOML and RON describe the game and its controls.
An engine adapter
Rust backends handle the parts that differ between engines.
One desktop home
A Tauri application brings the library, trainer, and mods together.
OpenForge is my open-source Windows desktop application for offline single-player game trainers and mods. I wanted the game library, its controls, and the code behind those controls to belong to the same tool. The actual screens above show that arrangement: select a game, then move between its trainer and mod options.
One application, different games
I built the interface with Tauri and TypeScript; Rust handles the engine-specific work underneath it. A game definition describes the features the interface should expose. TOML and RON files keep those definitions inspectable alongside the code.
That split is the part I find interesting. Adding a game should not mean designing another launcher. A game definition can describe the controls while an engine adapter deals with the mechanics that differ between titles.
From a control to its implementation
The screenshots show an example game workspace, including trainer controls and a separate Mods tab. They are captures from the repository, so the visible options belong to that recorded build. Supported games and features continue to live in the source.
I like being able to follow a button down into the system it changes. OpenForge is where I work on that in Rust, behind an interface I can use myself. That interest in understandable device capabilities also turns up in Aster.
Open the project
OpenForge is available under the MIT license. The repository includes the application, game definitions, engine architecture, and authoring documentation. It is built for offline single-player use.
Sources & further reading
What I built, and the history behind it, is my first-person account. The links above back up the product descriptions and implementation details.