It's not Lee bashing so much, it's more a note on the direction that the decisions taken at TGC seem to take.
Don't get me wrong being the first development system (cept perhaps Torque) to take advantage of DirectX10 is a definate bonus as well as the temporary partnetship with NVIDIA. It should all go to help establish TGC as a more dominant and recognised position in the game development market. This said I don't think that focus should be made entire on a single market like seems to be.
Right now TGC really has on it's hands too many products across to many markets to successfully handle with the current size of the company. Business-wise it's a sound decision to expand, but you have to admit that as a programmer your becomming more stretched to what you can actually work on at one time.
I mean fully development companies have 7-10x the staff members actually working on a single development product.
Right now TGC has what 4 programmers working on delivering an SDK, DirectX9, DirectX10 and FPSCreator.
Something has to be basically put on a backburner or atleast have development cut-down while the other products are being worked on to maintain a reasonable Time-To-Market schedule. What's more is because there are so many products being worked on the main focus is never really 100% because at the back of your mind no doubt you do something in another product and think "well this works in DirectX10, so what if I did such-n-such and we could get similar results in DirectX9"... the distraction can cause the quality of the products to fall behind.
Issues with the SDK, particularly updates saw it being left behind in terms of upgrades and I don't think the engine was ever developed in a way so that it would be expanded in to other markets than it's original use with DBPro itself. Especially when you think of the fact it realistically only works if the developers are using the Visual Studio 6-8 environments.
(8 having only recently being added and supported)
Althought I can understand that DirectX10 is an exciting new development, for the moment there are no cards except the GeForce 8800 on the market (or planned for release within the next 3-6months) that support DirectX10s enhanced features fully. So we're still working with a Shader3.0 Generation of cards for the next fiscal year really.
Would like to see, TGC properly expand in terms of programmers. So that each team can provide their full attention to the jobs at hand. I mean with DBPro when you were all working on DarkPhysics, there was a definately slow down in development itself; and the bug-weeks were obviously designed to combat this, but it's not an ideal solution working yourselves so hard for so long. Something will end up suffering.
Since DBPro has hit the market you may have noticed I've aired a number of conserns about the fact that new technology has been incorporated without the core functionality of the products being developed to a point where you can consider it 'stable' compared to competitor products. I think with XNA Game Studio now being developed by Microsoft and due out in March 2007, this adds a new consern to the hobbyist developer market. One that for a while now it's safe to say that TGC has had a monopoly on.
It's all about working smarter and not harder. Investments for the future can lead to show that TGC is serious about becoming larger so they can properly support the fairly large market they currently serve.
As far as DirectX9 goes, although sure DirectX10 is far superior; remember the market currently being served is DirectX9. What really needs to be worked on is an engine that can switch between both environments and provide the loss of only those enhancements DirectX10 provides.
Sured it'll mean redeveloping the DirectX9 engine from the ground up, however I'm sure given the differences between the APIs you're having to do this anyway to support DirectX10.
Also fully believe that a change to DarkBASIC Professional and the way the engine is created would seriously help. A linker system and developing functions to link down to 'exactly' what is needed from libraries using the COFF system that most C-based languages use would greatly improve executable size and filter much of the redundant code.
Providing 2-forms of runtime, one which includes debugging and one which is for retail uses again would help. Right now I get a strong feeling that the libraries themselves are not designed around a Template Library, but it's designed around expanding as and when it's deemed necessary. With a template system, it is far easier to layer and abstract what is being used; this helps for debugging but also you can then build upon a stable system so it's only the final link in the chain that needs altering rather than constant changes to the engine itself.
More complicated code for the development team, but better end-result for the users. Think about how DirectX10 is now designed, honestly provides a much better end result because rather than finding that each time you call say a shader it's accessing it's own render draw call, you've already got the draw call routine created and all it's doing is calling it once when everything is complete - the data being added is being placed in a buffer so that it can all be handled at once. The queue itself is different to the data being stored, which is then called-on-demand and commited only when necessary.
Microsoft still unfortunately use the commit-all system for Windows, which is irritating cause you have to manually create the CoD system but it does help to keep physical memory useage to what is actually necessary as well as retaining performance; especially when reading from static media (i.e. Optical Drive).
TGC has so much potencial, just from what I can tell isn't really being managed correctly to provide what the company wants to. Constantly learning the new technologies certainly isn't helping this either.
Intel Core 2 Duo E6400, 512MB DDR2 667MHz, ATi Radeon X1900 XT 256MB PCI-E, Windows Vista Business / XP Professional SP2