Post news RSS The Destruction Update – Voxel Maps and Radios

BP now supports fully dynamic levels and physical destruction like Teardown. Radios and private chat also added.

Posted by on

VoxelShooting

The Destruction Update Release

1.35 adds a whole new dimension to map design in BP quite literally. No longer are servers restricted to static levels and fixed objects. The game now supports fully dynamic levels with physical destruction like Teardown. Some simple example maps are provided but I’m looking forward to seeing elaborate bank heists and jailbreaks done with actual explosives and physics.

Voxel Map Editing

VoxelEditor

Map editing with voxels can be done with a simple import of MagicaVoxel *.vox files. It’s a very useful (and free) voxel editor. A map can support any number of Voxel entities, and they can be moved, rotated, and scaled to any degree. There are several voxel materials to choose from: textured, normal-mapped, emissive, transparent, or solid. Map designers can achieve the exact look they’re going for. And don’t forget the setup options I’ll cover in the next section.

Dynamic Maps and Destruction

VoxelBattlefield

Of course, voxels allow completely dynamic geometry changes in-game. Watch the world burn and crater into a Moon-like wasteland. Or use the modding API to generate and destroy blocks for gameplay purposes like opening/closing passageways. The destruction can be controlled with settings in the World Builder for each Voxel entity. You can set the hit points for each block, disable destruction, and even alter regeneration settings to your needs.

Procedural Cities

MappingProceduralCity

I’ve forked a Procedural city generator on GitHub so we can get complex cities done in a matter of seconds rather than weeks of intensive map editing. It’s in its very early stages but with continued effort and community input, it could turn out to be an incredible tool. Right now, it just spits out a basic city grid in *.vox format, but I hope to implement full BPM exports with decorations, AI waypoints, map markers, traffic signals, shops, and more automated with the click of a button.

Radios and Private Channels

RadiosPrivateChat

Radios have been a long-requested feature, and they’re finally here with 1.35. Radios are an additional App on smartphones and the new Walkie-Talkies. But they can be used in conjunction with the /channel command so it’s not too restricted. You can use private channels with friends for group text/voice chat. Or you can tune into either Public or Job channels (default Z key) to talk amongst a wider group. Voice chat in general has seen a big overhaul so expect clearer quality and issues fixed.

Other Changes

DrivingProceduralCity

There’s been heaps of optimizations and improvements across the board. Better AI navigation, better mobile aiming, tons of netcode cleanup to reduce server loads, and more. And everything is running on the latest Unity Engine leveraging the new Jobs System and Burst compiler for very efficient operation of both new and old systems in 1.35.

Here’s the full Destruction Update changelog:

v1.35 Destruction Update Changelog

Game Changes:

  • Support for MagicaVoxel map importing
  • New voxel destruction supported (configure in World Builder)
  • Heightmap and Vox files can now be exported from the Builder
  • New UI Radio Bar to show current channel/mode and speaking players
  • Added new Radio App for phones/walkie-talkies etc.
  • Added new keybind and button for changing chat mode (Z by default)
  • Added bp.channel permission and command to change chat/voice channel
  • Update to latest AI Pathfinding package
  • Optimized NavMesh generation slightly
  • More failsafe checks for pathfinding
  • AI will jump if next nav point is steep (and not climbing)
  • Pathfinding logging reduced to Errors Only
  • Murder messages fixed in LifeSource
  • Fixed potential for negative damage on explosions
  • Use an optimized apartment layout for navmeshing
  • Added a Submit button to TextPanel
  • Fixed heightmap broken materials when more than 1 present
  • Added Humanoid and Mob .blend files for cleaner modding (WIP)
  • Added Modding Guide info on properly exporting from the blend files
  • Offline menu works with maps with spaces in the name
  • More Camera/Bounds fixes for scaled and rotated mountable mods
  • Fixed trigger issues when entering/exiting hidden interior vehicles
  • Sync and display HP on all ShDestroyable types like AT Guns
  • Light and LensFlare texture references copied over with ReferencePrefabs
  • Use climbState to adjust AI look direction during navigation
  • Try to keep current Autoaim target if look input is zero
  • Recoil tweaks and difficulty increased (WIP)
  • Fixed some input mode desync and unnecessary network traffic
  • Minor Resources lookup optimizations
  • Fix NPCs following wrong waypoint types after dismounting
  • Fix inventory desync when NPCs rob players
  • Fixed EquipablePoser to animate with 1.3 skeletons
  • Fixed echo in Settings Menu Microphone tester
  • Fixed decoding multiple concurrent voice streams
  • Better map/entity streaming on server entry for large data
  • Fixed some minor App menu layout errors
  • Minimaps will update display for each interior now
  • Added Ukrainian language translations (Thanks dinizzka)
  • Adjusted some volume balancing
  • Unity and packages updated to latest
  • Removed Herobrine

API Changes:

  • New Voxel event class added (More events coming later)
  • Fixed some missing namespaces
  • Use HashSet for command lookups
  • Mount event implementation moved to GameSource
  • Some ShGun parameters/functions moved up to ShWeapon base class
  • Global/LocalChatMessage events & packets renamed to ChatGlobal/Local
  • New ChatVoice event added
  • New handling for ChatLocal messages depending on SvPlayer.chatMode
  • SvPlayer.ResetZoom renamed to ResetMode
  • Net serializer now supports ushort, int3, and Color32 for new features
  • PlaceItemCount moved to SceneManager
  • Heightmaps data update (‘pngBytes’->’heightmapData’ to update old maps)
  • New ‘Always Visible’ Entity parameter (entities always loaded on clients)
  • SvEntity.Despawn() renamed to Deactivate() for consistency
  • GameSource fix for dead NPCs stuck in vehicles

See you!

-Benz

Official Discord

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.