Ch0wW / odamex

GNU General Public License v2.0
6 stars 1 forks source link

Make warmup mode GREAT again. #13

Closed Ch0wW closed 2 years ago

Ch0wW commented 8 years ago

(silly reference)

Since I'm such a competitive boy since 2010, I'm still embarassed there's no such port other than Odamex that has a warmup mode. However, because of the other ports that are mainly led to casual-play, it's not as widely used as I've been aware (since a few conversations I had on IRC/unofficial Odamex Discord).

I've noticed a few minor things that aren't really standard to competition, and that's all related to warmup, its behaviour and community:

1) Use a CVAR (sv_warmup_ctf_pugs or sv_warmup 2) to make sure it's for PUGS/Private.
2) When a player joins the game during the warmup state, he's on an unassigned team. (also modify the scoreboard to add a "line-up" zone similar to spectators)
3) Use the callvote randpick/randcaps, as usual, letting the randomisation/people do its magic.
4) Once it's done: set your state to "Ready" to finally start the game.

That's a far simplier yet useful way to make it work, and doesn't rely on an abuse of a function usually made to start a game.

I'm also aware that with the discussion I've had on Discord, some of these features won't be added for sure on the official Odamex git (such as the F3 key for Ready -- thing we'll implement on my side), but that's now a good time to discuss it.

I'm currently opening a new branch called "warmup_updates" so that we could test it further. Related to servers, we're going to open a few testing servers with these said features.

Don't forget to join the unofficial Discord Server ( https://discord.gg/4qKrKCB ) if you also wish to test together some features and get some livebuilds.

Let me know what you think of it.

capodecima commented 8 years ago

The whole warmup mode need to be rewriten for sure. I dont say how its now its not working and stuff. But its so different from other games. So ppl coming outside dont see shit how to ready here and stuff. Things which could be added for sure.

1) Make for sure the ready key on F3 like this (http://i.imgur.com/xrtOJxt.png), ofc if some1 bind "ready" on different key it shows on screen which key you have to press.

2) About the priving, privs was always kinda not oraganized well on odamex. I think how Ch0wW mentioned earlier about having some line for spects which will obvious you are not playing is better than still ask some ppl. Are you playing? "yes" Well then ready up...

Ch0wW commented 8 years ago

This commit https://github.com/Ch0wW/odamex/commit/449e93c4eabe2edfd7397b79d779b4bffc202bb2 does modify slightly its behaviour:

1) Every player wishing to play join the game
2) Once everyone has "ready up" as a spectator, or joined the game, **Callvote randcaps**
3) Everyone other than the captains are back as spectators but with the READY flag on
4) Caps are choosing their players
5) Type ready and you're good to go

Honestly, I find this alright, although it'd be a little complex for some. But it would already help solving a few common problems:

Speaking of this, there could be a slight callvote map behaviour change which brings the players from the previous warmup back ingame.

Ch0wW commented 7 years ago

I have recreated a branch called warmup_updates because I just noticed how messy the previous branch was, and to better synchronize with odamex's master branch.

Ch0wW commented 7 years ago

Apparently, after a bit of testing (thanks capo/rude/heks/ralphis), a non-ready spectator can STILL be called, which is weird, since the check wasn't modified at all.

Also, you have to add a sound when timeout has been called.