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.