With regards to your "house factory" comment, I think everyone should read Acton's Last Inner Product
. It's a "lessons learned" collection from past developers of the last few decades. Here's my favorite, and it happens to be the first listed:
There are very few problems that cannot be better solved by having better context. It remains a common programmer error to attempt to make solutions too generic, to try to solve all problems instead of simply the one at hand. In doing so, nine times out of ten, a programmer will add additional contraints to the problem that will in fact make the solution worse in all cases.
It can be VERY valuable to learn a lesson the hard way, but arguably even more valuable if all game developers learn about our history.
P.S. Actually, these lessons learned should be on our wiki with a reference to the original post. From Gamasutra's submission
page it seems they claim no right over the content that's written (unless I misunderstand), so I'll contact Mike to see if we can edit the post and put it up on the network.