Thursday, October 15, 2009

More Particles (Yet again!)

I've decided to drop the idea of an enhanced particle system.

At the end of the day, full and proper support for it in Q1 is something that I feel is flaky at best. Having a consistent and robust look is just far more important than any amount of flashy effects, and where particles are concerned there are just too many edge cases where things can go wrong. This is not a problem for ID1, where everything is well defined within the limits of the standard engine code and QC, but is a problem for mods which may do any one or more of the following:

  • Replace particles with their own sprite-based effects.
  • Use replacement content that does not conform to the ID1 conventions.
  • Spawn particles at unexpected places and with unexpected params that may conflict with assumptions made in the engine code.
  • Use different model types for effects.
  • Anything else I can't foresee.
The way I see it now is that I would be placing the engine in a situation where I'd be playing constant catch-up with any mod that comes out and does something new, and that is just not worth it. There are far more important things to be prioritising.

I could offload responsibility to the user (or modder) by e.g. adding a facility for supporting custom particle scripts, but that is not consistent with the design goals of DirectQ (it is a valid architectural choice for other engines though).

I'm going to leave the full support as of 1.7.2 level for enhanced particle effects in the engine though, so if anyone wants to hack on this code to build their own enhanced effects they are free to do so. It's just a matter of modifying some parameters in the particle spawning functions, so it should be a trivial enough task.

Where this places things is that I can now proceed with the other changes and fixes I have planned for 1.7.3 with a view to releasing by end October. This will be the final release of the 1.7 line, as I need to start knuckling down to the cleanup work on the world refresh which, as I had mentioned before, is now in a state of fairly advanced ugliness.

3 comments:

Anonymous said...

..Totally agree with your decision as far as what is your goals for DirectQ. Besides there is enough FTE and DP's in the world to make me happy or anyone else who want to play with such pretty particle features. in pre-existing mods.

mhquake said...

Thanks for the support. I know this has potential to be a controversial decision, so this means a lot!

xaGe said...

..That was me btw.. lol I was on one of the random PC's @work. I didn't want to wait until I got home.

..Believe me I would love to see your engine crammed with the candy coated reasons I love & mostly use DP, but DirectQ is not DP. Anyone who has read your blog & your posts here and the ID3 forums have had a pretty fair idea where you where going with this project. I still feel it has its own awesomeness going on without md3, shaders, particles, etc, etc..

..Just the other night I was playing http://www.moddb.com/mods/battle-mech/ with it for an hour against a few FrikBots. I flip flopped between it and DP until I just stuck with DirectQ. It's just a straight up quake mod after all with no other than Quake requirements. I do have a few things to ask you at some point regarding something dealing with the engine when I remember what they where..lol