How Do Resources Work, Exactly?
f3rret
Join Date: 2002-05-29 Member: 686Members
If a dev could please explain how the resources are supposed to work, like x resources per nozzle, per second, that would help us all try to figure out exactly what's going on in game. Please be as technical as you like.
Does the resource model compensate for team imbalance? Do nozzles run out? How much should they have in each?
This will help us squish the 'bug', if there is one.
Does the resource model compensate for team imbalance? Do nozzles run out? How much should they have in each?
This will help us squish the 'bug', if there is one.
Comments
Now that is a <b>GREAT</b> idea!!! Seriously theres your team balancing right there!
num_controlled_resources * num_players_on_opposite_team * ns_playerresourcescalar
With ns_playerresourcescalar defaulting to about 1/4, the game is only balanced in 4v4 games.
Check out <a href='http://www.unknownworlds.com/forums/index.php?act=ST&f=1&t=8722' target='_blank'>NS_playerresourcescalar Considered Harmful</a>.
- Resource points are equal for both sides. What I mean by this is that x points on either side should equate to the same amount of power. Likewise, NS was designed for equal sized teams.
- The resources "scale" with team size. Marine and alien resource towers gather resources at the same rate. They gather 1 resource point every 6 seconds. For the aliens, this is multiplied by ns_playerresourcescalar (.23) and then given to EACH alien player's resource count. So to balance this for the marines, the team gets points equal to 1*.23*numPlayers, and added to the team's total. So in big games, the marine resources will be growing faster then in small games. This is required to make sure that aliens aren't resource-starved in big games. numPlayers is the number of players on the team, not on the server. Spectators don't count, dead players do.
- Every time a resource tower gathers resources for the team, it draws a rising number above the tower, showing how much it gathered. This number is the value BEFORE multiplying by .23 and the number of players on the team. In the patch, this number will reflect the actual resources given to the team for the marines.
- Resources never run out for any node.
- Gorges get resources at 3x the rate of other a non-gorge player. The aliens have a resource pool that all the resources go into, and are then divided up. Dead players never receive points. Here's an example: assume a resource tower harvests one point for an alien team, where the alien team has 1 gorge, one skulk, and one dead player. The total points harvested are 1*.23*3 (numplayers) which is .69 points. The skulk gets one share, the gorge gets three shares and the dead player gets 0 shares. .69 points divided by 4 shares is .1725 points per share. The skulk gets .1725 points, the gorge gets .5175 points. If any player can't receive the full point count because it would put them over their max, the excess points are kept in the pool and are potentially awarded during the next resource interval. Resources are added and divvied out every 6 seconds for both teams.
- If an alien player leaves the team, his resources go back into the pool. Resources are never lost for either side.
- If one team has less players then the other, and mp_teamresourcehandicap is 1 (the default), then that team's incoming resources are multiplied by a scalar equal to x/y where x is the number of players on the larger team and y is the number of players on the smaller team (team size, doesn't care about rank, role, or alive/dead status).
I think that's everything. It took a surprisingly long time to come up with this system, definitely one of the hardest aspects of NS.
1) How do the Gorge's resources work? Do they have a different "ns_playerresourcescalar" number?
2) Why do aliens have a resource limit? As in a max of 33 resources for a skulk with 1 hive up. If it says 33/33, do I actually have more resouces in a hidden pool somewhere? A pool that will refill me once I evolve?
3) Is numPlayers the number of people on the alien team, marine team, or is it the number of people on the server?
3b) If it is the number of people on the server, then does it include spectators?
I have one more question, then I will get to suggesting a tweak to the resource model.
This question is regarding: " If any player can't receive the full point count because it would put them over their max, the excess points are kept in the pool and are potentially awarded during the next resource interval."
Let's say you have the following situation: 4 skulks and a gorge on the alien team. All 4 skulks are at 33/33 resources, and are not evolving. The gorge is building like mad. Since the gorge is the only one spending RP's, then does he end up getting 100% of the resources harvested, because he is the only one with room in his pool?
The basis behind my balancing system isnt quite as complex as the variable resources, but it's also not as polished either. What I suggest is that each player has a damage modifier that changes the amount he/she deals with attacking an enemy. The damage modifier is based on the balance of the teams, that being, the smaller team deals more damage than normal while the larger team deals less damage.
Now, the very basic method for this working is to offer a 5% increase/decrease to damage for each person that the teams are imbalanced (Formula: (number of players on the large team - number of players on small team)*5%). For example, with even teams, the modifier would be 0% (standard damage). If, the marines have one person more than the aliens (say a 5 vs 4 match), then the marines would be dealing only 95% of their normal damage while the aliens would be dealing 105% of their normal damage. As the gap increases, the larger team looses more and more damage capability while the smaller team becomes more powerful.
Given a screen shot that I saw on here of a 14vs2 game, the marines would have been dealing only 40% of their normal damage while the aliens would have been dealing 160% (14 people - 2 people=12. 12*5%=60%, -60% for the marines and +60% for the aliens).
I think that after folks have to deal with 120 points of damage from a skulk bite (instant death for a standard marine), that the teams <i>may</i> start to even out and even if they dont, the smaller team will still have an advantage that allows them a chance to win.
THE CURRENT RESOURCE MODEL DOES NOT SCALE AND THUS DOES NOT WORK!
I'll argue that the current resource model means that the bigger the game, the more of an advantage the marines get. At 12v12, the numbers are getting ridiculous.
In order to show this, I'll step through an optimal build sequence for the Karaa and a slow and safe build sequence for the marines. I'm looking at two datapoints, namely time for the Karaa to get their second hive up and the time for the marines to secure three resource points and their base, as well as researching Motion Tracker and HMG.
It looks pretty ugly: (numbers are in minutes, see later half of post for calculations).
<!--c1--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1-->
4v4 12v12
Kharaa to second hive 14.5 12.5
Frontier men to three resource- 18.0 7 (and that's being pessimistic!)
centers, HMG and Motion tracker
Income in turrets per minutes 1.8 5
<!--c2--></td></tr></table><span class='postcolor'><!--ec2-->
This just does not work.
Proposal: Resources are constant, independent of team sizes[1]. To allow the Kharaa to build at constant speed no matter the size of the team, change the resource allocation so as to split half the resource pool among the Gorges, half among the non-gorges. This allows a single Gorge to build at approximativly the same speed independent of team size[2].
This does mean that the number of Onos and HA HMG marines will stay approximativly constant, no matter the team sizes. So with large teams, the density of them are not as high. This however, is IMHO far superior to the current situation.
[1] Team-size balancing can be added
[2] The Kharaa will build faster after the second hive is up with smaller teams, because the non-Gorges will hit their resource maximums faster.
-------------------------- Calculations follows. Warning: long! :-) -----------------
Assume 4 people per team. At this size, you get the resources you harvest, pretty much. Lets see how fast a gorge team bent on maximum expansion can get up their second hive.
The income for the gorges are .. ah, 10 ticks per minute, each tick giving them 1 resource. There are three skulks and one gorge for a total of six shares.. ie, the gorge gets half of the resources, or a total of 5 resources per minute.
At the start, each Kharaa has 10 pts, and you need 13 to transform. Getting 1/4 of the 10 in income means it will take about one minute before he can transform. Then he needs 22 resources at 5 resources per minute, translating to 4.5 minutes. So the second Kharaa resource tower is built at 5.5 minutes, and goes online 30 seconds later at 6 minutes. This doubles the income to 10 per minute, so the third tower goes up 2 minutes later, at about 8 minutes. From 8.5 minutes, the gorge has an 15 pt income, so at 10 minutes the fourth tower comes up, and the Gorge is now earning 20 pts per minute.
In the meantime, the three Skulks has been doing their best to irritate the marines. They are earning 10/6's of a resource per minute for the first 6 minutes - 10 pts. The next 2.5 minutes, they earn at twice the rate for a total of 2.5*20/6 or 8 pts more. They can now only earn 5 more points until they hit their 33 pts max. At at rate of 30/6 or 5pts per minute it takes them ... one minute. So at 9.5 minutes, the skulks are filled up, and the Gorge starts earning 30 pts per minute rather than 15. And at 10 minutes when the fourth resource center goes online, its 40 pts per minute!.
At that pace, the Gorge can start building the second hive at about 11.5 minutes into the game, and it goes online at 14.5 minutes (assuming a three minute build time - grumble why isn't that in the manual??).
So, lets look at the marines. They are also earning at 10 pts per minute to start with. Now, I'm no expert commander, but I figure the following build order is pretty ok.
2 Infantry portals at 15 pts each = 30 pts
1 Armory at 25 pts = 25 pts.
1 Resource center at the closest source = 22 pts
Assuming the resource center is smacked down first and solders are on it, the second resource center goes online at about 1 minute into the game (assuming two soldiers building it for 25 seconds).
At this point the marines have 100 - 77 + 10 = 33 pts left over. Lets assume the marines are tighly guarded by the three skulks, so they don't dare leave their command post nor resource tower unguarded. Lets assume two turret factories (at 25) and 8 turrets (at 16) are required before the marines can move on to the next resource point. That will cost 50 + 128 pts, so the marines will need to earn 145 pts at 20 pts per minute to pay for that. That will take 8 minutes or so.
Ok, at the 9 minute point, the marines have fortified their base. Lets assume they move out and take control over the third resource point. It may be tough, but lets assume they manage to do so two minutes later, at the 11 minute point. At this point, they have 40 resources. 22 goes to pay the resource extractor, which goes online at 11.5 minutes, leaving the marines with 28 pts and 30 pts per minute income. Fortifying this spot costs 89 pts, which is done about 2.5 minutes later. So, at 14 minutes the marines are at 0 resources and 30 pts per minute, with three well-fortified resources and a well-fortified base.
At this point, we assume the marines goes for a observer and upgrades it to get motion tracking. That costs 25 + 45 pts, or two minutes worth of income. At 16 minutes then, the commander upgrades the armory to get HMG's. 35 pts takes a minute and assume another minute with the help of the marines eagerly anticipating their upgrade, and at 18 minutes, the first HMG's are dropped in the hands of the eagerly waiting marines.
Not a smart build order, granted. You would probably be better off moving to a hive location rather than fortifying yourself that heavily. But for our purposes, its a solid and safe opening.
(Oh my, this is getting long. Why am I doing this rather than playing? :-) )
To summarize, in a 4v4 game, you have Gorges getting their second hive at about 13.5 minutes into the game (2 minute build time assumed), and the Marines getting their HMG's at 18 minutes.
Ok, lets look at a 12v12 game instead.
Lets start with the Kharas. Their income is now 30 pts per minute, shared out among 12 skulks .. so they are each earning as much as in the 4v4 scenario. At one minute it's time to go Gorge ... 1,2 or 3 Gorges? Hmm... darn, we need to do the numbers for this one as well ...
One Gorge would get 3 shares out of 14, or 6.4 pts per minute.
Two Gorges would get 3 shares out of 16, or 5.6 pts per minute.
Three Gorges would get 3 shares out of 18, or 5 pts per minute.
Hmm ... lets do three gorges. One saves up for the hive, the other two builds resource towers. The tower builds still take exactly as long as the 4x4 to build the first resource tower, but we get two towers at 6 minutes now. The hive-building Gorge is at about 25 when the resource income tripples to 15 per Gorge and minute. The resource builders get tower four and five online at about 8.5 minutes, at which time the hive builder has about 50 resources. At 25 rp per minute, getting to 80 takes about a minute, so the second hive can be built at about 9.5 minutes - which, bw is the time when the 9 skulks are full and the whole resource stream gets switched over to the Gorges, who are now looking at incomes of 50 per minute which is really too much for them to use in any efficient manner. Time to spam chambers all over the map, and start thinking of the third hive.
So, three times the resources, and the second hive comes online at 12.5 minutes instead of 14.5 minutes.
Lets look at the marines now ... we follow exactly the same steps here. Same starting points as before, but with 30 pts income rather than 10.
So, two portals, the armory and resource tower. Build resource tower, assume it goes online at 1 minute mark. The marines then has 23 pts left over from the initial 100, and has earned 30 pts for a total of 53. Fortifying the base and resource will cost 178 pts, so you are looking at earning 125 pts .. so, with some overhead, lets assume that's done at the 3.5 minute point. The horde of marines now go secure the third point, which we generously assumes takes 2 minutes. Once the spot is secured, the commander has 150 pts stored up, so the 111 points for the resource extractor, turret factory and 4 turrets is paid up instantly, leaving us at the 6 minute spot with 60 pts, and 90 pts per minute in income. Of course, with this many resources, we can buy the upgraded armory at the 4 minute point for 35 pts - we still have enough to instantly pay out the 111 pts to secure the room. So at the 6 minute spot, we have 15 pts, 90 pts income and can equip the marines with HMG's. Generously assuming another minute for the observatory upgrade and for the marines to get back, we finish up our silly expansion plan at 7 minutes.
So, now lets compare these:
4v4 12v12
Kharaa to second hive 14.5 12.5
Frontier men to three resource- 18 7
centers, HMG and Motion tracker
Income in turrets per minutes 1.8 5
Another thing to remember is that in the 4v4 scenario, there are three skulks and three marines. In the second scenario, there are 11 marines but only 9 skulks, as three Gorges had to be left behind. 7 minutes is thus a very _pessimistic_ estimate - a good commander can probably cut 2 minutes from that, all things considered. Thus, HMG's can well appear BEFORE the Kharaa even started to build its FIRST resource tower!
as this is the first game ever to feature such a multiplayer rts economy, we shouldn't hesitate to think through its fundamentals again. fact is the economy turned out to be very different from the playtests, but Flayra finds no code bug and the server admin conspiracy theory is nonsense.
it's not unlikely that the player scalar is the culprit