Tabletop Playground - Modularity Games


Welcome to our latest development update for Tabletop Playground, spotlighting the latest features we've added to the game. Our last few announcements have been focused on our publishing partnership with Modularity Games and our monthly community competitions, so we wanted to bring the focus back to all the work we've been doing on the game!

Check out all the big features we've added over the last couple of months below and if there are any specific features you'd like to see in Tabletop Playground, join our growing Discord community and let us know!

Wishlist Tabletop Playground


https://store.steampowered.com/app/838410/Tabletop_Playground/



The instant editor is one of the latest features we've added to Tabletop Playground.

Instant editor - You can now instantly switch to editing an object template while creating a game state for your package: right click on an object and choose "Edit template". The editor will be launched immediately, without leaving the table!

Updated editor camera controls - The editor camera has been updated to feel more like the in-game camera. It now also supports switching to first person mode and moving around using the keyboard.

Editor grid - You can now activate a grid while editing objects. The grid shows where Z is 0 and has a color mark where X and Y are also 0. It automatically scales with distance and shows either millimetre, centimetre, decimetre, or meter.

Duplicate buttons in editor - In all "- + < >" button rows in the editor (models, cards, etc.), a new button has been added that duplicates the currently selected element. The design of the buttons has also been improved.

Stack selected cards - You can now quickly create stacks from your selected cards using the context menu or a new keybind (Default Ctrl + G).



Object grouping and formations is a feature we've been excited about adding since starting development on the game!

Object grouping and formations - Objects can now be grouped (and un-grouped) from the context menu. Grouped objects always get picked up together. You can use this feature to create formations that you want to move as a whole. Object groups are replicated for all players and saved in game states.

Multi-state object scripting - Multi-state objects now have a custom class in the API, allowing you to set or retrieve their state and react to state changes.

New session option: Always Snap - When active, objects that are released (and not thrown) always "snap" with a quick animation, instead of falling physically. When Locked Physics is also active, dropped objects are immediately locked.

New session option: Lift over objects - When active, held objects are lifted above other objects so they don't collide. This option is now on by default, which means that the default behaviour is now different. Turn it off if you want held objects to collide with other physical objects on the table.



Dropping stacks of cards into holders in action.

Allow dropping stacks of cards on card holders - You can now not only drop single cards, but also stacks of cards on card holders (as long as there's still space on the holder for the whole stack). The card stack will be fanned out into single cards.

Optional 2D style cursor highlighting - A new option in the interface settings allows you to switch the cursor to 2D highlighting, which will make it feel more like a classic on-screen cursor. The difference is subtle: Instead of highlighting objects above the cursor in 3D space, objects between the cursor and the camera are highlighted. And when picking up a single object, it will not be centered on the cursor but remain at the current offset (similar to what happens when you pick up a group of objects).

Dice for scripting - Dice are now represented as their own Dice object. You can find or change their current face, get the names of faces as defined in the editor, and roll them. There's also a new global event hook onDiceRolled that gets called whenever a player has rolled dice.

mod.io status window - The main menu now shows an info window for mod.io. You can see the connections status and pending downloads with progress. There's also buttons to open the mod.io page and refresh current downloads.



Dice can now be represented as their own 'dice' object, which makes scripting them all the easier!

These are just some of the major features we've added and changes we have made to Tabletop Playground throughout 2020 so far. We did an update focused on community requests at the start of this year and have an extensive change-log we could include here, but it'd be insanely long!

You can check out and keep up to date with all the latest TP updates on our Discord server, where we share the change-log for every new update we push! By joining our Discord you'll be able to sign up to our closed beta Creator's Program and start testing out and creating content for the game right now, so don't hesitate joining our growing community.

As always, to be the first to know exactly when Tabletop Playground will be releasing in Q2 this year, be sure to follow us on Facebook, Twitter, IndieDB, Steam, https://plasticitystudios.itch.io/tabletop-playground and sign up to our newsletter. Until next time Meeples, we hope all your games are good ones!
Tabletop Playground - Plasticity Studios
In the build up to the release of Tabletop Playground (in Q2 2020) we started the closed beta Creator’s Program late last year, inviting modders, board game creators and passionate fans to test out the latest builds of the game and to start creating games and tools before release.

We’ve been ecstatic at the number of games we’ve seen created and uploaded to https://tabletopplayground.mod.io/ (the solution we’re using for cross platform mod support) already and decided to start running monthly competitions to reward talented and hard working members of our growing community. Check out the winners for February below and a recap of our winners from January too!

Join the Creator’s Program 🎲

We saw a diverse range of games and tools created throughout February and wanted to therefore highlight 3 different creators, who each brought something unique and brilliant to the table.



Firstly DashXero, for their gorgeous original tactical fighting card game ‘Girls with Icky Things‘. Although it’s only in pre-alpha at this stage and requires further testing, it’s already showing plenty of potential and showcases TP’s visual potential. They even built a full custom table for the game to be played on too!

The second highlights Duranu, one of the most active and productive members of our community who posted several great packages for a couple of games throughout February. Their work demonstrates the ease and tremendous speed at which games can be developed and implemented into Tabletop Playground.



Finally, the third prize goes to Salami, another highly active member of our growing community for their work on the tool ‘Simple Buttons for TP‘. JavaScript scripting is a huge feature for Tabletop Playground, which will allow creators to build games with complex rules and systems, to ensure games are all the more streamlined and fun. Salami’s work is a great example of the potential of scripting and is one of the most complex scripting tools we’ve seen so far.

Each winner will receive a code for the final release of Tabletop Playground, so they can continue to create incredible games and tools following the game’s release. Speaking of which, if you’re interested in signing up for the closed beta to start creating games for Tabletop Playground before its release and go in the running for the next set of prizes, join our Discord community now to enter!

We wanted to quickly mention the winners for January and our first monthly creator’s competition too. Firstly to CrazyVulcan, who uploaded the first full original game to mod.io as part of the Creator’s Program with ‘Here’s The Deal‘. While we gave out a second prize to Morty, for their incredible efforts at uploading an impressive amount of packages for several different games in one month. Including the first package to make use of the scripting functionality!



Congrats to all our winners from February and January! We’re excited to see what our community creates in March, how you continue to push our in-game tools to new levels and to see who will be our next set of winners 🏅

As always, to be the first to know exactly when Tabletop Playground will be releasing in Q2 this year, be sure to follow us on Facebook, Twitter, IndieDB, Steam, join our Discord and sign up to our newsletter. Until next time Meeples, we hope all your games are good ones!
Tabletop Playground - Plasticity Studios
Today we’re excited to announce that we’re partnering with Modularity Games, the game publisher from the creators of the long running online community sites ModDB/IndieDB, who are going to be publishing Tabletop Playground!

For much of TP’s development it’s been mostly myself not only creating the game, but promoting it too, which takes a lot of time and effort as I’m sure you can imagine. So planning ahead, last year I did research into possible publishers to work with and once I came across Modularity Games, I knew they were the perfect fit for Tabletop Playground.

The team behind Modularity Games has a long history with mods and since modding is such a core part of Tabletop Playground, Modularity Games instantly understood the game’s potential and have the knowledge and expertise to help it succeed.

What does this mean going forward? You probably won’t see a huge amount of change, except you’ll see the Modularity Games team across our various channels such as on social media and in our Discord, sharing important info and announcements in the lead up to the release. But they’ll be largely focused on marketing the game, growing out community and helping with the nitty-gritty elements of publishing a game, so I’ll have more time to focus on the actual development side of things!

Which ultimately means, a better game overall for you when it releases later this year. Which by the way, is going to be in Q2 of 2020!


Object grouping is one of the most recent additions coming to Tabletop Playground!

On that note, development on Tabletop Playground continues to go smoothly, with dozens of updates and fixes implemented since the start of this year already and more to come on our roadmap, including updates to the editor, UI and scripting API, new features to improve the overall gameplay experience, and plenty more!

Can’t wait to get your hands on Tabletop Playground to start creating games and testing out these upcoming features before the game releases? Then join our growing Discord community and sign up for our exclusive early access Creator’s Program right now. By doing so you’ll have the opportunity to help shape the game and have a chance to to win a full release copy of the game as part of our monthly creator competitions!


We’ve already seen dozens of creations as part of the early access Creator’s Program (Communopoly credit thetitan81)

It’s been an exciting ride so far and it’s only looking better as each day passes as we get closer to the release of Tabletop Playground. We’re excited to be collaborating with Modularity Games, to see our passionate and talented community continue to grow and with your help, create the ultimate digital tabletop game.

To be the first to know when Tabletop Playground will be releasing in Q2 this year, be sure to follow us on Facebook, Twitter, IndieDB, join our Discord, sign up to our newsletter, and don't forget to wishlist on Steam! Until next time Meeples, we hope all your games are good!
Tabletop Playground - Plasticity Studios
Happy new year everyone! We’ve recently released a couple of new updates for Tabletop Playground for users in our early access Creator’s Program (learn more on our FAQ!), which are focused on the community: all changes are addressing suggestions and bug reports from our Discord.

It’s quite a long list, but before you read on if you love tabletop gaming, don’t forget to follow and wishlist us! If you want to start creating game before Tabletop Playground releases, you can join the Creators Program!

Search/filter box for objects and packages



Wherever you can select a package or an object in the UI, there’s now a search box. Type in any part of the name to filter the object or package list.

Coordinates window



Add “Coordinates” window in object context menu that allows editing position and rotation as well as absolute and relative scale. Remove scale from object properties window.

Snap points for scripting



Snap points are now available for scripting! There’s a new class SnapPoint, methods to retrieve snap points in GameObject, and a new event that is called when an object gets snapped when a player releases it.

Scripting math classes update

The scripting math classes Vector, Rotator, and Color now behave array-like: their members can be accessed as index, they are iterateble, have a length, and arrays can be passed to functions that expect these classes. The constructors now take values to initialise the object. The existing properties remain mostly the same, with the following exceptions:

• The length methods from vector have been renamed to magnitude to avoid a name clash with the standard length property.

• The static make methods have been removed, the standard constructor now fulfils their purpose. Here’s some examples how the classes can now be used:

v = new Vector (1, 2, 3)
r = new Rotator (...v)
object.setPosition ([1,2,3])
object.setRotation ({yaw:30})
c = new Color (v[0], v[1], v.z, r.pitch)

Find the full change-log in the blog post and keep an eye out as we’ve got some big updates on the horizon for Tabletop Playground, with some exciting features set to be added in the near future. You can join our Discord and take part in our Creator’s Program to start testing them out as they are released and start creating games to be shared on https://tabletopplayground.mod.io/ right now.

As always, remember to wishlist Tabletop Playground and follow us on FacebookTwitter and IndieDB to be the first to know about new updates, and when it’ll launch in 2020.
Dec 20, 2019
Tabletop Playground - Plasticity Studios
Welcome to the largest feature update yet: Tabletop Playground now has scripting support using JavaScript!

Scripts bring a whole new level of possibilities for creating games in Tabletop Playground. You can use them to automate tasks, help with counting and bookkeeping, enforce game rules, or even create AI opponents. The rest of this post will become a bit technical, so if you’re more interested in playing than creating, rest assured that better and more complex games are now possible!



Tabletop Playground offers three ways to use scripting: When creating a game using the Editor, you can define a global script, you can attach scripts to objects, and you can use the in-game scripting console to execute code immediately. You can also activate the scripting console if you’re hosting a multiplayer game, giving you scripting superpowers! But remember that with great power comes great responsibility…

You can write script files in the text editor of your choice, we recommend Visual Studio Code: it’s fast, free, and gives you lots of useful features when editing Tabletop Playground scripts. There’s syntax highlighting, autocompletion, and direct access to the API documentation. You can even debug your scripts with breakpoints and inspect the contents of variables!



JavaScript is one of the most popular programming languages today. That comes with many advantages: you may already know how to code in JavaScript, and if you don’t, there’s lots of resources online to help you learn. There are also many existing modules that can be used to make scripting easier and enhance what you can do.

The JavaScript engine used is the same as the one in the Google Chrome browser. That means it’s very fast, allowing complex computations even while running the game. It also supports the Chrome debugger and console – if you have used JavaScript before, you will know how useful they can be!



The current beta release contains a lot of scripting functionality already, but we won’t stop there: we plan to continue to improve and enhance the API until release and beyond. With your feedback helping shape what features we add for scripting!

Start testing out the scripting in Tabletop Playground right now through our early access Creator’s Program. Join our Discord server to become part of our growing tabletop gaming community and to get the latest updates on development as we work towards release.

You can wishlist Tabletop Playground on Steam and follow us on https://plasticitystudios.itch.io/tabletop-playground, Facebook, Twitter and IndieDB to be the first to know when it launches in 2020.
Tabletop Playground - Plasticity Studios
Hey everyone we’ve got some exciting news to share this update!

From today we’re starting a Creator’s Program for Tabletop Playground in collaboration with https://tabletopplayground.mod.io/, which will going forward be our early access initiative. This will mean you’ll be able to play, test and create content, and share it with other community members, similar to how we’ve been running it previously.



But importantly, the program is being run through mod.io, which will be our cross platform solution for mod/user-generated content. We’re keen to bring Tabletop Playground to multiple PC storefronts and platforms in the future, but to ensure everyone can upload the access the same content as each other after release, we can’t rely on Steam Workshop going forward.

From today we’ll be handing out a limited amount of codes every fortnight to members of our Discord who are eager to get involved. However, anyone who has already received a code will be able to continue testing and be part of the Creator’s Program.

To get involved in the Creator’s Program and be some of the first players to get your hands on Tabletop Playground and contribute to the development, join our community Discord.

Read more about the Creator’s Program on our new F.A.Q. page: https://tabletop-playground.com/faq/

And check out the Tabletop Playground mod.io page here: https://tabletopplayground.mod.io/



Another important announcement, which many of you would have probably presumed by now, but Tabletop Playground will be releasing on PC and VR in 2020. Previously we had been working towards a 2019 release, but through our community's feedback, we've decided to add several more features before release and therefore decided to push back the launch to 2020.

We’re looking forward to having you continue to give us feedback through the Creator’s Program and adding new features for you to check out as we head towards launch next year.

We’re still hard at work implementing Javascript scripting at the moment and we’ll have more news to share on that front in the coming weeks! Until then, we look forward to chatting with you more about the Creator’s Program and Tabletop Playground on Discord. To make sure you don’t miss any updates, follow us on Facebook, Twitter and sign up to our newsletter.
Tabletop Playground - Plasticity Studios
It’s been a while since the last Tabletop Playground development update, but that doesn’t mean we haven’t been busy! We’ve been adding several new features and usability enhancements (and fixing some bugs…). For this update we’ll be showcasing two new features: the card hand and a new futuristic 3D environment!

With the new card hand, you don’t need to go back to your card holder on the table in order to look at your cards or interact with them. They’ll always be at the bottom of your screen for easy access! You can drag and drop cards to reorder, add, or remove them from your hand, just like you would on a card holder. The card hand can be set to always on, always off, or auto-hide as shown in this GIF:



We’ve also been working on the fifth 3D environment that will be available to host your tabletop games in. After fantasy ruins, a western saloon, a 60s living room, and a Victorian chamber, you can now play in a cyberpunk city street.



So if you’ve ever wanted to play a game of chess in a run-down alley of a futuristic city, you’ll finally have the chance!



That’s all for this update, but if you’re keen to learn more about the features we’ve been working on check out our previous updates on our blog. Until the next update, remember to follow us on Twitter, Facebook and join our community Discord so you can keep up to date on all the latest Tabletop Playground news as we work towards release!
Aug 7, 2019
Tabletop Playground - Plasticity Studios
The previous posts were all about ways to customize the appearance of objects in the game. But sometimes, changing colors or material is not enough and you want to switch the texture of an object. For example, what if you need a way to count points or have a rulebook with multiple pages ready on the table?

With the new multistate objects, you can switch textures during the game. There are two standard multistate objects included with Tabletop Playground: a 10 state counter and a 100 state counter. You can change their state by pressing a button, using the context menu, or on the object properties window.



When you create your own multistate objects, you can combine multiple components: Just as with standard objects, you can use model components to add arbitrary 3D models. You can also add multistate components. They come in square, round, or hexagonal shape and can have dozens of different texture states.

The texture states are defined in the editor in a similar way as the cards in a card deck. All multistate components of an object are always in the same state. For example, here’s an object with a cube model and three multistate components:



You can now find an entry on multistate objects in the knowledge base, too!
Jul 11, 2019
Tabletop Playground - Plasticity Studios


Apart from colors, objects in Tabletop Playground have two other properties that alter their appearance: you can define how rough and how metallic they are.

Roughness determines how “shiny” an object is: an object with roughness 0 is perfectly smooth and will sharply reflect surrounding light. On the other hand, an object with roughness 1 scatters incoming light so you don’t see any reflections or highlights on it.

The metallic value should be 1 for surfaces that are clearly a metal, and 0 for most other materials like plastic or cardboard. Values between 0 and 1 are uncommon, but can be used to achieve special effects. The following image shows a light grey sphere with different roughness and metallic values:



You can alter the roughness and metallic values for most objects in-game. But when you create new objects in the editor, you can also define which parts of the objects are metallic and how rough any point on their surface is. You can use the “extra map” introduced in the color post: The red and green channels determine where colors can be changed. The blue channel controls how metallic an object is, and the alpha channel controls roughness. Many of the objects included with Tabletop Playground use the extra map for rougher and smoother parts of their surface. Some objects, like the chest, also have both metal and wooden parts.

Jun 24, 2019
Tabletop Playground - Plasticity Studios
This post is all about colors and how they work in Tabletop Playground. Colors are used in two ways: to identify players and to customize objects.

Player colors
Each player in a game is identified by a color. There are 10 different color options (those are, by the way, based on a color palette that is distinguishable for players with color blindness – click here for some scientific background on the topic). You can switch your player color in game. When you save the game and continue later with the same players, everyone will start with their previously chosen color.

The player color also determines which objects you “own”: currently, only card holders can have owners. Only the owning player (defined by player color) can see which cards are on a card holder. But you also have the choice to set it to ownerless so everyone can see the cards.



Object colors
You can modify colors for most objects in the game. The simplest case is a uniformly colored object: you will set the color of the whole object. You can either freely choose a color, or you can quickly set it to your player color or a configurable custom color.



You can also set a color for simple textured objects: it will “tint” the whole object with that color.



But often you don’t want to change the color of entire objects. Take a chess board, for example: the squares are usually black and white. However, for some chess sets light brown and dark brown may work better, or some other color combination (green and pink, anyone?). The chess board in Tabletop Playground is set up so you can edit both square colors independently. Other objects, like dice, work in a similar way.



If you want to create your own objects, you can also define where colors can be changed: In the editor you can include an “extra map” texture, where red color defines where you want the primary color, and green parts are used for the secondary color. The blue and alpha channels of the extra map are used to define roughness and metallic appearance, which will be the subject of the next post!
...