PDA

View Full Version : Supplier - queue and rotation



Higor
05-29-2013, 03:22 PM
Proposing a measure for normal suppliers that do player selection.

The current scripting does a very simple thing:
Iterate through the actor list and if a player is found, select it as the main supply target until he's left.

This has 2 problems:
- All other players must wait for the supply target to leave.
- Players that joined earlier have extra selection priority.


The new system I'm proposing will operate pretty much like the optimized mines do.
There will not be any actor list iterators, but rather a cached list of players that approached said supplier, keeping the order of arrival.
The second part of the system consists on rotation, 2 secs should be fine, which will put the supplier target at the last position of the queue after he's used the supplier for that amount of time.

This pretty much makes target selection fair, and whoever wishes to simply hit the supplier to get a minimum reserver of ammo won't have to boost other ppl around.
Also, when there's only one person on the supplier, once reached the time limit, it won't go back to 0.
This way, if a new player hits the supplier, this new player will instantly gain priority.

Crsk
05-29-2013, 08:34 PM
also that way you can draw my turn when i'm trying to supply?

ie just if i touch the supplier and there is more than 2 players a message above the RU amount appears "Turn= x"

Higor
05-29-2013, 09:56 PM
That'd be adding extra stuff to the hud :(

But you also gave me a good idea:
If the owner leaves, the next player to supply will gain ownership so that it can be removed later.
Just in case I'll just apply this to normal suppliers, not super versions.

kushface
05-30-2013, 02:50 AM
A more efficient supplier... NICE!!!!

audiosonic
05-30-2013, 07:50 AM
What happened to the good old days where you'd charge your piston and boost everyone out :(

|uK|Chronox
05-30-2013, 12:00 PM
Those days were over when I got banned by Blaze for boosting him with Chainsaw.

But this would be a nice improvement over the current supplier. Good idea.

SAM
05-30-2013, 04:13 PM
Noggin tried a supplier push. Basically after x amount of time, the person was pushed out...didn't work that well though it was buggy.

Higor
05-30-2013, 09:19 PM
Applied it on my beta, took me 1 hour and no bugs :)
Those queue actors I designed are magical.

The implementation was done without taking out the RadiusActors iterator, I didn't see adding an extra trigger worth the time and the 0.1 ms gained per 20 suppliers, so I decided to keep that part of the code simple and just add the queuers on the normal suppliers.
Said queuers are implemented in the parent class, sgEquipmentSupplier so they also affect the Health Pod and SupplierX in old siege mode.

.seVered.][
05-30-2013, 10:20 PM
And the effect of stacking multiple suppliers on top of each other?

... I'll let you say it...

.seVered.][
05-30-2013, 10:32 PM
Applied it on my beta, took me 1 hour and no bugs :)
Those queue actors I designed are magical.

Indeed and they performed quite smoothly too.. mostly like Dynamic arrays, which do not exist in Uscript except in synthetic form.

'Zac
05-31-2013, 06:22 PM
the message will have to be in different languages so people are like " iQUE! me no understando" so thats a boosting +1 also, and you need to it to fit with everyones resolution too. i dont want to some small ass white letters in the middle of my screen and i dont know what they are boosting +1. and people would boost people outo to get to their turn, so thats a boosting +1 too. also, i almost forgot, if someone gets boosted out and they need to wait after 3 people to get weapons, wouldnt they want to hurry up and hit the open ass core? boosting +2
boosting = 5
i can see it now

Novak
06-01-2013, 07:17 PM
Not sure I understand this but let me see if I have it right. A player gets, say, two seconds in this new supplier before ammo stops getting delivered and they have to wait for the other players to get their allotted ammo if they aren't satisfied with the ammo level they got.

I find a lot of times that the supplier is not consistent in the ammo it gives out and wait that extra .5-1.5 seconds at times to get it. Other players who are repairing me and who I am repairing understand this and don't boost me out. Only players with communication barriers, rude players who boost people out of the supplier and/or players who regularly stay in the supplier too long period are an issue within the current system. Supplier boosting may still occur by players who don't like the level of ammo they receive by the new supplier.

I see this new supplier system as possibly being less efficient in the common cases of players knowing how to play with each other, which include pug situations. Just looking for clarification and please correct me if I am wrong in any of this assessment.

Higor
06-01-2013, 07:31 PM
Problem here is, some players actually DO TAKE THEIR TIME when the base is under attack, leaving the remaining 5 just-respawned players waiting like idiots.

.seVered.][
06-01-2013, 07:54 PM
Not sure I understand this but let me see if I have it right. A player gets, say, two seconds in this new supplier before ammo stops getting delivered and they have to wait for the other players to get their allotted ammo if they aren't satisfied with the ammo level they got.

I find a lot of times that the supplier is not consistent in the ammo it gives out and wait that extra .5-1.5 seconds at times to get it. Other players who are repairing me and who I am repairing understand this and don't boost me out. Only players with communication barriers, rude players who boost people out of the supplier and/or players who regularly stay in the supplier too long period are an issue within the current system. Supplier boosting may still occur by players who don't like the level of ammo they receive by the new supplier.

I see this new supplier system as possibly being less efficient in the common cases of players knowing how to play with each other, which include pug situations. Just looking for clarification and please correct me if I am wrong in any of this assessment.

On the contrary... at least I'll have SOME ammo if say the Core get's suddenly attacked and I/we need to return fire. And with this system there will be a WE with ammo available to assist.

Novak
06-01-2013, 08:46 PM
Problem here is, some players actually DO TAKE THEIR TIME when the base is under attack, leaving the remaining 5 just-respawned players waiting like idiots.

Right, this point is valid. However, the to-this-point unspoken exception of supplier boosting is when the base is under attack. If I am boosting you out of the supplier, it is known that there is an immediate need to do so. In that case, I will take the min ammo and go defend the attacker with hopefully others following suit. Again, this is all unspoken logic, but glad to share the obvious tactic for that situation under the current supplier system.

Unless the new supplier distributes weapons to multiple players simultaneously, two seconds is still a very long time for the ammo to be distributed when a simple boost will give immediate ammo and allow for the quick defense. If you want to codify this exception to supplier boosting into the rules please do so as it would alert players who want to follow the rules and work well as a team.

Am holding off my vote until I fully understand this new supplier and the reasons for implementing it.

Higor
06-01-2013, 08:52 PM
The supplier rotation timer is a constant.
I can set it to 0.05 and it will distribute ammo equally among all players, it has a downside, and that is that if there's a sitting duck on the supplier, you'll get ammo slower.

Neff
06-03-2013, 11:14 PM
yay, can't wait to see it in action :D

i_remember_my
06-03-2013, 11:57 PM
good