Monday, July 19, 2010

DirectQ is going to be on temporary hold soon

Some of you may have seen that I've joined the Remake Quake team as an engine coder. As well as getting advance access to all the cool insane stuff they're doing, it means that I'll be calling a temporary halt to further work on DirectQ for a while.

I still intend getting the final 1.8.666 release out over the next few days (Easter Egg included), and I have definitely not cancelled any prospect of further work. DirectQ WILL return, and I'm hoping to bring some cool engine advances from this project into it.

Initially I'm working on the renderer side of their engine, porting many of the optimisations I've made to DirectQ over to it, and fixing up a few things so that it works better with their content. FitzQuake purists might choke on some of what I've done so far, but it's OK - this is a specific engine for a specific project, so there's greater freedom to take a butchers knife to it.

It's already running faster than DirectQ in many places, by the way. Sigh - I did miss OpenGL, really.

From there I'll be moving on to more behind-the-scenes work in the engine. Can we say CSQC? Crazy protocol extensions?

This is a very positive move and a step in a very good direction. I've always held the opinion that a mod team and an engine coder should work closely together, and feed off each other's ideas and enthusiasm, and - in the day or so I've been with them so far - there is certainly no shortage of that. Stuff they're coming up with is pushing me to do better things with the engine, and stuff I'm coming up with is opening doors for them to do great things with their mod.



Sir wanted horde combat? Would 400 knights be enough for sir?

9 comments:

=peg= said...

Well that is just great! Only good things can come from this :D

Btw, rc3 still crashes on me occasionally, when alt-tabbing and on map-change :/

My guess would be something in the proquake stuff just does not play nice (yet) ;)

gnounc said...

I was going to ask why not just make DirectQ the official engine of RMQ? But I'd prefer you to be releasing MORE and not fewer. So this is better.

This is a good match I think, cant wait to see it all unveiled.

Chip said...

Imagine all those knights turning against each other. It would be a real blood bath.

Are they hand placed or via some QuakeC coding?

mhquake said...

DirectQ will be a very very good engine for RMQ. I've run one of their most insane maps in it - this thing makes warpc look like a shoebox - and got reasonably playable framerates. In many ways it's capable of things that the RMQ engine cannot do and will probably never be able to do, but that's down to being able to forget about portability and target Windows/D3D specifically.

It's also going to be one of the engines that will run RMQ almost right off the starting blocks, as I'll be able to implement some things in it that they're planning before most other people are aware of them. It wouldn't be fair on the team if I took advantage of this though, so out of respect for them I'll probably wait a short while before releasing that one.

It's not going to be the engine for RMQ however.

The RMQ engine has portability as a primary goal. Sacrificing that is non-negotiable, and - IMO - it's the right decision for RMQ. The content is genuinely so strong that it needs to reach a wide user base.

The RMQ engine is also a specific engine targetted at a specific mod, whereas DirectQ is intended as a general purpose engine. That means that we're going to be able to do things in the RMQ engine that you wouldn't do in a general purpose engine. Having the shackles off like that will cetainly be an interesting experience.

Performance is being slowly brought up to close-to-DirectQ-levels. It won't get all the way there (and they are aware of that and accept it) but it will get a good percentage of the way there.

So we've got one engine that says "fuck portability, I'm going to squeeze every last drop of performance out of a single platform as I can", and another that says "portability is important, and while I'm definitely going to run as fast as possible I'm not going to do so at the expense of running on as many platforms as possible".

Both perspectives are valid and there's room in the world for both of them. That's a part of what makes things great. :D

The knights by the way were just a silly test map I made to stress test the MDL renderer. Good old copy and paste!

gnounc said...

"That means that we're going to be able to do things in the RMQ engine that you wouldn't do in a general purpose engine. Having the shackles off like that will cetainly be an interesting experience."

So does that mean there will be a few features that DQ wont support?
But overall the game will run?

Im not exactly worried...I wont mind using RMQ's engine...as long as it you know, works.

gb said...

The goal of the RMQ engine is, ultimately, to become hopefully obsolete... because we still hope that other engines will eventually support it. DirectQ will, as mh said, and I've also gotten positive signals from Proquake, Qrack (so your multiplayer needs should be covered), and FTE. Lord Havoc was quick to fix something that I, er, broke :-P (yeah, I broke Darkplaces), but I wonder if DP will really support the more crazy ass shit we plan on doing.

However, there needs to be something we can work with (and a few things we need, not even Darkplaces or FTE can deliver), there needs to be something that runs RMQ well, and there needs to be a cross-platform reference implementation that other engines can eventually get the stuff from.

Also, what mh said. It is an opportunity to have the shackles off, and really just do crazy shit.

I'm stoked that someone like mh wants to work with us, tbh.

400 knights will do, and I think in spite of OpenGL's shortcomings, 400 should be doable. :)

Yhe1 said...

What about fog in directq?

mhquake said...

Fog blending doesn't exist in Shader Model 3+ hardware (http://msdn.microsoft.com/en-us/library/bb147365%28VS.85%29.aspx#Fog_Depth_and_Shading_Mode_Changes), so fog in DirectQ will always be a problem. Fog will work on OpenGL on this hardware, but it will be emulated (e.g. by putting a blend color at each vertex). D3D isn't like that; if a capability does not exist then it just does not exist and there is no emulation.

Some day I'll integrate fog into my shaders and we'll have fog in DirectQ for certain, yeah. It's on the list for 1.9.

mhquake said...

Blogger messed up my link.

This is it.