In this update4
Full notes
Full Battle Map Studio update
Read the full published notes in a cleaner layout. The original post stays linked below.
Repeated intro
Hey everyone, I hope you’re all doing well and enjoying your week! For this update, I improved the grid system performance, added many new soil materials, and played around with MixCast and hand tracking.
What changed
- Performance
- Maps
- Gameplay
- UI and audio
- Fixes
- Server
Battle Map Studio changes
Grid Improvements
I have been incrementally improving the efficiency of how the grid updates when changes are made to the map. Now, when you add or change a block or block “component” (like a plant), the system is much smarter in determining what to change.
The Battle Map Studio grid framework is built on Unity DOTS (Data Oriented Technology Stack). The framework takes advantage of Unity’s burstable job system, which makes iterating over many entities very fast. Even though the jobs run much faster than an Update method on a Monobehaviour, scheduling an update job more often than necessary can certainly decrease performance. In the last update, I improved job performance by making the job scheduler more selective about how when update jobs should run.
Additionally, since an update job iterates over all blocks, changing one block would previously trigger an update job that checks every block entity for changes. Not good, however it can be difficult to filter out what to change when some updates do affect other blocks or block components. For example, raising elevation on a block would update the block and all of the block components sitting on top of the block. In this update I made big changes to how the update system filters out blocks that do not have pending visual changes.
New Soil Materials
For some reason I had an urge to find new soil materials that’d look great in Battle Map Studio. I added over two dozen new terrain materials, and updated several materials that were old and kind of ugly.
The new materials include nine sand materials, four mud materials, four lush grass materials, four forestland materials, three snow materials, two rooty materials, and a mossy material.
Fun with Tilt Five, MixCast, and Ultraleap
Recently I've been experimenting with MixCast, software for compositing and recording Tilt Five gameplay, and hand tracking cameras and software built by Ultraleap.
Check out these videos I made! https://www.youtube.com/watch?v=0uliSsNEPkA https://www.youtube.com/watch?v=qfIv1kM1x-Y
Hand tracking and other experiments I’m doing aren’t a big focus for me, but they are fun to work on nonetheless. I’m still experimenting with, developing, and refining hand tracking tools, so they won’t be available yet, but I thought it’d be fun to see how things are progressing!
Polish
Alt-scrolling using the eyedropper now includes units and props behind units and props on the hovered block.
Now while painting, holding Z will disable hovering over props and characters that are blocking target blocks.
Alt + Z and Alt + X no longer move the camera vertically up and down since there are other hotkeys that do the same thing.
Some soil selectors are now organized into style groups for easier categorization.
Increased the max number of audio emitters to prevent distorted audio when many audio sources are playing.
Significantly improved performance of many bulk block update actions.
Fixed a visual bug where highlighting a block (e.g. selecting a block) would not work.
Fixed a bug where clicking on a panel would make a sound even if the panel was not visible.
Fixed a bug where light intensity wasn't sent to other clients when updated.
Fixed a few network bugs where updating certain settings would continuously send network events to change the setting.
Fixed a visual bug where activating a selector from a hotkey would not update the display in the palette.
Fixed a shader bug that caused discoloration in some materials.
Enjoy!
-Bradley
Source
Changelog.gg summarizes and formats this update. How we read updates.
