Jump to content

Revamp infected class selection


paroxysm

Recommended Posts

I think we could use a new algorithm for infected class selection. Rather than having to fumble through class 1 by 1, how about a persistent menu which shows each class and its limit and index number which starts at 1...n, n = max number of contro-able classes ignoring tank. That way, you simply press the corresponding number to select the class. This will speed up the ability to select the right class when it's needed because I've noticed having to cycle through these classes takes too long when trying to hold choke points. This algorithm may have been there before, but I may be confusing this server w/ zombiegcc

Edited by paroxysm
Link to comment
Share on other sites

I've noticed the options run on a static cycle... Boomer, then Hunter, then Spitter, etc. The order of them never changes (unless the max for that SI is already in queue or spawned, in which case it skips the max'd out class)... so pretty quickly (for me) it became second nature to start cycling through the SI to get to the one I wanted while moving into position (e.g. running back from appearing ahead of a choke point, etc.)

 

But I do like the idea of being able to pre-select the class you want to start as...

Link to comment
Share on other sites

It's not pre-selecting, it's just a faster way to select your class. Depending on which class you ghost as, rather than cycling multiple times, you would press like say, 5 if chargers were mapped to 5, or 4 for hunters or 3 for spitters etc. This menu will also tell how many of that class are selected. So if all the chargers are taken, it displays something like 2/2, where 2 is the max chargers you can spawn.

Link to comment
Share on other sites

I recall seeing something like this and it was useful. Especially with the fast pace on this server, we need this accessibility. Can't count the number of times I skip the SI I wanted and miss a game changer move.

Link to comment
Share on other sites

I recall seeing something like this and it was useful. Especially with the fast pace on this server, we need this accessibility. Can't count the number of times I skip the SI I wanted and miss a game changer move.

 

I do this all the time i skip the SI i wanted and when i go back and try to get it, its not there anymore or some sort of lag makes you spawn as a smoker instead of flying boomer.

Link to comment
Share on other sites

I recall seeing something like this and it was useful. Especially with the fast pace on this server, we need this accessibility. Can't count the number of times I skip the SI I wanted and miss a game changer move.

 

I do this all the time i skip the SI i wanted and when i go back and try to get it, its not there anymore or some sort of lag makes you spawn as a smoker instead of flying boomer.

SK, I do that at least 2 times a night

Link to comment
Share on other sites

I recall seeing something like this and it was useful. Especially with the fast pace on this server, we need this accessibility. Can't count the number of times I skip the SI I wanted and miss a game changer move.

 

I do this all the time i skip the SI i wanted and when i go back and try to get it, its not there anymore or some sort of lag makes you spawn as a smoker instead of flying boomer.

SK, I do that at least 2 times a night

Nothing like spawning as hunter and hocking a loogie into space lol

Link to comment
Share on other sites

  • 3 weeks later...

it's been a few times... where i'm cycling through, depending what i know comes next, that i middle click boomer, then left click and spawn in some really high place and i hear the spitter's screech and go "not again... i told myself to check EVERY time...."

 

then yeah, i've cycled past charger many times, then there are times where i just sit there cycling, not sure if charger/spitter's full or it's coming up....

 

btw, if this is implemented, get ready for even MORE yells of "spit and die! spit and die!!"

 

Rocket smoker... Genius...

Link to comment
Share on other sites

It's not pre-selecting, it's just a faster way to select your class. Depending on which class you ghost as, rather than cycling multiple times, you would press like say, 5 if chargers were mapped to 5, or 4 for hunters or 3 for spitters etc. This menu will also tell how many of that class are selected. So if all the chargers are taken, it displays something like 2/2, where 2 is the max chargers you can spawn.

 

What about, if, when you die, you can pop open a menu, and select the class you want, and it'll immediately give you it when you enter spawn, assuming that the class hasn't reached its limit?

That way, you could prioritize to the players who are closest to respawning, not to the players who can type the fastest.

Obviously, you'd still restrict them so someone doesn't always grab a hunter, and someone doesn't always get stuck with the spitter.

And, possibly, instead of selecting from a menu, you could just type !hunter (or whatever) instead.

 

I can even write, and paste below, the code, if anyone would like to see how to do that.

Edited by Sky
Link to comment
Share on other sites

(edited)

ugh, I think you completely misunderstood what I was proposing and how it benefits SI. The menu I'm referring to, is persistent, always open unless you're dead, rather than constantly having to open it. Each entry in the menu is an SI class that you can spawn as, I suggested that the entry be in the format of <class number>. <class name> <current class count> <max possible class count>. The menu is constantly updated at some frequency. Whenever you increase a class's limit, that particular entry in the menu would get updated such that <max possible class count> is incremented. Whenever someone picks that class whether a ghost or spawned, the <current class count> is incremented, when they die or pick another class it gets decremented. The benefit of such a system is mostly realized during choke points that are sensitive to specific classes. I cannot tell you how many times I needed a charger or a spitter when they're all taken and while at a choke point. For said situation, as soon as a charger/spitter ghost would die, I would be available to grab that class by simply pressing the respective <class number> on my keyboard, spawn and attack. Currently, having to fumble through the classes 1 by 1 leads to extremely frustrating situations where you skip a charger slot, or if you're a jocky ghost waiting for a charge slot to open and you misjudge it forcing you to cycle through all the other free classes to get back to the right class.

 

Jackie, the current system is fine but it can and should be better and would allow SI to deploy to choke points as the right class much faster.

 

This algorithm of class selection is not unique, I've seen it used it other servers. I really think it's a better way to do class selection.

Edited by paroxysm
Link to comment
Share on other sites

Something like !infectedmenu I guess? Brings up a list of current spawns and what so ever:

 

1. Spitter 2/5

2. Jockey 0/3

3. Charger 3/5

4. Boomer 1/3

5. Hunter 0/2

6. Smoker 0/3

 

It doesn't have to be constantly update as long we make a macro of and repeatly press it for update on the spawns. This shouldn't detract the server originaility by much, hopefully this idea will be given more thoughts.

Link to comment
Share on other sites

Exactly jerkoff, that's what I had in mind. The menu does not close unless you open another one such as to buy a tank or increase limits. When you die, the menu deactivates, such that it ignores key presses, when you ghost again, it reactivates. You only have to update the menu if the information it displays, specifically the class limits and counts.

 

No sky, you can't scroll with mouse wheels, you have to press the zoom button to change classes.

Link to comment
Share on other sites

You could have menus that are updating, but you'd have to cheat to do it.

i.e., have a timer running that every x seconds presents the menu to the player, depending on their life state.

And, just let the player type !updatetoggle or some other command to toggle whether or not the timer skips them

or not when showing the menu to players.

 

You wouldn't be able to do it more than once per second per player, otherwise when the player selects an item

in the menu, the command input may not go through. You could try, though. I think once per second for each

player who opts to have it display to them would be fast enough, though.

 

In the infected selection plugin I wrote, you could just use mwheel up or down to go forwards or backwards through

the infected classes, when in ghost form. Of course, it was revamped to !iclassfwd and !iclassbpl so players could

bind the two commands to whatever keys they wanted to. Where fwd = Forward and bpl = Backpedal.

 

The infected classes are defined like so, but note their numeric values, wherein 1 would be the front of the class

line, and 6 would be the end of the line. We ignore 8 since that's the tank, and you have to purchase it. Of course,

you could play around with the general idea of letting players select the tank only if they have enough points to

purchase it, as well if the tank limit is not reached, and there is no tank restriction in play, and, if they spawn in

with the tank, it immediately deducts points. To protect against tanks going over the limit, you'd simply have a

check go through whenever someone purchased a tank to see which players currently have the tank selected

in ghost mode, and if the limit is reached, immediately force them to the front of the infected class list, which

would be the smoker, since he's value of 1.

 

 

#define ZOMBIECLASS_SMOKER 1

#define ZOMBIECLASS_BOOMER 2

#define ZOMBIECLASS_HUNTER 3

#define ZOMBIECLASS_SPITTER 4

#define ZOMBIECLASS_JOCKEY 5

#define ZOMBIECLASS_CHARGER 6

#define ZOMBIECLASS_TANK 8

 

Taking this into consideration, The cycle order forwards would be:

Smoker, Boomer, Hunter, Spitter, Jockey, Charger.

So if you were on the spitter and you hit the backpedal key, it'd take you to the Hunter. If you hit forward, it

would take you to the Jockey. Like with the tank limit, if a player is in ghost with a class and someone else

spawns in with it, reaching that class' limit, you'd simply move any player who is ghosting that class to the

front of the line. Of course, if the smoker limit was reached, you'd move them to the boomer, etc., etc.

 

 

That may help with players who fire to spawn in, and get stuck as a class they didn't intend on spawning

as, or at the very least, make it easier for players to cycle back and forth between the classes in ghost form.

Edited by Sky
Link to comment
Share on other sites

Sky, your algorithm would also solve the problems that I described.

 

One thing I would like to point out is that, the menu doesn't even have to be constantly updated, just use a listener like in Java. You only update the menu when you NEED to. That means that you listen for events such as the player SI dying and ghost or becoming/losing a tank to de/activate the menu. Also events such as when the player picks a certain class, it has to increment the new class count that he picked and decrement the previous class count that he had. It's not something you have to update on some frequency, just when it's needed.

 

Also Sky, I feel like with your method you'd still have the possibility to skip over a crucial class because you're still not getting a feed back that tells you that class slot is available to be taken. So you're forced to essential 'probe' for the slot by constantly scrolling the wheel. That being said, w/ the algorithm I described you'd still be doing that, but it's actually faster because you're just pressing a single button to grab the class and in times where a choke point needs to not be spawn blocked, those extra cycles can be of use.

Link to comment
Share on other sites

No, the menu would only auto update if the player was in ghost mode.

Also, you wouldn't be able to skip over a class, because the class wouldn't be available to be picked if the limit

was reached, and if the limit became reached while you had the class selected, it would simply bump you to the

next class in the list.

You have to understand that the rotation will change depending on whether or not class limits have been

reached, because they won't be part of the ghost select rotation if they are. So, even with multiple ways of

scrolling through the rotation list, it still won't suffice to do it extremely fast. With 9 other players in the server, you

will always face the challenge of "players a and b press their fire key at the same time, player a had a lower ping

and was given that infected class, player b was given the next class in the rotation."

And you can't get around that.

 

Edit:

You could let players simply buy a class change while they're alive. My rpg and buy plugins allowed shape shifting.

It opens the doors for more combinations. Free class changes in ghost, paid class changes when you are alive.

This meant players could spawn as a hunter, pounce someone, and then change into a boomer or spitter and

wreak total havoc. And, it opened the door on new strategies for both teams, upping the replayability.

Edited by Sky
Link to comment
Share on other sites

That situation where a player picks an SI quicker than the other is fine. The problem is not that someone else grabs the needed class over someone else. The problem is that during times of crucial choke points, selecting the needed class after you've ghosted needs to be performed extremely fast in order to prevent the survivors from spawn blocking said choke point. If I could just press a single button after I ghosted to become that class, I think that's faster than scrolling whether via mouse wheel or mouse wheel button.

Link to comment
Share on other sites

Yeah, I didn't like ZCS because you had to go one-by-one through the infected classes.

Instead, I just let people open a menu, hit a number for the class they wanted, and bam, they switched to that class.

Much simpler.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...