Table of Contents
Games
To be included in the library, your game MUST comply with these guidelines:
- You have permission for everything the game uses. a. You either created the layout or assets yourself or have explicit permission to use them and share that permission with the library managers. b. The best way is for everything to be licensed under a Creative Commons license or to be in the public domain. For a list of resources that can get you started, see Resources below. c. Make sure every asset, the library preview image and the layout itself (the JSON) is covered in the field attribution. For an example of how attribution can look in a simple case, look at the public library game Bulls. For a more complicated example, look at Agra.
- Make sure that the metadata is as complete as possible. Be sure to provide a 2-3 sentence summary of the game in the empty game description field right under the game name. Update the time to play (from boardgamegeek.com) and the mode (vs, solo, coop, etc.). The skill field is optional. Upload a picture of your game (1:1 ratio, small file size). The similar to and year field come from boardgamegeek.com and the game details link is the link to the page on boardgamegeek.com. Designer, awards and rules overview fields are optional. The how to play the game field is also optional, but you should explain how the VTT game mechanics work in the how to use this implementation field.
- If you built a game that's similar to a published game, make sure not to use its real name in the game - only in the similar to name in the meta data.
- Upload the VTT file to the #public-library channel in Discord when ready for review and publication. If you have a room where the file is loaded, provide that link also. Or you can start a pull request in GitHub with your game if you know how to do that.
- Avoid external link references. If you use an image, a font, a sound, etc., it must be part of the game room and not a link to an external site.
To be included in the library, your game SHOULD follow these guidelines:
- Use simple control mechanisms. The rules may be complex, but the room mechanics should be easily understood by everyone.
- Design considering playability for people who do not speak your language. Many games are language specific, but many are not. If possible, include graphical elements rather than text so the room mechanics can be easily interpreted by everyone.
- Be a game you know how to play and test the game. Even simple games can benefit from techniques available in on online environment to make automated tasks easier. And you will have to work around the limitations of the platform in some cases. That is easier if you build a game you already know how to play.
- If using a room with cards, minimize the number of pictures on cards by using layers. For example, if one of the suits of a custom deck of cards has a house on it, do not create an SVG or other image with House 1, House 2, and so on. Create a generic house image. Add the 1, 2, etc. as text by using layers in the deck.
When possible, consider designing UN games by using little to no text:
Please review the Guidelines for UN (Universal) Games section below.
Tutorials
For the tutorials, let us know what tutorial you have written or are working on in the #tutorials channel in Discord.
Make sure you have permission for everything you use. Most of the time it's not necessary to use any external assets in a tutorial.
Make sure that the global structure of all tutorials feels coherent if someone adds all of them to an empty room.
At the same time make sure that each variant of each tutorial can stand on its own so it can easily be linked to from the wiki as examples.
Assets
If you have created, or have permission to use, images, designs, cards, dice, etc. and you want to share those assets with everyone, provide the .vtt file in the #assets channel in Discord.
Guidelines for UN (Universal) Games
Background
UN games are games that have no text (or almost no text) in any language. Many games can be developed using these guidelines and it is our hope that developers will consider using symbols, colors, and images to guide users without the need for text when the game allows. Specifically, we have designed our own custom icons for most common game mechanics below and encourage game creators to use those.
Importance
Even though our community primarily uses English, we want the games in the public library to be as accessible as possible. Many people, in particular, children may not be able to understand games in English or any other language. Making UN games when possible allows for the maximum number of people to have access to the games and eliminates the need to make variants for different languages.
Key Principles
- Use cards and other game pieces with little to no text
- Use the VirtualTabletop.io custom icons instead of text
- Color-code players when possible
- Keep in mind limitations of those who are color-blind and consider also providing numbers or simple shapes (such as square, circle, diamond, cross, heart, etc.) to differentiate players. For additional information about making games that are color-blind friendly, see https://jfly.uni-koeln.de/color/ and https://www.color-blindness.com/coblis-color-blindness-simulator/.
- Keep the game mechanics as simple as possible so that explanatory notes are not needed
Acceptable Uses of English
- Game names and meta-data, although much of this could be in the original language
- The pop-up confirmation when pressing a Recall & Shuffle button as the context can be understood even if in English only
- Small details in game pieces or boards that are not essential to the game being played (but avoid if possible as the players may not know that the text is trivial)
Universal Game Symbols Characters
VTT has created custom glyphs that can be used instead of text to represent many of the common activities. The glyphs can be used as text or as images that accept svgReplaces to alter the color. Examples of all the symbols are at https://virtualtabletop.io/Symbols. For more information about how to use them, see Fonts.
Resources
The following list of resources is provided to get you started with websites that may provide a license that is compatible with use on virtualtabletop.io. This list is collected from recommendations from Discord users in the #links channel and from existing public library games which have previously used graphics, icons, images, or word lists from these various websites. However, before submitting a game to the public library, you must verify that the license for each item in your game permits its use on virtualtabletop.io.
Graphics
- https://ambientcg.com
- https://www.clipartkey.com
- https://clker.com
- https://commons.wikimedia.org/
- https://craftpix.net/freebies/
- https://flaticon.com (Flaticon license)
- https://flickr.com
- https://www.fontspace.com
- https://freeimages.com (FreeImages.com License)
- https://freesvg.org
- https://freesvgclipart.com
- https://game-icons.net
- https://gitlab.gnome.org/GNOME/aisleriot/-/tree/master/cards
- https://heropatterns.com/
- https://www.hiclipart.com
- https://icons8.com/
- https://www.kenney.nl
- https://kenney.nl/assets/board-game-icons
- http://maps.stamen.com/
- https://www.me.uk/cards/
- https://metromapmaker.com/
- https://www.nicepng.com/
- https://opengameart.org/
- https://pattern.monster/
- https://www.pexels.com (Pexels license)
- https://www.piqsels.com
- https://pixabay.com (Pixabay License)
- https://pixy.org
- https://publicdomainpictures.net
- https://publicdomainvectors.org
- https://purepng.com
- https://pxhere.com
- https://rawpixel.com
- https://www.skeletoncodemachine.com/p/public-domain-art-resources
- https://speakthesky.itch.io/typeface-dicier
- https://www.svgrepo.com/
- https://tennessine.co.uk/metro/
- https://thenounproject.org
- https://totalnonsense.com/2019/06/25/open-source-vector-playing-cards/
- https://unsplash.com (Unsplash license)
- https://www.vecteezy.com
Word Lists
- http://frequencylists.blogspot.com
- https://jimpix.co.uk/words/word-generator.asp
- https://www.randomlists.com/nouns
- https://randomwordgenerator.com/noun.php
Fonts
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
- Available icons, card backs, button styles, and other images
- Demonstration Features
- Useful Code 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