HomeGamesUpdatesPricingMethodology
Steam News16 September 20223y ago

Improving the Grid

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.

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

6 fixes4 additions5 changes1 removal
  • Performance
  • Maps
  • Gameplay
  • UI and audio
  • Fixes
  • Server
addedHey 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.
addedGrid ImprovementsI 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.
changedGrid ImprovementsThe 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.
changedGrid ImprovementsAdditionally, 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.
addedNew Soil MaterialsFor 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.
addedNew Soil MaterialsThe 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.

Battle Map Studio changes

addedHey 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.
addedI 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.
changedThe 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.
changedAdditionally, 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.
addedFor 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.

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

Steam News / 16 September 2022

Open original post

Changelog.gg summarizes and formats this update. How we read updates.