I am building GTW — Game Trainer Workbench, a free and open-source Windows application for creating, organizing, validating, and maintaining personal game-training tools for legally owned, offline single-player PC games.
This project is motivated by how I actually play games.
I enjoy RPGs, strategy games, progression systems, experimentation, post-game grinding, character development, and understanding how game systems work beneath the surface. Sometimes I want to reduce repetitive grinding. Sometimes I want to test a build, recover from a frustrating limitation, experiment with values, or revisit a game without repeating dozens of hours of progression.
Existing trainers can help, but they often introduce a different set of problems:
- They come from sources that are difficult to evaluate.
- Their behavior is rarely transparent.
- They may stop working after a game update.
- They usually provide no meaningful explanation of what they modify.
- Each trainer is normally a separate executable with its own interface and maintenance model.
- When support disappears, the user has little ability to repair or understand it.
GTW is my attempt to build the personal game-training platform I would want to use myself.
The long-term vision is a single local application where I can:
- Maintain a library of the PC games I own.
- See which games and versions are currently supported.
- Enable reversible training capabilities from one consistent interface.
- Understand exactly what each capability reads or changes.
- Detect when a game update invalidates an existing profile.
- Keep unsafe or unverified capabilities disabled automatically.
- Restore original values after an experiment.
- Add support for newly acquired games through a structured development workflow.
- Use powerful AI models to help investigate changes, analyze evidence, write tests, and propose updates when game versions change.
- Review every AI-generated change before it is allowed to affect a running game.
The goal is not simply to build another collection of trainers. The goal is to create a version-aware game-training workbench that can continue growing alongside a personal game library.
Why C# and .NET 10
The project began with an evaluation of existing Rust and C# memory-scanning foundations, including whether it made sense to fork an established scanner.
Rust is an excellent choice for high-performance scanning engines, but GTW is broader than a scanner. It also needs a Windows desktop application, game profiles, module loading, compatibility management, diagnostics, testing, restoration, structured logging, and an eventual AI-assisted review workflow.
C# and .NET 10 were selected because they provide the best overall fit for this specific product:
- GTW is intentionally Windows-first.
- Win32 memory APIs can be accessed directly through controlled P/Invoke boundaries.
- .NET provides a mature environment for desktop interfaces, dependency injection, testing, structured configuration, and modular application design.
- C# is well suited to code that must remain readable and reviewable as AI assists with future maintenance.
- Unity integration can eventually benefit from the shared .NET ecosystem surrounding BepInEx.
- Performance-sensitive scanning components can still be replaced or supplemented by a Rust engine later without rebuilding the entire application.
The architecture preserves that option through replaceable interfaces rather than binding the application to one scanner implementation.
Architectural principles
GTW is being designed around a few strict principles.
Write-disabled by default
A capability cannot write simply because it knows an address.
The application must first establish that:
- The profile is valid.
- The executable fingerprint matches a supported game version.
- The location was resolved through an evidence-backed method.
- The current value satisfies the expected constraints.
- The original value was captured for restoration.
- The session passed the applicable safety checks.
Read-only sessions and write-authorized sessions are represented by different types. Write authority is intentionally difficult to obtain and cannot be created by ordinary game-module code.
Version-aware rather than address-dependent
A raw memory address is temporary and insufficient.
GTW profiles describe how a value is located using evidence such as:
- Module-relative offsets
- Pointer chains
- Signatures
- Symbols
- Human-readable descriptions
- Validation conditions
- Supported executable fingerprints
- Provenance and test results
A bare absolute address is rejected by the profile schema.
When a game changes, GTW should identify the profile as unverified rather than continuing to write through outdated assumptions.
Reversible by construction
Every approved write captures the original state first.
The current vertical slice can:
- Read a value
- Validate it
- Write a new value
- Verify the write
- Maintain the value through a freeze loop
- Stop freezing
- Restore the original value
The write implementation does not inject threads, install drivers, hide the process, or change page protections.
Least privilege
The read-only Windows adapter requests only the process permissions needed to inspect memory.
Write permissions are isolated into a separate assembly and are introduced only after validation succeeds. The project explicitly avoids PROCESS_ALL_ACCESS, kernel components, process hiding, endpoint-security interference, and unrelated native privileges.
Fail closed
Uncertainty does not become permission.
Unsupported schema versions, invalid profiles, fingerprint mismatches, ambiguous scan results, unreadable memory regions, incomplete reads, inconclusive session-safety checks, and failed validation all keep writes disabled.
Evidence before automation
AI is intended to assist the engineering process—not replace validation.
The future AI workspace is designed to help:
- Compare an old supported game version with a new one.
- Analyze diagnostic evidence.
- Review scan results.
- Propose updated locators or module code.
- Add and run tests.
- Explain risks and assumptions.
- Produce a reviewable commit or pull-request-style package.
- Preserve rollback instructions.
AI-generated code will remain inactive until a human reviews and approves it. A successful compilation will never be treated as proof that a trainer still works safely.
What currently works
GTW is already more than an architecture document.
The current codebase includes:
- C# and .NET 10 solution architecture
- Apache 2.0 licensing
- Versioned game-profile and capability schemas
- Fail-closed schema and semantic validation
- Executable SHA-256 fingerprinting
- PE version information extraction
- A harmless test process that simulates game values and breaking version updates
- Least-privilege read-only Windows process access
- Process-instance identity checks that protect against PID reuse
- Region-validated and exact-length memory reads
- Validated, read-back-verified memory writes
- Restoration snapshots
- Freeze and unfreeze behavior
- Compatibility reporting
- Exact-value, range, and signature scanning
- Successive scan narrowing
- A command-line workflow that can discover a value without knowing its address beforehand
- Classification of discovered addresses as module-relative or dynamically allocated
- Generation of reusable locator fragments for stable module-relative results
- A fail-closed guard for known anti-cheat modules, processes, and services
- More than 100 automated tests across domain, Windows integration, scanning, safety, and command-line behavior
The automated testing is performed against a harmless target built specifically for this repository rather than treating a commercial game as a CI test fixture.
What comes next
The current project is a working engineering foundation and command-line prototype. It is not yet the polished application I ultimately intend to use.
Major upcoming work includes:
- Pointer-chain and signature-anchored resolution for dynamic heap values
- A local game library
- Installed-game discovery
- A profile registry
- A desktop interface
- Hotkey management
- Health checks
- Centralized restoration and rollback
- Structured audit history
- Game-module packaging
- Bounded AI-assisted module development
- Optional Unity, Unreal Engine, and RE Engine adapters
- Initial supported-game profiles
The first practical milestone is a complete end-to-end flow where a supported game can be discovered, fingerprinted, matched to a validated profile, safely modified, restored, and automatically marked unsupported when its executable changes.
Project boundaries
GTW is being built for:
- Games the user legally owns
- Local use
- Offline and single-player sessions
- User-mode operation
- Reversible experimentation
- Transparent and reviewable capabilities
It is not being built for:
- Multiplayer cheating
- Competitive advantages
- Anti-cheat bypasses
- Stealth or process hiding
- Kernel drivers
- Security-software interference
- Unreviewed trainer downloads
- Automatic activation of AI-generated code
Known anti-cheat detection results in refusal, not circumvention.
Open-source direction
GTW will be released under the Apache License 2.0.
The intention is to keep the source code, application, schemas, safety improvements, compatibility fixes, documentation, and essential functionality freely available.
Optional financial support may be introduced through GitHub Sponsors and a simple one-time-support platform. Contributions would help fund development tools, AI-assisted engineering costs, testing, documentation, code signing, and legally acquired games for compatibility research.
Support would remain voluntary. The public project would not be intentionally weakened to create a paid version.
The guiding principle is:
Everyone receives the software. Supporters help make its continued development sustainable.
The repository is currently private while I finish the public README, contribution guidance, documentation reconciliation, and initial release posture.
Repository: github.com/nhlutterodt/game_trainer_project
Technology: C# / .NET 10 / Windows
License: Apache 2.0
Current stage: Active development and working command-line prototype
Public release: Planned after the repository’s launch documentation and safety review are complete
I am especially interested in feedback from Windows and .NET developers, software architects, reverse-engineering educators, game modders, security reviewers, technical writers, and open-source maintainers.
GTW is still early, but the foundation is now strong enough that the larger vision feels achievable: one transparent, maintainable, AI-assisted workbench for the offline games I own today and the games I will add to my library in the future.


