in your opinion, it's born only in bedlam horribly coding skills and bad programming behaviour or is an extra complexity put in the game to make your works harder? (making it worse, a lot worse)
Can't speak for Mr. Frank N. Stein, but as a part-time system programmer for my second job, I'd personally say that it's all of those.
To begin with, you have to remember that Bedlam isn't a native programmer - this is something he learned on the fly. A lot of the methods, mentalities, and logic that native programmers adhere to are things he either doesn't do, or only does partially. Slave Leader is a great example of this, something Mr. Frank N. Stein said above. Logically, it makes sense to put it in with the rest of the slave training code. But from a coding standpoint, this is a nightmare because you now have two huge events that are co-dependent, without necessarily needing to be. He also has a habit of making new variables for absolutely everything - though some of that is beyond his control because of RAGS limitations .
Then you also have to consider RAGS. The engine is, quite simply, not designed for huge, branching, ongoing d20-style games, but short hallway, exploration-style games. You make a number of "rooms," you tie events to them or put them on a random roll, the game rolls a dice at the start to see what room you go to and then the further dice rolls determine what happens (if anything) and the availability of future rooms to go to. Repeat. Bedlam's game, with its many missions, unique events, items, characters, etc, is a nightmare for this sort of engine, simply because it has to constantly check
everything and new "rooms" must be created for
everything.
Think of it like a bus station or the military's depot system. At the start, everything leads back to central. Makes sense. But when you start having more routes, you're looking to offload some of that because central is becoming a shitshow. So you make a branch hub and keep expanding branches as your capacity grows. Those branch hubs communicate with central but operate semi-autonomously.
RAGS doesn't handle this well, if at all. Everything is a "room," with multiple dice rolls being called to determine events. So you can make your hub, sure, but odds are that it'll need to make the same calls that central is making...so you end up with a branch hub that has just as many, possibly even more calls than central. Even worse is when you're storing data, which Bedlam does on multiple occasions. So now you have multiple branches calling back for data
alongside their usual demands.
Then you also have the way RAGS handles data in general - it stores
everything as-is in an array, in system memory, and just appends
ad infinitum. So you can see how this becomes a problem right quick. The lategame slowdown people have complained of since day 1 will always exist, largely because the more you play, the larger those data dumps become. And again, this ties into the original issue of RAGS not being designed to handle large numbers of independent variables.
And lastly - at least for this giant fucking wall of text - its just how RAGS operates. Again, this engine is designed for small exploration-sim games. So it runs almost exclusively on conditional loops and introduces the myriad variables and counters that come with the territory. And I'm sure you can see where the problem is. Last I had a look, No Haven had over a
thousand independent variables, many of which only do one or two things, and conditional trees for some of the bigger loops exceeded 6 checks.
So to sum it all up, this game is a mess. Some of it can be laid at Bedlam's feet, but an even larger chunk of it is outside his direct control for the simple reason that he's using RAGS. Which is why people have been pushing him to swap over to Twine for quite some time now. But you need to remember that, again, you're asking a
non-native programmer to switch from the platform that they've devoted 5-some years to learning to a completely new platform...and learn an entirely new language alongside it. The fact that he's recognized and acknowledged the issue is already a significant concession, let alone that he's (allegedly) working on a conversion.