Engine Familiarity
by Cliff · in Torque Game Engine · 07/06/2006 (4:12 pm) · 2 replies
I suspect that for a lot of coders out there, I'm stating the obvious... but I'm well known for stating the obvious and maybe it might help someone.
In an effort to better familiarize myself with the C++ codebase for the TGE, I have been making use of a UML tool (I use Sparx Enterprise Architect, your mileage may vary... but the price is fair for being a vertical market that tends to cost big bucks) that can reverse engineer a C++ code base into UML class diagrams. Now, the diagram it initially spits out isn't all that useful... but in the act of cleaning it up so it would be useful, I have been picking up a strong understanding of the underlying structure of the TGE and when I'm done the diagrams will be a great reference for how things interrelate and where everything lives.
Having spent all this time under the hood, I've got to say... GG, what's with the almost complete lack of namespaces? I'm known as a bit of an architecture nazi, so perhaps I'm being a bit harsh, but holy COW the code-base is not well structured. I'd clean it up myself, but then my codebase would probably be too diverged to be able to merge new HEADs into it... and since we're gonna make the move to TSE at some point in the future, I'd probably just end up having to do it all over again. heheheheheh.
Cheers!
In an effort to better familiarize myself with the C++ codebase for the TGE, I have been making use of a UML tool (I use Sparx Enterprise Architect, your mileage may vary... but the price is fair for being a vertical market that tends to cost big bucks) that can reverse engineer a C++ code base into UML class diagrams. Now, the diagram it initially spits out isn't all that useful... but in the act of cleaning it up so it would be useful, I have been picking up a strong understanding of the underlying structure of the TGE and when I'm done the diagrams will be a great reference for how things interrelate and where everything lives.
Having spent all this time under the hood, I've got to say... GG, what's with the almost complete lack of namespaces? I'm known as a bit of an architecture nazi, so perhaps I'm being a bit harsh, but holy COW the code-base is not well structured. I'd clean it up myself, but then my codebase would probably be too diverged to be able to merge new HEADs into it... and since we're gonna make the move to TSE at some point in the future, I'd probably just end up having to do it all over again. heheheheheh.
Cheers!
#2
I hope that criticism doesn't detract from what this post was REALLY about... how to improve your understanding of the code base. This many lines of code can be really hard to wrap your head around.
07/06/2006 (5:10 pm)
Oh, I certainly understand the reality of it... more than anything else, it's just kind of amusing to approach this really great program and when you get under the hood, find it's just as messy as every other living program out there. heh.I hope that criticism doesn't detract from what this post was REALLY about... how to improve your understanding of the code base. This many lines of code can be really hard to wrap your head around.
Torque Owner Badguy
Good question.
many answers.
here is my take on it.
Torque *was* production code before it came here as V12.
so in saying that we know that many developers worked hard under many constraints to meet deadlines and fix enough of the major issues to get it out the door to market.
since then, major reconstruction has been done. at various levels and of course again by (some) different people.
you can tell right off based on documentation available, the focus is not to clean the code and reformat it.
it is to keep a stable running sdk framework so people can continue to make games with it.
while not being critical of it, I believe i've laid out why it is what it is.