A RayCast FPS In COBOL: Frames to STDOUT

A raycasting – A YouTube hacker built a Wolfenstein-inspired, raycasting shooter entirely in COBOL—piping raw bitmap frames to STDOUT for ffplay to assemble, while reading control input from STDIN. The result is a full game with sprites, enemy movement and attacks, plus vari
COBOL has always lived in the business world. So when a programmer decides to use it for a first-person shooter, it doesn’t just raise eyebrows—it turns the whole idea inside out.
On YouTube. [icitry] took the blunt. practical route: the only real test of whether COBOL could handle an FPS wasn’t theory. The experiment was the point. And because COBOL doesn’t come with a robust graphics stack—or the libraries you’d normally lean on for pushing pixels—[icitry] built a pipeline that looks less like game development and more like a tinkering bench project.
Each frame of the game is output as a raw bitmap to STDOUT. Then ffplay assembles those images into something that looks like gameplay. Control input enters the same way: the terminal is set to raw input, and the COBOL program reads from STDIN. It’s a workaround that’s both functional and stubbornly clever. even if it underlines how strange the starting point is.
The game itself is built around a classic Wolfenstien-style raycasting approach. [icitry] provides an explanation of the raycasting algorithm and. crucially. why implementing it in COBOL is a “silly thing to try.” That contradiction—taking the least game-like tool possible. then pushing it until it works—threads through the project. While moving toward a real playable shooter. [icitry] keeps implementing the features people expect from these games: sprites. logic to move and attack enemies. and the constant reality-check of COBOL’s limits.
The ambition doesn’t stop at raycasting. The project also adds variable-height sectors, a design choice aimed at moving the experience closer to a true DOOM clone.
By the end, the result is a complete game. It’s posted on GitHub under an Apache license, offered as code—not as a gentle introduction to COBOL, but as proof that even a business-oriented language can be dragged into the front line of something that looks like a classic FPS.
COBOL raycasting FPS ffplay STDOUT STDIN Wolfenstein DOOM clone sprites GitHub Apache license retro gaming
So they made DOOM in COBOL?? That’s actually insane.
I don’t get why you’d use COBOL for a shooter lol. Like wouldn’t it lag to death if it’s just raw bitmaps to stdout? But I guess it works so… respect? Also ffplay sounds like something my dad would use.
Wait, isn’t COBOL like… for banks and payroll? So this is basically a bank teller making a Doom clone? Kinda sounds like overengineering but also kind of cool. If it’s using STDIN/STDOUT doesn’t that mean it’s not really a “game” just a video stream? Idk I’m confused but I watched the clip and it looked legit.
Cobol FPS on GitHub under Apache license, ok sure. Next someone’s gonna run Fortnite in Excel. I mean, raycasting in COBOL feels like trying to bake a cake in a warehouse freezer. But the variable-height sectors is the part that lost me like… how do you even do that without a graphics library? Unless ffplay is doing all the heavy lifting and COBOL is just sending random stuff to the terminal.