But from the technical standpoint you are now discussing - was the code doomed? I'm getting a sense there was a certain amateurishness to what was done, but I don't understand if this was due to simply being written ten years ago, lack of direct input from BFC, compete ineptness on the coders part, the fact that they mentioned having to start over on the game with the departure of key personnel, etc. Can someone walk me through their reaction to the technical quality of the code and some of the issues, just out of curiousity's sake?
I posted more detailed notes on BFC and here when it came out, this is what stuck in memory.
The interface coded into CMBB is probably hopeless as-is. It is a naively designed bunch of binary fields with no extensibility in mind. Debugging it would be a nightmare, as would be any changes. And we all know there would have to be changes as the outer code gets more complete and you discover you need to interface more.
The CMC code itself was written in Python, a scripting language. It is very slow compared to languages like C++, very roughly you can say that some computationally intensive code runs 50-100 times slower. The original claim was that this doesn't matter since it's not a game engine and there is no AI. However, as we have seen when running the now released code, just the resupply computation was too much, with posters here on GS waiting literally hours for moves to complete. This is no surprise to anyone familiar with programming language performance characteristics.
Oh and Python can't use multiple core or processors to speed up CPU intensive calculations.
Then, the "team" as it was was one of those buzzword knight orders, with their "agile" development, and the choice of Python comes in right there. This doesn't have to be bad, but it rings alarm belts. Most programmers heavy into buzzwords are not able to come up with robust, well-performing systems. This team in particular made no headway, split up, communicated less than well with the community, so there's another brick in the wall of my buzzword-dislike.