Hey, happy Spring Equinox! So in the middle of preparing an update for February I had to switch focus onto adding support for [Tilt Five®](tiltfive.com) multi-headset support because Battle Map Studio is being demoed at the Tilt Five GDC booth (Booth #P1770) this week!
Check out Tilt Five @ GDC!
For the last month or so, I’ve been incredibly busy reworking the Battle Map Studio codebase to allow for multiple local players. I also created a new demo version of Battle Map Studio.
Tilt Five Multi-Headset Support
While Battle Map Studio was designed for multiplayer online play, I hadn’t spent much time designing for local multiplayer play. Reworking years of code that was developed for a single local player to work for multiple local players was a major task. Codewise, this might be the biggest update I’ve made to Battle Map Studio.
I won’t bore you with all of the specifics of what I needed to change (mostly because just about the entire codebase was affected in one way or another), but here’s a list to get an idea of some of the things I had to do:
- Reworked Input system for selecting blocks, moving/attacking with units, and interacting with objects.
- Separateed painting tools – like brush, blaster, and dragger – for each player.
- Created GUI’s for each player.
- Reworked most panels to be hooked with an associated player.
- Implemented panel sharing for environment-specific panels.
- Split up each client into multiple players for online play.
- Updated camera controls and hotkeys to work for each player.
- Reworked chat, dice rolling, and character ownership.
- Created settings for each player.
- Updated device management so that headsets and wands were connected with correct players.
- Reconfigured static objects, like clipboard, gizmos, and file collections, to be player-specific.
Now when you plug in two or more Tilt Five headsets, Battle Map Studio automatically recognizes the additional headsets and sets up everything that each player needs to create and edit environments.
The cool thing about integrating multi-headset support was that it forced me to completely restructure everything in Battle Map Studio to work with multiple local players, which opens up possibilities of using other input devices for local multiplayer world-building instead of or in addition to Tilt Five wands and glasses.
New Demo
I worked with Tilt Five to create a simple demo of Battle Map Studio for players to test out at GDC, which is now available to download for free on the Steam page.
In this simple demo you can play around with several fun tools, like the growth brush, rock blaster, and river brush. Build island maps with a curated desert palette of palm trees, sandstone rocks, cactuses, and arid grasses.
Polish
Here are the list of changes, fixes, and upgrades:
Radial Menu
- Reworked the radial menu interface and updated the buttons available.
- Tilt Five radial menu and desktop radial menu have been merged.
- Radial menu now changes button groups based on context. For example, if a character is hovered, movement, attack, death, and switch state appear on the first level of buttons.
- Added a back button to return to the previous group.
Tilt Five®
- Updated Tilt Five to 1.3.0
- Disabled janky drag selection.
- Holding trigger and left click over a character now starts attack.
- Control scheme can now be accessed in the info section of the main menu.
- Changed B key to be Ctrl.
Other
- Many wall materials can now be painted on blocks.
- Tile materials can now be painted on blocks and set as the terrain material.
- Fixed bug where radial menu could not be activated.
- Fixed a bug where rotating around a pivot position would not work correctly.
- Fixed visual bug where cameras were not rendering correct layers.
- Fixed a visual issue where in world effects would not render on the correct camera layer.
- Fixed a bug where water and other liquids would flicker.
- Updated to MixCast SDK 2.5.1
- Updated Unity to latest 2022.2 Tech Stream version.
- Centering the view now accounts for center Y position.
- Increased speed of loading block components, like plants rocks.
- Fixed a visual issue where selecting the None option in the Quick Wall window would not display the selector as selected.
- Fixed a visual issue where elevation labels on the map capture panel were not positioned correctly.
- Elevation labels now scale when zooming in and out in the map capture panel.
- Fixed a visual issue where blocks were brighter than the terrain
- Fixed a bug where inputting a transform value from the selected object input would not log the change.
- Fixed a bug where single-clicking a layer would shift the camera (should only be double-click).
- Fixed a bug where light range and intensity would not scale with object scale.
- Fixed an asset id bug that caused Wooden Shelf assets to not appear.
- Fixed a system bug where a component was set on entities without the component.
- Fixed a bug where water and other liquids would not be removed when a terrain material was painted on liquid blocks.
- Fixed a visual issue with the map capture panel where the zoom slider was backwards.
- Fixed a bug where upon starting the application in offline mode, things wouldn't initialize correctly, resulting in hotkeys being disabled until the home panel was opened.
- Fixed a bug where some selectors would be ignored and not created in the palette view.
Enjoy!
-Bradley
Changed files in this update