Getting Started
To play a game, in a modern browser or newish mobile device, go to https://virtualtabletop.io. This will create a new "room" with a random 4-digit alphanumeric code as the URL. You can also work in a room with a custom name that you choose yourself. To do this, just type in the first part of the URL (https://virtualtabletop.io/). After that, just enter whatever text you want to use as the URL for your room. For example, https://virtualtabletop.io/DemoLibrary. URL names are case sensitive. If the room already exists, you will be taken to that existing room. If you have an existing room, you can invite others to join the room simply by giving them the complete URL, e.g. https://virtualtabletop.io/DemoLibrary.
The room has a menu bar with blue and white buttons (text and/or icons depending on the screen size) as well as an area for playing games.
Here is a link to a video that shows how to do some of the basics: https://www.youtube.com/watch?v=hcmuitzpEo4
Game Shelf
The Game Shelf is the first in a series of buttons on the blue and white menu sidebar.
Basics
When you first enter a room, you will see the Game Shelf for that room. The Game Shelf area will be blank but all the games available in the Public Library will be shown.
To play a game, click on the icon for the game. A new sidebar will open with a blue and white play button for each variant in that game. Click on the play button and the game begins. You and all other players are moved out of the Game Shelf and into the Active Game mode. Any players that join the room once an active game is in progress will see that active game. If an active game is not in progress, other players joining the room will see the Game Shelf. Players can independently pull up and view the Game Shelf, even while an Active Game is in progress, without changing the view for the other players in that room. Or other players can use the Game Shelf view to switch games.
Switching Games
To choose another game to play, click on the Game Shelf. Choose another game and press the play button. You will be prompted to confirm your choice. If you "Load New Game," all unsaved changes (see below for saving instructions) will be lost. Clicking "Return to Active Game" will take you back to the Active Game without making any changes. Clicking "X" to close will take you back to the Game Shelf without making any changes.
Adding Games
There are multiple ways to add a game to your room.
- You can add a game to your room's Game Shelf by clicking on the white star icon in the Public Library list. This will make the game easier to find in your room as it will be in your personal, curated list of games you have starred or manually added. The starred game will be moved from the Public Library to the Game Shelf. You can remove the game from your shelf and return it to the library by clicking on the yellow star icon. This will not modify or remove any saved games.
- You can also add a game by pressing the "Add Game" button in the upper-right, which opens a pop-up with 3 choices.
- You can save the current active game state as a new game.
- You can upload a .vtt or .pcio game file directly. For .pcio files, some of its newest features may not be incorporated into virtualtabletop.io yet. Compatibility is something we are always working on. Please post a message in Discord if you notice a compatibility problem.
- You can either:
- Enter a link (given to you by someone else) of one of their games, or
- Enput a link from the Steam Tabletop Simulator Workshop available at: https://steamcommunity.com/app/286160/workshop/. This will import all of the widgets/assets from the linked game, but will not create a playable game. You can use this as a starting point with a room that already has many of the widgets you need.
- Finally, you can add a game by dragging and dropping a .vtt or .vtts file onto the Game Shelf. A .vtt file will appear in the Game Shelf and a .vtts file will be placed in the in-progress saved games area. If you want to convert a .vtts file to a regular game file, open the file with a text editor, find the "_meta" widget and delete the entries: "saveState", "saveVariant", "savePlayers", and "saveDate". Then rename the file extension to .vtt and add it to a room as described above.
To share a link with someone, see the instructions in Sharing-Games.
Saving Active Game
At the top of the Game Shelf is a "Save Active Game" button. A pop-up menu asks you to confirm your decision and gives you an option to include game notes. The field defaults to include the names of the current active players. The current date is automatically added. Once you save your first game, a new category of items, In-Progress Games, is added to your game shelf. Once saved, you can return to the game just like any game in the library on on your shelf. You can modify the game by clicking on the Update Loaded Game button. There is no confirmation for that action; the game is updated immediately. To remove a saved game, click on it and in the side bar, select the hamburger (3 lines) icon. Press Delete and then confirm your decision on the pop-up.
Game Metadata
After clicking on a game, information about it is displayed in a sidebar. The top section shows the name of the game, the library image, star status (yellow indicating that it is in your Game Shelf), how long it takes to play, the "mode" of play (such as vs, coop, or solo), and a general description of the game in a few sentences. The number below the star indicates how many times this game has been starred across all VTT rooms.
The next section contains information about the variants. Each variant can have its own image and description. Also displayed are the languages for that variant as well as the number of players supported. If no language information is displayed, then it is a "universal" game in the sense that it should mostly be playable by anyone, even those who cannot read or understand English.
The third section may include a different image (of the game that the Public Library game is similar to). It will also contain the name of the "similar to" game, its year of publication, and when available, a link to the game's page on the boardgamegeek.com website. Other information in that section may include awards the "similar to" games has won and a link to rules for how to play the game.
The last section may include rules for how to play the game and instructions on how to actually make the game work on VTT. There is also an attribution section listing who made the game and the source files for any artwork or other copyright protected source material.
Filters
At the top of the Game Shelf are various filters to limit the display to certain items. Typing into the search bar will filter results based on the searched terms. Drop down menus can filter on things such as the type of VTT file, number of players, time it takes to play, languages, and game mode. The results displayed can be sorted in a number of ways using the drop-down with the gray background. Using that, you can sort by name, year, stars, date updated, etc. By default, the type of file (dice icon) is set to Games. Other types include Tutorials and Assets. Tutorials are for game designers who want to understand how to use VTT capabilities. Assets are also for game designers and include a few graphics resources. Also, by default the sort order is "by Name" of the game as it appears in VTT. The language filter includes the option to also search for "None." So for example, a filter for "de-DE" will show games that are in German whereas a filter for "de-DE + None" will show games in German and universal games with no language requirement.
Active Game
Active Game is the second button on the menu sidebar. When playing a game, VTT highlights the "Active Game" (and/or play arrow) button. This is the mode used to play games. The game room is always 1600 x 1000 (or some ratio of that). The blue and white sidebar adjusts depending on the size of the screen. You can leave the active game by pressing on almost any button on the sidebar or even closing the browser. When you return to the room, the game will be in the same state it was before (unless another player changed it).
The Player list
The third button on the menu sidebar displays the Player List. This list shows all unique player IDs of everyone that has been in the room. Your personal player name is at the top in the area labeled "Me." Currently active, in the room, players are in bold, bright text in the area labeled "Other Players." The non-bold player names have been in the room, but are not currently in it. A player can customize their name by clicking on the text by their default assigned name ("Guest" followed by 3 random numbers). Players can also change their color by clicking on the color icon by their name and then choosing a color in the pop-up screen that follows. This color is displayed to everyone else in the room when the user moves the mouse or clicks/touches the screen.
Some games display player names in the position they have chosen to "sit" in by clicking on a seat widget or other object in the game room. Having customized player names will help identify the players to one another. In other games, players type their name in to a designated space on the screen. In that case, the player name from this player list screen will not be used.
About
The fourth button provides some basic information about virtualtabletop.io.
Edit mode
The last large button, opens Edit mode. This is described further in Editing-JSON.
Other Buttons
At the other end of the sidebar are a group of smaller buttons. The Sound button controls the volume of any sounds generated by a VTT game. Currently, few public library games use sound. The Lights button is used to enter or leave dark mode. Clicking on the zoom button cycles through 1x, 1.5x, and 2x zoom scales that are player-specific. And the Fullscreen button does exactly what it implies.
In addition to the zoom button, players can individually zoom in and out using a mouse scroll wheel, mobile pinch, or trackpad. VTT also supports panning in game mode while zoomed in by clicking and dragging in an area that is not a movable widget.
You can use the Escape key to exit the screens or pop-ups created by pressing on most of the menu buttons. Pressing the Escape key is generally the same as pressing the Active Game button.
Managing games and variants
You cannot remove Public Library games. You control which games appear on your Game Shelf by the yellow star icon. And you control which games are in your In-Progress Games list by using the save and delete buttons described above.
Editing Metadata
You cannot edit the metadata of a public library game that is in your Game Shelf (the one with a yellow star). If you want to edit a public library game, make a new copy for your shelf (see Adding Games, above). For those games and other non-public library games in your Game Shelf, you have some edit options. Click on the hamburger (3-lines) icon and select Edit. You can change any metadata about the game. Press the green Save button to save your changes or the red Discard button (and the pop-up confirmation) to discard any changes.
Working with Variants
You can also edit variant information (for games that are not in the public library) using the blue and white Edit button next to each variant. Use the button to change the notes, language, or player count. But you also use the button to update the variant from the current room state (very useful when developing games) or to move the variant up or down in the variant list.
Finally, that is also where you can add a new variant. Pressing New Variant will display a pop-up with three options. You can save the current room state. You can upload a .vtt or .pcio file. Or you can select a game and variant from the public library to import in as a new variant.
Saving an offline copy
Click the hamburger (3-lines) icon. Then click on the Download button. You will be prompted for the file name. The file will be a .vtt file that will include all variants. Note, this button does not save the current state of the room. If you want to do that, add or update a variant with the current room state before downloading.
You should keep offline files of everything that is important to you. Anybody can come into your room and change or delete things.
Troubleshooting
Have you tried turning it off and on? Seriously, sometimes just refreshing the browser will fix a few simple problems. If that doesn't work, you can ask for assistance in the #help channel of our Discord server. If you have not yet joined the server, see the link in Guidelines for Use and Privacy Policy or by using the About button in any VTT room.
To report a bug or problem with a public library game, let us know in the #public-library channel on Discord.
Privacy, Security, and Miscellaneous
All rooms in VTT are public. Anyone can enter any room and do anything in that room that you can do. The fact that the room identifier may be known only to you will provide some protection against unwanted intrusion. However, this warning applies equally to people you have invited into your room. It is extremely easy to alter a room, or to cheat, in VTT, and there is no way to prevent it programmatically.
While everything you need to run your own games or one of the public library games (see Games) is provided by the virtualtabletop.io website, you should know that the code is open source and available for more advanced users to download, tweak, and run their own game servers if they want. More information about that is available in Internals.
We hope you enjoy your time playing games on the website. If you have any problems, contact us on Discord.
Quick Links
Home
1. Basics
2. Developer Documentation
- Widgets
- Functions, automation, and routines
- Dynamic Expressions and using variables
- Math, string, array, color, JSON functions
- Cards and Decks
- Editing JSON
- Using CSS
- Fonts and Symbols
3. Available Resources
- Publicly available games
- Tutorials
- Demonstration Features
- Useful Code Snippets
- Useful Global CSS Snippets
4. Usage Guidelines and Copyrights
5. Other Technical Information
- Download Repository
- Using GitHub and creating Pull Requests
- Internals Overview
- Testing with TestCafé
- URL-addressing rooms
- Using Docker containers
- Config.json file