1. BlastZone 2
  2. News

BlastZone 2 News

Greatly improved particle CPU core scaling and bug fixes (v1.32.5.0) (+Hotfix)

A new update has been released for BlastZone 2. (v1.32.5.0) This update focuses on greatly improving multithreading core scaling for the particle system.

This update greatly improves particle system workload distribution to CPU cores. This improves overall particle performance for all CPUs with more than 2 cores/threads, and makes the amount of performance gained much closer to linear with the number of CPU cores/threads available. For example, a 6 core/12 thread test system has a 57% particle performance boost from this update, and now has a 5x performance boost when compared to single threaded performance. In previous versions, core scaling was closer to 3.2x for the same system. Also, a 4 core/8 thread test system now scales at 3x performance when using multithreading, compared to about 2x in previous versions.

As a measure of absolute performance, this latest release can run over 110k particles at 60fps on a 6 core/12 thread CPU, while previous versions were limited to 73k to maintain the same framerate on the same machine. Maximum particle counts seen in regular gameplay scenarios are around 20-25k at VeryHigh detail, so it will run at full performance on lower end, lower core count CPUs.

This update also includes a game-side mitigation for drifting issues that affects some XInput gamepads. This was caused by faulty gamepad hardware, and this update should fix it for most users, or at least reduce it.

This update also migrates to the latest Steam API release v1.51.(up from v1.46) This includes all the latest fixes and improvements for Steam functionality.

**A hotfix has been released for this update that fixes a critical Demo version startup softlock. This also includes a particle system precaching bug fix, saving about 30mb of memory.

For more details, here are the full release notes for v1.32.5.0:
  • Particle system now scales much better with more CPU cores/threads
    -Up to a 57% performance gain for particle system updates
    -This was measured using a 6 core 12 thread 4.0ghz CPU test system
    -Systems with more cores will scale better than this
    -Stress tests have shown over 110k particles running at 60fps with these optimizations
    -This was measured using a 6 core 12 thread 4.0ghz CPU test system
    -In previous versions, this same system would be limited to 73k particles to maintain 60 fps
    -The particle subsystem that calculates and distributes CPU thread workloads has been greatly improved
    -Speeds up the time it takes to calculate the workload for each CPU thread
    -Has the ability to launch all CPU thread workloads simultaneously
    -Greatly improves CPU core parallelism
    -Previous versions would gradually load each CPU core as the workloads were prepared, leaving some CPU cores idle some of the time
    -Performance now scales close to linearly with the number of CPU cores/threads available
    -This update does not affect machines with 1 or 2 CPU cores/threads
    -This requires atleast a 4 core, or a 2 core/4 thread CPU to take advantage of these improvements
  • Increased XInput gamepad analog stick deadzones by 25% to fix drifting issues for some gamepads
  • Migrated to Steam API v1.51 (from v1.46)
  • HotFix - Fixed a particle precaching bug
    -Reduces memory usage by about 30mb
  • HotFix - Fixed a startup soft crash for the demo version
  • HotFix - Fixed a text flicker when opening the final demo quit screen
  • HotFix #2 - Smoothed out particle emitter behavior for low framerates
    -Takes inter-frame time intervals into account when calculating new particles

As usual, to make sure you have the latest update, launch the game and check the lower left corner for “v1.32.5.0” or higher. Enjoy!

P.S. - You may have noticed most updates over the last year or more have focused on technical improvements and optimizations, with gameplay-related elements only getting occasional adjustments. This is because I’ve been working on a new game project that shares the same engine as BlastZone 2. All engine improvements I’ve been making for the new game have been released for BlastZone 2 so everyone can benefit from them. More information is coming soon!

Greatly improved minimum and average particle performance (v1.32.4.0)

A new update has been released for BlastZone 2. (v1.32.4.0) This update improves performance in a few aspects of the particle system and fixes bugs.

The biggest improvement in this update is a big performance boost when hitting the foreground particle cap. This dramatically improves the minimum particle update rate when the whole screen is filled with particles. This applies to all particle detail levels except for VeryHigh, as that doesn’t have a particle count cap. The amount of performance gain has a wide range and depends on the rate of new particles being spawned while the cap is reached. This ranges anywhere from about a 10% boost, all the way up to a 800% boost for extreme test case scenarios. In common gameplay scenarios, the boost is around 50-60% in specific cases, which is still quite substantial. Please note this only affects the asynchronous update rate of particle movement and has no effect on the framerate of the rest of the game.

Player ship booster particle rendering has been optimized to run many times faster, improving overall performance by 5-10% at all times during gameplay. This was done by combining all booster particles into a single draw call. It was the last remaining particle effect lacking this optimization after the v1.32.0.0 overhaul a few months back.

For more details, here are the full release notes for v1.32.4.0:
  • Improved performance for player ship booster particles
    -Improves overall performance during gameplay by 5-10%
    -This completely reworks how the player ship booster is rendered
    -In isolation, the booster now renders 20x faster
    -This was the last particle effect not upgraded to a single draw call from the v1.32.0.0 update
  • Greatly improved performance when the foreground particle limit is reached
    -Affects all particle detail levels, except VeryHigh
    --VeryHigh has no particle limit
    -Greatly improves the minimum update rate for particles in the most intense scenarios
    -Improves particle performance from 10% up to 800%
    --Depends on the rate new particles are being spawned
    --The 800% figure is from an extreme stress test scenario
    --More common in-game scenarios will be closer to 50-60% in specific cases
    -This update deletes the oldest particles when the limit is reached
    --In previous versions, older particles were culled out, but were still being simulated
    -This update has no effect on the rendered framerate of the rest of the game
    --Only improves the asynchronous update rate of particles
  • Improved particle multithreading when both foreground and background particles are on screen
    -Improves performance by up to 16% when both particle types are on screen
    -Makes no difference in performance when only foreground or background particles are on screen
    -The main game doesn't use background particles, so most players won't notice a difference
  • Added an opening fade in animation for the gameover screen
  • Fixed the gameover screen default menu selection being incorrect
  • Fixed a rare bug that didn't clear out all particles when changing scenes
  • Fixed rare background particle graphic artifacts
  • Slightly improved background particle rendering performance
  • Reworked how draw call and triangle counting is calculated for debug displays
    -Much more accurate now, previous versions missed some draw calls and triangles in the counting process
    -This is only used for debug displays, not used otherwise

As usual, to make sure you have the latest update, launch the game and check the lower left corner for “v1.32.4.0” or higher. Enjoy!

Maintenance Release (v1.32.3.5)

A new update has been released for BlastZone 2. (v1.32.3.5) This is a maintenance release that makes a few technical improvements to the game engine.

Terrain loading speed on startup has been improved, primarily for running the game from a mechanical hard drive. The biggest difference can be noticed for VeryHigh and Extreme terrain detail.

For more details, here are the full release notes for v1.32.3.5:
  • Optimized background particles CPU load
    -Improves CPU-side performance by up to 38%
    --Combines multiple particle update operations into a single pass
    --The main game doesn't use background particles, so most users won't see a difference in performance
    -Does not affect foreground particles (explosions, bullet trails, etc)
  • Improved terrain loading speed on startup for mechanical hard drives
    -Makes the biggest difference for VeryHigh and Extreme detail terrain
  • Fixed a rare issue when the startup loading bar or score uploading bar may briefly not display the correct fill value

As usual, to make sure you have the latest update, launch the game and check the lower left corner for “v1.32.3.5” or higher. Enjoy!

Leaderboards fixed!

The world leaderboards are now fully functional again! Apologies for any inconvenience, as they were down for a while following a server migration. All score data has been fully recovered as well.

Please note, this is a server-side fix and does not require a game client update to work.

PS: I've noticed a number of players have surpassed me (EagleEye) in the leaderboards! I accept the challenge, and will be working hard to regain those top spots! ;)

Improved sound multithreading, dialog box scripting, loading bars (v1.32.3.4)

A new update has been released for BlastZone 2! (v1.32.3.4) This makes a few improvements to sound system multithreading, including a new sound event handling system. This fixes many very rare crash issues and rare missed sound events. These issues may have never been seen by most players, and required very specific timing of thread collisions, but have now been addressed.

This update also improves the dialog box scripting system. The effects of this aren’t noticeable when playing the game, but makes it easier to adjust dialog boxes from a development standpoint. Also, loading bars have been completely reworked, improving progress smoothing, rendering performance, and being better designed so more improvements could be made in the future with less effort.

For more details, here are the full release notes for v1.32.3.4:
  • Reworked the way sound system events are handled
    -Fixes very rare crash bugs related to audio multithreading
    -Fixes very rare instances of sounds not playing
  • Updated dialog box script file format
    -Uses slightly less disk space
    -Makes it quicker and easier to change dialog text
  • Reworked loading bars
    -Improved smoothing of loading bar progress
    -Optimized rendering and multithreading support
    -Applies to the game startup loading bar and the leaderboard score uploading bar
    -Unifies all loading bar logic to prevent bugs and makes it easier to make more improvements in the future
  • Added antialiasing to the startup loading screen and the leaderboard score uploading bar

As usual, to make sure you have the latest update, launch the game and check the lower left corner for “v1.32.3.4” or higher. Enjoy!