So, I have my issues with the game, like most people seem to. Most of them have been addressed already, but honestly, my biggest issue is CNG's absolutely atrocious coding skills. 394 individual variables exist, with less than half as many choices existing.
CNG creates 2 individual variables for each binary choice in the game, defaults them both to "0", then sets one of them to "1". He also just numbers the variables, then has to waste time commenting in the code what each variable is for when set, and again whenever it's checked. Could just name the variables a shortened version of the comments, so he doesn't have to constantly comment them.
CNG also uses insane gate chains to check which choices you've made. Instead of just "if picks394 = true then jump blablabla else jump blablabla2", he does shit like "if picks394 = 1 then jump blablabla" "if picks395 = true then jump blablabla2". It doesn't seem like a huge difference, but with so many variables, choices, and checks, it adds up to a ton of extra typing, and a lot more room for errors, of which I've found several on paths where LIs are rejected.
Could just create one variable for each choice, then set it to true or false. In some cases, like the Beth baby batter path, which requires making like 5 or 6 "correct" choices to be chosen, CNG could have just used a single variable, and added one point to it for each correct choice, then just check that the max available points were attained. Instead, he uses another of those insane gate chains at the final conversation, which ends up being like 20 extra lines of code, along with about 11 unnecessary variables, when it could have just been as simple as "if bethbaby = 5 then blablabla else blablabla2".
I just did a run-through where I chose to reject Madison and Tonya, and at some point(didn't dig through to find where yet), the variable "picks255", which the game checks frequently to determine if you have accepted any optional LIs, gets set back to 0. This is the first variable checked when determining if Beth and Nessa choose Frank, and because of that error, even if you make all the correct choices for Beth, if you reject Madison or Tonya(not sure which), the lesbians will not choose Frank.
TLDR: If CNG would learn to code properly, we'd probably get updates twice as fast, since the sloppy coding adds an insane amount of time to production, and causes tons of errors.
Thank you for coming to my TED talk.