This is likely accurate. If you look online you can find the original source to LCS[0], one of his older games.
It's basically a single 37kloc file.
Now, ... I'm not really one to say that you should keep all your to one function/class/whatever, i can appreciate the times when splitting things up does more harm than good, and I'm totally comfortable managing a 3-5kloc file.
But goddamn, 37kloc in one file is pushing it.
[0] http://www.bay12games.com/lcs/ (check 3.05, not sure if the later ones got cleaned up, i remember there was some effort by a couple devs to do so but... i don't know how far they got)
The `game.cpp` file is 925kb(!) in size and momentarily choked up my NVim upon opening the file. Hilarious.
Edit: Reading the source code made me want to play the game. The premise is great:
> The Conservatives have taken the Executive, Legislative, and Judicial branches of government. Over time, the Liberal laws of this nation will erode and turn the country into a BACKWOODS YET CORPORATE NIGHTMARE. To prevent this from happening, the Liberal Crime Squad was established. The mood of the country is shifting, and we need to turn things around. Go out on the streets and indoctrinate Conservative automatons.
Some roguelike developers and solo game developers in general are notorious for writing code like this. The developer of Ultima Ratio Regum (http://www.ultimaratioregum.co.uk/game/) bragged on Roguelike Radio podcast about how his code base is difficult to deal with because it's a 500K LOC single Python file... He claims it's because he doesn't have a CS background but in practice most developers learn these practices in the industry, academic code is also known for being bad. There's definitely a proud ignorance to this style of programming, he knows he should be doing something else but can't be bothered to take steps that might make him more productive. Not intangibles but basic things like keeping his text editor from locking up or running slow.
I wonder how many self-conscious developers are out there, that don't release their source code for fear it having glaring flaws that will bring the wrath of their peers upon them.
Count me as one of them. My coding style suits me, but I know it's not for everyone. There's always a balance between writing elegant code, and throwing in a bunch poorly optimised conditional statements just because you are having a bad day and you just want that part of the app/game/whatever to JUST work properly after 5 solid hours of trying to debug it..
Going open source is like letting someone walk around inside your brain; If you are not thick skinned enough it's going to hurt, a lot.
I tried it once, and admittedly I was a much worse coder than I am now - it was my first big personal project (a MUD server) and I basically levelled up my coding skills from 'tinkerer' to 'semi-expert' over the years I was I writing it. When I finally open-sourced it (due to pressure from the community) several people tore it apart, and basically told me I was a shit programmer.
I know a professor working on a potentially important project that won't release his code and I suspect it's precisely for this reason. The communuty would tear him apart for sure, but it would be worthwhile to release it anyway.
This is a real problem in academia and not just because of superficial coding-style issues that the authors might be fearing criticism for. There is a real probability of serious bugs. There have been papers that have had to be retracted because the analysis software used was later discovered to have bugs that caused incorrect results (things being called statistically significant that weren't, and so on).
Lots I suspect. It is actually one of the reasons why I try to stick to "open source by default" in any side projects I might take on. Although it is pretty unlikely as I am a nobody it is theoretically possible that someone may choose to examine my code and I have that knowledge in the back of my head as I work.
Probably a lot. My guess is something similar happens with commercial software. Some commercial software that everybody loves dies, and the community cries out for it to be open sourced. Meanwhile, everyone that ever worked on the codebase is thinking, "You want to see this source? Uhhhhhhh..."
It's basically a single 37kloc file.
Now, ... I'm not really one to say that you should keep all your to one function/class/whatever, i can appreciate the times when splitting things up does more harm than good, and I'm totally comfortable managing a 3-5kloc file.
But goddamn, 37kloc in one file is pushing it.
[0] http://www.bay12games.com/lcs/ (check 3.05, not sure if the later ones got cleaned up, i remember there was some effort by a couple devs to do so but... i don't know how far they got)