TUXDB - LINUX GAMING AGGREGATE
 NEWS TOP_PLAYED GAMES ITCH.IO CALENDAR CHAT WINE SteamDeck
 STREAMERS CREATORS CROWDFUNDING DEALS WEBSITES ABOUT
 PODCASTS REDDIT 

 

SUPPORT TUXDB ON KO-FI

MENU

ON SALE

New Twitch streamer aggregation implemented (#FuckTwitch) due to Twitch's API issues (more info on my Discord )


Name

 Tabletop Playground 

 

Developer

 Plasticity Studios 

 

Publisher

 Modularity 

 

Tags

 Indie 

 Strategy 

 

Simulation 

 

Singleplayer 

 

Multiplayer 

 

 Co-op 

 

 Early Access 

Release

 2020-05-15 

 

Steam

 7,49€ 6,49£ 7,49$ / 50 % 

 

News

 49 

 

Controls

 Keyboard 

 

 Mouse 

 

Players online

 n/a 

 

Steam Rating

 Positive 

Steam store

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

 
Public Linux depots

 Tabletop Playground Linux [2.89 G] 




LINUX STREAMERS (0)




In-game Editor Update

This update is all about the in-game editor (also known as preview mode). There are several changes and updates that remove the need to return to the main editor view for most uses:

Add "New Template" button in object library for edited package in preview mode
Add "New Folder" button in object library for edited package
Add buttons on templates in object library for edited package to allow editing, duplicating, and removing templates
Allow Drag&Drop for templates in edited package to move them between folders, in object library and main editor window
You can now edit templates of objects from other packages. Before modifying, you'll need to save them as new templates in the edited package.
Editing scale, color and other properties of templates that also exist as object properties during preview mode is now more consistent
Changed buttons in preview mode to "Close", "Save as New", "Save and apply"
Allow editing card stack properties when editing a card template in preview mode. The cards in the edited stack and other card stacks from the same template will be reset to the template default on saving.
Don't lift penetrable held objects above regular objects

Scripting
Add `UIElement.castShadow` to allow control over whether a UI casts shadows
Add `CheckBox.setBackgroundTransparent` and `CheckBox.isBackgroundTransparent` to make the box invisible while it is unchecked
Always call `GameObject.onReleased` when an object is released. Before it wasn't called when the object was snapped.
Ensure that non-interactive objects are included in scripting traces and overlap queries

Fixes
Fixed issues when using drag&drop in the card stack explorer and container explorer
Editing relative scale of labels and zones did not work properly
Zooming objects with certain UI widgets could crash the game when the zoom was supposed to show UI
Zooming to cards in card stack explorer as client could cause an error message to be displayed
Lighting settings had no effect in Cyberpunk environment
`CheckBox` check state changes on host weren't shown on clients
`MultilineTextBox.setBackgroundTransparent` was not replicated to clients
Zoomed size could be wrong for objects that had UIs with `UIElement.useWidgetSize = true` and `UIElement.zoomVisibility != UIZoomVisibility.Regular`
`TextBox.setBackgroundTransparent` and `MultilineTextBox.setBackgroundTransparent` did not make the text box fully transparent while hovered or focused
Using `StaticObject.onSnappedTo` could cause a crash after reloading scripts


[ 2024-04-04 18:20:31 CET ] [ Original post ]

Unreal 5 upgrade

The Unreal 5 upgrade is here! This update moves Tabletop Playground to Unreal Engine 5, future-proofing the game and improving the foundation for further development. While most of the changes are under the hood, you will also see lots of improvements and a couple of fixes to long-standing issues that weren't possible to resolve before:

Apple Silicon support: The game now runs much better on recent Macs by natively supporting M1/M2/M3 chips
The mod.io UI accessible from the main menu has been updated and is now available on Mac and Linux as well
Allow hiding floor in non-3D maps: renamed "Lighting" in session options to "Environment", moved "Set Background" button to the environment dialog and added "Hide Floor" checkbox in the same dialog
Improved physics stability in some situations like stacking thin objects such as cards
The tablet browser version has been updated, improving support for some websites that didn't work with the older browser version
Text boxes now support using the Tab key to move to the next text field
Message and input boxes can now be closed by pressing enter
Improved validation for phase name in turn settings
Allow much brighter lights - use with caution!
Allow double clicking a package when starting a new game to continue to map selection
Show notifications when trying to draw or deal cards while no suitable card holders exist
Change "Private" checkbox to "Hidden" when uploading a package to align with mod.io terminology
Prevent users from setting custom package path to the directory of the built-in packages (because that would cause issues with built-in packages not being available by default)
Allow loading autosaves when starting preview mode

Scripting
Default to view aligned UI presentation for zoomed object with screen style presentation
Added documentation for $uncaughtException
Prevent adding too much data (more than 64kb) to an object using setSavedData
Parts of the scripting API were not available for table scripts when starting a new game with an empty table

Fixes
The mouse cursor on Linux could get an offset after the game lost focus
Some custom tables were imported sideways
Pressing Enter brought up chat in main menu
Object library and notes windows changed their size on re-opening with UI scale larger than 100%
Stored objects with required add-on packages didn't become valid immediately after the package was added
Some Chinese characters were not displayed correctly
Dice roll message for single dice did not correctly include the name of the rolled dice face after the last update
No UI interaction was possible when blindfolded in VR


[ 2024-02-17 17:25:21 CET ] [ Original post ]

November Update

The November update is here with new features, scripting enhancements, and bug fixes!

Allow face names of dice to be empty. They will not result in tooltips and are omitted from dice roll messages
After deleting a mod on mod.io, automatically upload the package as a new mod when trying to upload again

Scripting
Add `StaticObject.onSnappedTo`
Add `GameObject.onFlipUpright`
Add `GlobalScriptingEvents.onShake`
Script button in editor for table objects is now enabled. Table object scripts have a `refTable` variable available instead of `refObject`
`GameObject.snap` and `GameObject.getSnappedToPoint` did not work in zones that prevent the host from snapping

Fixes
Physics state of objects was reset when changing visual properties (like primary color) from scripts
3D scripting UIs were not interactable while the cursor was pointing at the floor
When joining own game by running multiple instances on one computer, new clients ended up in the same player slot as the host
When the reload button at the top of the editor screen was pressed after a collider model file was changed, the collider visualization wasn't updated
Sounds played from scripts in 3D stopped playing when moving out of hearing range


[ 2023-11-28 18:30:16 CET ] [ Original post ]

October Update

A small update that adds a couple of convenience features and fixes some bugs while work is underway to update the game to Unreal Engine 5!

Add options for package selection in editor to show thumbnails and filter out downloaded packages (both now enabled by default)
Add align to center horizontal/vertical buttons in object coordinates window
You can now quickly move a card you highlight in a card holder or your hand all the way to the left or right by pressing 1 or 2
Add `GlobalEvents.onPackageAdded
Don't change snap point values in editor when switching to creating a snap point grid

Fixes
After zooming an object with a UI that was visible on the zoomed object, the original UI wasn't interactive anymore
Grabbing additional objects from a container as a client in multiplayer and using the number keys to arrange them led to unexpected behavior
There was a small missing triangle in the lower right corner of the back of wide cards or tiles
Game could freeze for a few seconds on startup with many subscribed mods


[ 2023-10-24 21:34:29 CET ] [ Original post ]

September Update

The September update is here with lots of bug fixes and enhancements to the scripting API:

Scripting
Add `PlayerProxy.setSelectedObjects`
Add `TurnSystem.setCurrentTurn`, `TurnSystem.setCurrentPhase`, and `TurnSystem.setCurrentRound`
Add `TurnSystem.onTurnChanged`
Add `ProgressBar.setBarColor` and `ProgressBar.getBarColor`
Add `Panel.getNumChildren` and `Panel.getAllChildren`
Add `WidgetSwitcher.getNumChildren` and `WidgetSwitcher.getAllChildren`
Add `Button.setJustification` and `Button.getJustification`
Add `ImageWidget.getImageURL`
Add `GameWorld.getAllTags`
Add `Package.allow`
Add `restrictTags` parameter to `SnapPoint.getSnappedObject`

Fixes
Tinting did not work for textured or two-sided translucent objects
When switching a switcher object in a zone, it was moved to above the zone
When first adding a table to a package, starting a preview with an empty table did not show the package until returning to the main menu
Cards with Hidden Type "Card Back" did not cast a shadow while held face down
Peeking cards kept the card obscured in VR or when a scripted UI was attached to the card
For hexagonal card, setting "Emissive Front" to true created a ghost of the front texture on the back of the card
Emissive maps had no effect for translucent models
Resetting held objects in measure move mode still added a measurement message to the chat
Removing a description from an object still showed the description in the tooltip of the object
Trying to use "Store in Library" on a new install without ever opening the object library resulted in an error message
Double clicking on the folder selection when moving an object to a different folder in the editor produced unexpected results
When creating a new object in an object script and immediately calling setScript, the script on the new object was executed twice when reloading scripts
Spotlight angles and intensity were not always read correctly from saved template files
Fix a rare crash that could occur when using `GameWorld.addScreenUI`
When using multiple normals in a `ScriptDrawingLine`, results could be incorrect
`CheckBox` text could spill over its allotted space
Don't allow using the game directory as package location if it isn't writable (could happen for Windows Store users)

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2023-09-28 20:54:06 CET ] [ Original post ]

July Update

This is a smaller update which brings a couple of interface and convenience improvements:

The package list in the new game screen now shows images in addition to package names
Packages in the new game screen can now be sorted by last played or by name
Add a new option for object templates, available in the generic pane in the editor: "Ground Access". None by default, you can configure ground objects to allow zooming and the context menu from the regular cursor.
Players can now quickly measure in any cursor mode by holding the ping key (tab by default)
A new "Camera Acceleration" option in the advanced interface settings allows you to make the camera movement more smooth (but less precise)
The coordinates window now uses the measure unit configured in the session (inches by default) for position and size. Previously it always used cm.
Fix: Saving a template in the editor while not authenticated (or not connected to the internet) caused a crash
Fix: Using `ImageButton.setSourceCard` could cause crashes

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2023-07-28 21:03:01 CET ] [ Original post ]

June Update: Spectators and Game Masters

The June update comes with two new player types: spectators and game masters! Read the full changelog below or find out more in the knowledge base:
https://tabletop-playground.com/knowledge-base/spectators-and-game-masters/

Players can now switch to being a spectator in the player options. Spectators don't occupy a player slot, they cannot interact with objects on the table, and other players can't see their cursor. They are still able to use the chat and voice chat, though. By default, spectators can't see any hidden information but you can change that in the session permissions, allowing them to see cards of all players, peek under card stacks, and use the container and stack explorers.
Added new permissions: You can disable spectators completely or allow spectators to see hidden information.
In the session options under player slots, you can now assign slots to be game masters. A player in a game master slot can see all hidden information like other player's cards. Game masters can also interact with anything, they can take cards from the hands of other players, for example.
When holding the below modifier key (Shift by default), show the back of cards in tooltips for card stack explorer
Improved user interface for in-game mod browser

Scripting
Add `ImageWidget.setSourceCard`: you can use a card on the table as image for the widget.
Add a new `ObjectType`: `NonInteractive`. Use it with `GameObject.setType` to make objects completely non-interactive for players.
Add `Player.isSpectator` and `Player.isGameMaster` to check whether a player is currently a spectator or game master

Fixes
Mod browser could not be opened multiple times without exiting the main menu
Fix potential crash when getting an achievement in Epic Games Store version
Fix crash that could occur when leaving a multiplayer game
Fix mod download issues on Linux

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2023-06-29 22:06:26 CET ] [ Original post ]

Hotfix

Game phase setups were not stored correctly in saved states
Fix crash that could occur when exiting the game or switching to/from main menu


[ 2023-06-04 14:25:32 CET ] [ Original post ]

May Update: Custom lights

The May update has landed with custom lights and table scripting support:

You can now add lights to objects in the editor. There's a new pane in the lower left (collapsed by default) that allows you to add point lights and spotlights. Point lights emit light into all directions equally and don't cast shadows, spotlights have a direction and a configurable light cone radius. You can also specify the color and intensity for both light types. Lights on objects can be switched on or off in-game from the context menu.



Scripting
Introduce new class `StaticObject` as a superclass of `GameObject`. Static objects aren't interactive and don't have physics applied to them, but otherwise they work very similar to other game objects so most methods from `GameObject` have moved to `StaticObject`. This doesn't affect existing scripts, they will continue to work as before.
Currently the only static objects are tables, and there are a couple of new `GameWorld` methods that allow you to access the table and even create more tables: `getAllTables`, `createTableFromTemplate`, and `createStaticObjectFromJSON`. By using `StaticObject`, you can do things with tables that were previously restricted to interactive objects: for example, change their appearance, move them to a different location, or access snap points.
Add `GameObject.areLightsOn` and `GameObject.switchLights`
`Container.take` and `Container.takeAt` caused issues when the `keep` parameter was set to true
Call `CardHolder.onInserted` once for each inserted card when multiple cards are inserted at once from a stack
New event `CardHolder.onBecameHand` called when a card holder becomes a player hand

Fixes
Drawing cards while flipping a stack resulted in penetrable drawn cards
In preview mode, the "Edit Template" and "Edit Table" menu actions were sometimes not enabled when they should be
Typing faster than the ping caused problems when using scripted text boxes on clients
Starting a game with an empty table no longer causes a temporary freeze on opening the table selection when many packages are installed

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2023-05-30 20:41:04 CET ] [ Original post ]

April Hotfix

This small hotfix brings two changes:

When a player left a game and re-joined, whispering with them again would caused a new whisper tab to open. With this update, the original whisper tab is re-used.
Fix issue that could cause players to disconnect from multiplayer, causing them to drop out of running games


[ 2023-04-11 21:11:43 CET ] [ Original post ]

March Update: Turn system and chat tabs

This update brings a new turn system and adds whisper tabs to the chat, alongside the usual fixes and scripting improvements:

The new turn system allows you to create phases to keep track of the state of your game and restrict interactions to players whose turn it is. Find out more about rounds, phases, and turns in the knowledge base: https://tabletop-playground.com/knowledge-base/turns-phases-and-rounds/

The chat now supports whisper tabs: When you send a whisper message to another player or receive a whisper message, a new chat tab will open. You can have your private conversation in that chat. This keeps all messages with a player together and doesn't require you to use the `/w` command to whisper. The old behavior with both public and private messages in the main chat tab is still supported, you can disable tabs in the advanced interface options.
Show template names in dialog for copying from other package



Scripting
Add new `TurnSystem` class accessible through `GameWorld.turns` that enables access to the turn system
Add `GameWorld.addCustomAction` and `GameWorld.removeCustomAction` to manipulate actions in the global context menu (right click menu when not clicking on an object)
Add new parameter `identifier` to `GameObject.addCustomAction`, allowing to separate the visible name of the action from how it is identified in the code
Add `DrawingLine.players` to allow restricting line visibility to certain players or teams
Fix: node_modules folder was missing after last update

Fixes
Installed packages from mod.io were not available when offline
In rare cases the game could crash when removing an item from a container

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2023-03-29 20:02:22 CET ] [ Original post ]

February Update: In-game mod browser

The February update has landed! The main new feature is a new in-game mod browser that allows you to find, subscribe to and unsubscribe from game packages on mod.io without using the Steam browser or an external browser. As usual, there's also a number of further improvements and fixes:

Add in-game mod browser: from the main menu, a comprehensive UI allows you to browse available mods and subscribe or rate, or manage your existing subscriptions. Currently the mod browser is only available on Windows, Mac and Linux support will follow.
Move save/load state from context menu to main menu
Keep additional autosaves (for a total of 5 minutes of play time)
Don't show tooltip with description of card objects when they are face down
Automatically simplify drawn lines, improving performance and allowing more lines to be drawn
Only load templates in packages on demand. Reduces startup time and allows multiple packages with the same templates (for example a development and release version), as long as both pacakges aren't used within the same game.
Improved performance of loading save state folders, reducing small stutters when opening large lists of states (like autosaves)
Show card front in object zoom when zooming to a card in a container explorer that shows card fronts
Automatically wrap long object descriptions in tooltips
The "Zoom to ground" option (in the advanced interface settings) is now a "Ground interaction" setting. Apart from using object mode for ground objects while in regular cursor mode, it also allows you to open the context menu for ground objects.

Scripting
`Card.onRemoved` wasn't called in a few circumstances: when grabbing an additional card from a stack while holding cards or when dropping cards from a held stack to the table or to a card holder.

Fixes
FBX files were not supported on Linux
Objects with description but no name briefly showed an empty tooltip before the description became visible
Uploads to mod.io occasionally had issues on Windows
Games with lots of drawn lines (close to the drawing limit) could prevent clients from joining
Objects with scripted UI could get spawned below their container when dragged out from a container explorer window

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2023-02-22 20:40:41 CET ] [ Original post ]

January Update

The January update is here! It comes with a new permission option, scripting UI widgets, important bug fixes and more:

Add new permission for saving the game on clients. This can be useful to prevent cheating by clients inspecting or loading the save file to access hidden information like hand cards of other players.
Allow selecting cards in (locked) card holders using drag selection
Show card tooltips in the on-screen hand
Show card fronts in object zoom for holders of other players if they are set to show card fronts (instead of hiding cards)
Add an option for snap grids in addition to rectangular and hexagonal: circular grids can be used to quickly create circles of snap points
Clearer images for checkboxes, sliders, and selection boxes on UI scales larger than 100%
Add a warning when exiting template editor while a snap grid hasn't been added
Log files are now enabled for Linux and Mac (they only existed on Windows before)

Scripting
Add `RichText`: a text widget that allows BBCode style text to control text appearance. The tags are the same as in the in-game notes and can modify font size, text color, and bold/italic.
Add `ContentButton`: a type of button where you can add another widget as child (similar to a border)
Add `WidgetSwitcher`: a widget that can contain multiple child widgets and switch between them, showing only one at a time
Add `UIElement.zoomVisibility`, allowing you to control whether UI elements are visible for regular or zoomed objects
Add `Color.toHex()`
Add `Player.getOwnedObjects()`
Add `GameWorld.getPlayerByName()`
Visual elements of `CheckBox`, `SelectionBox`, and `Slider` are now automatically scaled when using large font sizes

Fixes
Objects in containers were sometimes not visible in container explorer and spawned at the wrong location after the container was repeatedly copied and pasted, or the object was repeatedly taken out of the container
Widgets from UIs could remain in memory the background in multiplayer games, causing increased processing time and memory consumption over time
Object zoom could cause glass tables to become brighter for some objects on some maps

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2023-01-12 21:18:14 CET ] [ Original post ]

November Update: Switchers

Update time! This time the main new feature are switchers, which allow you to create switchable objects in-game. As usual, there's also additional features, convenience improvements, and bug fixes:

Add a new object type: Switchers allow you to switch between multiple objects. You create switchers in-game (or in preview mode) by selecting multiple objects and clicking "Create Switcher" in the context menu. The selected objects will be combined into a single object which you can switch from the context menu or using the object action hotkeys (R / Ctrl+R). The context menu also allows you to switch to a random object, or remove the switcher. You can learn more on the new knowledge base page.
Allow object zoom in the container explorer
Add new button in card and multistate object details in the editor to quickly add all remaining cards or states from the image sheet
Add ability to cycle through previously written messages by using the up and down keys in the chat window (similar to the command history in the JavaScript console)
Allow changing size of cards in stack explorer using two new buttons
Save whether to show names in container explorer for session
Support Chinese, Japanese, and Korean characters in text fields

Scripting
Add a new class `Switcher` and two methods `GameObject.createSwitcher` and `GameObject.getSwitcher` to allow interacting with switchers from scripts
Add anchor properties for `ScreenUIElement`, similar to the properties in `UIElement`
Add `Widget.setVisible` and `Widget.isVisible`
Add `TextWidgetBase.getFontFileName` and `TextWidgetBase.getFontPackageId`
Ensure that an empty `exports` object always exists to avoid issues with transpiled TypeScript
Allow passing `undefined` to `Border.setChild` and `LayoutBox.setChild` in order to remove the current child widget

Fixes
After shuffling a card stack, an additional card could remain visible in rare cases
Don't allow changing size of cards in holders
Dropping cards in the on-screen hand with the screen mode cursor required an additional click

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2022-11-28 20:11:04 CET ] [ Original post ]

October update hotfix

This update addresses a couple of recently identified issues:

Remove issues with PlayerPermission objects not being recognized correctly on clients
Fix a potential crahs when re-using UIElement objects after a new client joined
Relative position and size in ScreenUIElement did not work correctly for very small or very large resolutions
Card rotation was reset when editing template in preview mode
Not all controls in the grid options were deactivated for clients
Folder names in object library were not sorted alphabetically on Mac


[ 2022-11-03 21:51:50 CET ] [ Original post ]

October Update: Grids and custom lighting

The October update brings several new features: grids, custom lighting, and 2D scripted UIs are now available!

The session options now contain a new "Grid" button where you can set options for a global snap grid: it can be hexagonal or rectangular with adjustable size, offset, and rotation as well as different visibility and snap settings.
The session options now contain a new "Lighting" button. Here you can set the color, intensity, specular intensity, and direction of the main light. The settings are stored in the game state.
When arranging objects from the coordinates or by pressing a number button while holding a group of objects, try to keep their current arrangement as intact as possible
Split horizontal and vertical camera sensitivity options

Scripting
Add new functionality to create on-screen UIs, with methods like `GameWorld.addScreenUI` and a new class `ScreenUIElement`. On-screen UIs are not visible for VR players.
Add `Player.isUsingVR` to detect whether a player is using a VR headset
Add several methods to `GameWorld` to set and read ligthing options (for example `GameWorld.setMainLightIntensity*)
Add new `GlobalGrid` object to read and modify snap grid properties. Accessed through `GameWorld.grid`.
Add new `GlobalGrid` object to read and modify snap grid properties. Accessed through `GameWorld.grid`.
Add `GameObject.onSnappedToGrid`
Add `SelectionBox.removeOption`, `SelectionBox.setOptions`, and `SelectionBox.getOptions`
Fix crash in `SelectionBox.getSelectedOption` when no options exist

Fixes
Updated to a new mod.io version that fixes a mod extraction error on Mac
Fixed a memory leak from filled containers that caused RAM consumption to slowly rise over time
Fixed lighting for .obj models with no textures and no normals
Labels could have clipping artefacts on clients
When using the object properties window for multiple selected objects, object name and description would always be applied to all objects



These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2022-10-28 21:47:30 CET ] [ Original post ]

September Update

This update focuses mostly on bug fixes, but also introduces an option for two sided materials:

Add a new option for models in the editor: two sided. If checked, geometry from the model is visible from both sides. This is only needed in special cases (vegetation models often use two-sided geometry) and should usually be left unchecked.
Reduce influence of resolution aspect ratio on size of certain zoomed in objects (such as dice and PDFs)
Don't allow stacking ground cards and regular cards
Fix: Cards did not always stay in card holders on clients when loading a state
Fix: Mac users could not upload new versions of their packages since the last update
Fix: Snapped measurements did not show correctly for other players
Fix: Dealing cards from a stack could sometimes knock over nearby objects on clients
Potential fix for rare issue where a dropped object would still show up as held for other players
Improved error messages and logs for mod.io HTTP errors on Windows
Fix: `GameObject.getExtent` returned a zero vector instead of the correct object size when called in the same frame when the object was being created from a template


[ 2022-09-16 20:59:06 CET ] [ Original post ]

August Update: Labels and in-game browser

The August update is out now! With text labels and an in-game web browser, two big new features are available. But it doesn't stop there: a lot of additional UI and usability improvements, more VR settings, scripting features, and bug fixes are all part of the package.

Moved to a new mod.io version. It brings faster download and progress updates while installing games, with more features to come in future updates! Your mods will be re-downloaded once the first time you start the game after this update. The old download folder is removed automatically.
You can now place text labels. Labels can have different colors and sizes as well as custom fonts. They don't get blurry at larger sizes or zoom levels. Apart from a fixed text, you can also set labels to show the name of the player in a selected slot. Press K to toggle label mode.
A new UI element for cursor modes is available in the upper left corner. It allows you to see your current mode and quickly switch to other cursor modes without memorizing the hotkeys.
There is now a tablet object available among the "General" objects. It allows you to browse the web while playing, the active website URL is synchronized with all players.
Drawing now supports glowing lines: a new checkbox in the drawing dialog allows you to turn up the emissive value of your lines to make them glow
Add new permission for editing labels
Changed emissive map format to be easier to use: now the red color channel simply makes the color at that point emissive, the larger the red value is the more emissive the part of the model becomes. Fully red will make most colors glow. The other channels in the emissive map are not used for now.
Add a new option for measuring angles (in measure move mode, selected in session options): you can measure the rotation of the movement compared to a straight line as before, or the rotation of the object.
Angle measurements are now logged together with distance measurements in measure move mode
Multistate objects have a new option in the editor: Circular. When checked, the states loop around so you can go forward from the last state to get back to the first state and vice versa.
Add a new option in the video settings to use low resolution textures. This can be useful to allow old systems to run large games that may not run properly with full texture resolution.
Add support for TGA textures. TGA files are generally larger than PNG, but they can be useful when using an alpha channel as a mask (in the extra map/mask map) because some graphics tools don't save colors properly in PNGs when the alpha channel is zero.
Use natural sorting in all places where names are ordered (filenames, templates, tags). With natural sorting, numbers in the names are sorted by magnitude and not alphabetically (so 10 comes after 2).
The drag selection box for the screen cursor is now much more accurate and doesn't glitch for objects behind the camera
When dice faces are named with a number, use that number instead of the index of the face when deciding how to rotate the dice when a player uses a number action (by pressing a number key while highlighting or holding dice)
When angle measurement is on, include measured angle in measure move message
Move measurement number to the cursor (from the middle of the measured line)
The container explorer now remembers if it was switched to showing card fronts in the same session
Add new option in advanced interface settings for lowering the drag selection box. Hold Ctrl and use the mouse wheel while drag-selecting to change the setting quickly. Dragging new zones is also affected by the setting, and the value can be changed creating a zone.
Use sliders instead of text boxes for cell width and height when creating a snap grid
Hold invert key to rotate objects very slowly instead of the regular speed
Don't allow changing background in 3D maps because it doesn't have an effect



VR
Add new cursor mode buttons to standard UI menu that opens when you press the menu button without highlighting an object
New setting: motion controller dead zone
New setting: height offset allows you to raise or lower your viewpoint by a constant offset when not flying

Scripting
Add new class `Label` to control in-game text labels
Add `GameWorld.createLabel`, `GameWorld.getLabelById`, and `GameWorld.getAllLabels`
Add `WebBrowser` widget to create web browser UIs
Add `DrawingLine.emissive` to allow creating glowing lines from scripts
Add `Canvas.getChildren`
Add `Card.canAddCards`
`Canvas.updateChild`, `Canvas.removeChild`, and `Panel.removeChild` now work immediately after adding the child widget. Previously, these methods only worked after the widget had been built a few ticks later.
Dice faces can now get metadata assigned in the editor. Add `Dice.getCurrentFaceMetadata` and `Dice.getallFaceMetadata`
Ensure that players see the correct UIs when they switch slots after player restricted UIs have been created
Add `CardHolder.isCardFaceUp` and `CardHolder.isCardUpsideDown`
Fix: Playing a sound for the host player played it for all players
Fix: In some circumstances, scripting UIs on objects could remain after reloading, leading to duplicate UIs which could cause input issues

Fixes
Joining games through the Steam friend list did not work for all players
Resizing the whole object in the editor did not work properly for Multistate objects
In screen cursor mode, moving the mouse quickly while rotating the zoomed object could end the zoom
Flip back the order of cards in the editor UI
Fix issue with dragging objects in screen cursor mode after using Escape key to close "Edit Template" screen in preview mode
Fix graphical glitches in the cyberpunk environment
Fix lighting for thumbnails and zoomed objects in 3D environments
Zoomed cards would sometimes flicker
Reduce force with which dice are thrown apart when rolling multiple dice at once
Import file dialog did not always remember previous directory
Drag selection with 3D cursor could select ground objects with drawings on them while cursor was in regular mode
Reworked "Friendship" achievement trigger to be more robust - it did not work for all players

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2022-08-30 22:20:33 CET ] [ Original post ]

June Update: emissive materials

The June update is here: It brings glowing objects, improvements to editor and snap points, new keybindings, new scripting UI options, and more!

You can now add Emissive Maps to models in the editor: They work like a regular texture, but emissive colors are not affected by lighting and look like the object is lit by itself. When used without a regular texture or Normal/Extra map, the object is not lit at all, which looks less realistic but keeps colors closer to the original image. The alpha channel of the emissive map acts as a brightness multiplier: when it is lower than 1 (parts of the image are transparent), both the regular color at that spot and the color from the emissive map are multiplied. Erasing parts of the emissive map completely leads to a high multiplier, allowing you to make parts of the object glow!
Cards and multistate objects have a switch in the editor to make them emissive, effectively switching off lighting for them
Add buttons in the card editor to increase or decrease card index by one
Add buttons in the card editor and snap point editor to apply tags to all cards
New options for snap point rotation: snapping upright or upside down without further rotating the snapped object
Add keybindings for rotating the camera (not set by default)
Add keybinding for toggling drawing mode (by default "I")
New rotation option for taking objects out of containers: in addition to default rotation and container rotation, you can now select "Flipped" in the container properties
Improved network traffic for smoother play on slow connections
"Rotate thumbnails" setting now affects container explorer as well
The object coordinates window now allows arranging object into a hexagonal grid
Scaling Gizmo now scales uniformly when uniform scaling is active in the object coordinates window
Add keybindings for HP Reverb motion controllers
A new option in the advanced interface settings allow you to change the behavior of the Flip/Upright key (middle mouse/F) when holding a group of objects: instead of flipping or turning to their default rotation, align all held objects to the rotation of the grabbed object
Flip order of cards in the stack explorer when the inspected stack is face down, so the first card in the explorer is always the card at the top

Scripting
Add new `PlayerPermission` class and use it in the play methods of `Sound` to determine for what players a sound is played, and in `UIElement.players` to control which players can see a UI
Add `UIElement.presentationStyle`, allowing UIs to automatically align to the camera or to be shown directly on screen
Add new parameters to `GlobalScriptingEvents.onScriptButtonPressed` to indicate whether modifier keys (Shift, Ctrl, Alt) were held while pressing the button
Return whether a line was added successfully on `GameWorld.addDrawingLine` and `GameObject.addDrawingLine`
`World.getTableHeight` did include ground objects (in addition to just the table) in the height calculation

Fixes
Object Coordinates > Arrange Grid > "Keep rotation" function is reversed
Blindfolding was allowed while editing a template in preview mode
Autosaves were generated while in main menu
Physics for tables with custom colliders could get activated when loading a state in-game
When changing the back image type for cards in preview mode, the card wasn't updated visually. Sometimes this could also happen in the editor.
Loading stored camera setups in very quick succession would cause a wrong result
Pressing "Save as new" for a new template resulted in an error
Player rotation could remain snapped when changing the snap angle setting in-game
Since the last update, cursors of other players were hidden when in screen cursor mode
In some circumstances, zones did not prevent snapping or hide cursors on clients
Cards with square shape could show slight ghosting of the back image on the front
Fix a crash related to accessing online URLs from scripts
Held dice and other clumped together objects could knock over other objects at low hold heights
Clients changing object descriptions did not have an effect for other players



---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2022-06-29 21:10:31 CET ] [ Original post ]

May Update

The May update upgrades to the latest version of Unreal Engine 4, future-proofing the game and fixing a few issues with the previous Unreal version. In addition, you now have more options for player slots, a color palette, improved object rotation, and more:

Updated Unreal Engine to 4.27
Slot names now have names and default camera setups: the "Player Colors" button in the session options has been renamed to "Player Slots". The window accessed through the button now allows to set a name and store the current camera setup in addition to adjusting the color for each player slot.
The slot name can be used to whisper in the chat to the player currently occupying that slot, in the same way as player names are used. By default, all player slots are named with their index (1 to 20).
When a player slot has a stored perspective, a player who joins the game in that slot or switches to the slot through the player options will move to the stored perspective. This can be used to emphasize where on the table a player in a given slot is seated.
Holding down rotation keys (Q/E/Arrows by default) now continues to rotate objects
Color pickers now have a color palette where you can store and load your own selection of 36 colors
Increase speed of turn-in-place animation (when presseing Q/E or arrows while highlighting, not holding, an object) and keep the rotated object in place in relation to other objects - it used to land on top of objects above.
Store hold height between sessions
When editing snap points in preview mode for an object with global snap points enabled, allow adding points snapped to other objects that aren't on top of the edited object

Scripting
Add `GameObject.removeDrawingLineObject` and `GameWorld.removeDrawingLineObject
Add `Player.setDrawingColor` and `Player.setDrawingThickness`
Add `DrawingLine.tag` property
Extend the occasions when `Card.onRemoved` is called to all actions where players remove cards (dragging a card off the stack or the container explorer, drawing or dealing cards, or when a player cuts/splits/divides the stack)
`Text.setAutowrap` did not work for clients (only affected host player)
`Player.getSlot` and `Player.getName` did not return correct results for players who rejoined games in progress
Don't allow setting primary color on card holders (the color is determined by the owning player)
Increase time that `Player.showMessage` messages stay on screen

Fixed
Autosaves were not available to load on Linux
Using keyboard shortcuts for editing card decks in the editor made previously edited cards re-appear
UI elements for properties of snap points in a new grid were not enabled when the object had no snap points
After closing the chat using the Enter key, it couldn't be opened again using enter until clicking with the mouse



---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2022-05-26 21:29:25 CET ] [ Original post ]

Hotfix

A quick hotfix update for some recently identified issues:

Screen mode cursor was locked in place while holding mouse button after using tab to ping
Drawing rectangles on surfaces at an angle could produce wrong results
`GlobalScriptingEvents.onDestroyed` was called twice for card objects that were destroyed by adding them to another stack
Ensure that the inserted card parameter for `Card.onInserted` has the correct id
Opening a pdf in an external viewer caused the viewer to open for all players


[ 2022-05-03 09:16:40 CET ] [ Original post ]

April update: Drawing

The April update is here! This one mainly brings a big new feature: in-game drawing on objects! You can draw lines that other players will be able to see, and the lines are saved with the rest of the game.



You can now draw on ground objects: select "Start Drawing" in the right click menu, and a new window with drawing options will appear. While that window is open, you can draw using the mouse. There are a couple of modes available: free draw, straight lines, shapes (from rectangles to circles), and erasing existing lines. You can also change the color and thickness of the lines you draw.
New permission to disable access to drawing
New permission to disable access to ground mode and locking/unlocking objects
Show snap preview for grabbed objects when holding multiple objects and snapping multiple is switched on

Scripting
Add support for drawing: a new class `DrawingLine` represents drawn lines, `GlobalScriptingEvents.onLineDraw` is called when a player has finished drawing a line, and new methods in `GameObject` and `GameWorld` allow you to manage drawing lines from scripts: `addDrawingLine`, `getDrawingLines`, and `removeDrawingLine`
Add `world.nextTurn`, `world.previousTurn`, and `world.getCurrentTurn`
Add `Rotator.getInverse`
Zone owner slots for the final two slots (White and Black by default) did not work from scripts
`GameObject.getExtent` and `GameObject.getExtentCenter` could cause zone overlap events when used on scaled objects close to a zone
`SnapPointFlipValidity` had a typo (was spelled `SnapPointFLipValidity`)

Fixes
Switching on snapping for multiple held objects caused object groups to always snap to the ground
D6 model was slightly too small after the previous update
Tags could be duplicated when loading save states while playing

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2022-04-29 21:12:14 CET ] [ Original post ]

March Update

The March introduces a new tag system, a setting to show player heads, and lots of improvements for snap points and scripting:

You can now add tags to objects, templates, containers, snap points, and cards. They can control if objects snap and what can be inserted into containers. Tags can also help with finding what you're looking for in the object library, card deck explorer, or container explorer. Find more information on tags in the new knowledge base page on tags.
A new option in the game settings allows you to activate snapping when holding multiple objects
Snap points can now have different shapes for their range: in addition to the sphere shape, their snap range can also be a cylinder or a cube.
There are new options for snap point rotation: instead of just switching between rotation on and off, you can also set snap points to flip objects upright, upside down, or adjust their rotation to be "flat" without fixing it entirely
A new options for snap points allow you to specify that they are only valid when the object is upright or upside down.
While creating a snap point grid, you can now drag the grid with the mouse
Show range for highlighted snap point whilre creating a grid
Show a quick animation when snapping an object
Snap range for objects with non-uniform scale are now also scaled non-uniformly
You can now show the heads of other players. An option in the video settings allows you to activate heads only for VR players (default), for everyone, or for no-one.
Set zoom direction for the counter 10 and counter 100 objects so they don't spin when viewed in the object zoom

Scripting
Add methods to work with tags: `GameObject.getTags`, `GameObject.setTags`, `Container.getContainerTags`, `Container.setContainerTags`, and `SnapPoint.getTags`
Add `getTintColor` and `setTintColor` for `ImageWidget` and `ImageButton` to allow tinting images
Add a key parameter to `setSavedData` and `getSavedData` in `GameObject` and `GameWorld`, allowing you to organize persistent information more easily and save larger amounts of data globally and per object
Add `GlobalScriptingEvents.onWhisper`
Add `getShape`, `getSnapRotationType`, and `getFlipValidity` methods to `SnapPoint`
Add `GameObject.release` method to release objects held by players
Allow automatically wrapping text for `Text` widget using `Text.setAutoWrap`
Execute `CardHolder.onCardFlipped` and `CardHolder.onCardRotated` when animation finished instead of when the player pressed the respective button
Text with multiple lines on a button was not centered properly
Inserting and removing an object from a container in the same frame caused the object to become invisible on clients
A previously clikced UI button could be clicked when pressing enter
`Player.getSelectedObjects` for client players only worked while holding

Fixes
When loading a state while an active measure move was visible, the measure indicator remained visible and stuck after the state was loaded
Snap point radius shown in editor was too small
Some zoomed objects were rotated incorrectly when using object zoom while looking directly down
Card stack explorer did not show web textures and could have wrong aspect ratio for cards scaled in-game
Team chat tab sometimes wasn't visible when the local player was part of a team

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2022-03-25 11:58:08 CET ] [ Original post ]

Quickfix notes

Quickfix update that addresses a couple of recently identified issues:
Scripts with filenames containing the single quotation mark character ' could not be executed properly
Package class was named Proxy
"Default Color" and "Player Color" buttons in object appearance window could result in an incorrect color
Objects with a fixed zoom direction and non-uniform scale had visual issues in object zoom


[ 2022-03-01 13:55:40 CET ] [ Original post ]

February Update

The February update is now live! Another long changelist with many new features, convenience improvements, and fixes. Some highlights are the extended object coordinates window with aligning and arranging functionality, VR hands, clipboard buttons, more shortcut keys, more scripting UI functionality, and an upgrade to a new version of the JavaScript engine.

The object coordinates window has received a lot of new functionality, in particular when using it for multiple objects:
Add grid arrange functionality for groups of objects: Set the number of rows and the distance you want between objects, and you can arrange them in a grid at the press of a button.
Align on edge functionality for groups of objects: align all selected objects to the same outer edge (North/East/South/West)
Gizmos are now available when opening the object coordinates for a group of objects
When adjusting rotation or scale for groups of objects, you can now switch between rotating/scaling each object by itself or also adjusting their positions to keep the relative positioning intact
Add color markers for axes
Add copy to clipboard buttons for position, rotation, and scale when scripting UI is enabled



Add VR hands: You can now see the hands of VR players using motion controllers. A new option in the video settings allows you to turn off the hands.
When pressing a number key while holding multiple objects, they will now be arranged in a grid with a number of rows equal to the number pressed
Add menu button to menu bar at the top of the screen. Make the menu bar visible by default and add a setting to auto-hide (like the previous behavior).
Add keyboard shortcuts for card and multistate object editor for the new, remove, duplicate, previous, and next actions. The shortcuts are shown in the tooltips for the respective buttons.
Add copy to clipboard buttons for information useful in scripts in a couple of places (template id on top of the object properties pane in the editor, unique id in object and zone properties)
Store whether you want to see names in the object library
When placing snap points based on objects in preview mode, use object rotation as well for rotation snapping
In the container explorer, fall back to card names instead of template names for single cards if no object name exists
Tune camera to avoid issues when moving around on irregular tables
Improve shadow quality in 3D maps
Make snapping easier for small objects snapping close to each other
Tune physics so objects (except dice) are less bouncy by default
Clip long object names in container explorer to ensure consistent grid of objects
Allow picking up additional cards directly from holders (using right click or V)
Move camera back to previous position after editing an object template in preview mode to prevent camera issues
Make context menus more flexible for accomodating long entries (which can be created from scripts)
Adjust mirroring back of image shape cards where the shape is not centered on the image
Increase object limit to 10000, for those really large games

Scripting
Upgrade the JavaScript V8 engine to a more recent version (9.7). This gives you access to the latest JavaScript features like optional chaining (`?.` operator), and it makes your code run even faster!
Add several parameters to `UIElement` that allow you to customize your UIs: `useTransparency`, `twoSided`, `anchorX`, and `anchorY`
Add a new UI widget `LayoutBox` with several properties for sizing and aligning widgets
Add a new class `Package` that allows you to inspect active or installed packages. You can get a package object through `GameWorld.getPackageById` or `GameWorld.getAllowedPackages`
Add `GameWorld.setBackground`, `GameWorld.getBackgroundFilename`, `GameWorld.getBackgroundPackageId` to access and modify the map background from scripts
Support looping sounds with a new parameter in the play methods and `Sound.stopLoop`
Add `GameWorld.setSlotColor` and `GameWorld.getSlotColor`
Add `skipContained` parameter for `GameWorld.getAllObjects`
Add `GameWorld.clearConsole` to clear the built-in console from scripts
Add `ImageWidget.onImageLoaded` and `ImageButton.onImageLoaded`
New `keep` parameter for `Container.take`, `Container.takeAt`, and `Card.takeCards`
Add `Container.getNextTakeIndex`, `Container.contains`
Add `Card.moveCardInStack`
Add `CardDetails.stackIndex`
Add `animationSpeed` parameter to `GameObject.snap`
Add `GameObject.freeze`
Add `Panel.setHorizontalAlignment` and `Panel.setVerticalAlignment` for setting the alignment of all child widgets for HorizontalBox and VerticalBox
Add methods to `CardHolder` to get/set how cards are hidden and if only the owner can interact with cards on the holder
Update the value shown for Slider widgets while player is dragging
Make sure that scripted UI on cards stays in the right place when the card is lifted while highlighted on a card holder
Allow scripts to require other files more than two directories above themselves, as long as they stay within known safe directories
Enable `GameObject.onSnapped` when snapping to snap points attached to the table
`localRotationToWorld` and `worldRotationToLocal` could return incorrect values
Dice rolled again through `Dice.roll` withing `GlobalScriptingEvents.onDiceRolled` did not cause another `onDiceRolled` event
Fix requiring npm packages from node_modules on Mac/Linux
Using `fetch` or `HttpRequest` directly when running a script did not show the "allow URL" dialog when resetting scripts from context menu
Fix crash that occurred when moving objects into or out of a zone from within its `onEndOverlap` event

Fixes
Unique ids (for scripting) of cards were not made available again when dragging cards onto stacks
Translucent objects with low opacity did not get outline highlights
Open container explorer window did not update when content of the container changed
A small copy of the zoomed object in object zoom appeared at the origin (below the table) while zooming
Object zoom did not show objects at the correct place that weren't positioned at their coordinate system origin
Dragged card in stack explorer was shown as red cross
Ensure that releasing the last object does not send it flying when held objects are clumped (after shaking the mouse)
Object zoom with fixed zoom direction did not work properly with objects scaled in-game
Don't allow locking cards on holders
Fix issues with locking objects in multiplayer
Mouse cursor was shown until clicking again when pressing Tab to Ping while chat was open
When taking a card from the front of a stack in ground mode made of cards from different object templates, the remaining part of the stack switched to regular mode
Selection rectangle was drawn for screen cursor while editing templates in preview mode
Undo/Redo in the editor by pressing Ctrl+Z/Ctrl+Y could make previously edited objects appear
Fix rare crash related to snap previews
Placing cards from the object library while showing card fronts placed the card upside down in addition to flipping it
Using non-uniform scale caused issues with cm measures in a couple of placed (object transform window, zone transform window, object size in editor)
The deal and draw actions would not fill the final card on a card holder (before the card limit was reached)
Removing cards from a holder by grouping them caused glitched images of the removed cards to remain in the on-screen hand that would disappear when clicking them
"Include description in tooltip without delay" setting only showed names as tooltips
Fix missing J on image for Jack of Clubs
Fix crash related to editing image shape tokens/cards on Mac
Rewinding could stop working on Macs

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2022-02-24 20:47:28 CET ] [ Original post ]

January Update Hotfix

A quick hotfix for several issues that came up with the latest update:

Zones and stored cameras were not loaded correctly from old saved states
Imported collision models were mirrored on the X axis. This change could break your collisions if you have used collision models that are not symmetric across the X axis!
"Save as new" in template editor would store the new template in a "Templates" subfolder if used in the main directory. It also used an invalid Guid for the new template.
Items from (non-lazy) "Infinite Queue" containers could not be removed properly
Global script could not be changed on Mac/Linux
A crash could occur when adding or removing items from containers using scripting
A crash could occur when joining a game that uses hide cursor zones
Tooltips for delete card and delete all cards buttons were flipped
Linux version could crash on startup
Remember player number and direct connect settings on starting new game


[ 2022-01-22 00:23:15 CET ] [ Original post ]

January Update

Get ready for our longest changelist yet! This update is all about the little things, and lots of them: improvements to how the game looks and feels, more intuitive and powerful interactions, convenient new options and commands in various places, and removal of a couple of restrictions. In addition there are new methods and callbacks for scripting, and a lot of fixed issues!

Slightly reduced physics speed and improved dice roll feel
You can now drop multiple held cards at once on stacks and card holders
You can now drop the last picked up object by holding the invert/below key (Shift by default) and right clicking
Distance measurements now snap, you can disable snapping as usual by holding the modifier key (Ctrl by default).
Players can now use the container explorer for containers owned by their teammates
Containers now have a "Lazy Load" option
Rotating objects taken from containers like the container is now optional and can be toggled in the container properties. It is disabled by default.
New button at the top of the screen in the editor allows you to quickly reload all textures and models for the current template
New button when editing cards or multistate objects allows you to delete all cards/states
When editing snap points in preview mode, you can now click on objects on top of your edited object to place the snap point so that the highlighted object would snap to its current location
Switched default right click behavior while holding from reset to picking up additional objects. The behvaior can be configured in the game options, the new default only changes it for new users.
When picking up additional cards, always add to an already held stack when holding exactly one stack that can take the additional card
Added context action for PDFs to open the file with the default system PDF viewer
Improved the feeling of the middle mouse world drag, particularly with unstable frame rates
You can now change the height of the measure line while in measure mode in the same way as changing hold height (using Ctrl+Mouse Wheel)
Ensure that shadows for large objects (like tables) do not fade in the distance
Your previous server name and password are used by default when creating a new game
Show the current folder when navigating away from the base folder in object library and editor template selection
New option for cards available in editor: hidden looks the same as card back
Allow loading states with missing packages when starting a new game, but show warning message
"Save as new" button in the edit template screen now saves to the same subfolder where the original template is located
Remove intermediate anti-aliasing levels because they blurred the image too much without a clear performance benefit. Anti-aliasing is now either on or off.
Update main menu layout and Discord/Knowledge Base buttons
Selection outline thickness is now adapted for high or low resolution scales
Apply number actions immediately when moving cursor away from highlighted object
Allow files with "jpeg" extentions as images (in addition to "jpg" files)
Make included tokens (checker pieces) flippable
Use previous selection whether snap points are visible when reopening template editor
Allow a decimal place for snap point rotation
Remove 1 cm thickness restriction for card-like objects
Don't remove existing files from target package when using the TTS importer

Scripting
Deprecate `ScriptPanel.setEqualChildSize` for a more flexible mechanism where each child added to a `HorizontalBox` or `VerticalBox` can receive a size weight
Don't show UI cursor for Canvas elements that don't contain interactive widgets
Add `CardHolder.onCardFlipped` and `CardHolder.onCardRotated` events
Add `GameObject.getScriptFilename` and `GameObject.getScriptPackage`
Add `usingEnter` parameter to `TextBox.onTextCommitted`
Call `CardHolder.onRemoved` directly after the card has been removed instead of directly before
Canvas now clips the widgets inside it (only relevant when using a Canvas within another Canvas)
Fix: `TextBox` did not show proper characters when used with default font properties
Fix: `GameObject.localPositionToWorld` and `GameObject.worldPositionToLocal` did not work correctly for rotated objects
Fix: `GameObject.getRotation` always returned the 0 rotator while the object was held by a player

Fixes
Object library did not open anymore when cancelling spawning with Escape key
Missing object thumbnails weren't saved automatically when opening package in editor
Taking additional card stacks out of containers while holding a single card stack picked up one card from the stack coming from the container
Formatting for long folder names in object library was not correct
Tooltip for ground containers stayed visible when not highlighting the object while in ground mode
Camera did not move forward in editor while rotated all the way up
Adding cards to a held stack could change the rotation direction when flipping the stack
Higlighted zones that remain visible outside of zone mode remained highlighted when switching cursor mode
Model files without normals got incorrect lighting
Card positions in card holders that were scaled in-game could be incorrect
Initial mod.io notification messages appeared behind the new game dialog when first triggered from there
Use the automatic texture inpainting for shape images only at the same alpha level as the shape is generated, not for all translucent pixels
Remove error message about missing impact sound that appeared in some scenarios with "Silent" surface objects
When saving a state, could save state with empty name after saving a state with a valid name
Invisibility zones did not hide cards in card holders
The card space markers for card holders were not displayed correctly when editing a card holder in preview mode
Maximized PDF viewer stayed on top of other windows
Uploading packages to mod.io did not work on Mac

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2022-01-20 20:17:54 CET ] [ Original post ]

Custom backgrounds and tidying up



The new update brings many more improvements to the game! Highlights include custom backgrounds, subfolders for resources and templates to keep your packages tidy, and several control tweaks. Here's the full changelog:

The session options now include a background setting where you can select an image to use as background. In 3D maps it will replace the sky (if it is visible on the map). Use HDRI images to get a background without stretching. Your selected background is saved in the game state.
Object templates can now be organized in folders within packages.
Resource files (textures, models, sounds, fonts) can now be organized in subfolders.
You can now pick up containers and card stacks by double clicking in addition to clicking and holding
Tweaked throwing: when only moving the cursor slightly, throw velocity is reduced. When moving quickly it is unchanged.
Allow resizing and pinning the object library, card stack explorer, and container explorer windows
Allow resolution scales above 100% (in the video settings) to improve image quality for fast computers.
A new option in the video settings allows you to disable the rotation of object thumbnails (for example in the object library)
Objects removed from a container now have the same rotation as the container
Improved animation when dropping a card to the bottom of a stack to clearly show what happens
TTS Importer now supports importing saved objects (in addition to workshop files and saves)
TTS Importer now supports importing custom D6 by rearranging the image
You can now switch your team in the player options and player color buttons show the associated team.
When a new player joins, choose a free player slot that has a card holder instead of the first available player slot
Ask for password when joining password protected friend's game through Steam
Empty card holders can now be resized in-game. Maximum card sizes for the holder are adjusted accordingly.
On-screen error messages are now a bit smaller and more readable
Remove support to select DDS and 3DS file in the editor. The files can still be loaded so existing packages that use them won't break, but their use is discouraged because they may cause issues on future platforms.

Scripting
Introduce `dealToAllHolders` parameter for `Card.deal` to optionally deal to all card holders even when no players are present
Add `GameWorld.getTableHeight` to allow scripts to find the height of the table at different points
Add `GameObject.getSize`
Use generics in the TypeScript definitions for `TextWidgetBase` and its subtypes, so the `TextWidgetBase` are recognized to return the correct subtypes. This makes these methods more convenient for TypeScript users, it doesn't change anything in JavaScript.

Fixes
Fix window size of zone permissions
The size of the 3D cursor selection was slightly larger than the visual area
Don't select objects when touching their attached UI with 3D cursor drag selection
Fixed a crash that occurred when using empty Border widgets in multiplayer
Model files with filenames that contained non-english characters did not work
.obj files that were missing the newline at the end of the file were missing one triangle in-game
Global snap points (like in Domino) weren't always working properly with the 2D or screen cursor

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2021-12-09 19:46:34 CET ] [ Original post ]

Teams, Text, and Trading Cards


The latest update is now live: It introduces teams, card browsing in the object library, and a new cursor highlighting option. Find out more about teams in the knowledge base: https://tabletop-playground.com/knowledge-base/teams/
When using scripting, you now have a lot more options to customize the appearance of text, you can even use your own fonts! In addition, you can now add metadata to templates and single cards in the editor and access it from your scripts.
Finally, Tabletop Playground now includes Steam trading cards! You earn cards through playing and collecting a full set earns you emoticons and profile backgrounds.

You can now define teams for players. Players on the same team can see each other's cards and chat or talk with each other privately.
You can now spawn single cards out of card decks directly from the object library: on hovering, card decks now have a search symbol. Click on it to open the list of contained cards.
A new game setting allows you to switch from highlighting objects (when hovered by the cursor) by lighting them up to showing an outline instead
When trying to start a game with a package that has no starting states, you are now redirected to start with an empty table. The respective package will already be active in the new game.

Scripting
New customization options for all widgets that include text: You can set bold, italic, and color. Or set a completely custom TTF font.
Add Text.setJustification and Text.getJustification to control text alignment
Add TextBox.setBackgroundTransparent and MultilineTextBox.setBackgroundTransparent to allow for more flexible text box styling
Add onTextCommitted events for TextBox and MultilineTextBox
Add Canvas.updateChild to change coordinates of widgets on a Canvas
You can now add metadata to object templates and to single cards within card templates. You can configure the metadata in the editor, there are new text fields in the object properties and card properties. You can access the metadata using GameObject.getTemplateMetadata and CardDetails.metadata
New scripting methods to deal with teams: Player.getTeam, GameWorld.getSlotTeam, GameWorld.setSlotTeam
Various improvements to API documentation

Fixes
Fix memory leak in upload mod screen
Create stored objects folder automatically if missing
Copy the node_modules directory with the API definition to user or custom package directory to enable autocompletion in VSCode when not using the game directory.

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2021-11-09 20:50:58 CET ] [ Original post ]

Convenience Update


The next update is here! This one is all about convenience: it brings a new PDF viewer, better object zoom capabilities, grabbing additional objects, selecting multiple hand cards, a new environment selection and more. In addition, the Linux version is now out of Beta and officially listed on the store! Here's the full changelog:

You can now open a PDF viewer window for PDF Multistate objects. The window can be resized, pinned, and maximized to the side of the screen.
The notes window can now be resized and pinned
Allow rotating object manually while using object zoom by holding left mouse button
Allow moving around object zoom of card-like objects by holding left mouse button
A new action is available for grabbing additional objects, mapped by default to "V". You can use it to grab objects at the cursor while you're already holding something. You can also grab more objects from a container, and more cards from a stack. You can change the right mouse configuration in the game settings to return to this action instead of resetting positions of held objects.
Support selecting and moving multiple cards in holder
Select environment in new step when creating new game instead of using drop down box
Save states now store the environment in which the state was created. It is selected by default when loading the state.
Add black and white as standard player colors
When starting a new game with a state that needs packages you don't have, show the missing packages with an option to download them immediately (similar to the list of packages in the server browser)
Player buttons are now highlighted instead of disabled for the selected player
Add button to open package folder in file browser to package editor
Add `GameObject.setScript` to allow changing object scripts from scripting
Add `Card.getAllCardDetails` as a convenient way to get all card details in an array
Show message when a player randomizes a multistate object
Show tooltip for ground containers when hovering with regular cursor (to indicate that you can pull objects from the container)
Support dragging from card stacks and containers by moving mouse even when the cursor doesn't leave the object

Fixes
Ensure that comparison of `SnapPoint` returns true when comparing two references that point to the same snap point
Reset the `onCustomAction` event when a state is loaded or scripting is reset
Screen mode mouse cursor didn't move while mouse button was pressed after using the preview mode template editor
Adding cards to a stack with animation from within its `onInserted` event caused the added card to get deleted
Dragging view stopped when hovering over scripting UI elements
PDFs with non-ANSI characters could not be loaded
PDFs with many pages caused slowdown in editor
Allow adding local-only packages to a game
Script filenames with a ' character did not work

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2021-10-06 12:05:20 CET ] [ Original post ]

Linux Beta, sounds and images from scripts


Tabletop Playground is coming to Linux! The latest update includes a native beta, so if you're a Linux gamer and already own the game, check it out and let us know if you find any issues! As with the Mac version, all features except the Steam Overlay should work. In addition, update incldues many new features for scripting, most importantly the ability to play sounds or music, and images for scripted UI. Here's the full list of changes:

Allow changing opacity (alpha value) for zones
You can now switch off shadow casting for translucent models in the editor
Snapping can now be turned off by default for objects in the editor

Scripting
You can now play sounds from scripts: The new Sound object can play sounds and music from your package or an online source. It supports WAV, MP3, and FLAC files.
New scripting UI widgets: ImageWidget and ImageButton allow you to display images from your package or from the internet
Add clear() command for the scripting console
Add refPackageId which contains the package id of the
Add GameObject.getSnappedToPoint to find the snap point that an object is snapped to
Add GameWorld.showPing to create ping events from scripts
Add GameWorld.getObjectsByTemplateId to get all objects with a particular template
Add GameWorld.getTemplatePackageId and GameWorld.getTemplateName to get more information about a template
Add Card.setCardIndexAt to allow changing cards from scripts
Add return value to Card.split and Card.divide: an array with the newly created card stacks
Don't allow file:// protocol for http requests
Don't copy description of stack to drawn cards

Fixes
Zone ids weren't working consistently and zone events were not cleared when resetting scripting
Measure move mode could not be activated
The shuffling animation for image shape card stacks wasn't working
"Mirror back" option in the editor did not work fro image shape cards with a separate back image
Cards couldn't be flipped right after being dragged out of card explorer
Tooltip now resizes properly when showing long object descriptions
Mirror backs of image shape cards correctly when shown in object zoom
insertedCard parameter of Card.onInserted event did not contain the correct number of cards when adding cards to the front of a stack
Don't remove scripting UI in preview mode when changing in settings while playing

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2021-08-24 20:00:17 CET ] [ Original post ]

New feature available: Zones


Zones are now available! They allow you to change behavior in restricted parts of the playing area. Each zone behavior can be set to affect everyone, nobody, or only owners of the zone. You can set any player color to be an owner, and zones can have multiple owners. The available behavior switches are:

Object visibility: Objects in the zone can be hidden.
Object interaction: Objects in the zone can't be interacted with (but they remain visible).
Cursor visibility: Player cursors in the zone can be hidden from other players.
Snapping: All snap points within the zone can be deactivated.
Stacking: Adding cards to stacks within the zone can be disabled.
Inserting: Inserting objects into containers within the zone can be disabled.

Find out more in the knowledge base: https://tabletop-playground.com/knowledge-base/zones/

Changes
A new cursor mode allows you to create zones by dragging and edit existing zones by clicking or right clicking. You can enter zone mode through the player options or with a new keybinding (default 'U')
The Zone coordinates window allows you to change position, rotation, and size of zones. It also activates a gizmo tool on the selected zone and works like the regular object coordinates window.
In the zone properties window, you can switch shape and color of zones.
The zone behavior window is where you define the owners and behavior switches of your zone.
Zone mode can be forbidden in the session permissions.
A new Zone object is available for scripting. You can get zone objects by using world.getZoneById, world.getAllZones, or world.createZone

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2021-07-15 20:04:26 CET ] [ Original post ]

Gizmos and custom actions



The latest update is now live and brings positioning Gizmos, custom scripted object actions and many more scripting and convenience improvements!

Transform Gizmos: When opening the object coordinates window for a single object, a gizmo appears: it can be switched between move, rotate, and scale modes and allows you to quickly change each using the mouse.
Allow moving camera while UI is open
Turn off physics for objects while coordinates are modified
You can now add favorite directories in the file browser
New option for camera angle snapping: in the game settings, you can set an angle increment (like 60 or 90) to which the camera will snap when it gets close.
Don't allow flipping cards in stack for image shape cards (can lead to visual issues)

Scripting
New `GameObject.addCustomAction` and `GameObject.removeCustomAction` methods and `GameObject.onCustomAction` callback for using context menu items from scripts
Add `Widget.setEnabled` and `Widget.isEnabled` to allow disabling user interaction with widgets
Flipped the `hideAnimation` parameter to `showAnimation` in `Container.insert`, `Container.Take`, and `Container.takeAt` to make it consistent with animation parameters at other points in the API. This change can affect how existing scripts behave, but it only changes animations so it won't break any games.
New `GameObject.flipOrUpright` method to flip cards and generally produce the same behavior as a user pressing "F" for a highlighted object
Call `Card.onRemoved` and `Container.onRemoved` when a player removes items in the stack or container explorer
Updated API definition to specify what functions can return `undefined`
Object events are now reset before the global script runs on loading a state, so you can subscribe to events from the global script (object scripts are unaffected)
Add `Container.addObjects` as an alias for `Container.insert`

Fixes
Zoomed view of multistate objects did not update when state changed
Correct too large return values of `GameObject.getCenterOfMass`
Fix problems with using recent mod.io uploads on Mac
Lines on the side to indicate number of cards in a stack were not updated under some circumstances when adding cards from scripts
With the screen cursor, picking up an object the first time immediately after using chat or console did not work properly

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2021-06-16 18:32:56 CET ] [ Original post ]

Blindfolding and extending running games

The latest update brings blindfolds, scripting updates, and convenience features like adding packages to running games, or mouse and motion controller shake events:

You can now put on a blindfold from the player options or by pressing a key. Blindfolded players can't see anything that happens on the table, but they can still participate in the chat. Everyone can see who is currently blindfolded. Putting on a blindfold also works in VR.
Every player can now add packages to a running game. Previously this was only possible for the host. In addition, you can now add packages that other players don't have yet, they will be asked to download it. Once all players have the package installed, it gets added to the game and is available immediately.
Shaking the mouse while holding objects now clumps them together. If you hold card a card stack and shake the mouse, it will be shuffled. Sensitivity can be changed in the game settings.
Added an option in the card editor (also used for tiles/tokens): When using image shapes, flipping the back image can now be turned off
Allow changing gravity in the session options
A new option in the advanced game settings allows you to use the object zoom on ground objects even when the cursor isn't in ground mode
Allow showing names in container explorer, show and filter on template name if objects have no name
Don't allow taking from or dropping to the underside of card decks when peeking is not permitted
Duplicating a package in the editor now keeps template filenames if they are different from the template GUID.

Scripting
Widgets can now be added again to containers (like Canvas) after they've been removed
Added Player.isBlindfolded and Player.setBlindfolded
Added Card.onInserted and Card.onRemoved callbacks
Added World.getGravityMultiplier and World.setGravityMultiplier
Removed deprecated Player.setPosition and Player.setRotation methods, use Player.setPositionAndRotation instead

Fixes
Remove slight aliasing for tokens and cards with one card per texture when the image had different colors on opposing borders
Remove typos in tooltip for cursor types (#45)
Fix: The object zoom for some objects (like dice and books) did not move with the player camera
Fix: Card front image was sometimes not updated immediately when combining cards from different decks into one stack
Fix: On Mac, "Browse Games" in main menu did not open web browser

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2021-05-26 22:09:07 CET ] [ Original post ]

Mac version, character sheets and scripting UI

The Mac version is now out of beta and officially available!

The new update also adds more options to create complex user interfaces through scripting. It features a new category of UI widgets that group other widgets. `VerticalBox` and `HorizontalBox` give a quick way to create lists of widgets, and `Canvas` gives you complete freedom about where you want to position your widgets.

As an example of how the new widgets can be used, we've implemented a Dungeons & Dragons character sheet! Check it out here: https://tabletopplayground.mod.io/dnd-character-sheet-example. If you want to create your own complex UIs, have a look at the new tutorial: https://tabletop-playground.com/knowledge-base/advanced-ui-character-sheet/

[h3]Scripting[/h3]
Add `VerticalBox` container widget
Add `HorizontalBox` container widget
Add `Canvas` container widget
Add `MultilineTextBox` widget
Allow setting font size on all widgets that contain text
Execute `On...Changed` callbacks on widgets when the respective values are changed from scripts (with player parameter `undefined`)
Text boxes with number input types are now allowed to be temporarily empty while editing, making it easier to enter new numbers
Removed "Reload Scripts" action because it could lead to confusing states and even crashes. Renamed the "Reset Scripting" action to "Reload Scripting" to emphasize that modified scripts are reloaded. Removed `GameWorld.reloadScripts`.

[h3]Fixes[/h3]
Fixed crash that could occur when playing with more than two players and players who joined first left the game
Script UI buttons now play sound when pressed
Latest Unreal hotfix version for Windows and Mac (can help with Unreal related issues)

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2021-04-30 18:02:37 CET ] [ Original post ]

All About Cards Update



A new update is here for Tabletop Playground and it is all about cards! With web textures and flipped stack cards come two highly requested new features, and several further convenience improvements:

Web textures for cards: You can now configure card-type objects in the editor to allow overriding their front image in-game by an image URL on the internet. The scripting API for cards also has new methods to work with texture overrides. This can be useful for loading maps during an RPG session, or creating a package that automatically loads card images from the internet using scripting.

New standard object: The web image object is now available in the object library. It uses the web texture functionality to offer an easy way to add online images to a running game.

Flipped cards in stack: You can now configure card stacks in the editor to allow flipped cards within the stack. Instead of auto-rotating to the stack rotation, cards dropped on such stacks will remain face up or face down as they were. You can't mix cards from decks that allow and don't allow flipped cards in the same stack. The scripting API for cards has been enhanced to allow working with flipped cards in stacks.

The "Peek / Slide Under" key now also works when holding it while dragging from a card stack or "stack" type container: you will draw from the bottom instead of from the top.

Support rotating the object zoom in 90 increments with the keys for rotating highlighted objects (Q/E by default). Does not rotate the zoom for objects that auto-rotate.

The object zoom key now works while using the card stack explorer to instantly show the large image tooltip

Allow even thinner measure lines in the settings, and lower height of the lines depending on their size



Fixes
Cards didn't show changes in editor when changing texture
Object zoom for cards did not take into account changed scale
Objects with shapes generated from images were not copied properly in the editor
Objects with collisions generated from images did not work correctly with containers
Remove crash when trying to load an invalid texture
Mac: Ask for permission to use Microphone to make in-game voice chat work

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2021-04-15 09:27:52 CET ] [ Original post ]

Changelog March 25 - Mac Beta!

This includes several enhancement and fixes, but the most important change is that a Mac beta version is now available! We're not advertising it on the store yet, but if you already own the game and you have a Mac, please check it out and let us know if you find any issues! All features from the Windows version, except for the Steam overlay and joining through the friends list. The TTS Importer application is also included.

Mac beta version
Update to latest Unreal Engine version
Faster load times for card textures
Larger mouse cursors for high DPI screens (like 4k monitors)
Key input guide contains some additional actions
Warn when trying to upload a package without saved states
VR: Use main hand stick left/right to switch states for multistate objects in object zoom
Fixed: For scripting, assignment operator didn't work for delegates (also causing issues with the `fetch()` function)
Fixed: Duplicating packages did not copy hidden card or image shape textures
Fixed VR object zoom size changes not working correctly
Fixed crash for shape generation from some images with very detailed shapes


[ 2021-03-25 19:40:48 CET ] [ Original post ]

Create 3D Models From Images Complete Update



The latest update completes the models-from-images feature: you can now use transparent images as shapes for almost anything: figures, cards, multistate objects, and regular objects. This allows you to use any card shape you want, create tokens with complex silhouettes, or quickly make your own kinds of meeples, all without any 3D modelling!

To make the new feature easier to use, we also redesigned the dialog for creating new objects in the editor. You now get basic options for each kind of object when selecting it, giving you a quick start on what you want to create before going to the full editor screen.

3D Shapes from transparent images are now available for cards, multistate objects, and regular objects
The TTS importer can now import "Token" type objects properly
Overhauled new object template screen
Improved shadow quality
Added small acceleration to camera movements

Fixes
Figures did not mirror the front texture on the back side of the figure
Cards sometimes didn't flip properly when using the flip key with cards on the table
Container explorer didn't show custom colors of objects
Container explorer didn't show objects with non-uniform custom scale correctly
Don't disable start game button for previewing packages from the editor when multiplayer isn't available

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2021-03-04 05:33:58 CET ] [ Original post ]

Creating 3D Shapes From Transparent Images



This update brings the first part of a long anticipated feature: creating 3D shapes from transparent images. You can now use images to create cardboard cutout figures with depth in any shape. Next step: custom shapes for cards, tokens, and tiles!

Figures with alpha textures now get 3D shapes
New option for changing 3D cursor size in the interface settings
New option when creating objects in the editor: automatic straighten up on grab. Now activated by default for figures and for the chess pieces.

Scripting
Add Container.remove and Container.removeAt
Add GameWorld.setShowDiceRollMessages and GameWorld.getShowDiceRollMessages
Add GameWorld.updateUI, GameWorld.removeUIElement, GameObject.updateUI, GameObject.removeUIElement, GameObject.addUI, GameObject.getUIs
Don't call tick functions or advance timers while the game is paused (when a new player joins)

Fixes
Switch off scripting UI interaction while holding objects
Loading option for non-stacking cards correctly
Sometimes the wrong object was dragged out when using the card stack or container explorer
Removed crash when pressing escape while using drag and drop in container or stack explorer

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2021-02-09 05:16:05 CET ] [ Original post ]

Update notes February 8

This update brings the first part of a long anticipated feature: creating 3D shapes from transparent images. You can now use images to create cardboard cutout figures with depth in any shape. Next step: custom shapes for cards, tokens, and tiles!

Figures with alpha textures now get 3D shapes
New option for changing 3D cursor size in the interface settings
New option when creating objects in the editor: automatic straighten up on grab. Now activated by default for figures and for the chess pieces.

Scrpting
Add `Container.remove` and `Container.removeAt`
Add `GameWorld.setShowDiceRollMessages` and `GameWorld.getShowDiceRollMessages`
Add `GameWorld.updateUI`, `GameWorld.removeUIElement`, `GameObject.updateUI`, `GameObject.removeUIElement`, `GameObject.addUI`, `GameObject.getUIs`
Don't call tick functions or advance timers while the game is paused (when a new player joins)

Fixes
Switch off scripting UI interaction while holding objects
Loading option for non-stacking cards correctly
Sometimes the wrong object was dragged out when using the card stack or container explorer
Removed crash when pressing escape while using drag and drop in container or stack explorer


[ 2021-02-08 22:21:31 CET ] [ Original post ]

Unreal Engine And Multiplayer Update



Happy New Year Tabletop gamers Following the holiday break, it is time for a new update!

Although the changelog for this update isn't very long, under the hood this is our biggest update yet: we've upgraded to a new Unreal Engine version, which gets rids of a few longstanding issues that couldn't be fixed before. We've also completely overhauled the multiplayer backend, which will allow cross-platform multiplayer across all launchers and stores in the future.

While implementing these changes, we also squeezed in some new options and convenience features:

Enhancements
New dialog when joining games through an invite or the Steam friends list. Finds missing packages and offers to download them before joining the game.
Joining a game through Steam without the game running now works
Increased physics tick rate for smoother and more stable simulation
Improved physics replication for smoother gameplay on clients
Improved dragging cards from stack with motion controllers
New option for card holders to show card front instead of grey blur or card back for hidden cards, effectively not hiding cards
New option for card-type objects (in editor) to disable stacking
New option for smooth turning in VR

Fixes
SteamVR doesn't start anymore when launching the game without VR (#44)
Snap preview appeared at the wrong height for some angles of composite objects
Removed crash on startup with recent Intel processors that required the OPENSSL_ia32cap environment variable to be set
For clients using 2D or screen cursor mode, cards ended up in the wrong location when drawn from the on-screen hand
Clients in screen cursor mode did not see cursors of other players
When creating a snap point grid in the editor, the center position was a factor of 3 too small
ScriptSlider had issues with values above 1000

We hope you enjoy these new improvements and fixes, but we're also open to suggestions from our community. So please leave a comment here and we hope to see you online!

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2021-01-18 12:38:24 CET ] [ Original post ]

Custom Card Backs



Our latest update brings new options for card backs and the package directory, as well as a number of convenience improvements for the editor and scripting.

General Updates

Cards can now use a custom image to indicate that they are hidden (for example when in another player's hand), instead of the default grey blur. In the editor, you can set part of the front image or a separate texture to be the hidden image
The "Size" text fields in the editor are no longer read-only. You can set the size of any object directly now, with toggleable uniform scaling.
A new "Flip" checkbox in the card editor allows you to show card stacks with the front facing upwards
Thumbnails for flipped cards are now cached, removing loading stutters in the object library when showing flipped cards. For existing packages, flipped thumbnails can be cached by opening the package in the editor and clicking the "Card Fronts" checkbox.
The directory where created and downloaded packages are stored can now be configured in the settings
Added knowledge base link buttons in a few placed in the editor
TTS importer: Fix snap point positions on regular objects
TTS importer: Sort save file names starting with a number numerically



Scripting

Added SnapPoint.getSnappedObject to find the object snapped to a snap point
Text boxes have two new properties: maximum length and input type (either any strings, or only real/whole numbers)
Added GameObject.toJSONString method, deprecate GameObject.toJsonString

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2020-12-02 02:15:56 CET ] [ Original post ]

Mod Converter Update



We've got a new update available! Although it's a smaller one, it includes a new tool that will be of huge benefit to modders.

We've often had questions from creators on how to convert their games from Tabletop Simulator to Tabletop Playground. This update introduces a new tool to make the conversion process much easier.

Find out how to use it on our knowledge base here: https://tabletop-playground.com/knowledge-base/importing-from-tabletop-simulator/

Further improvements:
The editor now has Undo/Redo buttons on top of the screen. You can also press Ctrl+Z or Ctrl+Y to undo or redo changes
The sounds for inserting into and taking objects from containers have been updated
Physical properties (friction, bounciness, density) of card-like objects can now be changed
Improved performance and fixed rare crash when rapidly switching PDF pages

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2020-11-13 05:22:55 CET ] [ Original post ]

Our Biggest Discount Yet And Welcome Dominos!



We're excited to be part of the Steam Digital Tabletop Festival over the next week and to be running our largest discount yet! You and your friends can grab Tabletop Playground for 33% off!

Grab Tabletop Playground 33% Off For A Friend!

The discount will run until the end of the festival on the 26th. So get in quick and grab some copies for your friends, so they can join you for some board games.

Speaking of games, a whole new classic game has been added in our latest update. Along with knocking off another two items from the development roadmap and several other improvements!

Check out all the details for the update below, and be sure to check out all the other great games on sale as part of the festival:

You can now switch to a "screen" style cursor in the interface settings: the 3D cursor isn't shown and you only use the regular hardware mouse cursor. You can select multiple objects using a rectangle on the screen instead of a 3D box.

The lower right corner of the screen now has a switchable dynamic input guide: click on the keyboard icon to toggle hints on what actions you can do using hotkeys in the current context.

Containers can now have an owner, similar to card holders. The container will show the color of the owner, and only the owner can use the container explorer to look at the contents. This allows you to use containers as hidden storage for players, similar to card holders but for any type of object.

You can now set snap points for an object to global from the object properties in the editor. When snap points are global, they cursor does not need to be on the object in order for its snap points to be active. This is useful for tile laying games when you use snap points that are not on the object, for example with Domino pieces.

When an object has a fixed zoom direction for the object zoom (also set in the object properties), the direction will be reversed when the object is lying upside down. Also, the "Below" key allows you to look at the opposite side, like with cards. This is useful for 3D objects that are used in a similar way to cards, with an open and a hidden side, like Domino pieces.

You probably saw where this is going: Domino is now part of the included games!

Added object thumbnails for all included games so the object library loads a bit faster

Added some missing German translations

Fixed a bug where items in a container could get duplicated when the same game was loaded multiple times

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2020-10-22 09:50:30 CET ] [ Original post ]

Enjoy More Color Options In Our Latest Updates!



After a well deserved holiday and break for the main developer of Tabletop Playground, we're back with a couple of new updates.

The first was the more players, more colors, more customization update, which came out a couple of weeks ago. There are now 18 available player colors, and the maximum number of players per game has been increased from 8 to 16.

The default set of colors is optimized so players with color blindness are able to distinguish between them, but you can also set your own colors: While creating or playing a game, you can now change the player colors from the session options. Modified colors are stored in the game state, so you can decide what colors the players in your game should have!



While the newest completes another two items from the roadmap: You now have more flexibility with using colors for cards and card-like objects, and scripts are able to access the internet!

Card objects now have an option in the editor to use their primary color for the sides of the stack. If enabled, the color can be changed in the editor and in the game. Cards with different side colors cannot be stacked.
You can now create cards without a texture: The primary color is used as the front of the card, the secondary color is used as the back.
Scripting: HTTP requests are now supported using the HttpRequest class and the fetch() function. Players will be asked to allow internet access from scripts.
Fix: Could not select no resource in editor (e.g. resetting texture to no texture) when using German translation

We'll also be taking part in the upcoming Steam Digital Tabletop Festival later this month, with the biggest discount we've ever done for Tabletop Playground! So if you have some friends you want to join you for games, let them know about the upcoming sale.

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2020-10-06 06:12:04 CET ] [ Original post ]

PDF Support Has Arrived



The next update for Tabletop Playground is live! The main feature this time is PDF support: you can now use PDF files with multistate objects to easily create rulebooks, guides, and similar objects. We've also added a few other enhancements, which you can check out below.

Enhancements
Multistate objects now support PDF files: you can select a pdf instead of a texture, and each page will become a state
New object type "Book": When you create a new object, select Book and choose a PDF file to create a new Multistate object with the correct size for the PDF.

Scripting
GameObject.attachUI and GameWorld.addUI now return the index of the added UI element
UI elements that have been removed can now be added again

VR
New setting to allow enlarging or shrinking free cursor orb



---

Adding PDF support to the game is one of the many features on the early access development roadmap for Tabletop Playground, which you can check out on Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2020-08-25 06:42:32 CET ] [ Original post ]

New Update Featuring Card Deck Splits And More!



A new version is up! It includes two items from the roadmap that are now finished: card deck splits and saving/loading data from scripts.

Enhancements
Add new context menu option for splitting card decks: you can take a number of cards from the top, split into a number equal sized decks or into decks with a fixed number of cards.
Improved physics stability for object stacks
Added snap points to poker chips to make them easier to stack
Add chat message when player is peeking at the underside of a card
When editing a card template in preview mode, don't reload the stack so you can edit a partial stack without resetting it to full size. Don't allow editing single cards in a card stack from preview mode because it gives inconsistent results



Scripting
Add SetSavedData and GetSavedData methods to GameObject and GameWorld. These methods allow you to store arbitrary information in game states.
Add Card.Split and Card.Divide for splitting card decks

VR
Separate bindings for grabbing and UI clicks, allowing you to bind them to different buttons. By default, they remain on the same button.
Allow scrolling in UI using the main hand analog stick

Fixes
Context menu did not show the correct state when changing multistate object state on clients
Standard chat message (e.g. player using card stack explorer) were displayed in the configured language of the player who caused the message, instead of the locally configured language.
Object UI remained after changing object script
Objects that were flipped while in hand while directly on top of the table (with minimal hold height) were dragging against the table

---

Adding card deck splits to the game is one of the many features on the early access development roadmap for Tabletop Playground, which you can check out on Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2020-08-12 02:05:43 CET ] [ Original post ]

Latest Update Includes Undo/Redo Feature!



Our latest update went live last week, featuring several enhancements and most importantly a Undo/Redo feature.

The main highlight is the new Undo/Redo buttons, that allow you to jump backward/forward in time, coupled with much better performance when loading states while in-game.

We're also now live on Localizor: https://www.localizor.com/tabletop-playground

If English is not your mother tongue and you'd like to see Tabletop Playground in your native language, you can join the translator community and help to make it happen - and you can earn Steam keys for a Tabletop Playground and a number of other games as rewards!

We have activated French, Portuguese, Russian, and Spanish as additional languages for now, let us know if you want to translate to the game to another language!

Enhancements
A new button bar appears when moving the mouse cursor to the center of the upper screen edge. It has an undo and a redo button which load the previous/next autosave.
Autosave interval reduced to 10 seconds
Loading times when already in game drastically reduced, especially in multiplayer
Containers now have a maximum number of items. The number can be set in the object properties or using scripting.

Scripting
Throw exceptions instead of printing a warning for invalid function calls
Adding a new UI element does not rebuild the whole UI for that object anymore (making creating objects with many UI elements faster)
Colors now default to alpha=1 (instead of 0) when no value is given

VR
Virtual keyboard is now shown for scripting UI text boxes

Fixes
Fix memory leak when using .dds textures for cards



The new Undo/Redo feature in action!

---

Adding a Undo/Redo feature to the game is one of the many features on the early access development roadmap for Tabletop Playground, which you can check out on Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2020-08-06 07:26:16 CET ] [ Original post ]

UI Scripting For Tabletop Playground Is Now available!



This time there's not a long list of changes, just one big new feature. The long requested feature UI Scripting feature is now available!

You can use scripting to create user interface elements like buttons or text fields in the world. When players interact with the UI elements, they generate events that you can subscribe to.

Learn how to use it in the knowledge base: https://tabletop-playground.com/knowledge-base/user-interface/



Fixes
Fixed visual issues when highlighting objects that have multiple components, some of which are transparent and some aren't

---

Adding UI Scripting to the game is one of the many features on the early access development roadmap for Tabletop Playground, which you can check out on Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!


[ 2020-07-24 04:42:44 CET ] [ Original post ]