Reverse MvM Beginners Guide: Difference between revisions

From SigMod
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
Reverse MvM refers to a combination of custom keyvalues that flips the teams and win conditions.  Instead of defending against hordes of robots, players are spawned on the blue team and must fight their way to the hatch and deliver the bomb.  Designing missions around this concept can be very complex and require heavy usage of [https://sigwiki.potatomvm.tf/index.php/Design_PointTemplate_with_hammer_map_editor Point Templates].  It is highly recommended that you have a basic understanding of hammer and map logic beforehand.
Reverse MvM refers to a combination of custom keyvalues that flips the teams and win conditions.  Instead of defending against hordes of robots, players are spawned on the blue team and must fight their way to the hatch and deliver the bomb.  Designing missions around this concept can be very complex and require heavy usage of [https://sigwiki.potatomvm.tf/index.php/Design_PointTemplate_with_hammer_map_editor Point Templates].  It is highly recommended that you have a basic understanding of hammer and map logic beforehand.


If you prefer a hands-on approach, Try picking apart [https://www.dropbox.com/s/iu84axj1r0vhg0y/mvm rottenburg reverse core logic.pop?dl=1rial mission this basic tutorial mission] for rottenburg, which showcases various useful tips and tricks.
If you prefer a hands-on approach, Try picking apart [https://www.dropbox.com/s/iu84axj1r0vhg0y/mvm rottenburg reverse core logic.pop?dl=1rial mission this basic tutorial mission] for rottenburg, which showcases various useful tips and tricks.


==Getting Started==
==Designing Your Mission: Basic MvM Maps==
There are a series of keyvalues that are specifically designed for Reverse MvM and must be present in WaveSchedule.
Because many maps were not designed for this mode, it is recommended that you go through your map of choice and remove unwanted map entities, cover up holes in bot spawn with a [https://developer.valvesoftware.com/wiki/Prop_dynamic prop_dynamic], and generally prepare your map beforehand.  For modifying existing entities, a [https://developer.valvesoftware.com/wiki/Logic_auto logic_auto] is recommended as it will instantly trigger when a new wave loads. 
 
*'''ReverseWinConditions 1/0''' - flips win condition, players must deliver the bomb to win
*'''AllowJoinTeamBlue 1/0'''
*'''HumansMustJoinTeam''' '''Blue'''
*'''SetCreditTeam 3''' - Allows money to be collected by blue team
*'''RespawnWaveTimeBlue''' - A replacement for the standard RespawnWaveTime keyvalue
 
There is also a selection of optional keyvalues specifically designed for Reverse MvM


*'''FixedRespawnWaveTimeBlue 1/0''' - A replacement for the standard FixedRespawnWaveTime keyvalue
*'''AllowJoinTeamBlueMax 1-10''' - maximum number of players allowed on the blue team
*'''BluHumanInfiniteAmmo 1/0''' - Enables/Disables infinite ammo for blue team, enabled by default.
*'''BluHumanFlagCapture 1/0''' - Enables/Disables blue players being able to deploy the bomb.  0 means only bots can deliver the bomb
*'''BluHumanFlagPickup 1/0''' - Enables/Disables blue players picking up the bomb.  0 means only bots can pick it up
*'''FlagCarrierMovementPenalty 1-0''' - How much picking up the bomb slows players.  0.5 or 50% by default.
*'''BluPlayersAreRobots 1/0''' - Enables robot playermodels.
*'''BluHumanTeleportOnSpawn 1/0''' - Makes teleporters behave like bot teleporters, both Entrances and Exits act as new spawn points.
*'''BluHumanBotTeleporter 1/0''' - Makes teleporters behave like bot teleporters, both Entrances and Exits act as new spawn points.
*'''BotTeleportUberDuration''' - Uber duration in seconds after teleporting through a bot-style teleporter.


These keyvalues are not specific to Reverse MvM, but can also be very useful
For example, if your mission gives the blue team infinite ammo, it wouldn't hurt to remove redundant ammo packs from the map by adding this to your logic_auto:


*'''SniperAllowHeadshots 1/0''' - Enables headshots for the ambassador and sniper rifles for blue team.  By default, blue team cannot headshot.
<code>"OnMapSpawn" "item_ammopack*,Kill,,0,-1"</code>
*'''RobotLimit''' - Can be used to increase the max amount of bots allowed to spawn from 22 up to 26.
*'''SendBotsToSpectatorImmediately 1/0''' - Instantly moves bots to the spectator team on death to avoid clogging the populator when nearing the bot limit.  Causes active projectiles to instantly disappear when the offending bot dies.
*'''SentryBusterFriendlyFire 1/0''' - Enables/Disables buster friendly fire, enabled by default.
 
==Designing Your Mission: Basic MvM Maps==
While not impossible to make a more "sandbox" style mission where players can explore the entire map at once, linear maps with long, winding bomb paths that can be sectioned off tend flow the best and are the easiest maps to balance your mission around.  Rottenburg and Mannworks are good examples of maps well suited for Reverse MvM that do not feature gates.  Gate maps such as Mannhattan work very well, however these can very quickly get complex with point templates and will be discussed later.

Revision as of 15:41, 14 July 2021

Reverse MvM refers to a combination of custom keyvalues that flips the teams and win conditions. Instead of defending against hordes of robots, players are spawned on the blue team and must fight their way to the hatch and deliver the bomb. Designing missions around this concept can be very complex and require heavy usage of Point Templates. It is highly recommended that you have a basic understanding of hammer and map logic beforehand.

If you prefer a hands-on approach, Try picking apart this basic tutorial mission for rottenburg, which showcases various useful tips and tricks.

Designing Your Mission: Basic MvM Maps

Because many maps were not designed for this mode, it is recommended that you go through your map of choice and remove unwanted map entities, cover up holes in bot spawn with a prop_dynamic, and generally prepare your map beforehand. For modifying existing entities, a logic_auto is recommended as it will instantly trigger when a new wave loads.


For example, if your mission gives the blue team infinite ammo, it wouldn't hurt to remove redundant ammo packs from the map by adding this to your logic_auto:

"OnMapSpawn" "item_ammopack*,Kill,,0,-1"