When it comes to cp77, I'm more sad than anything. Not for the gaming experience i missed, i can get that elsewhere, plus it wasn't all bad.
I'm sad for the devs who worked years under shit management. I'm convinced that half the bugs exist because they were rushed. You said you were a programmer, so you must know how much work putting together a game of that scope is. After all, literally evetything you see on your screen and a lot more you don't had to be coded.
Imagining all the shit devs get for all the work they put in is just depressing. When in reality, for every bug there is, 1000 things exist that work fine.
And now they got hacked, which cant be a good thing to discover in the morning when you go in to work.
Sorry for the little off topic rant.
Interestingly, inno's game suffers from management issues also, but instead of overworking and rushing content, it feels like the opposite. I'm not even sure what she is doing at this point.
Nah, I get it. I've definitely worked for shit companies before, so I can feel for them. I also spent 8 or 9 years doing outsourced, contract based IT support for a huge variety jobs/industries. I'm well versed in shitty companies lol
But it is an impressive case of a company destroying their goodwill in a fucking hurry. They'll likely never fully recover to where they were a few years ago.
Let's be honest, in the case of Lilith's Throne it's likely that your 90% figure is more like 900%, and I'll bet that's where most of the problem lies.
I did a quick wc -l (line count) on the Java source and it came back with 545,302 lines. While this isn't all code (it includes comments…I don't have cloc installed on my Windows box) some files aren't being used anymore (why not remove them?), and line count is a pretty shoddy metric for many things, I feel like it's a pretty valid metric in this case in that it shows how far this thing spun out of control.
Just the source file to handle orifaces in sex scenes is 2425 lines, with hard coded cases to handle every body part that can take some sort of vaguely phallic-shaped object (as well as every dong-shaped desirable) in a tree of if/else and switch statements to select exactly text to return for each pace (with variants for doms and subs). There's plenty of ways to deal with something like this, and that ain't a very good one. That, coupled with widespread abuse of Java enums, makes for a pretty entertaining read.
So a few things worth noting about the code base and line counts
First, what I'll call 'story content', AKA anything you see in the main game frame, is littered randomly throughout the code. SOME of the dialog is in the txt folder, and then some is in the character classes, and then some is in the quest's information, and then some...
You get my point. The game wasn't designed with the game's content and the game's code properly separated. Which really inflates the line/word count.
And then you get really weird stuff. Quest content is just wacky. Like, the quest logic will be in one place. In a completely different place will have the quest info like the description you see in the quest log. In a completely different place you have the quest dialog. In a completely different place you'll have all the other odds and ends you need to have the quest work.
This is probably why it takes ages to rework something like Nyan's content. The game design sucks, so you can't just *add* content.
Second, the comments. Holy fuck the comments.
There's some files that are like, 50% comments. Most of them *look* like old versions of the files. But most of these sections have no comments explaining WTF they're for. And then other files are commented in such a way that I swear she copied a tutorial and renamed the variable names, then added a billion comments so she'd know what the code actually does.
The only files that are well commented are the ones that are written by other people.
All that said though, I'm actually really impressed with some of the code. There are parts where I seriously wonder if the same person made them. One of the main reasons I'm looking at all this is that I want to avoid doing anything that'll get me accused of copying LT or Inno directly if I ever release my own project. And there's methodology that I might end up copying because it's exactly what I wanted to do anyways.