ROAR!!!!!! (56K, run away from this thread. Really.)

ROAR!!!!!! (56K, run away from this thread. Really.)

Discuss the source code and development of Spring Engine in general from a technical point of view. Patches go here too.

Moderator: Moderators

User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

ROAR!!!!!! (56K, run away from this thread. Really.)

Post by Argh »

Hey, devs, I got that whole multiple-instance custom ExplosionGenerator thing working 8)

And here's a movie of the current version.

Image

10...



9...



8...



7...



6...



5...



4...



3...



2...



1...




Image
Image
Image
Image
Image
Image
Image
Image
Image
Last edited by Argh on 25 Sep 2006, 10:24, edited 1 time in total.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

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 ;)
Sheekel
Posts: 1391
Joined: 19 Apr 2005, 19:23

Post by Sheekel »

VIDEO!!! VIIIDDEEEEOOOO!!!


Wow, thats ssssoooo freaking awesome!

Argh FTW.
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Post by Forboding Angel »

holy shit... I just realized that that cloud mushroomed a bit... wow. I'm impressed.
danzel
Posts: 56
Joined: 30 Sep 2005, 01:49

Post by danzel »

Sexy!

Video? ;)
User avatar
Das Bruce
Posts: 3544
Joined: 23 Nov 2005, 06:16

Post by Das Bruce »

Not releasing this will get you AIDS!
User avatar
KDR_11k
Game Developer
Posts: 8293
Joined: 25 Jun 2006, 08:44

Post by KDR_11k »

Cool. Now use the groundflash ring to send out a quick shockwave.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

@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 8) 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.
User avatar
Das Bruce
Posts: 3544
Joined: 23 Nov 2005, 06:16

Post by Das Bruce »

Das Bruce wrote:Not releasing this will get you AIDS!
You have until the end of this hour. You have been warned!
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

:shock:

Guess I'd better eat my snack and finish tweaking the shockwave/smoke then :twisted:
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

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;
	}
}
User avatar
rattle
Damned Developer
Posts: 8278
Joined: 01 Jun 2006, 13:15

Post by rattle »

Very nice.
duncs
Posts: 107
Joined: 27 Feb 2006, 16:27

Post by duncs »

awesome. I couldn't help but laugh when I noticed the times of the posts.... Argh evidently thought he WOULD get aids if he took over an hour ;)
User avatar
Guessmyname
Posts: 3301
Joined: 28 Apr 2005, 21:07

Post by Guessmyname »

You can never tell when Bruce is joking or not...
User avatar
Das Bruce
Posts: 3544
Joined: 23 Nov 2005, 06:16

Post by Das Bruce »

If you see a post of mine, I won't be joking, because I don't joke, and I won't be smiling, because I don't smile.
User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Post by Caydr »

Can I remove all those nasty comments and just put "//Argh's Mushroom cloud"? Comments make Notepad sad.
User avatar
Decimator
Posts: 1118
Joined: 24 Jul 2005, 04:15

Post by Decimator »

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.
User avatar
Noruas
XTA Developer
Posts: 1269
Joined: 24 Feb 2005, 02:58

Post by Noruas »

Which version does this work in? :roll: :P
User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Post by Caydr »

User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

@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 ;)
Post Reply

Return to “Engine”