I quite admire your patience for criticism, Lemunde.
It is interesting that the OP gets praised for "handling criticism" when his method of "handling" it is to ignore it and to proclaim such incredible statements as "I understand everything about inheritance" (I've been programming for fifteen years and
I don't make that claim!).
Mind you: the risk is not that the OP "does something wrong," although it seems unfortunately evident that he does not have a grasp on
why you write this kind of code in a certain way (which comes with experience, and apparently "learning to listen to other programmers who have been to this dance before" does too--I can't fault him for being a novice programmer, though it's disappointing that he is refusing to turn on the analytical part of his brain). The risk at large, and the only reason I threw in a post to begin with, is because other people may see this thread and think that his direction is good. It is fundamentally flawed, and for a nontrivial project will expose these flaws.
His claim later that "oh, programmers all have their own idea of what's best" is not without merit, but a mature and seasoned programmer will realize that there are multiple effective ways to do something
and evaluate them on their merits. As his method of "handling" criticism is to say "trust me, this works better," it seems unlikely that he is actually interested in a dialogue and more in bragging. (At which point, why not get a blog?) And as far as "oh everyone does it differently" is concerned: when it comes to game development, it should be noted that most people who build nontrivial projects trend toward very similar designs, because they are in fact the path of least resistance. I know that, for their engine, Meltdown and Karantza largely mimicked Unreal because it was the optimal, or near-optimal, way to do it. (And,
yes, a roguelike is at its core not very different from Unreal.)
As always, comments and suggestions are welcome.
Well, if they're "welcome," I can note that I am still waiting for your justification on ignoring your type system to create your AI system, instead of leveraging the framework and programming paradigm you are using the way they are intended to be used. I asked specific, pertinent technical questions, and your response was "uhh...this way works best."
Why does it work best? Dead silence.
If you want to grandstand in a public forum, you have something of an ethical obligation to follow best practices because you are positioning yourself as an example to other people. I'd like to actually
learn something from this thread; if there's something better about the method you are employing I'd like to hear it.