#Login Register
The Holding Pen Area theory
  • 0 Vote(s) - 0 Average

10-06-2014, 02:35 AM #1
tigur AC Guide
Status: Offline Posts:133 Threads:25 Joined:Apr 2014
I wrote this stuff like three years ago when DHT was new. With Odoacer's new DHT implementations as of recent, I figured I should throw this old research in. This is purely theoretical and not necessarily for Development/implementation. It is the hypothesis of a "Perfect DHT" formula which would need more data analysis to prove or disprove itself. Right now, this is not verified. We do not even have a "/mod DHT [on/off]" command in this game, by the way. This doesn't consider the wall tiles, ground tiles, and other special tiles.

Background of the Holding Pen Dilemma

Right now, Dynamic Holding Time (DHT) is linear based, it does not look at the Area of the map itself, as it is map agnostic. Is it successfully used in new maps? I have not seen any such case myself. DHT should try to focus on how the map is made, by executing the /mod DHT [on/off] command. The l goal of this feature is to reduce stalemates to a minimum, so it's important to remember it is a supporting feature, and is not intended to be used for existing maps that already do the job well. One might notice that small maps are easier to manage since holding time is not so critical. Once we go big, the holding time can be a terrible burden! Can we do 8v8 SGLGO2011 matches? Yes, we should be able to do it as long as we type /mod DHT on, it won't stay fixed at 18 seconds indefinitely for 8v8's, instead may be even longer. Even with /mod DHT on, a 4v4 might give us a different holding pen time, so it's not recommended for well worn maps like GO, unless that new holding time works out better for future GO league matches, so you never know until you try it.

# of ground tiles. count them all = Total Area, set to 1.00.

# of sparkers = Player.count

Total Area / Player.count = Available Area per Player

As the number of players increase, the available area decreases to 1/n.

For example, 50 players play in a SGLGO2011 map, can they flag it for a win? It becomes very unlikely as there will always be a steady stream of spawns coming to defend the base.

available area for each player goes down to 1/50, or 2% of total area. Ideally, available optimal area should be X% to Y%.

If we can figure out what is the sweet spot between X% and Y%, we might be able to switch to Dynamic Holding Time based on the available area instead?

Using the optimal area formula to calculate the holding pen time for every player can probably make any map a winnable game from 2v2 to 64v64 brawls.

Dynamic Holding Time Dilemma & Solution

What is the DHT dilemma?

Ever since DHT was introduced, there has not been a successful use of DHT in a map to date. The number of players dynamically affects the holding time in the map as the DHT variable is used to keep up with increasingly larger number of players to keep the game as playable as possible. Yet DHT (as it is) harms the playability factor more than using a fixed holding pen time.

Why is it harming the games rather than helping as they should?

The optimal number of players in the game usually have an optimal holding pen time, so Odoacer decided that DHT=2250 was a good start, as it fit the traditional 18 second holding time for a 4v4 match. However, any other number of players (non-4v4) didn't work, since it meant drastically reduced holding pen times from 18 seconds to 9 seconds should the 4v4 game turn into a 2v2 game.

That dilemma led to MinDHT and MaxDHT, yet it didn't work out either. I made a hypothesis map, MinDHT=10, MaxDHT=30, DHT=1000. It would take 11 players to tip the minimum DHT of 10 seconds over to 11 seconds holding time. I tested this hypothesis with four players in the game. It should have increased to 14 seconds, with a predictable 18 seconds when eight players occupy the game, but it didn't do that, so I was led to believe that 11 players was required to start increasing the holding pen time.

Why fix DHT?

There is a perpetual Pub game daily that only allows 8 players at the most, and I think it is possible to play the Pub with a 8v8 if the DHT formula is simplified. When there are just 4 players in a Pub, a 18 second holding time may just be too long for a respawn to make a flag recovery attempt. The frequency of a 2v2 game ending in a capture is much higher than the frequency of a 4v4 game ending in a capture with the Flat Rate of 18 seconds, so DHT should help equalize the frequency between 2v2, 4v4 and beyond.

If DHT is fixed, how will it help us? The game servers can handle a range of players in a flexible, scalable way. The mismatched relationship between DHT and MinDHT/MaxDHT will finally be corrected.

How can it be fixed?

How the developer can fix this is the introduction of the Y-intercept value as the true MinDHT value, rather than the way MinDHT is set up.

There would be no need for the MaxDHT variable, because the game creator can set the maximum # of players anyways.

So, NewHoldingTime=(DHT*Playercount + MinDHT)

Compare that to CurrentHoldingTime=(DHT*Playercount) with conditional MinDHT and MaxDHT which is dependent on Playercount variable. This is beyond simple algebra.

Do we really need it? Take a look at this chart below:

[Image: cGzqOXv.png]

Following the Mapmaker's Intent, this attempt would fail because I will need 11 players to affect the minimum DHT of 10 seconds, which is much more than the typical 4v4, so you can forget about using DHT as it is now.

DHT uses Millisecond*Playercount algorithm, so even if the Mapmaker want a flat, additional rate of one second per player starting at 10 seconds instead of strictly zero, that option doesn't exist.

The best part about this much needed fix would be ability to narrow down (or widen) the holding time range as much as the Mapmaker wants while keeping a traditional holding pen time for existing maps.

Example: You decided that you want to narrow the range between 16 and 20 seconds for up to 16 players while keeping the traditional 18 seconds for 4v4. No problem! MinDHT=16, DHT=250 and create the game with a maximum of 16 players. See “Narrowing it down” line for the visual.
This post was last modified: 10-06-2014, 02:47 AM by tigur.

10-06-2014, 04:32 AM #2
castiel n00b
Status: Offline Posts:78 Threads:10 Joined:Mar 2014
tldr version?

10-06-2014, 05:07 AM #3
tigur AC Guide
Status: Offline Posts:133 Threads:25 Joined:Apr 2014
(10-06-2014, 04:32 AM)castiel Wrote:  tldr version?

Holding Pen Area Theory: The holding pen time that is dependent on the size of map you're playing in. Bigger maps = Longer holding time, Smaller maps = Shorter holding time.

DHT Dilemma: DHT formula may or may not be broken and Visualization of why it's broken and how it can be fixed.

10-06-2014, 08:17 AM #4
tigur AC Guide
Status: Offline Posts:133 Threads:25 Joined:Apr 2014
(10-06-2014, 05:07 AM)tigur Wrote:  DHT Dilemma: DHT formula may or may not be broken and Visualization of why it's broken and how it can be fixed.

After a discussion with Odoacer, I understand the DHT formula has been fixed and improved upon. He will explain this in a post once he is done.

10-06-2014, 08:26 AM #5
eekum Veteran
Status: Offline Posts:399 Threads:51 Joined:Mar 2014
(10-06-2014, 05:07 AM)tigur Wrote:  Bigger maps = Longer holding time, Smaller maps = Shorter holding time.

Seems backwards?

10-06-2014, 10:00 AM #6
tigur AC Guide
Status: Offline Posts:133 Threads:25 Joined:Apr 2014
(10-06-2014, 08:26 AM)eekum Wrote:  
(10-06-2014, 05:07 AM)tigur Wrote:  Bigger maps = Longer holding time, Smaller maps = Shorter holding time.

Seems backwards?

SGLGO2011 with 50 players:
- Large Available Area = High GroundTileCount
- HoldingTime = [DHT_OptimalAreaRatio]^2 * [(PlayerCount) / (GroundTileCount)]

DHT_OptimalAreaRatio needs to be calculated based on our knowledge of SGLGO2011.

TileCount for SGLGO2011 is 15,549. This includes walls, holding pens, referee areas, etc. GroundTileCount is probably more like 10,000 to 12,000 tiles.

18 seconds is the standard holding pen time for 8 players.

18 seconds = [DHT_OptimalAreaRatio]^2 *[(8 players) / (10000 tiles)]
18 seconds = [DHT_OptimalAreaRatio]^2 *[0.0008 player/tile]
[DHT_OptimalAreaRatio]^2 = [(18 seconds) / (0.0008 player/tile)]
[DHT_OptimalAreaRatio]^2 = 22500 tile*second/player
[DHT_OptimalAreaRatio] = 150

Now, we assume this is the DHT_OptimalAreaRatio used for SGLGO2011. Let's find HoldingTime for 50 players.

HoldingTime = [150]^2 * (50/10000)
HoldingTime = 112.5 seconds

This seems like a lot of work but now we have this done, we can just use the DHT value of 2250. However, I didn't like how this came out and that's why I moved on to the DHT chart later on.


Hectic5.0's [DHT_OptimalAreaRatio] = 27.38612787525831
HoldingTime for 50 players = 18.75 seconds
Again, this analysis would lead to DHT=375

Odoacer's new DHT customizable settings have been posted: http://critical-hq.net/showthread.php?ti...37#pid4337

10-07-2014, 02:37 PM #7
InSoMnIaC Still n00b
Status: Offline Posts:136 Threads:25 Joined:Apr 2014
Outstanding work to improve the game mechanics Tigur, Well done.

Forum Jump:

Users browsing this thread:
1 Guest(s)