The Ambience Update – Dynamic Lighting and Weather

Ambience Update

The Ambience Update Release

I’m excited to announce that the Ambience Update is now live, bringing enhanced dynamics in lighting and weather to Broke Protocol. This update introduces a darker tone and more realistic effects, creating a richer and more immersive experience. Many of these changes are backported from another project, with more improvements on the horizon. Here are the details:

Dynamic Lighting

Ambient Lighting

Servers will now feel significantly different depending on the time of day. With all platforms now using the same shading model, I can finally introduce dynamic lighting that is consistent for everyone. Nights will be much darker, with streetlights and cars illuminating the roadways. Servers can adjust light intensities using new lighting commands, ensuring maps are well-lit.

New Weather Effects

Lightning

Weather is now more dynamic, featuring windswept rain and lightning effects. Enhanced particle effects and bright flashes accompany lightning strikes, which are synchronized for all players. This can be crucial for stealth gameplay. Future updates may include snow and ground slickness shaders.

UI Improvements

Menu Scene

The UI has received major enhancements. You’ll notice a new background scene for visual appeal, and the server list is now more responsive. Servers are rendered immediately while being pinged and sorted in the background. I’ve added color-coded labels for easier readability and a new feature to highlight ‘Featured’ servers, prioritizing well-developed servers with higher rankings.

Other Updates

Version 1.43 includes numerous fixes, particularly for static mesh rendering on servers using custom map objects. This is the first release on the full Unity 6 engine build, so we encourage all modders to upgrade their projects and review the API changes below.

Here’s the full Ambience Update changelog:

v1.43 Ambience Update Changelog

  • Game Changes:
    • New rain and lightning particles
    • Removed floods
    • Dynamic lighting changes based on time of day and destruction
    • Darker nights with better ambient lighting
    • New environment commands: /MainIntensity and /AmbientIntensity
    • Visual weapon recoil now depends on zoom level
    • New main menu scene
    • Added custom styled display for featured servers
    • Optimizations on server load/join
    • Server Browser displays immediately while pinging in background
    • Minor UI improvements and color-coding
    • Translation updates (thanks Blueberry)
    • Fixed some errors with Deformable components
    • Minor road mesh fix
    • Minor World Builder UI adjustments
    • Fixed static object mods not spawning in-game
    • Some particle effect fixes
    • Update to latest Unity engine version and packages
  • API Changes
    • lightsObject moved from ClTransport to ShTransport
    • Environment packet has new values for light intensities
    • Deprecated and Renamed Methods
      • ShEntity.GetPosition -> Serialized.Position
      • ShEntity.GetRotation -> Serialized.Rotation
      • ShEntity.GetRotationT -> Serialized.RotationT
      • ShEntity.GetOrigin -> ShEntity.Origin
      • ShEntity.GetPlace -> Serialized.Place
      • ShEntity.GetParent -> Serialized.Parent
      • ShPhysical.GetStanceIndex -> ShPhysical.StanceIndex
      • Serialized.GetChildIndex -> Serialized.ChildIndex
      • Place.GetIndex -> Place.Index
      • Place.GetEntranceDoor -> Place.EntranceDoor
    • Renamed Methods
      • ShEntity.GetPlaceIndex -> Serialized.GetPlaceIndex()
      • SvEntity.GetDoor -> SvEntity.GetDoor()
      • ShPlayer.GetControlled -> ShPlayer.GetControlled()
      • ShPlayer.GetMount -> ShPlayer.GetMount()
      • ShItem.GetSortableName -> ShItem.SortableName
      • SvManager.GetMainGraph -> SvManager.MainGraph
      • Serialized.DirectionIndex() -> Serialized.GetDirectionIndex()
      • SceneManager.PlaceItemCount() -> Place.GetItemCount()
    • CustomData class rewritten with new utility methods
API Changes

See you!

-Benz

Official Discord