ROAR!!!!!! (56K, run away from this thread. Really.)
Moderator: Moderators
ROAR!!!!!! (56K, run away from this thread. Really.)
Hey, devs, I got that whole multiple-instance custom ExplosionGenerator thing working
And here's a movie of the current version.
10...
9...
8...
7...
6...
5...
4...
3...
2...
1...
And here's a movie of the current version.
10...
9...
8...
7...
6...
5...
4...
3...
2...
1...
Last edited by Argh on 25 Sep 2006, 10:24, edited 1 time in total.
This is so kewl, it almost makes me want Screenshake back. But not quite
However, I do have a request... um... could we put a better alpha scalar that modders can control into HeatCloud, so that we can scale alpha (or better, color + alpha, like the new sexy flamethrower code)? It terminates a little more abruptly than is perfect. Not that most users will care, but meh... it's that last little bit of pro buff, y'know?
I'm not quite done tweaking yet. And since Spring's not quite out yet, yes, this will be GPL and in NanoBlobs
However, I do have a request... um... could we put a better alpha scalar that modders can control into HeatCloud, so that we can scale alpha (or better, color + alpha, like the new sexy flamethrower code)? It terminates a little more abruptly than is perfect. Not that most users will care, but meh... it's that last little bit of pro buff, y'know?
I'm not quite done tweaking yet. And since Spring's not quite out yet, yes, this will be GPL and in NanoBlobs
- Forboding Angel
- Evolution RTS Developer
- Posts: 14673
- Joined: 17 Nov 2005, 02:43
@KDR: It is already using a ring, look at the second-to-last two shots, you can see it. I just haven't emphasized it very much, was too busy getting the particle code working properly (which was a royal pain, but I am sure everybody will learn from it).
@FA: Yeah, it mushrooms. Which was one of the tricky bits. If I had a few more controls, I'd be able to do some more things that aren't possible yet. I really want a "ring" feature to do smokerings with. I can do it by hand, but meh... it's painful. This entire thing was a LOT of tinkering and hand-tweaking, down to the bitmaps used.
You wanna hear the really good part?
This baby, unlike Spring's default nuke, won't eat your FPS for breakfast Because I had fine-tuned controls over how many particles are spawned, etc., I could keep it relatively low on the overall count (it's still more than 200 particles, all told) without hurting quality any, just like my previous code for NanoBlobs 0.54b.
@FA: Yeah, it mushrooms. Which was one of the tricky bits. If I had a few more controls, I'd be able to do some more things that aren't possible yet. I really want a "ring" feature to do smokerings with. I can do it by hand, but meh... it's painful. This entire thing was a LOT of tinkering and hand-tweaking, down to the bitmaps used.
You wanna hear the really good part?
This baby, unlike Spring's default nuke, won't eat your FPS for breakfast Because I had fine-tuned controls over how many particles are spawned, etc., I could keep it relatively low on the overall count (it's still more than 200 particles, all told) without hurting quality any, just like my previous code for NanoBlobs 0.54b.
Okie doke, here's the code for this monster. It absolutely requires that you've already defined the projectile textures called, etc.
Code: Select all
[NUKE_EXPLOSION_FX]
{
//////////////////////////////////////////////////////Argh's GPL Nuke Script
//////////////////////////////////////////////////////You may use this for any purpose, so long as you obey the terms of the Gnu Public License.
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////PARTICLE BLAST
[heatcloud_NUKE_EXPLOSION_FX01]
{
class=heatcloud;
[properties]
{
texture=ExplodeHeat;
heat = 30;
maxheat = 30;
heatFalloff = 0.75;
size = 15 r-1.5;
sizeGrowth = -0.35 r0.1;
sizemod = 0;
sizemodmod = 0;
speed = 0 r3.5, 0 r3.5, 0 r3.5;
pos = 0, 5, 0;
}
air=1;
water=1;
ground=1;
count=30;
}
[heatcloud_NUKE_EXPLOSION_FX02]
{
class=heatcloud;
[properties]
{
texture=ExplodeHeat;
heat = 30;
maxheat = 30;
heatFalloff = 0.75;
size = 15 r-1.5;
sizeGrowth = -0.35 r0.1;
sizemod = 0;
sizemodmod = 0;
speed = 0 r-3.5, 0 r3.5, 0 r-3.5;
pos = 0, 5, 0;
}
air=1;
water=1;
ground=1;
count=30;
}
[heatcloud_NUKE_EXPLOSION_FX03]
{
class=heatcloud;
[properties]
{
texture=ExplodeHeat;
heat = 30;
maxheat = 30;
heatFalloff = 0.75;
size = 15 r-1.5;
sizeGrowth = -0.35 r0.1;
sizemod = 0;
sizemodmod = 0;
speed = 0 r-3.5, 0 r3.5, 0 r3.5;
pos = 0, 5, 0;
}
air=1;
water=1;
ground=1;
count=30;
}
[heatcloud_NUKE_EXPLOSION_FX04]
{
class=heatcloud;
[properties]
{
texture=ExplodeHeat;
heat = 30;
maxheat = 30;
heatFalloff = 0.75;
size = 15 r-1.5;
sizeGrowth = -0.35 r0.1;
sizemod = 0;
sizemodmod = 0;
speed = 0 r3.5, 0 r3.5, 0 r-3.5;
pos = 0, 5, 0;
}
air=1;
water=1;
ground=1;
count=30;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////MAIN SMOKE
[smoke_NUKE_EXPLOSION_FX01]
{
class=smoke;
[properties]
{
color=0.6 r0.3;
ageSpeed=0.003;
size = 30 r-1.5;
sizeGrowth = 1.3;
pos = 0 r20, 20 r4, 0 r20;
speed=0 r0.75, 1 r0.3, 0 r0.75;
}
air=1;
water=1;
ground=1;
count=15;
}
[smoke_NUKE_EXPLOSION_FX02]
{
class=smoke;
[properties]
{
color=0.6 r0.3;
ageSpeed=0.003;
size = 30 r-1.5;
sizeGrowth = 1.3;
pos = 0 r-20, 20 r4, 0 r-20;
speed=0 r-0.75, 1 r0.3, 0 r-0.75;
}
air=1;
water=1;
ground=1;
count=15;
}
[smoke_NUKE_EXPLOSION_FX03]
{
class=smoke;
[properties]
{
color=0.6 r0.3;
ageSpeed=0.003;
size = 30 r-1.5;
sizeGrowth = 1.3;
pos = 0 r-20, 20 r4, 0 r20;
speed=0 r-0.75, 1 r0.3, 0 r0.75;
}
air=1;
water=1;
ground=1;
count=15;
}
[smoke_NUKE_EXPLOSION_FX04]
{
class=smoke;
[properties]
{
color=0.6 r0.3;
ageSpeed=0.003;
size = 30 r-1.5;
sizeGrowth = 1.3;
pos = 0 r20, 20 r4, 0 r-20;
speed=0 r0.75, 1 r0.3, 0 r-0.75;
}
air=1;
water=1;
ground=1;
count=15;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[smoke_NUKE_EXPLOSION_FX05]
{
class=smoke;
[properties]
{
color=0.6 r0.3;
ageSpeed=0.003;
size = 30 r-1.5;
sizeGrowth = 1.3;
pos = 0 r20, 20 r4, 0 r20;
speed=0 r0.35, 1 r0.3, 0 r0.35;
}
air=1;
water=1;
ground=1;
count=15;
}
[smoke_NUKE_EXPLOSION_FX06]
{
class=smoke;
[properties]
{
color=0.6 r0.3;
ageSpeed=0.003;
size = 30 r-1.5;
sizeGrowth = 1.3;
pos = 0 r-20, 20 r4, 0 r-20;
speed=0 r-0.35, 1 r0.3, 0 r-0.35;
}
air=1;
water=1;
ground=1;
count=15;
}
[smoke_NUKE_EXPLOSION_FX07]
{
class=smoke;
[properties]
{
color=0.6 r0.3;
ageSpeed=0.003;
size = 30 r-1.5;
sizeGrowth = 1.3;
pos = 0 r-20, 20 r4, 0 r20;
speed=0 r-0.35, 1 r0.3, 0 r0.35;
}
air=1;
water=1;
ground=1;
count=15;
}
[smoke_NUKE_EXPLOSION_FX08]
{
class=smoke;
[properties]
{
color=0.6 r0.3;
ageSpeed=0.003;
size = 30 r-1.5;
sizeGrowth = 1.3;
pos = 0 r20, 20 r4, 0 r-20;
speed=0 r0.35, 1 r0.3, 0 r-0.35;
}
air=1;
water=1;
ground=1;
count=15;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////NUKE FIRE
[fire_NUKE_EXPLOSION_FX01]
{
class=heatcloud;
[properties]
{
texture=HeatSmoke_ONE;
heat = 15;
maxheat = 15;
heatFalloff = 0.3;
sizemod = 0;
sizemodmod = 0;
size = 30 r-1.5;
sizeGrowth = 0.5;
pos = 0 r20, 20 r4, 0 r20;
speed=0 r0.75, 1 r0.3, 0 r0.75;
}
air=1;
water=1;
ground=1;
count=5;
}
[fire_NUKE_EXPLOSION_FX02]
{
class=heatcloud;
[properties]
{
texture=HeatSmoke_ONE;
heat = 15;
maxheat = 15;
heatFalloff = 0.3;
sizemod = 0;
sizemodmod = 0;
size = 30 r-1.5;
sizeGrowth = 0.5;
pos = 0 r-20, 20 r4, 0 r-20;
speed=0 r-0.75, 1 r0.3, 0 r-0.75;
}
air=1;
water=1;
ground=1;
count=5;
}
[fire_NUKE_EXPLOSION_FX03]
{
class=heatcloud;
[properties]
{
texture=HeatSmoke_ONE;
heat = 15;
maxheat = 15;
heatFalloff = 0.3;
sizemod = 0;
sizemodmod = 0;
size = 30 r-1.5;
sizeGrowth = 0.5;
pos = 0 r-20, 20 r4, 0 r20;
speed=0 r-0.75, 1 r0.3, 0 r0.75;
}
air=1;
water=1;
ground=1;
count=5;
}
[fire_NUKE_EXPLOSION_FX04]
{
class=heatcloud;
[properties]
{
texture=HeatSmoke_ONE;
heat = 15;
maxheat = 15;
heatFalloff = 0.3;
sizemod = 0;
sizemodmod = 0;
size = 30 r-1.5;
sizeGrowth = 0.5;
pos = 0 r20, 20 r4, 0 r-20;
speed=0 r0.75, 1 r0.3, 0 r-0.75;
}
air=1;
water=1;
ground=1;
count=5;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[fire_NUKE_EXPLOSION_FX05]
{
class=heatcloud;
[properties]
{
texture=HeatSmoke_ONE;
heat = 15;
maxheat = 15;
heatFalloff = 0.3;
sizemod = 0;
sizemodmod = 0;
size = 30 r-1.5;
sizeGrowth = 0.5;
pos = 0 r20, 20 r4, 0 r20;
speed=0 r0.35, 1 r0.3, 0 r0.35;
}
air=1;
water=1;
ground=1;
count=5;
}
[fire_NUKE_EXPLOSION_FX06]
{
class=heatcloud;
[properties]
{
texture=HeatSmoke_ONE;
heat = 15;
maxheat = 15;
heatFalloff = 0.3;
sizemod = 0;
sizemodmod = 0;
size = 30 r-1.5;
sizeGrowth = 0.5;
pos = 0 r-20, 20 r4, 0 r-20;
speed=0 r-0.35, 1 r0.3, 0 r-0.35;
}
air=1;
water=1;
ground=1;
count=5;
}
[fire_NUKE_EXPLOSION_FX07]
{
class=heatcloud;
[properties]
{
texture=HeatSmoke_ONE;
heat = 15;
maxheat = 15;
heatFalloff = 0.3;
sizemod = 0;
sizemodmod = 0;
size = 30 r-1.5;
sizeGrowth = 0.5;
pos = 0 r-20, 20 r4, 0 r20;
speed=0 r-0.35, 1 r0.3, 0 r0.35;
}
air=1;
water=1;
ground=1;
count=5;
}
[fire_NUKE_EXPLOSION_FX08]
{
class=heatcloud;
[properties]
{
texture=HeatSmoke_ONE;
heat = 15;
maxheat = 15;
heatFalloff = 0.3;
sizemod = 0;
sizemodmod = 0;
size = 30 r-1.5;
sizeGrowth = 0.5;
pos = 0 r20, 20 r4, 0 r-20;
speed=0 r0.35, 1 r0.3, 0 r-0.35;
}
air=1;
water=1;
ground=1;
count=5;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////SMOKE COLUMN
[smoke_column_EXPLOSION_FX01]
{
class=smoke;
[properties]
{
color=0.6 r0.3;
ageSpeed=0.003;
size = 15 r-1.5;
sizeGrowth = 1;
pos = 0 r20, -160 i10, 0 r20;
speed=0, 1 r0.3, 0;
}
air=1;
water=1;
ground=1;
count=15;
}
[smoke_column_EXPLOSION_FX02]
{
class=smoke;
[properties]
{
color=0.6 r0.3;
ageSpeed=0.003;
size = 15 r-1.5;
sizeGrowth = 1;
pos = 0 r-20, -160 i10, 0 r-20;
speed=0, 1 r0.3, 0;
}
air=1;
water=1;
ground=1;
count=15;
}
[smoke_column_EXPLOSION_FX03]
{
class=smoke;
[properties]
{
color=0.6 r0.3;
ageSpeed=0.003;
size = 15 r-1.5;
sizeGrowth = 1;
pos = 0 r20, -160 i10, 0 r-20;
speed=0, 1 r0.3, 0;
}
air=1;
water=1;
ground=1;
count=15;
}
[smoke_column_EXPLOSION_FX04]
{
class=smoke;
[properties]
{
color=0.6 r0.3;
ageSpeed=0.003;
size = 15 r-1.5;
sizeGrowth = 1;
pos = 0 r-20, -160 i10, 0 r20;
speed=0, 1 r0.3, 0;
}
air=1;
water=1;
ground=1;
count=15;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////SMOKE RING ONE
[smoke2_NUKE_EXPLOSION_FX01]
{
class=smoke;
[properties]
{
color=0.6 r0.3;
ageSpeed=0.006;
size = 5 r5;
sizeGrowth = 0.75;
pos = 0, 0 r4, 0;
speed= 0 r1.75, 0, 0 r1.75;
}
air=1;
water=1;
ground=1;
count=30;
}
[smoke2_EXPLOSION_FX02]
{
class=smoke;
[properties]
{
color=0.6 r0.3;
ageSpeed=0.006;
size = 5 r5;
sizeGrowth = 0.75;
pos = 0, 0 r4, 0;
speed= 0 r-1.75, 0, 0 r-1.75;
}
air=1;
water=1;
ground=1;
count=30;
}
[smoke2_EXPLOSION_FX03]
{
class=smoke;
[properties]
{
color=0.6 r0.3;
ageSpeed=0.006;
size = 5 r5;
sizeGrowth = 0.75;
pos = 0, 0 r4, 0;
speed= 0 r1.75, 0, 0 r-1.75;
}
air=1;
water=1;
ground=1;
count=30;
}
[smoke2_EXPLOSION_FX04]
{
class=smoke;
[properties]
{
color=0.6 r0.3;
ageSpeed=0.006;
size = 5 r5;
sizeGrowth = 0.75;
pos = 0, 0 r4, 0;
speed= 0 r-1.75, 0, 0 r1.75;
}
air=1;
water=1;
ground=1;
count=30;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////GROUNDFLASH
[groundflash]
{
flashSize = 150;
flashAlpha = 0.9;
circleGrowth = 1.3;
circleAlpha = 0.4;
ttl = 300;
color = 1, 0.7, 0;
air=1;
ground=1;
water=1;
}
}
- Guessmyname
- Posts: 3301
- Joined: 28 Apr 2005, 21:07
I have a minor quibble:
http://video.google.com/videoplay?docid ... tomic+bomb
Note how the mushroom is still bright, even as it flattens out. If you can accomplish that, it would look even better than it already does.
http://video.google.com/videoplay?docid ... tomic+bomb
Note how the mushroom is still bright, even as it flattens out. If you can accomplish that, it would look even better than it already does.
@Noruas:
This works in 0.73b, the current development version available. According to JC, it probably even works in 0.72, although I suspect that, due to some other changes, it almost certainly works better in 0.73b.
The code was there, we just didn't know how to use it. This is, more-or-less, a technical demonstration.
@Decimator: I'm going to do s'more work with it tonight. It's a little harder to get that effect than you'd think, so bear with me.
@Caydr: So long as you adhere to the GPL and include the original source or a link to it, you can do whatever you want with the comments
This works in 0.73b, the current development version available. According to JC, it probably even works in 0.72, although I suspect that, due to some other changes, it almost certainly works better in 0.73b.
The code was there, we just didn't know how to use it. This is, more-or-less, a technical demonstration.
@Decimator: I'm going to do s'more work with it tonight. It's a little harder to get that effect than you'd think, so bear with me.
@Caydr: So long as you adhere to the GPL and include the original source or a link to it, you can do whatever you want with the comments