Developer Preview: NanoBlobs 0.50b (link added) - Page 2

Developer Preview: NanoBlobs 0.50b (link added)

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

Moderator: Moderators

Yeha
Posts: 96
Joined: 13 Aug 2004, 19:12

Post by Yeha »

Should, yes. Does, no. I've had problems in CvC with drone missiles hitting other drones and not doing damage. This was the most prominent with friendly fire, i.e. friendly drones running in front of the missile drones and "catching" the missiles.
If you are using a model for the missile, could it be because its radius is bigger than the aoe?
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

Hmm, that's an interesting thought. I'll try dropping the radii to nearly zero and see what transpires.
User avatar
KDR_11k
Game Developer
Posts: 8293
Joined: 25 Jun 2006, 08:44

Post by KDR_11k »

Nope, that's not it. Besides, the problem only appears with drones and only since I've reduced the drone radius (from ~20 to 10). At first I thought the missiles might hit the model of the drone but the explosion checked for the bounding sphere but now that I think about it it might be because the drones are so damn fast that they have already escaped the blast radius by the time the shockwave would reach them. I've seen quite a bit of weird delays with that shockwave behaviour (e.g. multiple drones running into a small explosion and getting destroyed, grenades taking almost a second to damage the drones in their blast radius, etc).
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

I agree, this is behavior I watched in NanoBlobs. Again, I think that the "expanding explosion" behavior should be made optional, or removed entirely.
User avatar
FireCrack
Posts: 676
Joined: 19 Jul 2005, 09:33

Post by FireCrack »

^As it is it moves far too slow most of the time anyways...
Yeha
Posts: 96
Joined: 13 Aug 2004, 19:12

Post by Yeha »

I'm not sure why they wouldn't receive damage, if their radius is small maybe the missile is missing it and hitting the ground? If you can give me a unit that consistently elude small aoe damage i can take a look at it.
User avatar
KDR_11k
Game Developer
Posts: 8293
Joined: 25 Jun 2006, 08:44

Post by KDR_11k »

It's not consistent, just occassional.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

I second the above observation. It is not consistent.
User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Post by Caydr »

B: Hell freaking no. Nudging units is worth any cost in performance. Without it, pathfinding would be a hundred times worse than it already is.

C: disagree, it's a great visual effect and would make shockwave effects pointless. What kind of explosion affects everything around it before the shockwave hits? I'm talking about the visual ones.

To fix the sound effect range bug you mention, check this thread I just started. For original, spring-only mods, there would be a very small amount of work involved, but for others (ie, everything but nanoblobs at this point, right?) the problem would be solved instantly. It's here: http://taspring.clan-sy.com/phpbb/viewt ... p?p=107034
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

B: Hell freaking no. Nudging units is worth any cost in performance. Without it, pathfinding would be a hundred times worse than it already is.
As it is, this appears to be a fairly minimal cause of slowdown/lag.
C: disagree, it's a great visual effect and would make shockwave effects pointless. What kind of explosion affects everything around it before the shockwave hits? I'm talking about the visual ones.
If it was optional, I'd be fine with it. All we need is something like this:

IF WeapontdfTag "InstantExplosion" == 1
THEN
Check simple sphere, get all collisions with all unit spheres
Apply damage
ELSE
Do current behavior

I'll go look at the source and try to write a patch myself... this cannot be that hard to code...
User avatar
FireCrack
Posts: 676
Joined: 19 Jul 2005, 09:33

Post by FireCrack »

^Probably better to have somthing in the fbi (or was it tdf) like...


ExpPropogationSpeed=x;


and then

if x == 0 do an instant explosion, otherwise have the effect propogate at a speed related to the value of x.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

Grrrr. Where is this check being performed? Did grep searches for Explosion, Area, Radius... what is the variable being used for this check?
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

Ah, now this is very interesting. Among other things I found when searching for the explosion-ring-check thingie (which I still haven't found)... I found that if 4 values are all set to 0, then I can finally fix UnitDeath explosions, which have been causing craters.

Code: Select all

impulsefactor=0;
impulseBoost=0; 
craterMult=0; 
craterBoost=0;
Setting all of these things to 0 ... has lead to considerable performance increases even on maps with near-infinite Hardness values, as I've been strongly suspecting all along. Even with full-fledged combat going on, with 450+ units, my machine managed a very playable 35+ FPS, and very rarely dipped lower!

I suspect that the expanding-explosions and the generator for guided weapons are the last two major areas of lag in combat. After that, I think Spring's about as optimized for NanoBlobs as it's gonna get, short of me tearing out all of the complex COB animations for some of the more complex units (the Archer and SpireRook, in particular, have rather un-optimized animation sequences).
User avatar
Johns_Volition
Posts: 134
Joined: 05 Jul 2006, 21:17

Post by Johns_Volition »

You could replace the units with sprites and make them all turrets so they don't have to worry about pathfinding!

Edit, just out of curiousity, how much does decreasing the unit base area increase the performance?
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

Actually, once I can use the UnitIcon feature, then I will probably adjust the multiplier so that when zoomed out, the player is basically looking at a coded set of icons, and will only see detailed combat when zoomed in quite a bit. Y'know, like a real military commander would want to see. After all, NanoBlobs is not about individuals, once you're past early game- it's about streams of force.
User avatar
Johns_Volition
Posts: 134
Joined: 05 Jul 2006, 21:17

Post by Johns_Volition »

I guess this is what TA always wanted to be.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

No, I'd have to (politely) disagree with that assessment. I'd say that Supreme Commander is a closer match with the vision behind NanoBlobs, given the thrust of the game design as understood by me.

What I will be looking at, when it is finally released, is whether Chris Robert's team will be able to preserve their core concept- one where individual fighters are less important than the abstract concepts of force projection that form the basis of modern mass warfare- without losing the interest of their core playerbase, which has grown up on games like OTA and Starcraft, and will be expecting a more individual experience.

NanoBlobs was mainly conceived as a way to study AI and the limitations of the Spring engine in a fairly simple and straightforward way. In most ways, this has proven an exceptionally useful testbed, which is why I keep tinkering with it, even though there's practically zero player interest. I put together this version from my work over the last few months in the hopes that the developers would sit down with it and see some of the things that we modders have been seeing- things that are deeper than a single subroutine, but hard to summarize or pin down to a single factor.
User avatar
Dragon45
Posts: 2883
Joined: 16 Aug 2004, 04:36

Post by Dragon45 »

Argh wrote:
What I will be looking at, when it is finally released, is whether Chris Robert's team will be able to preserve their core concept

It's Chris Taylor, you heathen bastard.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

Sorry, wrong game designer lol.
Post Reply

Return to “Engine”