Making broadside work

It's really quite simple

I think. Naturally these ideas are entirely untested. Not sure why I'm posting this, I just randomly came up with it for some reason. Anyway, here we require different setups for both the AI and the player but that shouldn't be too big a problem.

AI
Okay, so we all know the AI isn't clever enough to turn a ship to the side and unleash hell on some unsuspecting target. But what if we just make it appear as if that's what's happening? All we need to do is make an "unfolds-to-fire" animation of the ship making a 90 degree turn. Line the exit points up along the front of the ship and make sure it prefers stand-off attacks. Ta da! Ship stops within range, appears to turn to the side and then opens fire. The obvious disadvantage of this is space-consuming sprites.

Player
The two easy approaches to this are to use side-firing turrets (unwanted 90 degree tracking) or negative inaccuracy (can't control which side to fire). I have two methods here which avoid both those problems, one using primary weapons and one using secondary. Both rely on the theory that a shot fired with negative inaccuracy will pick which side to go based on the position of its exit point, so if this is not true then these won't work and I apologise :unsure:
Primary: First we set up the exit points using one exit type for each pair of cannons (port & starboard). Then we need four weapons, one for each exit type, with -90 inaccuracy and set to use nearest exit (they'll be unguided but that flag will work for any weapon). When a target is selected the side closest to the target will fire. When no target is selected both sides will fire as it alternates between exit points. The oddity of this is that when both sides are firing it'll still have the same rate of fire as when just one side is firing. Perhaps there's only enough crew to man half the guns at a time :rolleyes:
Secondary: The secondary method is similar to the primary but we only need to set up two exit types, one for port and one for starboard. All the exit points in one set will be entirely along one side of the ship so a weapon with negative inaccuracy using that type will only ever fire to that side. The player can simply toggle between "Port Cannons" and "Starboard Cannons" using secondary select. The disadvantage of this method is it won't work very nicely if there are other secondary weapons available.

Now, someone test this for me and see if it works 🙂

This post has been edited by Guy : 05 December 2006 - 11:02 PM

I'm not certain your primary method for the player will work, although I don't see any reason it shouldn't, but I am quite certain your secondary method will work. Several months ago I made a demo plug that added the ability to strafe to a Lightning, by using exactly that method for controlling which way a weapon would fire. I've also used the symmetry in negative inaccuracies set set up a weapon with two converging particle beams.

Edwards

Your AI idea would look really funny if you didn't have Ship Animations turned on in prefs. In that situation the unfolded sprite appears at all times (think of the Asteroid Miner: with animations off it's always open, ready to fire, which incidentally makes it somewhat more combat-worthy) so AI ships would always look like they're moving sideways.

@qaanol, on Dec 6 2006, 01:33 PM, said in Making broadside work:

Your AI idea would look really funny if you didn't have Ship Animations turned on in prefs. In that situation the unfolded sprite appears at all times (think of the Asteroid Miner: with animations off it's always open, ready to fire, which incidentally makes it somewhat more combat-worthy) so AI ships would always look like they're moving sideways.

Oh, man! That would be hilarious (for a time)!

But anyway, this sounds interesting. I hope that things work out, I know I would get this.

@qaanol, on Dec 6 2006, 10:33 AM, said in Making broadside work:

Your AI idea would look really funny if you didn't have Ship Animations turned on in prefs. In that situation the unfolded sprite appears at all times (think of the Asteroid Miner: with animations off it's always open, ready to fire, which incidentally makes it somewhat more combat-worthy) so AI ships would always look like they're moving sideways.

Side-borne thrusters?

Oh, don't forget about weapon animations, like the Crown of Thorns, or the converging beams of CPLs.

So did anyone test the primary method?

My next easy trick is a weapon that can't be fired: Just make it a turret with blind spots all around 🙂 . Don't know if that works or if anyone has thought of it before but it is simpler than using the KeyCarried method to prevent firing. I thought of this in response to Coraxus's post in the Cool Hacks topic (which seemed to be missing something :huh: ). The idea is to make multiple weapons use the same ammo but allow plundering of the ammo no matter what combination of weapons you and the target have. So you create this invisible (primary) weapon which can't be fired (the 'master') and all other weapons (the 'slaves') draw ammo from the master. Then you grant/remove the master whenever you buy/sell any slave weapon and set up ships so they come with the same number of masters as slaves. So everyone who uses any type of slave weapon will also have a master, meaning they can plunder the ammo from anyone else who has any type of slave weapon.

This post has been edited by Guy : 11 December 2006 - 09:17 PM

Sounds like it might work in theory, question is, would the AI actually draw same ammo for different weapons? I'm gonna test this out.

UPDATE: I tried it, but it seems that the AI will still not recognize ammo sharing between different weapons regardless.

This post has been edited by Coraxus : 29 December 2006 - 10:47 PM

Stink. So the real issue here is: Ammo cannot be plundered from weapons which do not use their own ammo.
AI not being able to share ammo from one weapon with another weapon that uses the same ammo isn't such a problem - in practice you're not likely to have AI ships using two weapons that draw the same ammo. If it did work it would only be useful as a workaround for the real issue.