How can you secure terrain? [RTS]
Imagine an RTS game where the objective was NOT to destroy your opponent''s buildings or units, but to take control of and secure the map.
In order to control terrain efficiently, you have to identify certain features (such as choke points, hills, buildings etc) which offer a strategic advantage - ie they let you control more ground with fewer units than other terrain features.
One way of implementing this in a game would be to hardcode these map features as being ''objectives''. However, I don''t like this approach: I''d rather these locations were ''strategic'' because the game rules make them so, not because the guy who made the map decided they were. Apart from anything else, it removes a substantial - and interesting - part of the decision making from the player by identifying the strategic objectives for him. It also fails to take into account the fact that what constitutes a good strategic position might well vary from one army to the next, depending on the exact nature and composition of the force. A big hill might be a very important position for an army with lots of long ranged weapons and artillery, but less so for a primarily close ranged force.
So, onto the big question: How do you determine what percentage of the map is controlled by whom, without arbitrary hardcoded objectives or regions?
I have few partially formed idea about possible algorithms, although i''m not entirely convinced it will be either fast enough or accurate enough. It goes something like this:
Terrain control can be determined on a per-tile basis: The exact size of a ''tile'' would need to be judged according to whatever gives acceptable performance: it could be 1 vertex, or any square area containing (n+1)2 vertices.
For each tile, we need to work out how much influence each unit can exert on that tile. A unit has no influence on a tile that is out of range of its weapons, it also has no influence on a tile that it cannot see - unless it is capable of speculative indirect fire. However, such weapons still tend to have more influence on tiles which are visible, since they can be targetted much more accurately.
Sum up the influence each player has on each tile. Whoever has the most influence on a given tile, can be considered to control that tile. There may also be a third state - a ''no mans land'' state which responds to tiles which are under roughly equal levels of influence from each player.
There may also be another caveat: perhaps it would be necessary to plot a route from a suitable (secure) point on the edge of the map, or from a (secure) airbase building, to the tile without crossing non secure territory. This represents the fact that for a piece of terrain to be truly secure, it needs to be possible to get supplies to forces in that area. Thus supply lines are an important consideration, even though the actual supply process isn''t being modelled.
It''s as if you wanted to make the strategic element more prominent, so you overdid that aspect to the point of abstraction
All in all, an interesting idea, but I''d prefer the strategic points to have a significant affect on the destruction I can wreak, rather than being a potential alternative to it!
For a basic solution, just have a small radius centred on each unit as representing the ground they own. Any contested squares are owned by whoever is nearest. Buildings have a much larger control radius, but which is always ''overruled'' by combat units.
Another aspect is to leave a marker on any grid square you own, which persists until that square changes hands. This represents claimed territory that nobody has contested yet. It still doesn''t take into account encircled territory that you haven''t entered, but perhaps this is desirable; after all, perhaps enemy units could be lurking there, especially if you implemented fog of war too. Perhaps having a larger ''marked'' territory radius than the ''controlled'' territory radius would help alleviate this problem, without resorting to attempting to mark lines and convex hulls and whatever else.
[ MSVC Fixes | STL Docs | SDL | Game AI | Sockets | C++ Faq Lite | Boost
Asking Questions | Organising code files | My stuff | Tiny XML | STLPort]
All in all, an interesting idea, but I''d prefer the strategic points to have a significant affect on the destruction I can wreak, rather than being a potential alternative to it!
For a basic solution, just have a small radius centred on each unit as representing the ground they own. Any contested squares are owned by whoever is nearest. Buildings have a much larger control radius, but which is always ''overruled'' by combat units.
Another aspect is to leave a marker on any grid square you own, which persists until that square changes hands. This represents claimed territory that nobody has contested yet. It still doesn''t take into account encircled territory that you haven''t entered, but perhaps this is desirable; after all, perhaps enemy units could be lurking there, especially if you implemented fog of war too. Perhaps having a larger ''marked'' territory radius than the ''controlled'' territory radius would help alleviate this problem, without resorting to attempting to mark lines and convex hulls and whatever else.
[ MSVC Fixes | STL Docs | SDL | Game AI | Sockets | C++ Faq Lite | Boost
Asking Questions | Organising code files | My stuff | Tiny XML | STLPort]
quote: Original post by Kylotan
All in all, an interesting idea, but I'd prefer the strategic points to have a significant affect on the destruction I can wreak, rather than being a potential alternative to it!
I'm not sure what you mean here.
Basically, I want to change the players goals from the standard 'kill everything that isn't on my side' to something more fundamental: controlling land. However, I think in order to make this a goal, there has to be some way of determining who controls which part of the map. Since each map has a finite area, and players aren't allowed to share it, there will be plenty of carnage and destruction going on - the only difference is that the player who can control the largest area with the fewest units will win - making strategic concerns like control of terrain more important.
quote:
For a basic solution, just have a small radius centred on each unit as representing the ground they own. Any contested squares are owned by whoever is nearest. Buildings have a much larger control radius, but which is always 'overruled' by combat units.
Another aspect is to leave a marker on any grid square you own, which persists until that square changes hands. This represents claimed territory that nobody has contested yet. It still doesn't take into account encircled territory that you haven't entered, but perhaps this is desirable; after all, perhaps enemy units could be lurking there, especially if you implemented fog of war too. Perhaps having a larger 'marked' territory radius than the 'controlled' territory radius would help alleviate this problem, without resorting to attempting to mark lines and convex hulls and whatever else.
I like the simplicity of these approaches, although I'm not sure it accurately represents who is in control of a given area. For example, enough heavy artillery on a hill with a long line of sight could totally deny certain areas of the map to the enemy, despite the fact that his own forces have never actually been near those areas.
Perhaps it wasn't very clear in my original post, but the purpose of this algorithm is to produce an accurate map of the areas which are securely controlled by each player. If it's too abstract then it will be inaccurate, and will give rise to abstract strategies which might improve your status in th game in an illogical way.
[edited by - Sandman on May 12, 2003 12:36:11 PM]
A rating system would prove useful. Different heights can give a ranking to a unit and compliment it in many respects. Range of wepons and coverage of resouces/terrain. Each unit having a value based on its skills. IE tank has 0.5 but a tile or area of the map that has a stragic value could add to the value. Proving they can kill more enemy units with fewer ....
This could be done with hills by checking they height of the square and the units range. In valleys this could prove to be the easiest way to get a map that is correct "stragically". This could be implemented with a few base rules when the terrain first loads. IE ... valleys have worse ranking due to 2 high points that which enemy units can attack and harder for you to defend against because of this fact. Using a algorithm sorta like ROAM. You can create a Ranking MAP using the idea, using the ROAM like pattern and some ground rules you along with units ablities could provide for a very intersting way to solve the issue.
Also this could provide for a new way of handling some game disadvanages the I do not like now in skill/developement based games. Providing a good stragic place to fairly weak units could increase their ablities to defend and destroy stronger units.
Star Craft and other games provide a unique way with dealing with some of this but again you could only defend your units as long as you had enough fire power. The games equality was dismayed in many respects due to this. You could not defend yourself against Planes Unless you had a unit that could fire into the air which is understandable but I have not seen a unit that could not just fire some lite surface to air missiles or something.
>>
I forgot to add support fire from other units increase the unit as a whole's Ranking. So 2 tanks 10 infaltry
and 2 ground to Air or Air to Ground units would be able to correctly devestate 5 tanks 20 infaltry with Air Support.......
I imagine that it could be a great feature in gameplay that is sorely lacking in current game play that I have seen.
[edited by - afterburn on May 12, 2003 1:14:03 PM]
This could be done with hills by checking they height of the square and the units range. In valleys this could prove to be the easiest way to get a map that is correct "stragically". This could be implemented with a few base rules when the terrain first loads. IE ... valleys have worse ranking due to 2 high points that which enemy units can attack and harder for you to defend against because of this fact. Using a algorithm sorta like ROAM. You can create a Ranking MAP using the idea, using the ROAM like pattern and some ground rules you along with units ablities could provide for a very intersting way to solve the issue.
Also this could provide for a new way of handling some game disadvanages the I do not like now in skill/developement based games. Providing a good stragic place to fairly weak units could increase their ablities to defend and destroy stronger units.
Star Craft and other games provide a unique way with dealing with some of this but again you could only defend your units as long as you had enough fire power. The games equality was dismayed in many respects due to this. You could not defend yourself against Planes Unless you had a unit that could fire into the air which is understandable but I have not seen a unit that could not just fire some lite surface to air missiles or something.
>>
I forgot to add support fire from other units increase the unit as a whole's Ranking. So 2 tanks 10 infaltry
and 2 ground to Air or Air to Ground units would be able to correctly devestate 5 tanks 20 infaltry with Air Support.......
I imagine that it could be a great feature in gameplay that is sorely lacking in current game play that I have seen.
[edited by - afterburn on May 12, 2003 1:14:03 PM]
--What are you nutz?I have nothing to say to your unevolved little brain. The more I say gives you more weapons to ask stupid questions.
May 12, 2003 12:11 PM
The previous poster hit on most of it, things like range of weapons numbers of troops etc.
What you might want to do is some sort of scoring system. That is for each area of a map, tile of unit area, generate a percent score based on the factors. Also take into consideration things like location (i.e. at the front lines or behind), surrounding tile scores, etc.
When one player has the larger percentage, that unit area (or tile) then controls that block.
What you might want to do is some sort of scoring system. That is for each area of a map, tile of unit area, generate a percent score based on the factors. Also take into consideration things like location (i.e. at the front lines or behind), surrounding tile scores, etc.
When one player has the larger percentage, that unit area (or tile) then controls that block.
quote: Original post by afterburn
A rating system would prove useful. Different heights can give a ranking to a unit and compliment it in many respects. Range of wepons and coverage of resouces/terrain. Each unit having a value based on its skills. IE tank has 0.5 but a tile or area of the map that has a stragic value could add to the value. Proving they can kill more enemy units with fewer ....
I'm not entirely sure I follow: The actual advantage of being on higher ground or in a building should arise implicitly from the basic game rules concerning visibility, shooting, movement etc. - there should be no need to hide artificial bonuses in the map file, if that is what you are suggesting.
I did consider some sort of preprocessing of maps which would assign some sort of strategic value to different parts of the map based on height and so forth, but eventually I decided that this was a bit too arbitrary. After all, a hill is only a strategic advantage if you occupy it with units which can take advantage of the extra range and visibility they get from being on top of it: parking a bunch of melee troops on top of it offers a relatively small advantage, whereas placing your artillery there gives you the ability to attack huge areas of the map.
quote: Original post by Anonymous Poster
What you might want to do is some sort of scoring system. That is for each area of a map, tile of unit area, generate a percent score based on the factors. Also take into consideration things like location (i.e. at the front lines or behind), surrounding tile scores, etc.
When one player has the larger percentage, that unit area (or tile) then controls that block.
That's more or less what I was trying to suggest in my original post.
[edited by - Sandman on May 12, 2003 1:32:30 PM]
I don´t like the "area around unit" approach, especially not for the classical RTS, since it seems way too abstract. For a turn-based strategy game it would be ok, but RT-Chess is something I would not like to see (Z worked with predefined areas, you might want to have a look at that).
First thing I´d have done would have been to go with hardcoded map features, since it would allow for greatest detail and most realism.
But since you don´t want that, let´s have a look at what "control" is:
-) Control is an abstract, and therefore more suited for games where the units and combat is also more abstract. For the traditional tank-on-tank RTS a credible, intuitive control feature is not really a good idea (because you can´t micromanage territorial control. You can micromanage control of flags and bunkers, but an area?).
-) Control must relate to a certain area.
-) Control means that you can do what you want and the other one can´t. This does not necessarily relate to the number of enemy units or their strenght.
-) Control could be simplified as the ability to apply force to enemies transgressing the controlled territory.
that make sense so far? let´s see where this goes...
Now that the concept of control is more or less stated, here´s what it does to units (or rather how I would change units to make sense in the context of "control").
-) the scope of units must be scaled to make sense in terms of control. A single tank cannot exert much control when it comes to large-scale warfare.
That´s why a fighting unit consist of a number of individual units. Incidentally we can also use this number of individuals to represent unit health and fighting power.
This might not seem particulary important, the general idea is to have units suffer defeats in terms of control while letting the unit remain more or less intact.
-) since the unit must primarily exert control, range will now equal control radius. Different units will have different control radii (or even shapes, an artillery piece for instance might exert long-range control, but be completely useless up close).
The control radius must be changeable by the player, possibly even the shape to allow for detailled territorial control. Larger area means lighter coverage.
-) fighting strength is now control intensity. That means the main point is not how much damage a unit can do (these stats will be in there somewhere, but they´re not important for now), but how well a unit does at keeping other units out of its control radius.
here´s what this does to general rules & combat:
-) since the goal of the game is territorial control and not destruction the battle intensity can be scaled down to allow for more maneuvering and less burn. that means the main penalty is not the loss of a unit, but the loss of territory.
-) when a unit loses control of a certain territory it is pushed back away from the attacker. to make this a bit more interesting I´d put in some factors such as decreasing the control capabilities and interactions of a unit as long as its engaged (such as an automatic shifting of the control area towards the attacker).
-) since this makes diversions an interesting option I´d add another feature: make it harder for a unit to break away from an advancing enemy.
-) since all this is getting rather far away from twitch skill rts why not add another fun feature: directional units: let the player not only shift the size and shape of the control area but also the direction. that way your units can defend narrow passes much better but will be more susceptible to pronged or flank attacks.
so far this allows for some detailled strategy, as well as the securing of small to medium sized areas all that is needed now is a way to control large sections of the map.
Two options:
1) enable scaling the control radius of units up to anything the player desires (doesn´t matter if your troops are spread thin if all they´re doing is watching the countryside). However this may make for some rather confused combat when many units with large control radii meet.
2) have special units for area control (such as scouts or planes) with very large control radii but very low control intensity. That way they can cover large areas if unopposed.
now this is still full of holes, but it might be a good starting point away from the startcraft-type rts.
First thing I´d have done would have been to go with hardcoded map features, since it would allow for greatest detail and most realism.
But since you don´t want that, let´s have a look at what "control" is:
-) Control is an abstract, and therefore more suited for games where the units and combat is also more abstract. For the traditional tank-on-tank RTS a credible, intuitive control feature is not really a good idea (because you can´t micromanage territorial control. You can micromanage control of flags and bunkers, but an area?).
-) Control must relate to a certain area.
-) Control means that you can do what you want and the other one can´t. This does not necessarily relate to the number of enemy units or their strenght.
-) Control could be simplified as the ability to apply force to enemies transgressing the controlled territory.
that make sense so far? let´s see where this goes...
Now that the concept of control is more or less stated, here´s what it does to units (or rather how I would change units to make sense in the context of "control").
-) the scope of units must be scaled to make sense in terms of control. A single tank cannot exert much control when it comes to large-scale warfare.
That´s why a fighting unit consist of a number of individual units. Incidentally we can also use this number of individuals to represent unit health and fighting power.
This might not seem particulary important, the general idea is to have units suffer defeats in terms of control while letting the unit remain more or less intact.
-) since the unit must primarily exert control, range will now equal control radius. Different units will have different control radii (or even shapes, an artillery piece for instance might exert long-range control, but be completely useless up close).
The control radius must be changeable by the player, possibly even the shape to allow for detailled territorial control. Larger area means lighter coverage.
-) fighting strength is now control intensity. That means the main point is not how much damage a unit can do (these stats will be in there somewhere, but they´re not important for now), but how well a unit does at keeping other units out of its control radius.
here´s what this does to general rules & combat:
-) since the goal of the game is territorial control and not destruction the battle intensity can be scaled down to allow for more maneuvering and less burn. that means the main penalty is not the loss of a unit, but the loss of territory.
-) when a unit loses control of a certain territory it is pushed back away from the attacker. to make this a bit more interesting I´d put in some factors such as decreasing the control capabilities and interactions of a unit as long as its engaged (such as an automatic shifting of the control area towards the attacker).
-) since this makes diversions an interesting option I´d add another feature: make it harder for a unit to break away from an advancing enemy.
-) since all this is getting rather far away from twitch skill rts why not add another fun feature: directional units: let the player not only shift the size and shape of the control area but also the direction. that way your units can defend narrow passes much better but will be more susceptible to pronged or flank attacks.
so far this allows for some detailled strategy, as well as the securing of small to medium sized areas all that is needed now is a way to control large sections of the map.
Two options:
1) enable scaling the control radius of units up to anything the player desires (doesn´t matter if your troops are spread thin if all they´re doing is watching the countryside). However this may make for some rather confused combat when many units with large control radii meet.
2) have special units for area control (such as scouts or planes) with very large control radii but very low control intensity. That way they can cover large areas if unopposed.
now this is still full of holes, but it might be a good starting point away from the startcraft-type rts.
I agree with the goal of making ground control important but I disagree with the means of making ground control a goal in itself. Goals should be as simple as possible. Since ground control is such a debatable figure, it''s necessity should appear as a side effect of other game rules.
The Settlers series uses ground control as a direct game mechanic: determined by military buildings, the controlled area is directly used in production.
In Total Annihilation resources are scattered across the map - ground control is again vital for economic growth. The difference is that whereas in Settlers the controlled area is calculated and displayed on the screen, in TA there is a lot of freedom to the definition of ground control. A long range cannon gives a certain level control over a large map area, a wall of light anti-aircraft rocket towers offers a different kind, a long range radar, lots of patrolling scouts or a large bomber force yield yet others.
Panzer General uses hardcoded objectives. I have experienced few downfalls to this approach (it is possible though unlikely to conquer all objectives without being able to hold them - the computer still proclaims victory). Also, since it''s possible to build new units in cities, controlling and holding them is important to prevent an enemy force from popping up behind the front line and attacking an objective that was already captured. Mopping up left-behind enemy units is one way to achieve control of the cities - therefore control of the surrounding lore is also important. The hardcoded objectives give strategic value to all of the map features.
The Settlers series uses ground control as a direct game mechanic: determined by military buildings, the controlled area is directly used in production.
In Total Annihilation resources are scattered across the map - ground control is again vital for economic growth. The difference is that whereas in Settlers the controlled area is calculated and displayed on the screen, in TA there is a lot of freedom to the definition of ground control. A long range cannon gives a certain level control over a large map area, a wall of light anti-aircraft rocket towers offers a different kind, a long range radar, lots of patrolling scouts or a large bomber force yield yet others.
Panzer General uses hardcoded objectives. I have experienced few downfalls to this approach (it is possible though unlikely to conquer all objectives without being able to hold them - the computer still proclaims victory). Also, since it''s possible to build new units in cities, controlling and holding them is important to prevent an enemy force from popping up behind the front line and attacking an objective that was already captured. Mopping up left-behind enemy units is one way to achieve control of the cities - therefore control of the surrounding lore is also important. The hardcoded objectives give strategic value to all of the map features.
quote: Original post by Sandman
I''m not entirely sure I follow: The actual advantage of being on higher ground or in a building should arise implicitly from the basic game rules concerning visibility, shooting, movement etc. - there should be no need to hide artificial bonuses in the map file, if that is what you are suggesting.
I did consider some sort of preprocessing of maps which would assign some sort of strategic value to different parts of the map based on height and so forth, but eventually I decided that this was a bit too arbitrary. After all, a hill is only a strategic advantage if you occupy it with units which can take advantage of the extra range and visibility they get from being on top of it: parking a bunch of melee troops on top of it offers a relatively small advantage, whereas placing your artillery there gives you the ability to attack huge areas of the map.
Its not hiding them the are obvious just from the placement of the unit. Is it better to be in the street or in the building? Is it better to be higher up in the building or on the first floor?
As for the troops yes. Exactly what I was stating. You can get better scoring for a Platoon if you seize the correct buildings or roads leading to the city, by encircling it you could gain a score for your units. Its the positioning along with the units advanages on that square a infaltry unit placed next to a tank is to assist and prevent units from getting to close to the tank. In doing so they would render the tank useless(a tank can not fire 5 feet from itself). Air support would help stop advancing ground troops and other Enemy air support.
They are not "arbitrary" values. Rather just basic knowledge, such as checking the titles with against its Strongest enemy with long range weapons. And the titles close by with the same thing. Giving each unit a ranking not for ablity to hit them or destory them but rather what type of threat the oppose to your units. Adding what a value to titles is the provide for significance that the stragey actually has. to provide this for instance. Long range enemy units can fire 30 titles. The stragey
I guess the what I am saying is that a LOD type scheme would have to apply but with core rules that lay in the games rules.
adjacent structures/buildings and terrain itself are the advantage itself. Holding each tall building on the routes in and out of the city would provide for good rating. The more buildings and ground your units can cover against the worse type of attack the enemy can apply with those structures held.
A rating system would have to apply based on this.
There would not be that hard with a lookup table for the titles and units vs your oppenents same quailities. Creating an ranking system based on those types would give a great battle a better way of winning and prove the struggle to be less of a problem itself.
--What are you nutz?I have nothing to say to your unevolved little brain. The more I say gives you more weapons to ask stupid questions.
quote: Original post by Hase
For the traditional tank-on-tank RTS a credible, intuitive control feature is not really a good idea (because you can´t micromanage territorial control. You can micromanage control of flags and bunkers, but an area?).
Why do you say that?
Controlled areas should not really need micromanagement, since by definition your opponent should have negligible influence over them. The micromanagement should only really be an issue in the no-mans land areas.
quote:
-) the scope of units must be scaled to make sense in terms of control. A single tank cannot exert much control when it comes to large-scale warfare.
That´s why a fighting unit consist of a number of individual units. Incidentally we can also use this number of individuals to represent unit health and fighting power.
This might not seem particulary important, the general idea is to have units suffer defeats in terms of control while letting the unit remain more or less intact.
Yes. A single infantry unit will consist of ten men, for example. However, I don't think this is a requirement - a lone soldier can still exert influence, just not a hell of a lot.
quote:
-) since the unit must primarily exert control, range will now equal control radius. Different units will have different control radii (or even shapes, an artillery piece for instance might exert long-range control, but be completely useless up close).
The control radius must be changeable by the player, possibly even the shape to allow for detailled territorial control. Larger area means lighter coverage.
-) fighting strength is now control intensity. That means the main point is not how much damage a unit can do (these stats will be in there somewhere, but they´re not important for now), but how well a unit does at keeping other units out of its control radius.
I'm a bit concerned there seems to be a misunderstanding here. The control thing is not intended to replace the combat system in any way, but to serve purely as an indicator of who controls what. I want to be able to look at a map of the controlled terrain and be confident that my opponent has no units in my controlled terrain, and that if he somehow managed to get them there without getting blown to smithereens, en route, they would get blown to smithereens shortly after.
That said, I've considered the idea of units being able to 'cover' areas of terrain as a possibility - this would perhaps be accounted for when determining the control map.
quote:
-) since the goal of the game is territorial control and not destruction the battle intensity can be scaled down to allow for more maneuvering and less burn. that means the main penalty is not the loss of a unit, but the loss of territory.
Efficiency is to be an important factor - losing units will hurt a lot. Pyrhhic victories won't be rewarded too well - instead, retreating to a more easily defensible position might be preferable to losing too many units. However, I'm not too bothered about discussing this here because it is relatively easy to calculate.
quote:
so far this allows for some detailled strategy, as well as the securing of small to medium sized areas all that is needed now is a way to control large sections of the map.
Two options:
2) have special units for area control (such as scouts or planes) with very large control radii but very low control intensity. That way they can cover large areas if unopposed.
Air units pose an interesting problem: we could almost go as far as to define a separate map representing air supremacy: And once you have air supremacy over a region, any opposing ground troops in that region will start to become a target for bombers....
[edited by - Sandman on May 12, 2003 3:05:55 PM]
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement