Hello folks,
I've been fairly busy lately, but my little FT PBeM processor is steadily
reaching 'alpha 1' status.
My Alpha 1 release was intended to have the following features 1, hardcoded
ships (ship loading is the next step) 2, cinematic movement 3, beam and PDS
only (as far as weapons go) 4, intership communication 5, damage repair
At the current stage, cinematic movement and arc calculations are completed.
I'm now working on the firing orders.
My initial plan was to have each weapon list targets in order of preference,
(with 'closest' being a valid target). Then the targets are assigned based
on how many firecons the ship has. However - this is a bit of a coding
muddle.
I could continue using this idea. But I was kind of hoping that those of you
with a little more 'command experience' might give me some ideas on how to
handle target designation.
Cheers.
> colin.plummer@theplanet.net wrote:
> My initial plan was to have each weapon list targets in order of
First point - picking the nearest target doesn't often work too well
since you end up with two fleets both annihilating the enemies' point ship and
ignoring the rest of the ships. Targets must be prioritised by threat to both
the firing ship and also to any ships that it is escorting. The way to do this
is to generate a perceived threat value (ie a number) for every target out
there and then sort these into order. Factors to look at when generating this
number include:
1) Is he targeting me ("Captain, they've locked onto us")? 2) Is he targeting
any ship I'm supposed to be protecting ("Sir, they're targeting the Invincible
")? 3) Is he in range ("Out of effective torpedo range, Captain")? 4) If so,
what range band is he in (ie how effective would my fire be)? 5) How much of a
threat are they (ie how much damage can they do to me)
?
Things get complicated when dealing with fleet target assignments. Calculating
and assigning targets for each ship individually tends to result in most or
all of one side's ships targeting the same enemy vessel. One way round this is
to subtract a fixed amount from the target's threat value for each ship of
your side that is already targeting it. In this case you'll probably need to
assign targets to the biggest ships first and then let the cruisers and
escorts pick over what's left.
One tip which I've learnt when programming AI for various games - make
your calculations simple. Don't try to introduce sliding scales that generate
fractional numbers based on the square of the distance to the target (or
whatever). If the target is in range band one assign it three threat points,
range band two two points and band three one point. Similarly determine a
threat as being Very Threatening (three points), Threatening (two points),
Minor Threat (one point) or No Threat (zero points). This will make it much
easier to balance these threat point values out and tweak the workings of your
algorithm (I speak from long
experience here - KISS).
There's plenty more I could write on this topic but unfortunately I have to
get back to work... hope this helps a little.
> My initial plan was to have each weapon list targets in
My targeting screen would be something like this
List of active firable weapons in a list, only those weapons that can bear on
a target are in the list and that have firecontrol available should they need
it.
click on the weapon - list of possible targets appear
you should be able to sort the target list by various attributes which appear
in the list. The attributes can be anything range, threat factor, size...
selecting a target allocates the weapon to that target and whatever
firecontrol is required, this then effects the list of weapons displaying only
those weapons that can be targeted.
To retarget a weapon you select it and deselect its target this frees up the
firecontrol for another weapon or allows the weapon to
be re-targeted. The weapons list shows the weapon is targeted and
what the target is.
Special case for multiple weapons targeted on same target. Once you run out of
available firecons, only active effective weapons that can share a firecon are
displayed. Their targets lists contain only valid targets in range and arc and
already targeted by a shareable firecon.
The basic idea is that the user only ever gets valid choices in the list or
targets and weapons.
I think you've missed the point.... this is for a computer moderated
play-by-email engine. The player must submit -all- orders for a turn in
an email to the game engine - which processes those orders and executes
the game turn.
> List of active firable weapons in a list, only those weapons
This list I can calculate.. the player won't know where the enemy ships are
going to be when they write the orders to determine what to fire
upon - so they ought to have some method that will allow the game engine
to make decisions based on their own tactical decisions.
For example.. A player has a small, expendable ship that he wants to fly deep
into the enemy fleet and expend all weapons at the enemies carrier. He only
has one fire control, so wants all weapons to fire at the carrier if he is in
range, otherwise fire the beams etc.. at whatever is closest. The other player
has two small ships which he has detailed as close escort to the carrier. They
wish to fire on any ship that is in range, but with preference to any ship
that has fired on the carrier this turn (in the
hope that the enemy wont get close enough to fire at point-blank range)
Elsewhere in the battle, a battlecruiser is plugging away at another BC that
has taken heavy damage. He wants to finish it off - but it is crippled
so he sets it as a secondary target, after the 2 heavy cruisers that are
bearing down on him( and may or may not enter range this turn)
What do people think of the following firing orders (that will fire
non-expendable weapons)
TARGET X, Y, Z
Fire at those ships in that order of preference.
DEFEND X, Y
Fire on any ship that is in range and has fired on X or Y this turn. (this
order makes no sense if I set the 'simultaneous fire' game option)
Default order for all non-expendable weapons is to fire at the closest
target in arc.
If the ship has more valid targets than it has firecontrols it will use the
order of preference, then target size, then random selection to assign the
FCS.
As a further thought, you could assign a weighting to the enemy ships which
will be applied to determine their 'value' for targetting purposes.
At the moment the turns orders are going to look something like (with multiple
ship entries):
ORDERS player_identifier password
SHIP ship_id
MOVE S1+3 // turn starboard 1, accelerate by 3.
<whatever the targetting orders end up being>
REPAIR system, no_of_DCP, system, no_of_DCP etc...
SEND ship_id message
Comments? Suggestions? (I'm casting out the suggestion line again here
;) )
> What do people think of the following firing orders (that will fire
You realise that these could, in theory, alternate as well. Ex: TARGET
X,
DEFEND Y, TARGET Z.
> If the ship has more valid targets than it has firecontrols it will
Are you saying here that the default is to spread fire? I would think that
concentration of fire, excepting ships out of arc, would be the default.
> As a further thought, you could assign a weighting to the enemy ships
Good idea, but how workable is it?
> Comments? Suggestions? (I'm casting out the suggestion line again here
Could be interesting. How are you thinking about running this? I've done PBEM
Spreadsheets that essentially do most of this. Are you intending to make this
automated in some way?
...and lastly, what's your "added value" that would make players use this as
opposed to the PBEM sheets already out there?
I'm not TRYING to be difficult here, just curious.
> colin.plummer@theplanet.net wrote:
> What do people think of the following firing orders (that will fire
No, you can still do it - any ship which has X or Y in its TARGET orders
(as above)
becomes a valid target (PSB - you've detected the lock-ons of the
enemies FireCons).
These make your target selection much easier - your target selection
algorithm just has to select the first of X, Y or Z that it can fire at, only
if none are valid targets do you need to find another target.
> Default order for all non-expendable weapons is to fire at the
See my earlier posts about the problems this causes - everyone fires at
the same target most of the time.
> If the ship has more valid targets than it has firecontrols it will
You could also insert 'previous target' into this list - stops ships
hopping between targets and should mean that they at least try to finish off
targets.
> I think you've missed the point.... this is for a computer moderated
Sorry I though you were describing a PBEM client 'processor'
> I've been fairly busy lately, but my little FT PBeM processor is
Quoting Sean Bayan Schoonmaker (Thu, Oct 28, 1999 at 09:04:58AM -0700)
> You realise that these could, in theory, alternate as well. Ex: TARGET
Yes, that was hopefully the intention
> > If the ship has more valid targets than it has firecontrols it will
Sorry, that could have been clearer.. the order of preference (which may
be weighted by values - see below) - if a ship isn't in the order of
preference
they are then ordered by size - if they are the same size, they are
ordered randomly.
> > As a further thought, you could assign a weighting to the enemy
Easy... if you think a ship is going to run into a 'wall' and won't get arc on
you - set its weight to 0 so that you concentrate on all the other
ships.
> >Comments? Suggestions? (I'm casting out the suggestion line again
Hopefully completely automated. Email collected automatically, turn processed,
emails sent with reports to each player.
Before you begin to think that that sounds a little grand.. I work full time
for
a major ISP managing automated on-line systems. The only problem with
getting
things onto web pages is finding a web-space machine outside of the
administrative firewall.
> ...and lastly, what's your "added value" that would make players use
will the complete automation, you could play with almost no GM interaction. I
don't have very many people to play with here where I live (not to mention
being in another town to work from 7am-7pm), so the general intention
was to allow me to play with people with an easy interface. With possibilities
for experimentation in AI players etc... The other possibility that struck me
when I was forming the plan would be proper implementation of the sensor rules
(and cloaking).. since you really wouldn't be able to tell what was outside
your sensor range. In addition, a computer moderated system should be able to
easily cope with very large scale battles.
Hopefully (with St^3 Jon's blessing) I could release the source to the list
so that others could improve on it etc.. - if Jon wants to keep it out
of the public domain then I shall keep it as a personal 'toy'.
If people are willing, once I have the initial engine - I'd like to run
some alpha-testing games for people on the list [And find out whether
the koche effect carryies over into the internet;)]
Another option is to use a modified turn sequence. Start the sequence with
firing. Then the other steps with orders written just before the fire phase.
This is what I do for my PBeM games (it keeps me from guessing the players
priorities or having them give me complicated contingency lists). If the ship
looses MD due to damage, it performs the movement orders up to the new maximum
of the MD.
This will save you a lot of programming and, in the end, make the players more
happy because they will have greater control over the ships fire.
-----
Brian Bell bkb@beol.net
http://members.xoom.com/rlyehable/ft/
-----
> -----Original Message-----
> Good idea, but how workable is it?
What I meant in this case, is how does "weight integrate into the other
priorities (TARGET X, etc.)?
> Hopefully completely automated. Email collected automatically, turn
Sounds good, and "no," it doesn't really sound THAT difficult for a decent
coder.
> will the complete automation, you could play with almost no GM
Good idea.
> If people are willing, once I have the initial engine - I'd like to run
I'd like to participate. You can contact me off-list with details when
you're ready.
> Another option is to use a modified turn sequence. Start
I'd agree with this. It'll save you and the players both a lot of aggravation.
> Another option is to use a modified turn sequence. Start the sequence
*nods*
I like programming:) I think what I'll do is carry on as I am at the
current time - but make that a game option. (I'd already thought of a
nice engine that would allow me to select whether I was using FT2 or FB rules,
and whether to use various additional rules for the game in question, this
will definately be on my list for early options, depending on how the
playtesters like the way things play)
I'm only now catching up on SOME of my hideous backlog of email. :-/
[PBeM firing solutions for computer-moderated games]
> Comments? Suggestions? (I'm casting out the suggestion line again here
The PBeM games I've run (and subsequently played in) have allowed players
to specify 'closest target of such-and-such a size within a given range
bracket'. This allowed for the ability to nail the battlecruiser that was 13
mu away over the corvette who was 3 mu away if the firing ship wanted.
Also, I have run games that have used the 'standard' fire rotation sequence of
Full Thrust and games that have used a 'simultaneous fire' sequence. There is
some difference to the end results of each, but no less the drama.
:)
Note: all the games I've run, and I believe most if not all the games I've
played in have been human-moderated games. Little easier to issue
somewhat more vague orders that stand a chance of getting interpretted how you
hope they will, since the 'computer' you're supplying the orders to is already
'programmed'.:)
For what it's worth (you did ask for comments/suggestions ;).
Mk