Weapons for a special-operations ship

Moppy said:
WingedCat said:
i have a sniper ship design with a rocket drive booster. if you don't match its weapon range, you don't get to shoot at it ever unless you pull some kind of ambush.
Indeed, but this is not common. Also, this is one of the cases that missiles are for.


Not common?

In the OTU (or at least in the Third Imperium), is my impression given the ships that keep being seen.

You are correct that someone could use this trick to gain a strategic advantage. The counter, as I noted, is missiles (especially long-range missiles or torpedoes that can in theory attack at interplanetary ranges): this would likely work well against anyone without missiles or torpedoes, but a dedicated sniper ship would likely lack the point defense that is a counter to missiles, so a missile ship would just try to stay out of the sniper ship's range.
 
Condottiere said:
Do we add the velocity of the launching platform to that of the missile acceleration?
I have no idea why we would add a velocity and an acceleration, but missiles start with the launching ship's vector.

LBB2 said:
All ordnance which is launched has the launching ship's vector, which must be taken into account.
 
Given the system as presented doesn't use vectors and deals strictly with comparing the intercepting object to the range band of the target with adjustment for relative velocity of the pairing.
 
baithammer said:
Given the system as presented doesn't use vectors and deals strictly with comparing the intercepting object to the range band of the target with adjustment for relative velocity of the pairing.

This. +1. The rule cited is nonsensical because, as you pointed out, the game doesn't use vectored movement. And since there is no acceleration advantage provided by the launcher you could simply eject the missile, or even toss it out the cargo bay and it can use internal gyroscope or thrusters to align itself towards it's target and fire off its motor. Also, the citation from the original Traveller book is pointless since there have been 5 major revisions from Miller, let alone all the other versions.

The question about adding acceleration is a complex one. It actually makes things more complicated, as if you take into account the vector and thrust of the launching ship, you also have to take into account the vector and thrust of the target ship. So firing a missile at a ship chasing you means reducing the initial thrust of the launching ship and then adding in the thrust of the pursuing ship (e.g. the missile, using newtonian physics, would first have to overcome it's launching ships velocity in the direction it is travelling. Trying to keep track of all the delta-V would be a monumental pain in the bookeepers butt.

It's much easier to make missile combat as simple as possible. And, since ships have 360 degree firing arcs, it's a moot point.
 
Mongoose does use vectored movement, but in 1 dimension. Their rules assumes 2 ships connected by a string, with (1 dimensional) velocities along the string. One can simply do velocity addition in this case.
 
phavoc said:
Also, the citation from the original Traveller book is pointless since there have been 5 major revisions from Miller, let alone all the other versions.
Basic physics doesn't change. Unless you simplify away vectors or missile movement, that is how it works.

The question talked about ship and missile velocity, so I assumed a system that used velocity (vectors) rather then the MgT2 system. The vector movement system from LBB2 was included as optional in MgT1 HG, so it's not all that far-fetched to discuss on the Mongoose forum.
 
Moppy said:
Mongoose does use vectored movement, but in 1 dimension.
The MgT2 movement system is not a vector system since we don't keep track of the velocity (=vector).

A one-dimensional vector system is described in CT Starter Traveller.
 
AnotherDilbert said:
Moppy said:
Mongoose does use vectored movement, but in 1 dimension.
The MgT2 movement system is not a vector system since we don't keep track of the velocity (=vector).

A one-dimensional vector system is described in CT Starter Traveller.

Think of row or column vectors.
 
Using your thrust moves the range along a line by a set amount (though it's granulated into range bands). That is a vector translation as it has a magnitude and direction (basically a sign in this case, either + or -).

As you point out, velocity isn't recorded from turn to turn under standard rules.

To explain the matrix reference. When you write too much code you think of lists as arrays, and arrays are called vectors. When I see a 2-tuple like (direction, distance) I see a 2x1 matrix or 1-d vector; they are interchangable.

edit: 2x1 is a 2-d vector, LOL, but it encodes 1-dimensional movement and is a 1-d array (making it 1-d vector to a programmer and 2-d vector to a mathematican). We really should stop calling arrays vectors but it's too late.
 
Moppy said:
Using your thrust moves the range along a line by a set amount (though it's granulated into range bands). That is a vector translation as it has a magnitude and direction (basically a sign in this case, either + or -).
This is a physics model, so uses vectors in the physics sense, not the CompSci sense.
https://en.wikipedia.org/wiki/Vector_(mathematics_and_physics)

A few numbers stored in an array is not a vector. The stored state is just a distance (range band) without any direction.


Moppy said:
To explain the matrix reference. When you write too much code you think of lists as arrays, and arrays are called vectors. When I see a 2-tuple like (direction, distance) I see a 2x1 matrix or 1-d vector; they are interchangable.
In matrix algebra column and row vectors are not interchangeable. Since you made the distinction between them I assumed you made a reference to matrix algebra. It't the only use that has forced me to make the distinction.

I was afraid someone had formalised the movement system in matrix algebra...
 
AnotherDilbert said:
This is a physics model, so uses vectors in the physics sense, not the CompSci sense.

Movement along a range string is a vector in mathematics and physics. Your move has a direction (towards or away) and a magnitude. This is a displacement vector and I don't see how it's arguable otherwise. The Mongoose 2 space movement system doesn't have velocity, so it's not "newtonian", but it still uses vectors.

edit: I see what you mean, it's not a complete, formal framework.

AnotherDilbert said:
A few numbers stored in an array is not a vector.

How do you distinguish the array of prices (4, 2) from a co-ordinate translation on a cartesian (x, y) grid? Only by application, right? So they kind of are.

Now maybe programmers or computer scientists shouldn't call arrays vectors but it's too late for that. Vectorisation also means performing a sequence of operations simultaneously i.e. if I wanted to double all the values in the above array, as they're independent of each other I can do it simultaneously, and we could write that as a matrix multiplication (and some do consider it that way - usually mathematicians who write code (domain experts), who think differently to conventionally trained software engineers).

Lately people have worked out that a neural network is just a fancy matrix, and we're "misusing" tensor too now. :-)
 
AnotherDilbert said:
I was afraid someone had formalised the movement system in matrix algebra...

That's what programmers do.

The computer is a mathematics (logic, which is a subdomain of mathematics) engine. A human has to create a mathematical model that represents the problem so that it can be fed to the machine.

If you're interested, check out something called a "turing machine" (nothing to do with engima). It provides the modern definition of what "computing" means and therefore defines its limits (what finite things you cannot compute, even on an infinite computer). The basic idea should be accessible to anyone and I'm sure you'll be able to understand simple turing machine instruction sets.

Turing machines in 5 minutes: https://www.youtube.com/watch?v=dNRDvLACg5Q

As a result of this, the halting problem is proved unsolvable on any computer: https://www.youtube.com/watch?v=macM_MtS_w4

This means it's impossible to prove an arbitraty program is bug-free.
 
Moppy said:
Movement along a range string is a vector in mathematics and physics. Your move has a direction (towards or away) and a magnitude. This is a displacement vector and I don't see how it's arguable otherwise. The Mongoose 2 space movement system doesn't have velocity, so it's not "newtonian", but it still uses vectors.
Calling any scalar a vector because it has a sign is a stretch.

The characteristic of vector movement systems is that we keep track of the velocity vector, like in LBB2. The simplified MgT system does not.

We can of course use a 1-D vector system like in CT Starter Traveller, implemented entirely with scalars since it is 1-D.


Moppy said:
How do you distinguish the array of prices (4, 2) from a co-ordinate translation on a cartesian (x, y) grid? Only by application, right? So they kind of are.
In mathematics they can be the same, in physics (or economics) they represent real phenomena and comes with additional limitations.


Moppy said:
Now maybe programmers or computer scientists shouldn't call arrays vectors but it's too late for that. Vectorisation also means performing a sequence of operations simultaneously ...
We have to live with that different fields use the same words for different concepts.
 
Moppy said:
AnotherDilbert said:
I was afraid someone had formalised the movement system in matrix algebra...
That's what programmers do.
Choosing an unnecessarily complex model is bad design. Even if you understand it perfectly it makes the software unnecessarily hard to maintain.

Vector algebra is not the same as matrix algebra, e.g. multiplication. In my experience vector algebra is often a more appropriate tool for at least simple physical problems. Matrix algebra is generally more useful as an abstraction layer above the calculation layer, e.g. handling equation systems.

Everything should be made as simple as possible, but not simpler.


Moppy said:
The computer is a mathematics (logic, which is a subdomain of mathematics) engine. A human has to create a mathematical model that represents the problem so that it can be fed to the machine.
I have heard of the concept of "computer"...

I would call mathematics a subdomain of logic, itself a part of philosophy.
 
If the launching spaceship imparts velocity and direction to the missile, it could do so that impact occurs within the same turn, and the manoeuvre jets on the missile primarily are responsible for adjusting course to intercept the target.

The launching spaceship could be considered the first stage of a two stage missile.
 
AnotherDilbert said:
Moppy said:
AnotherDilbert said:
I was afraid someone had formalised the movement system in matrix algebra...
That's what programmers do.
Choosing an unnecessarily complex model is bad design. Even if you understand it perfectly it makes the software unnecessarily hard to maintain.

Vector algebra is not the same as matrix algebra, e.g. multiplication. In my experience vector algebra is often a more appropriate tool for at least simple physical problems. Matrix algebra is generally more useful as an abstraction layer above the calculation layer, e.g. handling equation systems.

Problem definition, and implementation model, are completely separate.

For problem definition I think you realise that you only need addition for Traveller range strings, and that vector and matrix algebra are identical for this use case because a vector is a row or column matrix.

For model choice, the model you use for the implementing program depends on a lot of things.

If you only needed to know the range, signed integers for displacement is fine. If you have to draw the ships you need to know which way its pointing and how big an engine flare to show, then you have paired sets of (direction, thrust) each turn, which looks like a list of row or column matricies.

AnotherDilbert said:
Moppy said:
The computer is a mathematics (logic, which is a subdomain of mathematics) engine. A human has to create a mathematical model that represents the problem so that it can be fed to the machine.
I have heard of the concept of "computer"...

I would call mathematics a subdomain of logic, itself a part of philosophy.

I should be more specific. Boolean logic or boolean algebra. A program can also considered to be lambda calculus. In any case I think we agree coding is applied mathematics.
 
Moppy said:
Problem definition, and implementation model, are completely separate.

For model choice, the model you use for the implementing program depends on a lot of things.
Of course.


Moppy said:
For problem definition I think you realise that you only need addition for Traveller range strings, and that vector and matrix algebra are identical for this use case because a vector is a row or column matrix.
Mathematically a vector is not exactly the same as a n×1 matrix. I suspect our difference is that I started with this in maths and then applied to programming, and you did the reverse order?

We don't use exactly the same definitions, hence we don't quite agree?
 
AnotherDilbert said:
Mathematically a vector is not exactly the same as a n×1 matrix. I suspect our difference is that I started with this in maths and then applied to programming, and you did the reverse order?

Well I'm not saying there's only 1 right way to do it. The context is important.

The difference lies in the meaning humans assign to the values, and not the algorithms. The code for (a1, a2) + (b1, b2) = (a1 + b1, a2 + b2) is the same if we have co-ordinate translation vectors, or if a is a list (programmer's vector) of prices and b is discounts per item.

In practice you may have to do rounding differently for currency unless you want the accountant to ask you where all the 0.5s went, but that's a separate issue.
 
Back
Top