Hiya DaveB, nice to see you again
My comment about the non-OO-ness (
I know that's not a word) of the code wasn't meant as a slight. As you pointed out, it's a matter of reality in almost any large system, and especially with games, as the components are intertwined pretty tightly, and performance is a
big deal. But it
is a large and frightening thing to look at if you're a less-than-experienced coder (and kinda scary if you
are experienced
)
As a Real World developer
(for *mumble* years now) I can certainly appreciate the compromises one must take between the "design ideals" that the CS PhDs write about, and the code that must be shipped (2 weeks after the deadline has come and gone). These days, 50% of the code I write is in Perl, the ultimate get-it-done-quickly language. But I started out as an assembly programmer (I am old
), and I still find it surprising that many "professional" developers have no idea what the compiler spews out when they write a virtual method, and they are also the ones who wonder why the standard C++ iostreams library is so damn slow
Yow! I'm falling into slashdot mode too, sorry for the rambling.
Overall, I am very impressed with the readability with the code. As Inquisitor pointed out, we had an almost-working Linux port a couple weeks after the source was released (working only nights & weekends, stupid day job), so that says a lot. And my own ignorance of OpenGL is the main impediment to getting it done. [But we haven't ported FRED yet -- that pinnacle of object-orientism as you pointed out
]
In the end, the final product is what counts, and the longevity of this game, and the dedicated fanbase, says a lot more than any design review. You guys should feel damn proud, but you don't need me to tell you that.
(Can I join Inquisitor's :V:-buttkisser club now?
)