← Back to work
01 · Game automation · 2025

Overwatch C++ Colorbot

A fully external, GPU-accelerated automation tool. Zero memory interaction — DXGI desktop duplication, a custom HLSL compute shader, and hardware-level input spoofing.

Role
Sole engineer
Stack
C++17, HLSL, DXGI
Hardware
KMBox / Interception
Status
Available for purchase

Anti-cheat assumes you'll read memory. So I didn't.

Modern game anti-cheat systems are exceptionally good at catching memory reads, injected DLLs, and kernel hooks. The whole industry of automation tools is locked in an arms race against signature scanning that I had no interest in joining.

So I flipped the model: never touch the game's process. Read the screen instead. Move the mouse with real hardware. The game has no way to tell me apart from a focused player with very fast reflexes.

Six stages, all on the GPU until they have to leave.

The hot path runs at the monitor's refresh rate. Anything CPU-side is wasted budget.

  • Capture — DXGI Desktop Duplication grabs the framebuffer with zero copies into user-space.
  • Detect — A custom HLSL compute shader runs target-color matching directly on the GPU texture, returning candidate pixel clusters.
  • Filter — Six rejection passes for false positives: flat UI panels, transparent geometry, character outlines, name plates, ability glow, kill-cam frames.
  • Score — Cluster centroid + size weighting picks the most plausible target inside the configured FOV circle.
  • Smooth — One-Euro filter on the cursor delta to kill micro-jitter without adding lag.
  • Move — KMBox or Interception fires the delta as a real USB HID packet. The OS sees a mouse, not a process.
// Snippet: HLSL compute kernel — color-distance test, single thread = 1 pixel
[numthreads(16, 16, 1)]
void CSColorMatch(uint3 id : SV_DispatchThreadID) {
    float4 px  = src[id.xy];
    float  d   = distance(px.rgb, target.rgb);
    if (d < tolerance) {
        InterlockedAdd(hits, 1u);
        InterlockedMax(maxX, id.x);
        InterlockedMin(minX, id.x);
        // ... bounding box reduction
    }
}

Builds that ship — built like one.

Custom ImGui-inspired overlay, rendered via DirectX 11 swap-chain, hot-key configurable, persists settings to a versioned config so users can roll back patches that change game behavior.

"The hardest part wasn't writing the bot. It was deciding what behavior to not ship — every too-good response makes you look like a bot."

Generalizing the engine.

The current build is Overwatch-tuned. The next generation extracts the capture / detect / move loop into a game-agnostic library, with per-title profiles for color tolerance, FOV, and target scoring. Valorant is the validation target.

Want it? Reach me on Discord.

navigate · selectGlobality v3