View Single Post
Old March 7, 2019, 17:43   #101
Join Date: Aug 2015
Posts: 279
luneya is on a distinguished road
Originally Posted by fph View Post
The other danger is having too many things to keep tested, bug-free and balanced. Same reason why many uncommon game options got removed from the = menu.
If you're going to have an officially maintained and distributed alternative configuration file--which is what the old_class.txt provided with the 4.2 development builds actually is--then there is no reason not to make it a birth option instead. The code complexity would hardly be increased: the only changes would be the addition of a global variable to tell the program whether to read from class.txt or old_class.txt whenever it needs to reference class configurations, and a birth option to set that variable. Whether you make these changes or not, as long as class.txt and old_class.txt are both part of the official distribution, it is the maintainer's responsibility to ensure that they are at least tested and bug-free. Balance is less of an issue in such cases because these are just options; if you don't think they're balanced correctly, either modify the configuration file yourself or just play with the default settings, for which the maintainer does have an obligation to ensure balance.

A case can be made for eliminating the old classes entirely, as it does take some work to ensure that changes in the rest of the code don't break old_class.txt. But if Nick thinks it's worth the trouble to maintain the legacy classes as an official configuration file, then there is absolutely no case for not going further and including them as a proper birth option.
luneya is offline   Reply With Quote