On a related note, what about a raycasting first-person shooter written in… COBOL?
Can you think of a better programming language than COBOL to implement an FPS from scratch? I know I can’t, so buckle up and enjoy what can only be described as an out-of-body experience for COBOL enthusiasts as I set out to make a Wolfenstein3D-like raycasting based FPS game (and potentially go a bit further than that, hopefully it’s not a DOOMed attempt).
↫ icitry on YouTube
I don’t link to YouTube videos very often, but there’s always the exception that proves the rule. The COBOL code’s available on GitHub.
What a mad man.

That was a surprisingly great tutorial on how to implement a FPS in any language.
I was going to say that this is the kind of “innovation” you get when you add COBOL as a fully supported GCC language (which happened only recently) but I see that this project actually uses GnuCOBOL, which has been around for over a decade at least. GnuCOBOL (cobc) compiles COBOL to C which you can then compile with GCC but it is not part of the GCC project.
LeFantome,
In principal, any Turing complete language can implement any other turning complete language – so from a CS standpoint this wasn’t that impressive. However to actually put in the effort to make it work shows a high degree of commitment to see it through.
I found it to be an interesting approach….part of me wanted to call out the use of ffplay as cheating due to the requirement of external non-cobol software, however given the novel nature of what’s being accomplished, credit is deserved.
Agreed: once I saw ffplay I started discounting on merit. Only real men would have used brainfuck anyway.
It would be easier to write a compiler./transpiler to output to brainfuck than it would be to write it in brainfuck directly. Far easier.
LeFantome,
I had the exact same thought about the “x86CSS: a working CSS-only x86 CPU/emulator/computer” article. Few people would write a significant amount of code in CSS, it’s a huge burden. But a transpiler would likely make the task a lot easier and more scalable.
> wanted to call out the use of ffplay as cheating
He is using a COBOL compiler that outputs to C as an intermediate. Given that, I think it would have been pretty straightforward to run graphics and sound through SDL. So I think piping to ffmplay really was cheating.
That said, he put a lot more work into it than I am ever going to.
.. but will it run on System Z ? 😀
Rabid_rabbit,
No, it can’t, but a COBOL fist person shooter outputting to a genuine IBM terminal would have been really cool!