Provided as a freestanding, zero-CRT pure Win32 C++ executable and its source code/VS project.
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.
There have been a lot of reports lately about the Drosophila (муха) opening her own BAR, reviewing SEX toys, and generally living a life of pure, chaotic hedonism. Poshla Muha na bazar i kupila samovar! 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 archives like Winaero, Win7Games, and other restoration sites.
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:
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.
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.
/NODEFAULTLIB): We wrote our own memset, memcpy, memcmp, and string-to-float parsers.With.dll (via the WithExe framework) directly into the host process.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.FLYPAK1): Contains a built-in asset packer/extractor. It appends raw PNG assets and the required DLLs to its own EXE tail.%TEMP% folder for With.dll, and only extracts it from the binary tail if missing—skipping re-extraction on subsequent runs.ULW_ALPHA), transparent GDI logging console with hardcoded syntax highlighting for sensorimotor telemetry and Ostap Bender / Muha Tsokotuha quotes.Tired of the glorious Muha Tsokotuha walking across your chess board? Want to replace her with a confused ant, a sliding earthworm, or a tiny dancing lobster? 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.
Open a command prompt in your build directory and run:
FlyChess.exe /unpack
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.Head into the newly created assets\ folder:
assets\walk\ and assets\fly\ with your own custom sprites (ants, worms, cats, or memes).assets\msg\ to change her dialogue to whatever chaotic nonsense you prefer.Once you've ruined the animation frames to your complete satisfaction, pack them back into a fresh binary:
FlyChess.exe /pack
assets\ directory, compresses everything, appends it to a fresh binary, and births FlyChess_Packed.exe—now featuring your custom insect or worm.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 Муха-Цокотуха 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.
The provided ZIP file includes the complete, pre-configured Visual Studio solution. Simply open the .slnx file, select your architecture (x64), and hit Build.
If you ever try to port this code or compile it from scratch as a new project, Visual Studio will scream at you. The provided project file already contains the following necessary linker chaos baked in:
Linker -> Input -> Ignore All Default Libraries: Yes (/NODEFAULTLIB)kernel32.lib; user32.lib; gdi32.lib; shlwapi.lib to Additional Dependencies.Linker -> Advanced -> Entry Point: wWinMain (Since wWinMainCRTStartup is dead).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).FlyChess.exe. It will automatically locate chess.exe, inject itself, unpack With.dll to your %TEMP% folder if needed, and launch the overlay.