Discussion about vision. (if at all)

Discussion in 'Planetary Annihilation General Discussion' started by syox, March 11, 2013.

  1. syox

    syox Member

    Messages:
    859
    Likes Received:
    3
    This:
    Gave me a thought:
    Why fog of war at all?
    Wouldn't a game without FOW be more about strategic at all?
    This may not be suitable for 40+ Player games but i would like to try it out on smaller games 1v1 to 4v4 and such.

    Please note i dont want or demand PA like this it is just a thinking model.
  2. iampetard

    iampetard Active Member

    Messages:
    560
    Likes Received:
    38
    Well in chess you can't really push all pieces from the enemy off the board.

    Meaning, in PA having the ability to see what your enemy is building simply means you can long range attack him or plan a concentrated bombing attack.

    I agree that the map should be completely visible but you should definitely NOT be able to see what the enemy is building. It does bring a part of the strategic planning but I don't think its something people would like very much
  3. exterminans

    exterminans Post Master General

    Messages:
    1,881
    Likes Received:
    986
    First of all, the clear distinction of radar and vision is an antiquated concept which was based on technical limitations and the fact that real world technology back then wasn't capable of merging signals from various sources into one presentation so developers wouldn't even think about simulating such behaviors.

    How is it nowadays? You have various sensor systems like radar, satellite, movement sensors etc. which are all computed into a single model of the area. The origin of data is no longer important or visible to the user.



    How to simulate that in a game?
    First of all, forget what you know about classic radar and vision radius, they are not relevant toward this. Omni radar is also not part of the concept.

    You can express the visibility and scouting abilities of a unit in TWO simple values. First one is sensor range or short: Sensor resolution (thats what I'm going to call it from now on). The second one is the radar signature or short "Signature".

    Sensor resolution tells you, how much details a unit can register in a certain angular, the amount of details which are observable is reciprocal to the distance of the observed object.

    The Signature tell you, at which levels of sensor resolution how much details about that unit become visible.

    All sensor systems of units controlled by a single player or team overlap and for each position on the map, the maximum is used. Collected intelligence capabilities from all controlled units form a sensor coverage.
    This coverage causes tessellation of the map whereby the size of the cells become smaller the higher the sensor resolution on that point of the map is. The size of a cell can range from covering a whole landscape if you have very little intelligence on an area up to a resolution of just a few meters when close to sensors. Minimum size of the cells is limited to a few multiples of the smallest units.

    Each cell of the grid is evaluated separately and all signatures in such a cell are added up. The cell has three thresholds, depending on the size of the cell and sensor resolution in the cell:
    • If the combined weight of all units in that cell exceeds a threshold, this cell has activity. The user will be notified about activity in that cell, but he WON'T get any details yet. If a cell is activated, this is called "unknown activity". A very rough estimation of the combined signature is provided to the user.
    • If the signature of a single unit in that cell exceeds the second treshold, the signature unit will be substracted from the combined signature and will be listed as individual entity. The user will be informed about the presence of a "ghost" in that sector. If the combined signature of the remaining units in that cell is lower than the first treshold, it CAN cause the cell to no longer indicate unknown activity. A unit becoming a "ghost" is a valid target for target AI. The actual signature of the unit is not yet visible to the user, but a rough estimation is provided.
    • If the signature of a single unit exceeds the third threshold, it actually becomes visible, showing every movement and the actual unit type. A unit upgraded to "tracked" state can no longer become a "ghost" unless when falling back under detection treshold.
    • "Ghosts" and cells with "unknown activity" leave "shadows" if they vanish. Tracked units also leave "shadows", however those will disappear immediately if the precise same unit becomes tracked again.

    Consequences from such a system, non of these are enforced but they come naturally:
    • The range of a radar tower is virtually unlimited, however sensor resolution will decrease with range.
    • Large units will show up long before small units do. A heavy unit may be accompanied by several small units, but only the big units shows up as a "ghost" while the small units don't even trigger "unknown activity".
    • Many small units in an area might trigger "unknown activity", although a single unit wouldn't be detectable at all at this range. Having a wide spread base layout or loose formations can actually decrease detectability of your base while balling up will make you detectable.

    Game mechanics which become trivial with this system:
    • A "stealth" unit is nothing other than a unit with a signature which is below average compared to other units of the same fighting power. Avoiding proximity to other units is the key to successful stealthiness. There is no need to differ between "stealth" and "cloak" since there is also only one type of intelligence.
    • Units with beacons can fake unknown activity or even ghosts in distant areas to create diversions.
    • The use or construction of experimental sized units is punished by increasing the signature of those units so they show up as ghosts on huge distance or become even tracked.
    • The signature of an unit can be modified dynamically, not only by stealth fields from other units, but also in the opposite direction. Example would be an artillery station, KEW or satellite launcher which has an increased signature for a few seconds after activation. This can cause your artillery station, nuke launcher or alike to show up as a ghost or even becoming tracked, causing a "shadow" revealing the location of it. Another unit type which could receive such an behavior is radar stations as they are perfectly visible in real world too, you just can't miss it if you were just hit by a radar flash. This encourages to be careful with using stationary intelligence in early game, you will not only receive a lot of information (and burn vast amounts of energy), but you will also give away your own location.
    • Not only units can have a radar signature, but also important events, like the IMPACT of artillery, nukes and KEW. These signatures can be increased to a level, where they become fully tracked across the map.
    • Mass stealth becomes a valid, non game breaking mechanic as "stealth" is no longer an absolute attribute. A stealth generator could decrease the signature of all surrounding units by a certain percentage without breaking the whole game. A 50% stealth (fictional number which is probably way to high to be used in the game) would mean that all signatures are reduced by 50% which also mean that scouts need to get twice as close to the location before each of the thresholds would be passed. It would also allow to increase the density of a formation or base by 100% without increasing detection range.
    • There is no perfect stealth, the closer you get to an unit with sensors, the better sensor resolution becomes. Right next to an unit, sensor resolution is virtually close to infinite (it is actually capped at a certain value, it is sufficient to calculate such values at which every unit can be detected), so even a unit with 99% stealth and a tiny original signature is never really undetectable.
    • Formations get an huge impact, even when not engaging in battle. Assembling a spike ball and alike should be avoided until the last moment.
    • Wide spread, guerrilla style base building becomes a valid option if you are trying to hide. The issue of massive, heavy defended bases hiding in an inaccessible corner of the map resolves itself as such a base can no longer be considered "invisible" or "hidden" without taking massive effort.

    Technical details:
    • Although the "vision range" of any unit becomes virtually unlimited (resolution decreases, but there can always be signatures big enough to be still registered), the computational overhead does not. Due to the dynamic tessellation of the sensor grid, the combined signature of all units can be stored in a quad tree or alike whereby each node has the combined signature and the size of the biggest units of the child nodes. Scanning for signatures becomes very fast for distant targets as the distance limits how far you have to dig into the quad tree. Only requirement becomes to store the signature of all units in an quadtree which only consumes memory, but very little computation power. It actually might be MORE EFFICIENT that the classic approach of scanning for units in a certain radius! Btw.: Sensor resolution can also be stored in that quad tree, whereby you have to store both the maximum and minimum resolution of all child nodes. Each time a unit moves, the leave nodes of the quad tree will have to be recomputed, but the changes will rarely propagate more than a few levels.
    • Due to the increasing size of cells at the border of detection radius, the amount of data to be sent from the server to the client is also limited. Meaningful intelligence can be provided on giant areas (even whole planets) without consuming to much bandwidth.
    • If a quad tree (or a similar structure) is used to model the cells, it becomes very efficient to only calculate visibility for units in the current viewport for a certain client while still considering EVERY unit for calculation of the sensor coverage.

    Possible extensions / variations:
    • Units which either fire or get hit by AoE could get an temporarily increased radar signature.
    • Rather than being grouped into cells, units could also have a fourth threshold, which causes them to stay in ghost state even after moving out of detection radius. This means that larger groups of units will not cause alarms on their own, but if scouted, a base or army can be tracked with little effort. Requires constant scouting, but should work just fine otherwise.

    DEMO:

    Actual formulas used for the calculation of the demo:
    • Tessellation was applied if (distance / sensor resolution * constant) > cell size
    • Cell size was capped at 16 units
    • Effective sensor resolution at each cell was computed by MAX(sensor resolution / sqrt(distance))
    • Units became ghosts, if (constant * (constant - signature) < sensor resolution
    • Units became tracked, if (2 * constant * (constant - signature) < sensor resolution
    • Cell shows activity if (combined signature) > (sensor resolution) / (cell size / constant)^(constant)
    • Unit and sensor sizes were in the range of 1-4 times of a base value, a logarithmic scale is advised if using human comprehensible numbers
    • Units were spread in groups whereby a group could consist only of small or of mixed units
    Those formulas can be altered to achieve slightly different behaviors.

    It is clearly visible, that the demo achieved the described behaviors where small units became undetectable over large distances (unless forming clusters). It's also surprising how easy it is to interpret the result, despite how many units are not tracked. You can clearly tell, that a single ghost in the distance must be a fairly big unit and it's almost impossible to hide the biggest units (in this example 3 bases bigger than the smallest ones), even over long distances.

    Attached Files:

    Last edited: May 12, 2013
  4. igncom1

    igncom1 Post Master General

    Messages:
    7,961
    Likes Received:
    3,132
    No shroud, yes fog of war.

    In a game of SupCom2 I played today the FOW was the only thing that kept my tanks from being decimated by enemy artillery.

    And that has only boosted my desire to see radar no longer be able to see ground targets.
  5. syox

    syox Member

    Messages:
    859
    Likes Received:
    3
    Well the enemy would see you also. So its fair on that. You would know what he is doing, he would know what you do.

    Imagine starcraft with full vision. It would be a completely different game.

    Arti could be something to think of. But buildings prob dont move so you only need to scout them once.
  6. cola_colin

    cola_colin Moderator Alumni

    Messages:
    12,074
    Likes Received:
    16,221
    If you don't want fog of war you can play your own games without it.
    But in general playing without fog of war is kind of like playing poker with open cards.
    Pointless.
  7. lgniller

    lgniller New Member

    Messages:
    12
    Likes Received:
    0
    I'd say that FOW is really needed and the strategy in this game to the strategy in a game of chess since chess is atleast as I can see on it, a full on attack. There is no reason to wait for your enemy or to hide from your enemy. At PA and other RTS there are reasons to wait and hide since you can build up your base and troups that way and you will have to try and find what your enemy is doing and counter it. Without letting your enemy see your strategy!
  8. bobucles

    bobucles Post Master General

    Messages:
    3,388
    Likes Received:
    558
    FYI, stealth generators ARE shroud generators. The whole point of a shroud generator is to limit enemy intel in some arbitrary way.
    Planets are round, so every battlefield has a real horizon. Line of Sight would be super effective.

    I see a Limited LoS system working like this:
    - What you see is what you get. LoS all the way.
    - Everything has a max vision range.
    - Things may also have radar/sonar. Radar range is typically better than vision range.
    - Tall things can naturally see further, with a longer horizon and fewer obstacles in the way.
    - Tall things like radar will have excellent vision. Tall radar on a hill will be incredible.
    - High altitude things like aircraft, asteroids, etc. will be easy to see at very long range (favoring radar)

    Other optional things include:
    - Stealth is still invisible to radar.
    - Radar doesn't work on ground, like, at all. This is somewhat moot as grounded things will typically be over the horizon, and thus outside of LoS.
    - Shrouds/fog/smoke reduces vision on any number of levels (radar, standard vision) Strongest against air, which has a guaranteed altitude difference between the plane and target.
    - Shroud generators create their own fog/smoke AoE to encourage combat at close range. The visual effect remains an obvious sign of enemy activity (although details remain unknown).
    - Cloaking systems act as reverse LoS (I.E. invisible until close enough, TA's system)
    - Super large things are easier to see (being tall will do the same thing with LoS).
  9. iampetard

    iampetard Active Member

    Messages:
    560
    Likes Received:
    38
    Also one big difference with chess. It's a turn based game(sport now). You wait for your enemy's attack and vice versa.
    With RTS you gotta move all the time on both sides.

    Having everything out in the open should be an option but the default tournament option should be mapped terrain with fog of war.

    Bobucles speaks intelligently, planetary battles might have different point of views than SupCom and TA so that could change the concept of radars and fog of war.

    It might very well be something completely new that has never been seen in a RTS game.

    Waiting for Alpha, once that is out we will be able to speak more about it all :mrgreen:
  10. exterminans

    exterminans Post Master General

    Messages:
    1,881
    Likes Received:
    986
    Last edited: March 13, 2013
  11. Pluisjen

    Pluisjen Member

    Messages:
    701
    Likes Received:
    3
    Sun Tzu said it best.

  12. drsinistar

    drsinistar Member

    Messages:
    218
    Likes Received:
    0
    There is no way that Uber won't put an option for this when you're setting up multiplayer games. There are some people out there that don't like the intel aspect of the game, and there are some that do. There should be an option for those people that just casually play the game. Those that run servers, host game, or organize tournaments can decide if fog of war is off or not.
  13. exterminans

    exterminans Post Master General

    Messages:
    1,881
    Likes Received:
    986
    True, but thats quires a whole new approach. The classic concept of visibility and radar is outdated. Visibility is just not an absolute attribute you can simply assign to all units in a certain radius.

    See viewtopic.php?p=687594#p687594 for a concept which WOULD allow for an intelligence war, including even such strategies as having your units spread out to prevent detection (not as an explicit features, but an implicit result of the game mechanic!), active counter intelligence and alike.
  14. Pluisjen

    Pluisjen Member

    Messages:
    701
    Likes Received:
    3
    Yeah I kinda liked your idea actually.
  15. Pawz

    Pawz Active Member

    Messages:
    951
    Likes Received:
    161
    Exterminans, can I suggest you make a thread for your concept? I find it very interesting and it gets lost a bit in the original title / idea of this thread.

    A quick and easy integration of the 'radar is for air units only' would be to have air units have a much larger signature than land units.

    The only question would be - how do you easily display a graduated vision circle for a particular unit, to show players how far they can 'see' (reach stage 3 on most units)
  16. torrasque

    torrasque Active Member

    Messages:
    337
    Likes Received:
    36
    I really like the idea. Thanks for the development and the very good explanation.
    The only "problem" that remains is how to display the information.
  17. ayceeem

    ayceeem New Member

    Messages:
    473
    Likes Received:
    1
    Dang, exterminans - reading your post makes me want to see an RTS try that.
  18. BulletMagnet

    BulletMagnet Post Master General

    Messages:
    3,263
    Likes Received:
    591
    This, please.

    You've covered stealth in there, but you might want to consider jamming (or label it something else) ghosts and tracked signals by artificially adjusting the cut-off points up and down. That creates a jamming system that can be beaten dynamically by throwing more resolution at the area.

    A separate idea might be; instead of subtracting off the entire ghost's value from a cell, you subtract it proportionally according to how close it is to being tracked. That way a poorly ghosted object leaves plenty of noise in the area. This noise can then be used to camouflage small units that are hiding near it.
  19. cola_colin

    cola_colin Moderator Alumni

    Messages:
    12,074
    Likes Received:
    16,221
    This sounds like an interesting concept. I'd love to try it out.
  20. exterminans

    exterminans Post Master General

    Messages:
    1,881
    Likes Received:
    986
    You don't adjust the thresholds but the signature of the units, jamming is the same as having a stealth field. This has the same effect, but is actually simpler to implement. Throwing in more resolution works by simply sending in scouts.

    The motivation behind the removal of the unit from the combined signature was, that the presence of few large ghosts or tracked units would otherwise cause "unknown activity" when small units enter the same cell which is unrealistic. If you observer distant targets, you must assume that part of the observed noise is caused be the tracked targets which allows for the (helpful) miss-assumption that those units were the only units in the area. Only "noise" which can not be assigned to a tracked target should be considered as originating from an unknown source.

    I have tried the approach you have suggested, but it lead to scenarios where it would give away to much information in some scenarios (you could tell if 1-2 large, traceable units where accompanied by smaller units because they would still sum up), but would also lower the information quality of the "unknown activity" event because there would be a lot of false alarms (in cases where ALL units in a cell are tracked, but the system would still call "unknown activity" while there is NONE unknown activity in that area). You could now try to add additional rules to counter that problem, but this would only cause other problems. As with every other problem, the most elegant solution is most likely the least troublesome.

Share This Page