The Ballistic Update – Mobile Modding

Custom Homes

Ballistic Update Official Release

Big update incoming to Broke Protocol on PC and mobile today. The Ballistic Update features reworked gunplay, sights, projectiles, and reloads. But that’s not all – a big change is allowing modding for both Mobile users and non-Steam servers too. And even more modding options are on the way.

New Bullet Physics

Ballistic Weapons

Guns now fire actual projectile bullets. No more dated raytracing and questionable hit registration. The bullet scanning has been re-written to be physically accurate with little additional overhead. Make sure to adjust for bullet drop and target movement with long range engagements. This is just the first step on an engine overhaul I’ll be doing from the ground up.

Incremental Reloads

Shell Reloads

Gun reloading has also been moved completely serverside to prevent hacking and desync issues. While working on this, I was also able to add incremental reloads for shotguns and bolt-action rifles. Bullets are loaded individually and can be interrupted at any time by firing. Some animation cleanup was also done.

Mobile Modding

Custom Servers

Full AssetBundle creation is now supported on mobile as well non-Steam servers. A new AssetBundle export format (*.bpa) was created to handle any platform. Mod makers will have to re-import the new BPResources.unitypackage into their projects and export their mods with the new format. I’ve seen some amazing work including uniforms, shops, and vehicles. Will showcase more creations as they turn up.

Server UI and Classic Auth

Server UI

Non-Steam servers can now take advantage of an updated UI renderer based on Chromium Embedded Framework (CEF). It’s an incredibly powerful solution to allow HTML, CSS, and JavaScript to render and execute modding and UIs on clients. More details on BP’s GitHub Pages. An alternative lightweight Server UI solution is also coming later that aims to be cross-platform and fast.

Other Improvements and Additions

Thai Language

BP has gotten some international attention on both Mobile and PC. So we’ve added a Thai language option for players in the Land of Smiles. Also, many optimizations have been made for a smoother gameplay experience and less laggy servers overall. Look forward to feed back on that front.

Android version of the game should update (roughly) around the same time as PC but apologies in advance for any hiccups along the way.

Here’s the full v1.04 changelog:

v1.04 Ballistic Update

  • Projectile Bullets and re-worked hit registration
  • New tracer effects (different bullet types later)
  • Incremental reloads for Shotguns and Winchester
  • Assetbundles supported on Mobile and PC
  • Added Thai Language setting
  • New multi-platform AssetBundle/mod format (*.bpa)
  • Mods must be rebuilt using new BPResources (Unity 2019.3.3)
  • Asynchronous World Builder loading with cancel option
  • Boosted file transfer rates
  • More accurate ironsights
  • Winchester scope tweaks
  • Crimes can be witnessed at close range regardless of line-of-sight
  • General memory cleanup and fewer heap allocations
  • Some entity activation optimizations
  • Fixed disappearing equipment from menus
  • Detonator held properly
  • Added inventory desync fixes
  • Animation transition fixes
  • Fixed crouch animation corruption
  • Fixed binoculars zoom
  • Fixed bazooka grip during sprint
  • Added SvManager.DrawLine() for client rendering (debugging)
  • ‘jobIndex’ moved into ‘JobInfo’ class
  • Job ‘==’ and ‘!=’ overrides for Job class
  • String sanitization moved strictly server-side
  • Message color parsing done all on the client (server must sanitize)
  • Updated CleanMessage() to filter color delimiter ‘&’
  • BPResources Audio and Particle references added
  • Added Car and Gun example meshes to BPResources
  • Update Unity Engine 2019.3.3
  • CEF library update and minor fixes & optimizations
  • Added CEF (Server UI) option in client settings
  • CEF allowed on classic auth servers (though only for PC users)
  • EventHandler has 2 calling functions now: Exec() and Get<>()
  • Added new GameSource events for modding:
  • See BrokeProtocol.API.GameSourceEvents
  • -ManagerUpdate
  • -ManagerFixedUpdate
  • -PlayerBuyApartment
  • -PlayerInvite
  • -PlayerKickOut
  • -PlayerSave
  • -EntityInitialize
  • -EntityDestroy
  • for API changes

See you!