Skip to content
IgorTebelevPublic

About

FlyChess - NeuroMechFly Chess Titans Host. Freestanding, zero-CRT, pure Win32 C++ executable that dynamically hijacks the Microsoft Games "Chess Titans" and uses it as game engine to play with Drosophile Fly

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

⬇️ Download the latest pre-packed FlyChess.exe here

🪰 FlyChess - NeuroMechFly Chess Titans Host

No CRT Pure Win32 Powered by WithExe

FlyChess is a freestanding, zero-CRT, pure Win32 C++ executable that dynamically hijacks the Microsoft Games "Chess Titans" process by hosting it inproc not using pemapping and it does it dynamically using With.dll. It uses a transparent GDI overlay to render a procedural 3D-animated fly walking across the chess board. It intercepts window messages, rewrites the host's menus, packs/unpacks its own assets from its PE tail, and spams a custom glass-pane console with sensorimotor telemetry—all without a single byte of the C Standard Library.

📖 The Lore: Drosophila Fly / Muha Tsokotuha

There have been a lot of reports lately about the Drosophila Fly (муха) opening her own BAR, reviewing SEX toys, and generally living a life of pure, chaotic hedonism. But we decided she needed a more refined, intellectual pursuit to keep her out of trouble.

So, naturally... we decided to let the Drosophila start playing Chess. She learned to play back in 2007 by playing Microsoft Games "Chess Titans"... still compatible to recent Windows versions (10, 11) and available for download from Win7Games.com and/or other sites.

🆚 FlyChess vs. The Academic Web Counterparts

Recently, a web project (flychess-hq.vercel.app / cesp99/fly-chess) made the rounds, using a machine-learning Reservoir Computing model to make a fly connectome play terrible (~700 Elo) chess. It's a dry, sterile, academic experiment. A matrix of floating-point numbers running in a web browser. Zero comedy. Zero soul.

Here is the difference between a biological calculator and a living, shit-posting digital entity:

  • When their fly loses a piece: A number in a JavaScript array updates silently.
  • When our fly loses a piece: She panics, hallucinates about Shpak's stolen suede jackets ("Три куртки!"), and triggers a high-speed emergency evacuation from the board.
  • When their fly makes a move: A sterile web UI refreshes.
  • When our fly makes a move: She struts arrogantly across a 3D board, demands "Утром деньги, а вечером стулья!!!", and threatens to turn off the gas if the opponent doesn't take her poisoned pawn.
  • When their fly gets checkmated: The web page just stops.
  • When our fly gets checkmated: She realizes she is trapped, quotes "Да здравствует наш суд... самый гуманный суд в мире!!!", and smugly washes her face in the center of the board.

They built an ML filter. We built a zero-CRT, pure Win32 executable that forces a chaotic, hedonistic Muha Tsokotuha to hustle chess like a 1920s con artist.

Screenshot 1

🛠 Technical Bragging Rights

This codebase is a love letter to the early 2000s Windows API. We do not use the C Standard Library (<stdio.h>, <stdlib.h>). Standard libraries are bloated nonsense for cowards.

  • Zero-CRT (/NODEFAULTLIB): We wrote our own memset and string-to-float parsers in fact we can even extend those with memcpy, memcmp and others if needed.
  • Dynamic In-Proc Hosting: We don't use PE mapping. We dynamically load With.dll (via the WithExe framework) directly into the host process.
  • Aggressive Section Merging: We make all PE sections Read/Write/Execute (RWE) and violently squash .xdata, .pdata, .rdata, and .data directly into the .text section. Why? To save a few bytes and intentionally trigger heuristic antivirus engines for fun. Security is a myth.
  • Self-Packing Payload (FLYPAK1): Contains a built-in asset packer/extractor. It appends raw PNG assets and the required DLLs to its own EXE tail.
  • Smart Payload Extraction: At runtime, it checks the user's %TEMP% folder for With.dll, and only extracts it from the binary tail if missing—skipping re-extraction on subsequent runs.
  • Glass Terminal: Features a custom-built, layered (ULW_ALPHA), transparent GDI logging console with hardcoded syntax highlighting for sensorimotor telemetry and Ostap Bender / Muha Tsokotuha quotes. We are not using Directx/D3D those are for lazy programmers!!!

📦 Customizing & Unleashing the Swarm (Asset Hacking)

Tired of the glorious Drosophila Fly/Muha Tsokotuha walking across your chess board? Want to replace her with a confused ant, a sliding earthworm, tiny dancing lobster, your own picture or picture of yours enemy? The executable comes with a built-in archiver so you can rip the assets out, modify them to your absolute satisfaction, and pack them right back in.

1. Unpacking the Assets

Open a command prompt in your build directory and run:

FlyChess.exe /unpack
  • What it does: Rips the secret FLYPAK1 binary tail off the EXE, extracts all PNG animation frames and config files into an assets\ folder, and outputs a clean Fly_Chess_unpacked.exe.

2. Modifying to Your Satisfaction

Head into the newly created assets\ folder:

  • Replace the PNG frames inside assets\walk\ and assets\fly\ with your own custom sprites (ants, worms, cats, or memes).
  • Edit the text files under assets\msg\ to change her dialogue to whatever chaotic nonsense you prefer.

3. Re-packing the Monolith

Once you've ruined the animation frames to your complete satisfaction, pack them back into a fresh binary:

FlyChess.exe /pack
  • What it does: Scans your modified assets\ directory, compresses everything, appends it to a fresh binary, and births FlyChess_Packed.exe—now featuring your custom insect or worm.

🗑️ Redistribution & The Ultimate Escape Clause

You are entirely free to use, modify, redistribute, or completely and permanently delete this code from your computer at your own absolute convenience and sanity level. If the Drosophila Fly/Муха-Цокотуха starts giving you life advice or judging your chess openings too harshly, feel free to nuke the executable off your hard drive. No feelings will be hurt.

⚙ Build Instructions (MSVC)

Use provided VS project to experiment by modifying code and rebuild if you know what you are doing or even if you don't. Make sure you understand that this is no CRT project and you might need to know some exras before Flys will start compiling/linking for you. If you try to compile this like a normal project, Visual Studio will scream at you. You must configure the linker to accept the chaos:

  1. Disable the CRT:
    • Linker -> Input -> Ignore All Default Libraries: Yes (/NODEFAULTLIB)
    • Add kernel32.lib; user32.lib; gdi32.lib; shlwapi.lib to Additional Dependencies.
  2. Set the Entry Point:
    • Linker -> Advanced -> Entry Point: wWinMain (Since wWinMainCRTStartup is dead).
  3. Turn Off The Nanny State:
    • C/C++ -> Code Generation -> Security Check: Disable Security Check (/GS-)
    • C/C++ -> General -> SDL checks: No (/sdl-)
    • C/C++ -> Optimization -> Whole Program Optimization: No (/GL-) (Required so the compiler doesn't complain about our custom memset intrinsic).

♟️ Where to get Microsoft Chess Titans

Since Microsoft no longer officially distributes Chess Titans, and I refuse to host their copyrighted binaries on my GitHub ("Я чту уголовный кодекс!" — I honor the criminal code!), you will need to acquire the game yourself.

Note that you will almost never find a standalone download just for "Chess Titans." Instead, you need to look for a community installer package commonly named "Windows 7 Games for Windows 10 and 11".

Here are a few well-known archives where you can download this exact package safely:

  • Win7Games.com - The most commonly used community installer.
  • Winaero - A highly trusted Windows tweaking community that maintains a guide and safe installer for these classic games.
  • The Internet Archive - A permanently preserved copy of the multi-language installer.

(Disclaimer: I am not affiliated with these sites. Always use common sense and scan third-party executables before installing them.)

🚀 Usage

  1. Install Chess Titans (from Win7Games.com or other sites).
  2. ⬇️ Download the latest pre-packed FlyChess.exe here
  3. Double-click FlyChess.exe. It will automatically locate chess.exe, inject itself, unpack With.dll to your %TEMP% folder if needed, and launch the overlay.

🎩 The Tip Jar: Coffee, Beer, & In-Proc Hustling

I am a retired veteran of the software industry currently surviving on a fixed Social Security income—to the point where I can hardly afford my internet bill or the AI helper I use to translate my Win32 madness into readable English! I have already been forced to sell everything tangible I own; all I have left to monetize are my digital relics and system-level architectural wizardry.

Let's be brutally honest: while modern developers are out here crying over broken npm dependencies, I am raw-dogging the Windows API. I built an entire zero-CRT payload that dynamically hosts a DLL inside a foreign process without standard PE mapping, powered purely by my custom WithExe framework.

If my in-proc executable wizardry just saved your massively over-funded enterprise team from a legacy integration nightmare, or if you just want to buy an old developer a coffee, a beer, or a month of Wi-Fi, consider a tip of the hat.

Technical Support Policy: This repository is a historical, read-only time capsule. There is no active maintenance. I will absolutely not respond to your questions, bug reports, or pull requests—unless your GitHub Issue begins with a valid Bitcoin transaction ID.

Утром деньги, а вечером стулья! (Money in the morning, tech support in the evening!)

  • BTC (Bitcoin): 3CVm3CZ3JoRv7jW8ypkYfUED599hdorJgJ

Bitcoin Tip Jar QR Code 3CVm3CZ3JoRv7jW8ypkYfUED599hdorJgJ

Thank you!


Copyright Igor G. Tebelev TIG(c) 2026 GitHub: @IgorTebelev

About

FlyChess - NeuroMechFly Chess Titans Host. Freestanding, zero-CRT, pure Win32 C++ executable that dynamically hijacks the Microsoft Games "Chess Titans" and uses it as game engine to play with Drosophile Fly

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages