Fire

Discuss anything not covered by any of the other categories.
ajay
Posts: 559
Joined: Fri Oct 29, 2004 6:44 am
Location: Swindon, UK

Fire

Post by ajay »

Is this possible to do in a quake engine? (The fire on the left)
Image
goldenboy
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel
Contact:

Re: Fire

Post by goldenboy »

Yes. You can use animated sprites, a Q3A shader with animMap, and I guess also particles. Is it easy? Depends how good you are at Gimp/Photoshop and to what lengths you go technically.

deformVertexes autosprite1 / autosprite2 will make the shader face the player (2 should make it rotate around its longest axis only). I'm not sure which engines all support this stuff though. I know FTE supports autosprite1, autosprite2 is supported in its code but was broken last time I saw (I'm doing animated fire as well).

autosprite 2 is also used for stuff like stationary laserbeams etc (think Doom 3 type stuff).

FTE's particle system should also be able to spawn fire sprites and make them move around. Not sure about DP since I have no experience with DP particles.
Nahuel
Posts: 495
Joined: Wed Jan 12, 2011 8:42 pm
Location: mar del plata

Re: Fire

Post by Nahuel »

i get some nice particleffects for fire in darkplaces using particlefont
http://www.youtube.com/watch?v=1r2AJI_mzgo
hi, I am nahuel, I love quake and qc.
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: Fire

Post by Spike »

EF_ADDITIVE + sprites, or some fancy model with a skingroup, will work with either fte or dp, and would be at least be a feasable addition to other engines (though needs extended .effect networking). kinda assumes replacement textures.
can chuck some shaders in there too if needed, but tbh you should be able to do it with just skingroups.

if you want to directly embed them in a bsp, then shaders+autosprites+q3bsp help... or you could use q1bsp with func_illusionary, ef_additive, some weird texture animation, and skip textures.
Spiney
Posts: 63
Joined: Mon Feb 13, 2012 1:35 pm

Re: Fire

Post by Spiney »

Problem I have with alpha fading fire is the LDR color fade. Fading fire should not be a tint of gray, the white highlight should go to trough yellow to red. If the fade is fast enough it's usually not an issue. I always advocate using a grayscale sprite + a 2D color ramp shader where height represents time, less fudging (incidentally I think this is how HL2 does it?).

Q3 animmap is also a bit problematic because of the 8 frame limit, which I find quite archaic since 64 128² frames only take up about 1024² which is less than a meg when compressed.
I don't know if DP/FTE hacks around it...

Alternatively could just scale the flame down.
Apart from the color issue, yeah just doing the randomized scaling and fade thing works.
Spiney
Posts: 63
Joined: Mon Feb 13, 2012 1:35 pm

Re: Fire

Post by Spiney »

goldenboy
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel
Contact:

Re: Fire

Post by goldenboy »

The animMap limit was removed in FTE a while back. Yeah, 8 frames are ridiculous.
ajay
Posts: 559
Joined: Fri Oct 29, 2004 6:44 am
Location: Swindon, UK

Re: Fire

Post by ajay »

Thanks everyone. I'm off on holiday tomorrow so I'll look into those suggestions when I get back. What I'm really looking for is way of creating large areas of fire, say to cover a car; I was somewhat hoping there would be dp_extension type thing where you make a brush, tie it to func_fire entity and all would be good ;) , kind of like rain/snow etc
Seven
Posts: 301
Joined: Sat Oct 06, 2007 8:49 pm
Location: Germany

Re: Fire

Post by Seven »

ajay wrote:Thanks everyone. I'm off on holiday tomorrow so I'll look into those suggestions when I get back. What I'm really looking for is way of creating large areas of fire, say to cover a car; I was somewhat hoping there would be dp_extension type thing where you make a brush, tie it to func_fire entity and all would be good ;) , kind of like rain/snow etc
Hello ajay,

Reading your post, it seems you are focused on DP engine ?
(because of you mention dpextension and rain/snow...)

I use particles in DP quite extensive. Different forms and variations of fire is always the funniest part :)
If you should decide to stick with particles (FTE and DP) instead of sprites or skingrouped models, you should first of all click on this link which leads to a post from Chip:
http://forums.inside3d.com/viewtopic.php?p=24040#p24040
Chip made a remarkable fire effect for DP.
You will find all the syntax you need in thiat post (finetune it if you want).
Here is a clip to see the fire in action:
http://vimeo.com/6994514

It looks very much like the screenshot you posted in your 1st post,
so I think this is exactly what you wanted.

In my opinion, a particle effect is usualy nicer compared to a sprite or model effect. Because of the randomness. A sprite or aniMap (which limit is extended in DP as well) is always a loop, while particles effects are always random/different (if you use the correct syntax and textures).
This is especially important for fire effects.

Negative sideeffects are of course:
- engine dependent (DP and FTE only)
- can affect performance if you use many particle effects in a map.

If you look at Haze´s particles for FTE or the ones in the "small mod compilation" for DP you will see quite a lot of nice effects, which can be used as base and modified to personal likings.



Alternatively you can also see motorsep´s great DP-driven Tomes of Mephistopheles as an example for fire:
http://www.youtube.com/watch?v=4mS23S4LXJk



Regarding your sentence:
I was somewhat hoping there would be dp_extension type thing where you make a brush, tie it to func_fire entity and all would be good , kind of like rain/snow etc
If you want to stick a particle effect to a specific point in your map, you can add either place an entity in your map and give it the fire effect via
DP_ENT_TRAILEFFECTNUM.
Or place the effect via DP_SV_POINTPARTICLES directly (in the middle of your burning car mesh).
You need to add/script these functions/builtins into your mapping tool of course (and use a custom progs.dat).

Best wishes,
Seven
mankrip
Posts: 924
Joined: Fri Jul 04, 2008 3:02 am

Re: Fire

Post by mankrip »

Those are really impressive, Seven. Specially the fire fading into smoke. Quake's rocket trail does a similar transition, but of course isn't suited for stationary fire.

I wonder how good could a fire effect using non-textured particles look. Something like the fire in (iirc) Soldier of Fortune's barrels, but using Makaqu's flat-shaded round particles with additive blending. Since Makaqu renders those really fast, it could use many particles, making the effect very dynamic.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
leileilol
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Re: Fire

Post by leileilol »

Half-Life2's method has changed into an alphablended animating particle atlas since their orangebox update a few years ago for visual consistency with the Episodic series.


I honestly think just a VP_ORIENTED sprite animation sequence would be enough, and engine compatible (maybe except for a few gl engines that still have the different sprite types broken).. You would also use EF_ADDITIVE with it since that's what Half-Life 2 used to do (also the picture you posted looks like one of those hl2 2003 alpha hackups judging by the poorly textured gun)


Darkplaces does have EF_FLAMEJET by the way, if you want a quick fixed 'entity is on fire' dynamic light+particle effect which you could probably customise in effectinfo.txt. I don't know what other engines support EF_FLAMEJET.
i should not be here
Seven
Posts: 301
Joined: Sat Oct 06, 2007 8:49 pm
Location: Germany

Re: Fire

Post by Seven »

Yes, what leileilol most probably meant is TE_FLAMEJET (or EF_FLAME).

It belongs to the existing additional effect-family, together with EF_FLAME, EF_STARDUST, TE_SPARK, TE_PLASMABURN, TE_SMALLFLASH, and TEI_TEI´s.
DP supports these effects to be added to an entity directly as an .effect (used in Nexuiz and others).

But since LordHavoc created the *relatively* new builtin: DP_ENT_TRAILEFFECTNUM in 2011, the above mentioned became more or less redundant.
Because with it you can add any custom effect you want to a server entity.

In this clip I added a modified EF_FLAME effect to the pentagram (if you are interested):
http://www.youtube.com/watch?v=vEKXWYTpX_4

This one shows some other WIP effects on powerups I once played around with:
http://www.youtube.com/watch?v=oMlJv-xjLoc

And this is also a nice example for DP_ENT_TRAILEFFECTNUM:
You only need to assign the particle effect once to the candle (via QC), and in the map all candles will have it:
All you need to do is to remove the polygon flame of the candle model.
It is a realy nice effect.
http://www.youtube.com/watch?v=P15yO2WigA0
Chip
Posts: 575
Joined: Wed Jan 21, 2009 9:12 am
Location: Dublin, Ireland
Contact:

Re: Fire

Post by Chip »

http://vimeo.com/6994410

Don't remember the code, though, it's all particles.
QuakeWiki
getButterfly - WordPress Support Services
Roo Holidays

Fear not the dark, but what the dark hides.
ajay
Posts: 559
Joined: Fri Oct 29, 2004 6:44 am
Location: Swindon, UK

Re: Fire

Post by ajay »

Hi Chip
Is it the same as in this thread http://forums.inside3d.com/viewtopic.php?p=24040#p24040 ?

If so, how do I take that code and use it?, I'm not sure at all, does it go in DP_extensions.qc? Really need basic info?!
Seven
Posts: 301
Joined: Sat Oct 06, 2007 8:49 pm
Location: Germany

Re: Fire

Post by Seven »

Hello ajay,

Yes, the fire in both clips from Chip is basically the same.
The bigger fire has different originjitter values (and a higher count). That is basically the difference.

I wrote some words how to include custom particle effects here:
http://forums.inside3d.com/viewtopic.ph ... 294#p37051

What you need is (if you want to use Darkplaces):
1.) particlefont.tga (in your ID1\particles subfolder)
This contains the texture (64 pcs.) for your particles.
You can download the standard DP particlefont from LordHavocs homepage.
Or even better, use the Nexuiz particlefont. It has much more textures and is highe res.

2.) effectinfo.txt (in your ID1 folder)
This file describes the properties of your custom effect.
Please read the DP-wiki for all details and its syntax:
http://www.quakewiki.net/darkplaces-wik ... reference/
(Chip is so kind to host a backup on his homepage, cause the real DP-wiki is down)
Everything is explained there.

3.) Your QC
You need dpextensions.qc included in your progs.dat, to be able to use custom particle effects.
You will find an example in the above link.
You can add a pointparticle (to a specific point in your map): DP_SV_POINTPARTICLES
Or you can add a particle effect to an entity: DP_ENT_TRAILEFFECTNUM
It is explained inside the dpextensions.qc as well.

There are many samples, that you can use as base inside dpmod (it brings a custom effectinfo.txt, but uses standard particlefont) or inside the "small mod compilation" (it brings a custom effectinfo.txt, and uses slightly extended Nexuiz particlefont) for example.
To be able to use Chip´s fire effect you *should* use the Nexuiz particlefont or use custom fire textures added into your particlefont.tga.

Search for "pointparticles" in this forum will bring up even more valuable tips.

Best of luck,
Seven
Post Reply