Tuesday, December 8, 2009

Direct3D 8 Quake Engines

This is something I've been working on for a while - it even held up the release of 1.7.666 of the main DirectQ line. To understand we need to go back in history a little. Once upon a time there was a Direct3D 7 wrapper for OpenGL, which used D3D7 to emulate OpenGL calls used by Quake. It was pretty basic, pretty buggy, pretty slow, and no longer maintained. However, I did notice that ProQuake was using it, and I thought: "I can do better!"

So I went and wrote one of my own. It's been growing over the past few months and is now at a stage where it can do everything required by standard GLQuake, JoeQuake, and possibly a few other engines.

Time to go public!

The first release of an engine using it has now been accomplished, and it can be obtained here (thanks to the QuakeOne folks for the webspace, although I've certainly remembered how much I hate HTML).

This is JoeQuake, and I've decided to retitle it "DirectJoe" for the purposes of this implementation. Bear in mind that this is a very early implementation, the first public release, and as such it hasn't been widely tested yet. I've tested it, and so has Baker from QuakeOne (who deserves MASSIVE credit for his part in making this happen), and now so can you.

Some things might work, some might not, but the point of the whole thing is to have fun, so enjoy it.

Further engines will follow - I'm in the process of doing FitzQuake (almost done) and QRack, and would also like to do Enhanced GLQuake and maybe even DarkPlaces (if it plays nice). Baker's doing ProQuake himself. I don't want to release GLQuake (which is done and working) as it's too much work to get it to a state where it's usable.

This doesn't mean that DirectQ is dead - far from it! I've already used code and things I've learned from this in the forthcoming 1.7.666b release. This is more of an entertaining side-project for me, and it enables me to focus on totally 100% behind-the-scenes work while leaving the engine enhancement to others.

1 comments:

Andy said...

I think that is a brilliant idea, and I feel stupid for not even suggesting it earlier (not that I would, but you know). Awesome!!

Bring it!