Pre-Game Warmup: An overview

Introduction to Pre-Game Warmup:

Pre-Game Warmup is a game mode that can be played before the start of all matches on any server that has Pre-Game Warmup and decides to enable it with the appropriate cvar. Pre-Game Warmup is intended to be compatible with virtually any Tremulous game play used for primary matches. For a given Tremulous game play Warmup would simulate various isolated scenarios of combat, building, and the attacking of bases/forwards. There is no winning and there are no scores in Warmup. Feel free to post any suggestions, bug reports, and constructive criticism as a reply to this topic, or as a new linked topic. Suggestions on how to make Warmup better achieve one or more of its main purposes, are especially encouraged.

##The main purposes of Pre-Game Warmup:

  • Warmup allows for an opportunity to practice some combat between matches and to experiment with new layouts, forwards, and base moves without having to worry about screwing up a match (good for both new players, and experienced players wanting to fine tune their skills). As for most situations when a typical public server is populated at the time, Warmup would only occur for a few minutes, so the practice benefits would be cumulative over time, but should still help improve Tremulous’ learning curve. The importance of the role of Warmup for practice can be greater on training servers and on scrim/clan servers

  • Warmup allows people to get orientated with new maps they are unfamiliar with, without running into the problem of a loss in the first couple of minutes, and the negative impression of that map that comes with that loss. This gives new/underplayed maps a better chance, and subsequently has an effect on map selection.

  • When a server has very few players online, it gives the few players something to do while they wait for more players. In general, Tremulous game play tends to not play well with very few players. In this respect, Warmup will help address the issue that players prefer to join servers that currently has more players, rather than choosing to join a server based on its game play, administrative quality, server options, and geographical location. Warmup would thus give new/underpopulated servers a better chance.

  • Warmup allows for an opportunity of players to take a break during warmup if they desire to do so, but still gives other players who don’t want to take a break at the time (or who would take a shorter break) something to do without having to wait. This way when games start, there is a maximum number of players ready for participating from the beginning of a match when Warmup is over, as the first moments of a match can set its tone.

  • Warmup has also proved to be a very convenient development tool for initital testing of new game play implementations, without the need for DevMode to be turned on in most applications.

Current Features of Pre-Game Warmup:

  • All players on both the human team and the alien team have unlimited evolution points and credits respectively.

  • All weapons, all alien classes, and all buildables from all stages are available during Warmup.

  • Any buildable that is killed will respawn 5 seconds later. Buildables can only be removed if a builder on the same team as a given buildable, deconstructs that buildable.

  • Friendly fire is turned off during Warmup.

  • Enemy creep/power blocks building during warmup.

  • A player can change his/her status to “READY” for the server’s consideration to end Warmup, by typing /ready in the console, or by pressing F8 if /ready is already bound to that key. A player can also choose to cancel their ready status by executing the /ready command again, changing that player’s status back to “NOT READY”.

  • The layouts are reset if all of the spawns on one team are killed, and there aren’t any spawned players on that same team.

  • There are three ways the game can begin (there are cvars that can adjust the values of all three of these conditions):

    1. If at least 50% of the players on each team are ready, then the game begins instantly.
    2. If there is at least one player on both teams, and at least 66% of the players on at least one of the teams are ready, the game will begin in 60 seconds maximum.
    3. If there are at least 4 players total on the alien team and or on the human team, the game will begin in 5 minutes.

Planned Features/Enhancements/Fixes for Pre-Game Warmup:

  • Have the creep/power from your team overmind/reactor protect you from enemy creep/power blocking of building during Warmup. This way you can’t be blocked from building in your own base.

  • Clearly indicate in the HUD that players ready themselves by pressing F8 or by typing /ready.

  • Add some kind of graphical indicator in the HUD to clearly show how close warmup is to ending. This could be a progress bar. It would show how close warmup is to ending by factoring in a combination of the three end condition for warmup, two of which make use of “timeouts”.

  • Use the infinity symbol to show credits / evos in warmup.

  • Give defensive buildables a longer time to respawn (perhaps 30 seconds) than the other buildables. This allows for realistic simulations of rushes on forwards and main bases. However, all unspawned defensive buildables should respawn at the same time to allow bases and forwards to best “reset” after a rush in preparation for another rush

  • The ready status and the countdowns initiated that ends Warmup should not reset when warmup resets as a result of a “win condition” (i.e. all spawns & players on one of the teams are killed).

  • Resume warmup if both the alien team and the human team become empty. This way servers will always be in warmup when they become empty, so as to help encourage players to join.

  • Create a new command for dev mode that forces the game to renter warmup mode when the game is no longer in warmup.

  • Make the volume of the bounding boxes of unspawned buildables instantly decon other buildings that occupy it. This will address some of the potential issues of a longer respawn time for the defensive buildables.

  • Dont allow reuse of BP from buildables that will respawn in warmup.

  • During warmup, set the sudden death time to 0 (i.e. no time), and disable sudden death callvotes.

  • Make the last spawn on a team industructable while there are unspawned defensive buildings on the same team.

  • Implement an expiration time for forwards to address the problem of a team dominating the map.

  • Implement blueprints to indicate to builders where and which type of killed unspawned buildable will respawn during warmup.

  • Ideally, a map restart should not take place during warmup if a “win” situation is encountered. Instead buildables should be reset (all buildables removed from map and layout reloaded) and all players should be despawned.

  • Show the ready state in the scoreboard.

  • Allow unspawned buildables to be deconned in warmup.

  • When Warmup ends, during the countdown to the match both teams appear to be stage 3, and then becomes stage 1 when the countdown finishes. This is a bug to be fixed.