Let me first be clear on one thing: I do really appreciate this project, its history and developers and all the efforts that have been made with time to make it so great during all those years.
But currently WoW development is slowly dying, and I feel a big change is needed in order to bring back that entusiasm that is no longer here.
The current state of the project has some major pain points:
- CONTENT. All the content after WOTLK is not stable or complete, so it doesn't add much value to keep what we currently have on master branch;
- CONTRIBUTORS. We have less and less contributors, there is no much hope to see the master branch fully playable in future
- CODE. The code is full of anti patterns (huge class files, spaghetti code, etc...). This is mostly due to the fact that the codebase has been modified for years and years by many different people. Because of that, it is really complicated for newcomers or less experienced programmers to be able to contribute;
- TESTS. There are no tests. At all. No unit test, no integration tests, etc... It is nearly impossible to be sure that you don't break something whenever you make a change in the code;
- API/TOOLING. There were some attempts on providing tools for TC (which I really appreciate), however most of them rely on accessing the DB directly OR using external PHP APIs that are not standardized by the project and tend to break easily with time (e.g. when the DB structure changes). Ideally the application server itself should expose the API, or the API project should be part of the official project and be maintained with it;
All those reasons, together with the fact that C++ is an old language and there are better modern alternatives make me wonder:
why don't we start a new project from scratch, using a modern language? (for example Rust - see this post). So we can use the experience gained during all those years of WoW development to create something that works better, is more developer-friendly and can attract more contributors.
I write this post to see if this can be of interest for any of you, please let me know what you think.