[Gamemode] Uno V3.0

UNO V3.0

The most recent code of this gamemode can be found here: https://workshop.elohell.gg/u_bJMF-p4.

This gamemode is more or less complete. I don’t plan on adding any more major features, because unfortunately I seem to be reaching the limits of what the workshop can handle.

(most important changes since V2.0):

Gameplay

This gamemode is a recreation of Uno using the overwatch workshop. It can be played with up to 10 players, in over 80 locations on 25 maps. (playing with a larger amount of players is not recommended, because this gamemode uses a lot of text elements and it can cause players to no longer see their cards)

The cards are displayed on the left side of the HUD. The card that is currently selected is displayed above the scoreboard. The current player is highlighted with a white (or red) beam. Due to a lack of better strings in the workshop editor, change color cards are represented by “pick”, skip cards by “>>” and reverse cards by “”. When a +4/+2 card has been played, the number in brackets is the amount of cards to be taken by the next player. +4 and +2 can be stacked to pass the turn to the next player and make them draw extra cards.

Players can not join mid-match, this means new players must wait until the next round to play. They are automatically placed in a cinematic camera view of the arena.

The game draws cards from a predetermined standard uno deck. If the deck has been depleted, players that draw cards do not gain any cards. Cards are immediately added back to the deck after they have been played and are no longer on the table. Unfortunately, because it is not possible to access player variables of players that have left, any cards held by leaving players are lost until the end of the match.

Playing in teams is also possible, to do this switch the gamemode from deathmatch to skirmish (it is also possible to enable both modes at once). When playing in skirmish, as soon as one player has played all their cards the team wins. When switching gamemodes, the amount of players and enables maps must be set again. The currently supported maps for skirmish are Busan, Havana, Junkertown, Numbani, Rialto, Route 66 and Watchpoint Gibraltar. It is possible to add more locations, see “Optional rules & settings” and “Adding custom locations”. For deathmatch, all maps except Castillo, Chateau Guillard and Necropolis are supported.

Controls

  • [primary fire]/[secondary fire] to cylce through your cards. (This changes the currently selected card)
  • [jump] to play the currently selected card.
  • [crouch] to take a card and pass your turn to the next player. If a +2 or +4 (or several) has been played in the previous turn, multiple cards are drawn.
  • [ability 2] (Tracer recall, Soldier biotic field…) to cycle through the color of white cards. (+4 and pick cards) White cards must be assigned a color BEFORE being played. The color of white cards is reset once they are added back to the deck. [ability 2] is also used to cycle through players when 7/0 rules are enabled (see settings)
  • [ultimate ability] to toggle between normal view and cinematic camera. The cinematic camera is always enabled for spectating players.
  • [ability 1] (Tracer blink, Soldier sprint…) to toggle card numbers displayed above players.

Optional rules & settings

This gamemode has several optional rules and settings that can be enabled or disabled. To do this:

  1. Open the workshop editor
  2. Open a rule with "SETTINGS: " in its name
  3. Open the action "Modify Global Variable(H, Append To Array, FALSE/TRUE)
  4. Change the value from FALSE to TRUE or from TRUE to FALSE to respectively enable/disable the option
  5. Close the workshop editor. The new settings will take effect next match

The optional settings are as follows:

  • Allow +2/+4 stack mixing: allows +4 cards to be stacked on +2 cards and +2 cards on +4 cards of the same color. (enabled by default)
  • Allow jump-ins: Allows players that have a card that matches both the symbol and color of the card on the table to play that card. The order of play continues from that player. (enabled by default)
  • Keep taking cards until card is played or deck empty: with this setting enabled, players can not pass their turn to the next player by drawing a card. If they can not play a card, they must keep drawing cards until they play a valid card, or until the deck runs out of cards.
  • Allow horizontal movement: Allows players to move in a small area around their ‘spawn point’. Players that move outside this area are teleported back. (enabled by default) There are no vertical limitations. Jumping and crouching is always enabled, because disabling crouching causes problems for people with toggle-crouch enabled.
  • Enable 7/0 rules: Enables 7/0 uno rules. Players that play a 7-card swap hands with a player they have previously selected using [ability 2]. When a 0-card is played each hand of cards is moved in the direction of play.
  • Map debug: Enables the map debugger. (see ‘adding custom locations’) This option completely disables normal gameplay.

Adding custom locations

Because of the rewrite of the map location code, and the addition of the map debugger, it is very easy to add custom locations to this gamemode. Most open areas on arcade maps are already in this gamemode, but I decided to leave in the tools I used to add new maps in the game in case someone finds a good spot anyways. Most skirmish maps do not have locations yet, but will be added sometime in the near future. The map debugger uses the following controls:

  • [primary fire] to teleport forward (useful to access normally inaccessible areas)
  • [ability 2] to place a dummy arena at the location the player is looking at
  • [secondary fire] to place multiple green orbs, then press [ultimate] to place a dummy arena at the average position of these orbs. (useful for precise placement and placing arena’s in somewhat obstructed areas)
  • [interact] to place the player at the center of the currently placed arena

To add a position, first enable the map debugger and load a map. Place a dummy arena in a location you want to add, the HUD text at the scoreboard will then display the position of that arena. Open the workshop editor and scroll down until you find the ‘Setup Map’ rule for the map you want to add a location. Copy one of the actions ‘Modify Global Variable(W…’ (If the rule for your map does not have such an action, you can copy it from another map) and replace the vector with your own position. If your map previously had no locations, make sure to enable it. Note the distinction between deathmatch and skirmish maps in the workshop editor. Because deathmatch maps and skirmish maps use different coordinates as their origin, the same location on a deathmatch map and skirmish map will have different coordinates.

Hints/Tips/Notes with adding locations:

  • You can remove the other locations on a map by deleting the actions in their rule. Maps that are enabled in the custom game settings must have at least 1 location.
  • If you want to remove a specific location but not all on a map, try finding the approximate location in the map debugger and then removing the location closest to that in the worshop rule for that map
  • The easiest way to set the vector in the action is using the record button for vectors, this sets the vector to the player’s eye height. First, teleport to the center of the arena using [interact], and note down the y-component of the location. Open the workshop editor and use the record button to set the vector to the players eye height. Then change the y-component to that of the arena you want to place.
  • The position of the arena must be slightly above the ground, to prevent the ring explosions that spawn when cards are placed from clipping into the ground. By default a height of 0.25 is added to the location, you can see how high this is by looking at the orb in the middle of the dummy arena, whose center is slightly lifted off the ground. If the terrain is somewhat rough, it is recommended to further increase the y-component of the arena.
  • The locations an arena must be mostly unobstructed, to allow players to spawn. The player positions are spawned randomly, so make sure it is not possible for a player circle to spawn with its centerpoint in a wall.
  • The terrain the arena is placed on should not be too steep, as players might be teleported under the map if this is the case. (I haven’t encountered this myself yet, if you are not sure if your arena is in a good location try testing it a couple of times until you spawn on the highest point of the slope)
  • Arenas can have an obstruction in their center, but this might make it hard for players to see other players in front of them.

Known issues

Most known bugs have been fixed as of version 3.0.0. If you find any more issues not listed here let me know. The current list of know issues is as follows:

  • "The server closed due to an unexpected error*: I can not fix this issue right now, because I don’t have enough information to figure out what causes it, let alone how to fix it. This might be an issue at blizzard’s end, or high server load when a lot of actions are executed. Either way, this issue will probably stay unfixed until blizzard can give more information when such a crash happens
5 Likes

Amazing work! The stage designer is very impressive and all the optional features look great.

I’ve used one of your previous versions to snare some friends who have since quit playing Overwatch back to the game. Since you’re more or less done with uno do you have any plans for creating other game-modes?

Is there any way that you could release a template for this mode’s interface? It would be very helpful to me and to other to be developers who wish to make tabletop-esque games.

uno for ow2 when? (love love love this mode)

1 Like