View Issue Details

IDProjectCategoryLast Update
0019404AI War 2Graphical BugSep 23, 2018 8:14 pm
ReporterChris_McElligottPark Assigned ToChris_McElligottPark  
Severityminor 
Status resolvedResolutionfixed 
Fixed in Version0.774 Five Thousand Days 
Summary0019404: Implement all remaining shot visuals.
Description...but first invent new way of handling the shots other than trail renderer. Making those things go active and inactive constantly is a really really Bad Thing. This also goes for the AOE explosions and similar, probably.

Use this: https://docs.unity3d.com/ScriptReference/Graphics.DrawMeshInstanced.html

Paired with a simple Matrix4x4.TRS, most likely.
TagsNo tags attached.

Relationships

related to 0019971 resolvedChris_McElligottPark Animations of lasers. 

Activities

Chris_McElligottPark

Feb 9, 2018 1:03 pm

administrator   ~0046946

From Keith:

 1) FusionBomb
- These are just dropped by the bomber and coast in to the target (for simplicity's sake, they don't miss if the target moves), and they're short-range, so they should be fairly slow.
- Graphically they should look like lumps of inert metal until they hit the target. Then they should go foom; something like the plasma detonation on 1/10th the scale, and yellow/orange instead of blue/white. Bombers have very long reload times and generally are only 1 shot per ship per salvo, so the particles could be afforded here.

2) FusionRocket
- These are fired out of MLRS-like launchers and are medium range, so they should be pretty quick, though not insta-hit.
- Graphically you should probably just see the plume, though there's a smallish lump of metal at the end. A very small foom would be nice on these too but since they're so plentiful I'm guessing we can't afford the particles.

3) ExtremeLongRangeRailgun
- These can hit anywhere on the planet and can just be drawn as an insta-hit, though their current speed is also ok (it's actually a projectile rather than a beam, though that need not be obvious)
- I'm guessing these are ok as-is unless someone has an idea to make them look cooler. I mean, it'd be great to have a sort of "shockwave" emanate laterally from the path of the projectile, but I'm guessing the graphics budget would have a hard time with that.

4) EnergyWave
- These are another sniper-range shot, but are not nearly as fast and there's actually a distinct projectile. If that could be some kind of wedge or crescent shape (preferably some color not already in heavy use, but whatever works) I think that would make sense and be reminiscent of AIWC's sentinel frigates.
- Some kind of particle on hit would be good; maybe the wedge gets suddenly brighter with a sizzling noise as it evaporates, but I don't know if the non-particle system would handle that well.

5) ArmorPiercingShell
- Ye Olde Standard Fighter Weapon; also used by tons of other things.
- Rather than obvious orange streaks I wonder about using balls of inert metal that are more readily heard (more at impact than firing) than seen at far zoom. Dense fighter fire would have a visual "texture" rather than a lightshow.

6) Laser
- Insta-fire speed-of-light weapons, I thought I already converted these to use the line drawing mechanism (EntityLineHardcodedType.Laser is defined) but I don't see evidence of that right now.
- Either way, they're basically just lines of bright light from point to point (no AOE, unlike beams)

7) GuidedMissile
- Similar to FusionRocket but bigger plume and a decent size tube of metal at the end. Slightly slower than the rockets.
- An explosion at the end would be nice; these aren't as frequent as the rockets.

8) PlasmaTorpedo
- The explosion at the end is great, and the speed is good, but the projectile itself (a placeholder I put in instead of the nearly-instafire effect, a few weeks ago) is just kind of a brown lump. If it could be a sizzling ball of blue-white death, that'd be great ;)
- In other words, a fusion bomb is a device that causes a fusion explosion when it hits; a plasma torpedo is a plasma explosion wrapped in a containment field that lets go when it hits.

9) PlasmaBolt
- Similar color to the torpedo, but these are more like blaster shots. Fast but not lightspeed. Also short-ranged instead of long-range.

10) EngineDisruptingShell
- Basically the ArmorPiercingShell, but if they could have kind of a yellow or green tint, or something else that indicates "these have some kind of gnarly effect that corrupt or entangle your engines", that'd be good.
- A distinctive on-hit sound wouldn't be bad, so a player could detect audibly that they're taking engine-damage. The Ark has high resistance to these but it is possible for the AI to engine-kill your Ark, which probably means game-over if you were retreating, so knowing that this is happening is a good thing (perhaps it just needs to be an Ark-specific cue).

11) Lightning (and LightningGuardian)
- Last I checked we were good on these.

12) Flak
- The explosion is fine, the projectile and speed should match whatever the ArmoredPiercingShell gets.

13) HeavyBeam
- These are implemented via line-drawing. I'm not sure if they look up to snuff or not.

14) MineExplosion
- I have no idea what the current state is here, but I guess they should get the flak explosion

15) Attrition
- No idea how we want to animate this planet-wide effect

16) NuclearExplosion, EMPExplosion
- same deal; I think you had requested some kind of cue when these go off, and that's not wired up yet

17) ExtremelyLongRangeIon
- Basically AIWC's ion cannon. Could look like the plasma bolts, but more blue than white though should probably be faster due to range.

18) MassDriver
- AIWC's mass driver. Maybe just a huge version of the armored piercing shell.

18) ImplosionCannon
- Copy plasma torpedo, but more white than blue; also somewhat faster

19) ImplosionBolt
- Copy plasma bolt, but more white than blue

20) ArmorPiercingMelee
- is there anything to animate here? Particle-like effect of shreds of metal flying off? ;)

21) MajorZombifyingRockets
- copy FusionRockets, but with some kind of green nasty glow or something like that

22) MicroAOERockets
- copy FusionRockets (these don't actually function any differently anymore)

23) ZombifyingShells
- copy ArmorPiercingShells, but with the green nastiness

24) PlasmaTorpedoShotgun
- hunter killers get these, it basically launches clusters of medium-sized plasma torpedoes at short range. They're very unpleasant.

Chris_McElligottPark

Feb 9, 2018 1:08 pm

administrator   ~0046948

From Badger's svn notes:

Allowed shots to have a bit of delay before representing them visually. I'm not sure how effective this is at the moment,
but the principle is there.

To tweak this, in TryWiringUpShotToTarget change the minDelay, maxDelay and multiplier values. The numbers there will need
to be tweaked based on what the eventual shot speeds wind up being

Chris_McElligottPark

Apr 3, 2018 4:55 pm

administrator   ~0047357

* Shots now consist of the initial "body" of themselves, and then a linear trail that zips out behind them depending on how fast they are moving. For missiles and similar, the effect is particularly neat.
** Unlike the things we were doing in the past, however, with TrailRenderers of unity, this is fully GPU-instancing-compatible, and is also a lot less intense on both the CPU and the GPU, and creates no garbage in RAM for the collector to clean up.
** This approach is also something we'll be making use of, somewhat in reverse, to handle "lines between things" of the type that we have for repair, tractoring, beam weapons, etc. This will let us do much fancier "laser beam spikes" and similar that are entirely volumetric rather than billboarded, and which are more performant as well as looking notably better.
** Currently the following shot types have been updated with their final-for-now visuals: FusionBomb, FusionRocket, ExtremeLongRangeRailgun, EnergyWave, ArmorPiercingShell, GuidedMissile, PlasmaTorpedo, PlasmaBolt, EngineDisruptingShell, Lightning and LightningGuardian were already done, Flak (except the explosion at the end bit needs updating), ExtremelyLongRangeIon, MassDriver, ImplosionCannon, ImplosionBolt, MajorZombifyingRockets, MicroAOERockets, ZombifyingShells, and PlasmaTorpedoShotgun.
** The following beam-style weapons are presently invisible or not showing properly at least, not sure: Laser, HeavyBeam.
** The following explosive-style weapons need updated visuals: Flak, MineExplosion, ArmorPiercingMelee
** The following full-screen weapons need visuals: Attrition, NuclearExplosion, EMPExplosion.

-----------

So, that leaves:

6) Laser
- Insta-fire speed-of-light weapons, I thought I already converted these to use the line drawing mechanism (EntityLineHardcodedType.Laser is defined) but I don't see evidence of that right now.
- Either way, they're basically just lines of bright light from point to point (no AOE, unlike beams)

13) HeavyBeam
- These are implemented via line-drawing. I'm not sure if they look up to snuff or not.

14) MineExplosion
- I have no idea what the current state is here, but I guess they should get the flak explosion

15) Attrition
- No idea how we want to animate this planet-wide effect

16) NuclearExplosion, EMPExplosion
- same deal; I think you had requested some kind of cue when these go off, and that's not wired up yet

20) ArmorPiercingMelee
- is there anything to animate here? Particle-like effect of shreds of metal flying off? ;)

Chris_McElligottPark

Sep 23, 2018 8:14 pm

administrator   ~0049414

Done.

Issue History

Date Modified Username Field Change
Feb 6, 2018 12:22 pm Chris_McElligottPark New Issue
Feb 6, 2018 12:22 pm Chris_McElligottPark Status new => assigned
Feb 6, 2018 12:22 pm Chris_McElligottPark Assigned To => Chris_McElligottPark
Feb 9, 2018 1:03 pm Chris_McElligottPark Note Added: 0046946
Feb 9, 2018 1:08 pm Chris_McElligottPark Note Added: 0046948
Apr 3, 2018 4:55 pm Chris_McElligottPark Note Added: 0047357
Sep 6, 2018 10:13 am Chris_McElligottPark Relationship added related to 0019971
Sep 23, 2018 8:14 pm Chris_McElligottPark Status assigned => resolved
Sep 23, 2018 8:14 pm Chris_McElligottPark Resolution open => fixed
Sep 23, 2018 8:14 pm Chris_McElligottPark Fixed in Version => 0.774 Five Thousand Days
Sep 23, 2018 8:14 pm Chris_McElligottPark Note Added: 0049414