g_competition Game modificator ?

Post anything to do with editing Nexuiz here. Whether its problems you've had, questions, or if you just want to show off your work.

Moderators: Nexuiz Moderators, Moderators

Wed Jan 03, 2007 5:49 pm

  • Since discussing the Nexuiz Pro thing is still going on I had another idea.

    How about creating a game modificator (which is NOT a gameMODE but just a modificator, like g_(m)instagib, etc.) which does these things:

    • work like the arena gamemode, but these things are changed:
      • have a g_competiton_playercount (can be named different) variable that indicates how many players may play at the same time (all others cannot start playing but only spectate)
      • the number of max players (specified above) can play at the same time, however, if player a kills player b it does not reset everything, nor does it substitute the killed player with one of the spectators
    • when g_competition is active do aiming different: let projectiles/shots come out of the center of a player (they can be "drawn" different), I know it looks odd from 3rd person perspective, but it works that way in all other games too (Quake 3, 4, ...)
    • Once the number of specified players is "playing" and one of the players readied up, all players who have not readied up yet should see a centerprint or hear a sound "please ready up" once a minute or so (if no1 readied up so far there's no need to play that sound or show the centerprint, as no1 is ready yet anyway)
    • Once all the players ready up there should be a countdown and everything should reset. but NOT by a "restart" command but rather like still staying on the map. The reason is that, when using "restart", players have to select the team color again and have to "spawn" manually too. The playtime in warm-up stage should be unlimited (or very long) until all players readied up: once they pressed F4 and the game got reset, it should use the setup maptime of course. So to be clear: once every body readied up, do the countdown, then respawn every player, reset all items/weapons on the map, get rid of former dead bodies whatever, set time to 0 with a limit of <maptime> minutes.
    • in warm-up stage the players should have LMS-alike Health and armor (however, the usual pickups should be available of course), so something about 250 HP 150 Armor, and all weapons with appropiate ammo
    • when this gamemod is active the players should be able to call for a timeout. If done so, the server should indicate that a timeout will start in 5 seconds or so. The timeout command should be able to deliver the number of seconds to time out. Any person should be able to stop it again, too (again with a message/countdown that time out will stop in 5 seconds)


    So why am I suggesting it? As you MIGHT know, this gamemod exists in
    - Q4 MAX
    - Warsow
    - Q3 CPMA/OSP
    - god knows how many other games

    It is a custom to have this feature in a game that is competitive. And as it could be a game modificator it wouldn't change anything for the server admins who do not use that modificator anyway. And it being a modificator it can be used for DM, TDM and CTF.

    What do you think, and what do the devs think ?
    IRC quote:
    [kojn] I've been coming a bit more recently
    [kojn] she took it the dirty way
    GreEn`mArine
    Forum addon
     
    Posts: 1509
    Joined: Tue Feb 28, 2006 9:33 pm
    Location: Germany

Wed Jul 18, 2007 9:47 pm

  • yaya!
    :]

    Image

    kojn translates into horse.

    Signature Pic based on UT-Clan Mates describing trying to spam me and getting confused which routes I take :D
    k0jak
    Forum addon
     
    Posts: 1103
    Joined: Tue Feb 28, 2006 11:36 pm

Wed Jul 18, 2007 10:54 pm

  • My only problem with this is the interference of spectators. I would only want to 1on1 with someone while others watched if the spectators had no way to interrupt the gameplay. e.g. Spamming with text! When I play a serious match like that I don't want to have my attention directed away from my only goal, which is the complete annihilation of my opponent. :twisted:
    Image
    User avatar
    Mr.Carlyle
    Alien
     
    Posts: 148
    Joined: Sat Jun 16, 2007 6:17 pm
    Location: USA

Wed Jul 18, 2007 11:11 pm

  • Yeah, this would be an additional requirement: chat of spectators is only visible to other spectators. But still there has to be a way that a spectator can communicate with the players, maybe a special password, no idea.
    IRC quote:
    [kojn] I've been coming a bit more recently
    [kojn] she took it the dirty way
    GreEn`mArine
    Forum addon
     
    Posts: 1509
    Joined: Tue Feb 28, 2006 9:33 pm
    Location: Germany

Thu Feb 21, 2008 4:25 pm

  • in other games i know you can vote it. "vcall mutespecs 1" If this doesnt work, it is perfectly ok to have the specs muted all time :D
    User avatar
    Bundy
    Alien
     
    Posts: 230
    Joined: Sat Jun 23, 2007 10:47 am

Thu Feb 21, 2008 7:52 pm

  • GreEn`mArine wrote:[*]Once all the players ready up there should be a countdown and everything should reset. but NOT by a "restart" command but rather like still staying on the map. The reason is that, when using "restart", players have to select the team color again and have to "spawn" manually too. The playtime in warm-up stage should be unlimited (or very long) until all players readied up: once they pressed F4 and the game got reset, it should use the setup maptime of course. So to be clear: once every body readied up, do the countdown, then respawn every player, reset all items/weapons on the map, get rid of former dead bodies whatever, set time to 0 with a limit of <maptime> minutes.


    I don't know if you checked that out already on the 2.4 svn, "ready" has changed a bit... Players stay on the same team, they are put on a spawn point, and there's a countdown

    The timelimit is automatically set to timelimit + countdowntime, so it's not altered :)
    User avatar
    Mr. Bougo
    Keyboard killer
     
    Posts: 760
    Joined: Mon Sep 10, 2007 3:29 pm

Fri Feb 22, 2008 3:17 pm

  • I think we're getting closer, the lockteams code is ready, that can get enabled when everyone is ready so the match can be played without random people connecting and joining a team. Now anyone connecting after match is started will have to stay as spectator. Will work well for pickup games because you can play 1v1, 2v2, 3v3, etc on the same server (depending on maxplayers).
    nifrek
    Alien
     
    Posts: 208
    Joined: Fri Sep 22, 2006 6:43 am

Sun Feb 24, 2008 10:58 am

  • nifrek: that sounds very good. I am developing stuff atm, too. I am trying to get them into v2.4 by submitting patches, if they don't make it into v2.4 you can expect them as a mod that can be used for the ladder servers.

    Features I am working on and that are almost done:
    sv_ready_restart_after_countdown 0/1
    Usually when players readied up the map_reset() is called immediately and during the countdown the players movement is blocked, thus they cannot move around nor switch weapons nor fire. However, if this cvar is set, players can still run around while the countdown is counting and collect items, they can also switch weapons, but they can not shoot. Once the countdown is over the map and players are reset (I also corrected the odd behaviour of the current v2.4 svn that also spectating/observing players got spawned. This shouldn't happen. Observers should stay observers, etc.).

    sv_ready_restart_repeatable 0/1
    If set the players are allowed to restart a game as often as needed. This was trivial to realise, a simple check, as well as resetting the .ready field of all players once a countdown started.

    sv_ready_restart_nag 0/1
    If set all other players that are actually players (not observers) are notified to ready up by showing a text via centerprint (similar to the vote-nagging). Of course only the players who are not ready yet are getting this centerprint. Besides I am working on supported settings like sv_ready_restart_nag_duration and sv_ready_restart_nag_interval that are set to xx seconds, so that this center print isn't shown all the time but in intervalls of xy seconds for xx seconds.


    Another thing I thought about is this:
    g_maxplayers x (1, 2, 3,or higher, if 0 feature is disabled)
    When joining a game you're usually automatically an observer (free flight cam). If you try to join the game it will check how many players are already actively playing and whether the player is allowed to play (because the number of players already playing doesn't exceed g_maxplayers yet). If the number isn't exceeded yet, the player is allowed to play, otherwise he is not (he receives a message that tells the reason why he doesn't join, like "The maximum number of players is already reached").

    @nifrek: This feature would make sense, even in conjunction with your lockedteams feature. This way one could define an "upper limit" of players, while your lock teams could still be used once all the players that are playing are ready. Here's an example:

    You could setup a TDM server having 8 slots (maxplayers 8 ), but you only want to allow TDM 2v2 or 3v3 to be played on this server. This means that you want this server to always have at least 2 free observer-slots (and don't want to allow 4v4 TDMs). Thus you could set g_maxplaxers to 6. If the players connect to the server they can either build a 2v2 situation, and after the 4 players readied up no one else could join anymore because of your lockteams, or they could play a 3v3. However, they couldn't play a 4v4.
    IRC quote:
    [kojn] I've been coming a bit more recently
    [kojn] she took it the dirty way
    GreEn`mArine
    Forum addon
     
    Posts: 1509
    Joined: Tue Feb 28, 2006 9:33 pm
    Location: Germany

Sun Feb 24, 2008 6:01 pm

  • Okay, I completed coding all the features I just mentioned, I will now start implementing the last one I have planned:

    Description of new modification g_tourney (which can be used for dm, tdm, ctf, dom)

    Warmup-/Match-Mode:
    If g_tourney (boolean) is set the game is divided into a warmup- and a match-stage. After a new map is loaded the game is automatically in warmup-stage. Players are able to get the game from warmup- to match-stage by reading up, thus one should make sure sv_ready_restart is enambled.
    During warmup-stage the players automatically have all weapons (with appropriate ammo) and much health and
    armor (e.g. 250/150, maybe configurable as cvars). However, the map still has all the items like health, ammo and weapons which can be picked up.
    The cvar g_tourney_warmup_unlimited_time allows to configure whether the warmup time is unlimited (thus the time limit has to be extended every now and then) or whether the usual timelimit is used.
    Once all playing players marked themselves as "ready" the map is reset and the game switches from warmup- to match-stage.

    A small detail that I fixed in the sv_ready_restart_... packet already: Only the real players that readied up will be reset respawned). Observers or Spectators won't be put into the game as players.

    If cvar g_tourney_disable_spec_chat is set and the game is in match stage, text written by spectators or observers cannot be seen by active players. What is still unclear is what to do with team_say texts written by real players: either show them to the spectators, or not?

    A list of cvars again:
    -> g_tourney 0
    -> g_tourney_warmup_unlimited_time 0/1
    -> g_tourney_disable_spec_chat 0/1
    IRC quote:
    [kojn] I've been coming a bit more recently
    [kojn] she took it the dirty way
    GreEn`mArine
    Forum addon
     
    Posts: 1509
    Joined: Tue Feb 28, 2006 9:33 pm
    Location: Germany

Sun Feb 24, 2008 6:32 pm

  • That sounds great. Hehe it only took you 2 days to do that and it took me a month do be able to code the lockteams command and it's actually MrBougo who told me how to do it properly.

    I think your changes would work well with the lockteams command (altho it might not be that necessary with what you added), I can't wait to test this. :D
    nifrek
    Alien
     
    Posts: 208
    Joined: Fri Sep 22, 2006 6:43 am

Sun Feb 24, 2008 9:59 pm

Sun Feb 24, 2008 10:53 pm

  • I created a zip file that contains the progs.dat and progs.lno as well as a newcars.cfg that contains the new introduced cvars. You can test it out on your own and report bugs if you find any.

    It is really recommended to use a very new Nexuiz, e.g. the "nexuiz20080221a.zip" from div0's builds

    You can download this nexuiz version temporarily from here
    You can download my patches from here

    have fun.
    IRC quote:
    [kojn] I've been coming a bit more recently
    [kojn] she took it the dirty way
    GreEn`mArine
    Forum addon
     
    Posts: 1509
    Joined: Tue Feb 28, 2006 9:33 pm
    Location: Germany

Mon Feb 25, 2008 10:33 pm

  • I finished the sv_timeout feature!!

    Description:
    If set, players (not observers) are allowed to call a timeout, using the "calltimeout" command. "Timeout" means that the game is paused for a while, which is useful when a player runs into problems he needs to fix before he continues playing. Only one timeout can be active at a time. The length of the timeout is given in seconds in sv_timeout_length. The number of timeouts allowed per player is set in sv_timeout_number (2 by default). While the timeout is active the remaining time is shown to everyone (also spectators/observers), and at that moment when the timeout was called you will also see by whom and how many timeouts this player is still allowed to call. Only the player who initiated the timeout can manually cancel it, using the command "resumegame". No matter whether a timeout is running or not, the same (or another) player can always call another timeout which makes old running timeout invalid (useful when a player wants to extend the length of his timeout). If someone calls the "resumegame" command (e.g. useful if you want to resume it because you just needed a pause of 20 seconds of a timeout which has a length of 120 seconds) the timeout isn't ended immediately, but is shortened to the amount of seconds specified in sv_timeout_resumetime (3 by default).

    When someone calles a timeout while no other timeout was active before the game won't be immediately paused, but there is a lead time of xx seconds, which is configurable in sv_timeout_leadtime (4 seconds by default). While this leadtime is active the game still goes on, but the information about this upcoming timeout is already centerprinted to everyone. After the leadtime is over the game is paused (timeout is active now).
    Another important thing is that, during timeout, players can not turn around, their view stays fixed.

    There's another detail about the "resumegame" command: if you call it very quickly after your "calltimeout" command ( = if you call it before the game really gets paused) the countdown for the timeout will simply be aborted and the game will never be paused. This is useful if someone accidentally called a timeout.

    I compiled a new progs.dat for you guys, which includes all the features from the previous file and the sv_timeout feature!
    You can download it here
    IRC quote:
    [kojn] I've been coming a bit more recently
    [kojn] she took it the dirty way
    GreEn`mArine
    Forum addon
     
    Posts: 1509
    Joined: Tue Feb 28, 2006 9:33 pm
    Location: Germany

Tue Feb 26, 2008 1:57 pm

  • Wow, all your modifications sound really amazing, i hope this will get into Nexuiz soon. :o
    Diomedes
    Advanced member
     
    Posts: 54
    Joined: Wed Jan 03, 2007 2:06 pm
    Location: Germany

Tue Feb 26, 2008 5:18 pm

  • @Diomedes: hehe thanks. I don't think any of these will be included into the new Nexuiz version, tho, as it is about to be released very soon.

    A new release, version 3, is available, it contains a few bugfixes!
    Get it here
    IRC quote:
    [kojn] I've been coming a bit more recently
    [kojn] she took it the dirty way
    GreEn`mArine
    Forum addon
     
    Posts: 1509
    Joined: Tue Feb 28, 2006 9:33 pm
    Location: Germany

Wed Feb 27, 2008 4:44 pm

  • A new release, version 4, is available: it prevents calling votes during a timeout and vice versa!
    Get it here
    IRC quote:
    [kojn] I've been coming a bit more recently
    [kojn] she took it the dirty way
    GreEn`mArine
    Forum addon
     
    Posts: 1509
    Joined: Tue Feb 28, 2006 9:33 pm
    Location: Germany

Sat Mar 01, 2008 8:47 am

  • I've got this up and running on 2.4 w/ voteable 1v1, 2v2, and 3v3 ladder rules updated to most recent versions. It's working great and I'm impressed. I've replaced the rules references to maxplayers with g_maxplayers.

    Not to sidetrack your thread but it does relate I've also repaired some .mapinfos that were lacking tdm info preventing us from playing some of the ladder maps (aneurysm, stormkeep, and some others) and put them here http://mkzelda.net/maps/zzz_mapinfo-patch_v2.pk3

    The patch contains the following: maps/
    79drdm5_beta2, aggressor, anuerysm, final_rage, minimanq3, runningman, runningman_1on1remix, stormkeep, strength, soylent, warfare

    I added TDM to most, CTF to miniman, author and description info to a few.

    Without it, you cannot call a vote for the maps if you're in a gametype that the mapinfo doesnt support.
    User avatar
    mkzelda
    Member
     
    Posts: 34
    Joined: Fri Oct 26, 2007 5:15 pm

Sat Mar 01, 2008 9:18 am

  • I will soon release the mod (with updated source so that they match the original v2.4 gamesources. I will also add some features before, tho.

    Thanks for the hint with the missing mapconfigs. I will add a stripped version of your zip file and force 2on2 ladder server admins to use it (otherwise quite a lot of maps that are in the 2on2 mappool couldn't be played).
    IRC quote:
    [kojn] I've been coming a bit more recently
    [kojn] she took it the dirty way
    GreEn`mArine
    Forum addon
     
    Posts: 1509
    Joined: Tue Feb 28, 2006 9:33 pm
    Location: Germany

Sat Mar 01, 2008 9:02 pm

  • The mod is released, for the download visit the Nexuiz Ladders page !

    Please not that the usage of the versions posted here is deprecated!
    IRC quote:
    [kojn] I've been coming a bit more recently
    [kojn] she took it the dirty way
    GreEn`mArine
    Forum addon
     
    Posts: 1509
    Joined: Tue Feb 28, 2006 9:33 pm
    Location: Germany



Return to Nexuiz - Editing




Information
  • Who is online
  • Users browsing this forum: No registered users and 1 guest