Zoning Discussion
Please note that all the posts below have been sorted into the time at which they were posted. In total there were about 7 or 8 Zoning threads, as some died new ones emerged. You will find that some of them overlap below, however it is usually obvious who is replying to what.
My eternal thanks to Warsmith who gathered together every post which contributed something to Zoning.
Subject: My AI ideas
for a better AI
Author: Quitchy
Date: 9/11/99 7:45:51 PM
I would guess that to make a better AI (something only CD can do
totally) would be getting TA to divide a map into Zones (square
ones). It could then work out what was in each Zone, and using in
built point allocation systems (Defenders could be 2 points...or
more complex, start as 2, then to the power of the number of
defenders, HLT could be 4). The AI would then attack the Zone
which had the least points. Any Zone which contained one of your
units could be counted as YOUR Zone, and so the AI would count
that as part of the border. The AI would work out where your
border was, so that it didn't try to barge past you into the weak
centre of your base. It would have a second value which gave it
priority targets, and it's objective would be to find the most
weakly guarded route to the most points worth of priority targets.
Of course this is a rough system. You could program the AI so
that it only can calculate points from what it's seen, so that it
uses scouts, and that it scouts every now and again to refresh it's
internal map. So if it scouts a weak zone, you could whip up some
defences to catch the AI out.
Another important factor would be the size of the Zones
themselves, you don't want them too large as that makes them
meaningless, but too small also does the same, as defence in one
Zone could fire into another.
Subject: Hypotehtical AI ideas.......comment plz
Author: Quitchy
Date: 9/11/99 8:02:46 PM
This is an expansion on an answer I posted further down the forum,
which I have decided to turn into a fully fledged post.
I would guess that to make a better AI (something only CD can do
totally) would be getting TA to divide a map into Zones (square
ones). It could then work out what was in each Zone, and using in
built point allocation systems (Defenders could be 2 points...or
more complex, start as 2, then to the power of the number of
defenders, HLT could be 4). The AI would then attack the Zone
which had the least points. Any Zone which contained one of your
units could be counted as YOUR Zone, and so the AI would count
that as part of the border. The AI would work out where your
border was, so that it didn't try to barge past you into the weak
centre of your base. It would have a second value which gave it
priority targets, and it's objective would be to find the most
weakly guarded route to the most points worth of priority targets.
Of course this is a rough system. You could program the AI so
that it only can calculate points from what it's seen, so that it
uses scouts, and that it scouts every now and again to refresh it's
internal map. So if it scouts a weak zone, you could whip up some
defences to catch the AI out.
Another important factor would be the size of the Zones
themselves, you don't want them too large as that makes them
meaningless, but too small also does the same, as defence in one
Zone could fire into another.
To go more advanced the AI could use fire radius's as it's basis
for a plan. It could work out where the weakest areas were,
through which Zones were covered by the most damage worth of
radius, or without a grid, just where it had to go to enter the
minimum amount of damage worth radius's.
A similar procdure could be used for defence. The AI's buildings
could have defence circles which are worth a certain amount of
points, as are defences. So a metal extractor has a defence
radius around it, in this radius should go a defence worth 2
points, so a Rocket turret is worth 1, an LLT worth 2, so the AI
would eventually decide to put either 2 RT's or 1 LLT. If a
defence was positioned so it was withing 2 radius circles, then
it would count towards the defence point total of both.
Finally, terrain. The AI could go through it's attack force, and
decide if it is a fast attack force, or a slow one. This would be
done through an average speed calculation, which would be
compared to a set value. This force would then be given a
gradient value equivilent to it's worst climber. This would then
allow the AI to know if if should hit from the side, or if it can
afford to take a more direct route to it's objective, and also
what terrain it could navigate. This would allow it to cross off
certain zones, and choose alternate routes.
Finally, rather than reinforcing always, the AI would judge it's
attack. If it had run into more than it could handle, it would
then decide between withdrawl (if it was a fast overall force),
or reinforcements (if it was a valuable force) or simply building
a new force and leaving the old one to it's fate. If an attack
was succeeding, the AI would decide if reinforcements were needed,
and if it should only send fast units, or if slow ones would be
there in time. It would then set about starting a second group,
which would hit the now weakest border territory. However, if the
first AI attack force had broken through to a rich priority
target, then the AI would start to flood it's troops through this
gap, and attempt to eliminate the enemy.
-----------------------
Sorry for some sloppy typing, but I put down ideas as they came
to me. As someone who is quite fasinated by AI and all the things
you can do with it (especially RTS which is a rather interesting
tactical challenge), I would like feedback on what you thought ot
these ideas.
Thanks!
Quitch
Creator of the Queller AI for TA, CC and UH
Subject: Great ideas!
Author: Berserker9679
Date: 9/12/99 8:11:15 AM
Now we just have to find a reasonable way to help the AI out
produce the player without cheating excessively or entering nano-stall...I
suppose the easiest way would be to establish a set of thresholds
so that the AI removes units from nano-assists or halts
production when the drain exceeds a certain percentage of the
resource income, and adds units to nano-assist or increases
production when the income creates a surplus exceeding a certain
percentage of the drain. Sure it sounds complicated, and
unfortunately, it is. That's what happens when certain key
aspects of the AI are built in to the game engine--there's
nothing we can do without cracking open totala.exe...
Berserker9679
Subject: Income to production
Author: Quitchy
Date: 9/12/99 9:21:51 AM
Again, it would be done by priorities, though this aspect is
complex. A lot of the AI's out there though help to fix all nano-stalling,
it's just the internal protection routines that screw up
everything.
Subject: Map Zoning
Author: Warsmith
Date: 9/13/99 3:22:33 AM
Along with the larger minimap (add a zoom feature)available
through tab, a la TA: K, give unit command options. You can asign
standing orders to specific parts of the map, such as "don't
move here", "don't attack here", etc. As well, one
could give unit-specific orders, such as telling a specific unit
or group of units to "repair all in here", "reclaim
all in here", "guard all in here", etc. For
interface ease, give a line of the standard command buttons along
one side of the screen. Click a button, then place the cursor
over a point on the perimeter of the zone. Trace a line over the
zone; when you let off the button it draws a straight line to the
starting point. If you held the left mouse button, it asigns unit(s)
to do the command in that area. If you held the right button, it
asigns them not do the the action in that area. You could set the
zones to overlap each other or over ride each other. With this
feature, you could give some pretty complex orders, such as
detailing rocky areas and similar places for units to walk around,
or telling your aircraft to only attack units in a specific area
of the enemy base. Of course, one must then control the zones
themselves, so make the zones easily selected on the minimap (with
multiple clicks for multiple layers of zones) so that they can be
easily changed or deleted. While you're at it, go ahead and let
the player put them in numbered groups:)
I admit that setting up the zones on a map would require a lot of
micromanagement. However, once they were done they could chop off
an incredible amount of micromanagement that could otherwise be
neccesary at a very bad time...
This is actually yet another addition, but it is very short (I
was gonna put it at the end of the first paragraph). Instead of
numbered groups (well, we could go ahead and keep the numbers for
tactical use) have a click-down, scrollable menu of names, with a
single line at the bottom for entering a name, and an "add"
and "remove" button below that. The "remove"
button is really important because the units can be in more than
one group at a time. One types the name of a group and enters it.
It is now on the list. One then clicks either a name or a set of
units and then clicks the "add" button, then the name
they wish to add it to. If the name is clicked with the right
mouse button it is put exclusively into that group, taking it out
of any others. To remove, one clicks the name or units, then
"remove", then the name from the list they wish it to
be removed from.
There's more where that came from, in full interface detail...
Subject: You misunderstand
Author: Quitchy
Date: 9/13/99 11:20:16 AM
I wasn't referring to unit AI, I meant the overall enemy AI. The
"grid" would be invisible, and only the AI would know
which Zone was which. This would affect decisions by the AI
Commander, NOT units. This whole system would have 0 effect on
the way the player played, but would change the entire way the AI
did.
Subject: We could do it
Author: Warsmith
Date: 9/13/99 3:42:03 AM
Quitch, I, too, have been thinking extensively of this. However,
your ideas are revolutionary to what I've been thinking. I'll run
'em through the mill and see what comes out (evil clown laughter),
but here's what I have for now.
We could make a seperate program from TA. First, it trick TA into
thinking you're online. Then you set up a game with yourself as
host. Tab out and start the other program. It starts joins in.
Set the options and run it as though it were a multiplayer.
Subject: Terrain
Author: Quitchy
Date: 9/15/99 10:39:00 AM
The AI would have to modify a terrain value though, depending on
where the terrain was to be found in the Zone. If you used big
Zones, the AI would need to know if it was an impassable cliff,
or lots of small hills.
Subject: three solutions:
Author: Ian Price
Date: 9/15/99 11:51:25 AM
which are not mutually exclusive, mind you.
1) Use smaller zones, it's easy enough to do, just a bunch of
array mathematics. Then you have a value for a zone (the highest,
say 10) which means 'impassable.'
2) Have a set of values in each zone, each indicating a different
type of terrain. Impassable (and indicate in which direction it
is impassable, and by what sort of units), large hill, medium
hill, small hill, underwater hill (ie shallow water), etc.
It would take a lot of work, but it could be done...
HAWK_Ian_Price
knows enough about programming and arrays to actually be helpful,
yay!
Subject: Quitch: Zoning
Author: Warsmith
Date: 9/14/99 5:42:00 PM
I wasn't talking about the same thing; it just happened to have
the same name. However, I think it could be used well in your AI
ideas. The AI zones could include terrain info as easily as unit
info. Say, find the slope value and number of changes of value in
a zone, and use the info to assign a number to the zone. The
higher the number, the more the AI will avoid passing through the
area. At the same time, it could use a higher number value to
indicate a good place for a firebase, as the movement hindrance
to attacking troops could greatly benefit the static defenses.
Subject: Actually
Author: Quitchy
Date: 9/15/99 12:02:01 PM
I think I forgot something from my initial idea. That is that the
AI would also look in adjecent zones, and judge how quickly an
enemy could respond to an attack in the zone it had selected, and
add this value to the zones current value.
Unrelated I know, but Zones were mentioned again.......and I
should decide wherether to capitilise that or not......and how to
spell :)
Subject: So how big should a zone be?
Author: Berserker9679
Date: 9/16/99 11:09:10 AM
one screen? half of one? and just adding up the number of hills
and dips could possibly make the AI avoid otherwise good
territory--if it has one big hill in the zone--albeit one that
can be easily circled, the AI might avoid whole areas, and once
you learned the pattern, you'd always know where to place your
defenses. Better to have the terrain (which gets into pathfinding
rather than attack/defense) work on a set of +/- values,
calculating the amount of flat, level terrain in the area as a
plus, and the uneven areas as a minus--thus the higher valued
places are where the units try to move through. Then there's
always the question of water--how does that get factored in? At
any rate, on the AI choosing a place to attack, it should factor
in only those stationary objects that 1) destroy it's units (to
include KBots and Vehicles with "Don't Move" orders)
and 2) prevent the movement of troops altogether (such as DTs,
FWs, and steep terrain). Any other ideas we should look at?
Berserker9679
worries that making the zones too large makes the AI too
inaccurate, while making them too small makes the game too
intensive on system resources...
Subject: Customizable AI...
Author: Berserker9679
Date: 9/16/99 11:14:44 AM
Just a random shot in the dark on an idea for an engine-based
improvement to the AI: In some games, you can tell the AI how you
want it to react when you create the map (one example is Micro$oft's
Age of Empires). Meaning you can specify not only what the AI can
use when it comes to units, but also whether it should be
relatively passive, or extremely aggressive...also, you can tell
it what general strategies to use (such as Tech Level 2 KBots, to
use TA as an example). Then it builds and acts according to these
simple customizations. That's the kind of AI I'd like to see in
TA2--total customization.
Berserker9679
will never give up hope on TA2...
Subject: I'd say a zone should be...
Author: Ian Price
Date: 9/16/99 12:14:58 PM
one screen, and what the AI does with it should include the
following factors of what it knows:
1) proximity to known enemy unit placements.
2) terrain values (each type of terrain would mean something
different to do with the square)
3) metal patches present
4) wreckage or DT/FWs present
5) geo vents present
6) friendly (allied) units present
7) friendly (controlled) units present.
that's all I can think of for now.
HAWK_Ian_Price
aka Histidine, SUMMARIZING soldier in the War of Amino Acids.
Subject: IMHO
Author: Quitchy
Date: 9/17/99 12:26:08 PM
A zone should be about a tenth of a screen. What the AI would do
then, rather than looking at one Zone at a time, would be to look
at multiple Zones. It would take large square areas, and choose
it's route. This would stop it avoiding somewhere just because of
a big hill, because by shifting a couple of squares to the right,
it decides there is so little hill it could go that way. The more
Zones to a map the better the AI, but also, the more processing
power is needed.
Subject: Problems
Author: Quitchy
Date: 9/17/99 12:37:00 PM
This is called scripting. It is a good way of making the AI
appear as if it knows what is going on, when it doesn't actually
have a clue. The problem with this is that map designers then
have to decide if they can be bothered to add these complicated (to
make good) scripts to their map. If they don't, either the AI can't
be used, or it's lame. Either way, you suddenly get hit with a
ton of maps that AI's can't play.
If you want to see a better idea for an AI system, check back
through this page, and the last couple, for my discussion on
Zoning and AI ideas.
Subject: This just keeps getting better!
Author: Berserker9679
Date: 9/17/99 1:59:32 PM
Although, for a more realistic judgement, you'd have to go with
octagonal zones, so that the pathfinding can be incorporated more
easily into the zoning (possibly making up for the extra
processing power needed by using the same values for more than
one set of equations...). Besides, octagonal regions give the
pathfinding AI a front, rear, left and right, along with
diagonals in between each, much like a compass with cardinal
points. Thus, each zone borders eight other zones, which each
border eight zones, and so forth. The only downside is it becomes
nearly impossible to make a flat map where the zones don't end,
but it does aid in stitching together a spherical map, something
some of us want in TA2--squares just don't bend as neatly as
other shapes...If I didn't know any better, I'd say we have an
idea that could revolutionize RTS games on our hands here...
Berserker9679
Valine, tired but still kicking in the War of the Amino Acids...
Subject: I'm in on that conversation Quitchy...
Author: Berserker9679
Date: 9/17/99 1:47:46 PM
This is just one more idea to consider (Cavedoggies, pay
attention here!) in designing future RTS games. While it does
admittedly have limitations when used strictly as I've said (the
whole instruction set is deliberately vague...Why Mr. Gate$???),
it does give each map AI a personality--almost as if every
skirmish were a mission where the AI can do what it wants within
its programming. Although I do agree, the Zoning concept sounds
like a wonderful engine-based AI improvement (this means that
Cavedog could fix problems with how the AI rates the zone...although
now that I think about it, having this in a script would allow
for the AI to react differently on different maps, although it'd
probably suck down more processor time than it's worth...). We
really need to get Cavedog to throw us a bone here (pun intended).
Berserker9679
the parenthetical war of the Amino Acids...
Subject: Berserker...
Author: Ian Price
Date: 9/17/99 3:24:26 PM
if the engine were properly designed, it wouldn't suck down as
much processing power as you'd think. Really it wouldn't. It's
just a simple set of array mathematics and case statements to
make it work...
HAWK_Ian_Price
is working on it, oh believe me, is working on it...
Subject: The Zoning idea, continued...
Author: Ian Price
Date: 9/17/99 3:41:29 PM
Hex or Octal squares would be a good idea, Berserker, glad ya
thought of it. =)
and yes, we *do* have a revolutionary idea here.
Anyway, I was thinking about this, and I've figured out how the
computer should look at the Zones. Each time it runs through them,
it only checks the map zones it can 'see' on visual or radar. It
runs through them in order of priority, and each time it stops on
a sector it re-arranges its priotity value (you'd need to switch
between two arrays for this to work).
Of course, it would do this only for one unit at a time, starting
with the commander and working its way down. This way, it would
continuously be making up new orders for what the units are doing.
It would micromanage troops, and change build orders to avoid
trouble.
NOTE: unless directly under attack, units won't change build
orders until done with their current production order.
how's THAT sound guys?
HAWK_Ian_Price
is loving every minute of this!
Subject: "Octal squares" ...?
Author: Brave Sir Robin
Date: 9/17/99 3:57:35 PM
[evil chuckle]
Just a note on the side ... hexagons fit together without any
gaps, whereas octagons don't. Hexes would probably work better
for your purpose.
Following the thread with interest,
BSR
Subject: Script problem
Author: Quitchy
Date: 9/17/99 5:20:19 PM
The problem with scripts is that the AI becomes too predictable.
Also, the only games to use these were things like RA, and that
only had to deal with passable and unpassable terrain.
The maths don't take a lot of power.........until you start
getting a few hundred decisions being taken at once, then no
amount of RAM helps, it's processor all the way. That can cripple
a computer. Actually, you could alter the Zone sizes depending on
the speed of the computer.........
Subject: Octals and Hexes...
Author: Berserker9679
Date: 9/18/99 1:38:00 PM
Good point on octals not fitting quite right together BSR--kudos
to you! I just thought of what would give the AI the most options
as far as movement. I did some more thinking on this, and I
realized that the AI could also use the zoning concept to
determine whether or not a zone was worth occupying with troops--the
main factor here is the number of potential resources and their
proximity to other resource laden hexes. Thus the AI would
determine that the lone metal patch was not worth the defenses
that the hex with two metal patches and a geothermal vent require.
And the best part is that this could all be done with the same
zones that it uses to determine attacks, defenses, and
pathfinding! All of which enables several smaller improvements to
be made using a common set of variables. Heh, the map creation
process could even tally up the default values for the zones
automatically when the map is saved--which saves on in-game
processor load later, since all it has to do is take the default
values assigned to resources and terrain features, modify them by
what is located in adjacent zones, and make a final modification
by the strength of friendly/hostile units within each zone.
Berserker9679
still thinking up more ways to make the zoning concept more and
more valuable...
Subject: also...
Author: Ian Price
Date: 9/18/99 3:20:57 PM
mapmaking would be easier. You could make a with X number of
zones (would have to be an even number) instead of estimating how
big you'd want it. Hexes, I will note, fit together equally well
on a sphere ;).
you could build a map zone by zone, or with larger 'template'
tiles.
This just keeps getting better and better...
HAWK_Ian_Price
is quite excited by the prospects this suggests.
Subject: Formations
Author: Warsmith
Date: 9/19/99 11:27:01 PM
The AI could be given several sets of formations to choose from,
such as the corridor-builder someone mentioned somewhere around
here. Rather than a list of formations, I'm thinking we use a
neural net-like structure for the computer to analyze what of _your_
formations are working well against what, as well as analyzing
what it does right and wrong in its use of the formations. For
instance, it might never build a DT'd HLT...until you do. Then,
one might show up in a guard position on its base, while another
is put out in a field in the middle of nowhere. The second is
quickly and easily killed, and thus DT'd HLT's don't often appear
in the middle of a field anymore.
For the judgement of the quantities needed as inputs, I'm
thinking we go by the zone and/or surrounding areas. The AI
judges its attack path by the methods described and acts on the
information. If there comes a certain region in which the AI
takes heavy losses, it 'memorizes' the area, complete with
terrain zoning information and enemy unit positions and types, as
well as what enemy unit killed what AI unit, which got the most
kills, which took the most damage, what AI units took the least
damage, did the most, took the most, did the least, etc. Later,
the AI takes what are judged to be the most effective units and
puts them in as close to the same positions as the terrain will
allow. Here, I'm thinking that the map terrain zoning will
produce a generalized expression of the terrain, resulting in the
increased likelyhood of finding areas with the same terrain
effects, even if produced by different details. There'd prolly
also have to be a few simple (tho adjustable, again through
neural net) terrain guidelines such as an expression of the
effects of a barricade, a mesa, etc. Eventually the AI will have
a store of formations it will constantly be building on to throw
at you, each of which becomes more unit-specific (I.e., if you
throw Flashes, it'll put up DT'd LT's. If you throw in Merls, it'll
put in a MRPC.).
The final result would be a 'grow your own AI' utility. The only
drawback I see is that the more advanced it gets, the more
resource intensive it gets.
Berserker, why octagonal zones? There would always be a small gap
between zones, and any attempt to reduce it just makes the
octagon closer to a square. Why not use the more traditional
hexagonal zone?
Subject: Teach me to read the page before posting
Author: Warsmith
Date: 9/20/99 12:28:11 AM
I put much the same in the lower thread before i got to this one.
'Course, I still haven't read the rest of the page:P
The zones could also be combinable, for situations like blank
expanses of ocean. For all intents and purposes, there is no
reason to seperate it into many different zones if they're all
adjacent and exactly the same. That would change as soon as enemy
units entered the area. It might help in system resources, thas'all.
Then again, the same thing might be made to apply to an area with
a high concentration of any uniform feature. An area of 6 zones
that has an average of 2 metal patches and 1 geothermal vent per
hex, with no other differences, might as well be viewed as the
same zone.
Subject: Like I said above...
Author: Berserker9679
Date: 9/20/99 2:04:30 AM
When I was thinking of the octals, I was considering movement
directions. In retrospect (thanks mostly to a comment from BSR),
I have realized that I should have been thinking about the more
easily interlocked hexagonal shape. The only problem I see with
the 'neural net' concept is it becomes resource intensive after a
while, and the AI will start to fall into a pattern of building
what it considers to work against all attacks. Not to mention
that it would build a database file that would eventually need to
be erased due to the sheer size it would build up to. Best to
think in terms of comparing relative values, wouldn't you agree?
Berserker9679
Subject: If it does work...
Author: Warsmith
Date: 9/20/99 3:13:50 AM
then why shouldn't the AI build it? When he player 'proves' to
the AI that it doesn't work, the AI will modify or lose it all
together.
As well, if it did come up with something that worked against all
attacks then it wouldn't need nearly as big a database. Part of
the value of doing it as a neural net is that new information
learned is expressed simply as a change in the accepted inputs
and the outputs of each 'cell', rather than requiring a large
database to remember each thing learned. It would only need a
database for the information it had not yet incorporated into
itself. I would hope that the size of the resulting program would
start to max out after a while, both due to the limit to the
complexity (most trials will likely be easily defeated) and the
limit to the amount the processor can effectively use in the time
it has to use it.
The other option, as I see it, is to give the program a
preselected set of placement, attack, and defense rules. If that
is done, the AI can never be better than its creators...
Subject: Zones in water...
Author: Berserker9679
Date: 9/20/99 2:12:36 AM
Honestly, I think blank expanses of ocean could simply have a
default value equal to "0"--if there's nothing there,
it can be passed through or built in safely, but otherwise
ignored. On the other hand, aquatic zones occupied with water and
coastline, changes in water depth, friendly/hostile units, and
resources would gain the value of whatever happens to be there.
Of course, for argument's sake, any flat, completely empty zone
would also be of value "0"--pass through and build, but
don't treat it like a crucial area unless the neighboring zones
have enough potential value to use it. Sound good?
Berserker9679
Subject: More on zoning...
Author: Berserker9679
Date: 9/20/99 12:49:14 PM
I did some thinking earlier today, and I have a feeling that I've
got the essentials of the zoning figured out (at least for myself,
if not for others trying to follow this thread and not having a
clue what we're rambling on about). As I see it, each hexagonal
zone starts with the same default value, say zero for flat, open
terrain. Now, to maximize the usefullness of the zone concept, in
the least each zone needs to have a rating for it's Value,
Accessibility, and Risk involved in holding it. Naturally, the
Value of the zone notates the number of potential resources
within the zone--metal patches, geothermal vents, wreckage, and
so forth. The Accessibility factor determines how easily the zone
is crossed, meaning that zones with rough terrain are less
Accessible than zones that are flat and open. And of course, the
Risk involved simply measures the strength of hostile units in
the zone against the strength of allied units within the zone.
Each zone is then represented by a VAR number--the more resource
rich the zone, the higher the V; the less easily traversed, the
higher the A; and the more hostiles within the zone the higher
the R. So an ideal zone would be something like 10.0.0--most
likely a bit of flat territory deep within the AIs base. And this
is without modifying the values of a single zone to incorporate
the properties of adjacent zones--that's where it gets tough, if
only because every zone will have six neighboring zones, and
therefore seven sets of numbers to be averaged out. Maybe we need
to rethink the precise workings of this part, no? Perhaps every
screen (by map tile) contains so many zones, forming a cluster.
Each cluster is then rated by the loseulative total of all it's
zones. Then each cluster is rated against the clusters adjacent
to it. What do you think, maybe it'll work?
Berserker9679
loves this concept.
Subject: 0 for ocean?
Author: 269852964
Date: 9/20/99 3:24:32 PM
You have to think of this, I have defenders here, guardians there,
I can generalize the area of the Big Bertha by watching the shell
on radar, and it's farthest shot went here, but it's open ocean,
so I'm safe...
Just thought I'd point that out (especially the BB trick, a nice
one to know :)
Ryan
Subject: A few suggestions...
Author: 269852964
Date: 9/20/99 3:28:56 PM
Risk and value need some tampering. If I KNOW that there is a BB
that could smash that Geo, don't build there, or jam it (A big
decision for an AI) If I the risk of building a Guardian here,
that is a lot to lose, but if it is compleyted, a lot to gain...
That would take some pretty good AI's as far as I know (Which isn't
saying much, I couldn't write an FBI file to save my life)
Ryan
Subject: Risk...
Author: Warsmith
Date: 9/20/99 4:52:50 PM
I think the Risk factor for each zone would have to be determined
by the method Quitch mentioned earlier; rather than the number of
units in a zone, go by the number of known units that can fire
into the zone.
Subject: Zone Factors...
Author: Ian Price
Date: 9/20/99 7:25:56 PM
Okay, you need 4 factors to size up a zone, I think:
1) Terrain value (how passable is it? 0 = water, 1 = shallow
water, 2 = flat ground, etc). Air can go anywhere.
2) Risk Factor. How many known units can fire into it? Is the AI
gonna be paranoid about this, or semi-risk-taking? Most paranoid
is it assumes all radar contacts are BBs, and least paranoid is
it assumes that nothing can hit any zone on the map unless it's
already seen shots hit there.
3) Resource Factor. Metal patches and geo vents.
4) Movement Factor. What friendly units are within firing
distance of that zone and zones surrounding it, and how fast can
reinforcements arrive?
HAWK_Ian_Price
aka Histidine, ZONED OUT soldier in the War of Amino Acids.
Subject: About the Risk factor. . .
Author: Shadow2097
Date: 9/20/99 7:47:24 PM
I think it should also take into account the number of friendly
and enemy units in adjacent zones. If the AI has 20 tanks in the
sourrounding zones, the risk factor should be lowered accordingly.
Also, a factory in a zone would dramatically reduce the risk
factor of said zone and all adjacent zones as fresh troops can be
produced next door.
Conversely, if the AI sees a zone with no enemy or friendly units
inside of it, but sees 20 enemy radar contacts in adjoining zones,
the AI would assume the risk to be far higher than standard zone
estimates.
Just a thought. . .
Shadow
Subject: Hmm...
Author: Ian Price
Date: 9/21/99 5:29:54 AM
I *did* say to include friendly and enemy units that can FIRE
into the zone and surrounding zones, I think that should count
for something.
That reminds me, another factor:
Objective Factor. This takes into account what enemy units are
present in any given zone, and that value tells the AI how to
treat that zone (f. ex, a zone with a fusion reactor in it would
get targetted by a BB, while a set of zones with only heavy
defenses would receive a nuke...)
HAWK_Ian_Price
Subject: Depends...
Author: Warsmith
Date: 9/21/99 9:20:37 PM
If the 'neural net' method is used the Objective factor could be
determined as a by-product. By experience and observing the
player it would learn that an area of multiple tough units is
best taken out with a nuke, while the single motionless, large-footprint
unit would be best dealt with by a Bertha.
Then again, the Bertha is likely to take out anything in range...
Subject: This requires some more thought...
Author: Berserker9679
Date: 9/22/99 1:36:24 AM
At least on my part. What I would need to know to ensure a
properly working ranking system for each zone runs in a list
something like this:
Terrain effects--Accessibility of each zone
Friendly/Hostile units capable of taking action within the zone (to
include firing from another zone)--Risk factor of each zone
Friendly/Hostile Resource collectors within a zone--Target
objectives/Value of each zone?
Availabe unclaimed resources within a zone--Value of each zone
Total values for neighboring zones (utilizing all of the above
factors)--Zone modifier
Then of course, there's the fact that each unit and structure
type has a value attached to it--the more heavily armed and
armored, the higher the value. So a PeeWee is counted as slightly
less than a Flash, while a nuke silo or LRPC are counted as more
than several of either.
Finally, while related to zones, there is a seperate factor that
comes into play--how does the AI determine what should be
attacked, and in what order? Should it seek out isolated hostiles
and eliminate them first(effectively forcing your lines back), or
should attacking resources be priority (thus cutting your
production and "lines of supply"). In my opinion, the
zoning factors should be coded into the game engine, while the
values for units, terrain, resources, and structures should be a
part of their respective files. This way, the AI uses the
individual files to get the numbers for the calculations, while
it draws from the engine to make it's determinations. That and I
feel that the targeting priorities should be should be based on
the AI script, thus allowing you to effectively make AIs with
unique objectives (push back your lines, eliminate your defenses,
destroy resources, and so forth).
Berserker9679
needs to think out more of this stuff.