Page 1 of 2

[RELEASE] : Reduxed Vampires

Posted: Sun Oct 10, 2010 10:35 am
by Killer Wolf
Image
here's my latest : a reworking of the MkI and MkII Vampires, to take advantage of Griff's shaders.
I've hit the "ubericity" factor, cos the originals were specced up like a mofo, and i never thought at the time that i'd be getting into this as much as i have. As a result, these new ones aren't as uber, but are slightly better in other respects. Hopefully it should blend and not jar.
Only the MkIs are available to the player, as the MkIIs now have twin cannons as they always should have done. There's a standard trader and a Gold Edition which is better specced.

Image

Image

Adding to the fun (I hope), to balance off the fact that the NPC MkIIs have double the firepower of the player, you can have fun shooting them up as they have 9 frangible parts. Both guns, wingtips, tail planes and wing boxes can be shot off, as can a big dorsal panel. Hopefully this will add eyecandy too if you happen to come across NPCs who have been in combat.
Image

Download/more info/pics at : http://www.purgatori.net/reduxedvamps.htm


Feedback welcomed....

Re: [RELEASE] : Reduxed Vampires

Posted: Sun Oct 10, 2010 10:52 am
by maik
Killer Wolf wrote:
Adding to the fun (I hope), to balance off the fact that the NPC MkIIs have double the firepower of the player, you can have fun shooting them up as they have 9 frangible parts. Both guns, wingtips, tail planes and wing boxes can be shot off, as can a big dorsal panel. Hopefully this will add eyecandy too if you happen to come across NPCs who have been in combat.
Looking good! Since they can be shot up quite badly, is it possible to have the damage impact the flight characteristics? E.g. reduce speed to a crawl, introduce spinning, impact maneuverability, etc.?

Posted: Sun Oct 10, 2010 11:00 am
by OSH
This ship reminds me of MiG-31 Firefox or Gratha from Wing Commander series :D

Re: [RELEASE] : Reduxed Vampires

Posted: Sun Oct 10, 2010 11:02 am
by Commander McLane
maik wrote:
Killer Wolf wrote:
Adding to the fun (I hope), to balance off the fact that the NPC MkIIs have double the firepower of the player, you can have fun shooting them up as they have 9 frangible parts. Both guns, wingtips, tail planes and wing boxes can be shot off, as can a big dorsal panel. Hopefully this will add eyecandy too if you happen to come across NPCs who have been in combat.
Looking good! Since they can be shot up quite badly, is it possible to have the damage impact the flight characteristics? E.g. reduce speed to a crawl, introduce spinning, impact maneuverability, etc.?
As far as I recall that's impossible, unfortunately. The only exeption being that if the laser subentity is shot off, the laser itself is gone as well.

@KW: I like the concept of shootable subentities (one of the reasons I love the DW Cobra). :D However, you could probably come across a Vampire with its wingtip shot off, while the gun is still there, flying on its own right next to the ship without being visibly attached, which would look a little silly. It's like with the Hognose Tugships, where you can in principle shoot away the tow line, and the attached ship would still be towed. Have you taken provision for that case, for instance by giving the wingtip a bigger energy than the gun entity? (That wouldn't be fool-proof, but much better than the other way round.)

Posted: Sun Oct 10, 2010 11:09 am
by Thargoid
Some limited things can be done. For the example above, a script can be used so that shooting away the wing also removes any laser sub-entities that are attached to it, thus preventing a "ghost laser" firing from a destroyed wing. If you look at the scripting for the Kraken in Aquatics, that's how destroying the weapons platform it carries stops their guns firing (the platform guns technically are sub-ents of the Kraken, as the sub-ent platforms cannot themselves have sub-ents).

For the other point, what you can also do by scripting is to remove equipment when bits of ships get shot off. For example a ship whose fuel scoop model sub-ent gets shot off can have its scoops removed. Similarly for things like fuel injectors and shield enhancements.

But things like maneuverability cannot easily be affected like that. It could theoretically be done by combination of script and AI, but it would be horribly complex.

Posted: Sun Oct 10, 2010 11:11 am
by Killer Wolf
thanks for the comments. Firefox was indeed an original ispiration, along w/ the Stuka.

@ Commander McLane
This won't be a prob. the spikes on the wingtips are just cosmetic (blah blah sensors etc etc make up something!) and are part of the wingtip entity. the cannons are under the chin, and leave behind a "fitting slot" where you can see the fixing brackets etc.
actually tho, none of the subents have an energy level, so i'm not sure what they use? i wonder if i should give them a low energy rating (such as...?) to make them easier to shoot off purely for eye candy?

Posted: Sun Oct 10, 2010 11:18 am
by Commander McLane
Killer Wolf wrote:
@ Commander McLane
This won't be a prob. the spikes on the wingtips are just cosmetic (blah blah sensors etc etc make up something!) and are part of the wingtip entity. the cannons are under the chin, and leave behind a "fitting slot" where you can see the fixing brackets etc.
Ah! Okay. (That's what you get if you make assumptions just from a picture and comparisons with other ship, instead of downloading and looking at the original. :oops: )
Killer Wolf wrote:
actually tho, none of the subents have an energy level, so i'm not sure what they use? i wonder if i should give them a low energy rating (such as...?) to make them easier to shoot off purely for eye candy?
I have no idea what the default energy for a subentity is. But it would seem sensible to give the parts some energy, and probably different energy. You could have a look into the dwcobra3.oxp shipdata. There are (different) energy values defined for all frangible parts.

Posted: Mon Oct 11, 2010 7:22 am
by Killer Wolf
Cheers Cmdr McLane.
Is there something on the wiki etc that details what weapons do what amount of damage, so i could work out a decent energy value for each subent rather than plucking random values out the air?

Posted: Mon Oct 11, 2010 7:43 am
by Griff
Awesome ships KW! I'm not sure if there's anything on the wiki, but i think if you dig about in playerentity.m the weapon stats are in there (lines 3521-3559), although the values seem to be in hex or something - '1.0f' ?:

Code: Select all


	switch (weapon_to_be_fired)
	{
		case WEAPON_PLASMA_CANNON :
			weapon_energy =						6.0f;
			weapon_energy_per_shot =			6.0f;
			weapon_heat_increment_per_shot =	8.0f;
			weapon_reload_time =				0.25f;
			weaponRange = 5000;
			break;
		case WEAPON_PULSE_LASER :
			weapon_energy =						15.0f;
			weapon_energy_per_shot =			1.0f;
			weapon_heat_increment_per_shot =	8.0f;
			weapon_reload_time =				0.5f;
			weaponRange = 12500;
			break;
		case WEAPON_BEAM_LASER :
			weapon_energy =						15.0f;
			weapon_energy_per_shot =			1.0f;
			weapon_heat_increment_per_shot =	8.0f;
			weapon_reload_time =				0.1f;
			weaponRange = 15000;
			break;
		case WEAPON_MINING_LASER :
			weapon_energy =						50.0f;
			weapon_energy_per_shot =			1.0f;
			weapon_heat_increment_per_shot =	8.0f;
			weapon_reload_time =				2.5f;
			weaponRange = 12500;
			break;
		case WEAPON_THARGOID_LASER :
		case WEAPON_MILITARY_LASER :
			weapon_energy =						23.0f;
			weapon_energy_per_shot =			1.0f;
			weapon_heat_increment_per_shot =	8.0f;
			weapon_reload_time =				0.1f;
			weaponRange = 30000;
			break;
	}

Posted: Mon Oct 11, 2010 7:50 am
by another_commander
Griff wrote:
[...] although the values seem to be in hex or something - '1.0f'
The f as suffix indicates a float number. In the C language family, the floating point constants (like 1.0, 2.6, 3.965 etc) are of type double by default. Suffixing them with f makes it clear to the compiler that they are to be treated as type float.

Posted: Mon Oct 11, 2010 9:07 am
by Commander McLane
What is weapon_energy_per_shot? I'm quite certain it wasn't always there.

Posted: Mon Oct 11, 2010 9:17 am
by another_commander
Commander McLane wrote:
What is weapon_energy_per_shot? I'm quite certain it wasn't always there.
It is the energy consumption per shot for a given weapon and has been present since at least v1.65. Every weapon requires a little bit of energy to fire. If you are really low on energy and attempt to fire lasers, you may see the "Weapon system inactive (no energy left)." message coming up.

Posted: Mon Oct 11, 2010 9:41 am
by Commander McLane
another_commander wrote:
Commander McLane wrote:
What is weapon_energy_per_shot? I'm quite certain it wasn't always there.
It is the energy consumption per shot for a given weapon and has been present since at least v1.65. Every weapon requires a little bit of energy to fire. If you are really low on energy and attempt to fire lasers, you may see the "Weapon system inactive (no energy left)." message coming up.
:idea: Ah!

So it's the amount of energy consumed for each shot, as opposed to the energy damage dealt with each shot. Okay, perfectly understandable. (And I have obviously failed to notice it before.)

Just makes me wonder why the twin plasma cannon consumes hugely more energy than all the lasers.

Posted: Mon Oct 11, 2010 9:55 am
by another_commander
Commander McLane wrote:
Just makes me wonder why the twin plasma cannon consumes hugely more energy than all the lasers.
My question here would be how come all lasers consume exactly the same energy. Surely a military laser would consume more juice than a puny pulse one? However, I believe that before attempting to fiddle with any of this, extesnive testing should be made to see what the effects on gameplay are.

Posted: Mon Oct 11, 2010 12:07 pm
by Kaks
another_commander wrote:
Commander McLane wrote:
Just makes me wonder why the twin plasma cannon consumes hugely more energy than all the lasers.
My question here would be how come all lasers consume exactly the same energy. Surely a military laser would consume more juice than a puny pulse one? However, I believe that before attempting to fiddle with any of this, extesnive testing should be made to see what the effects on gameplay are.
Same concept for the heat value! :)

Personally I wouldn't have anything against the following making its way onto 1.75:

Code: Select all

   switch (weapon_to_be_fired)
   {
      case WEAPON_PLASMA_CANNON :
         weapon_energy =                  6.0f;
         weapon_energy_per_shot =         6.0f;
         weapon_heat_increment_per_shot =   8.0f;
         weapon_reload_time =            0.25f;
         weaponRange = 5000;
         break;
      case WEAPON_PULSE_LASER :
         weapon_energy =                  15.0f;
         weapon_energy_per_shot =         0.8f;
         weapon_heat_increment_per_shot =   7.0f;
         weapon_reload_time =            0.5f;
         weaponRange = 12500;
         break;
      case WEAPON_BEAM_LASER :
         weapon_energy =                  15.0f;
         weapon_energy_per_shot =         1.0f;
         weapon_heat_increment_per_shot =   8.0f;
         weapon_reload_time =            0.1f;
         weaponRange = 15000;
         break;
      case WEAPON_MINING_LASER :
         weapon_energy =                  50.0f;
         weapon_energy_per_shot =         1.4f;
         weapon_heat_increment_per_shot =   10.0f;
         weapon_reload_time =            2.5f;
         weaponRange = 12500;
         break;
      case WEAPON_THARGOID_LASER :
      case WEAPON_MILITARY_LASER :
         weapon_energy =                  23.0f;
         weapon_energy_per_shot =         1.2f;
         weapon_heat_increment_per_shot =   9.0f;
         weapon_reload_time =            0.1f;
         weaponRange = 30000;
         break;
   } 
I feel that, as changes go, it's big enough to be noticeable by us old hands, but small enough to not affect the gameplay too much: in other words something that adds to the rich tapestry that is Oolite!


For the sake of readability, it would be a lot better if we renamed some of those internal variables, like:

weapon_energy => weapon_damage

weapou_energy_per_shot => weapon_energy_used


I might just do both things later on if there are no objections! ;)