1. BlastZone 2
  2. News

BlastZone 2 News

Major technical improvements and bug fixes for BlastZone 2 (v1.30.0.0)

A new update has been released for BlastZone 2 (v1.30.0.0), bringing major technical improvements and a few bug fixes.

The biggest part of this update is a newly overhauled VBO code path for the engine subsystem that processes geometric detail. Overall performance of this code path has increased by 35-75% depending on system hardware and settings, and triangle throughput has increased by up to 200%. This was originally exclusively used on Android for compatibility and performance reasons, but these improvements have made it the new default option on PC. It also has the most consistent performance across a wide range of hardware configurations. It addresses a performance drop issue for NVidia hardware running VeryHigh/Extreme terrain detail, and greatly increases Intel graphics performance across the board compared to previous releases. A new option was added to the external configuration program to switch back to the old DisplayList code path, as it is still the more performant choice for AMD/Radeon graphics, but only by a 10% margin.

The particle system has also seen big improvements for this release. Particle count efficiency has increased by up to 35%, depending on system specs and settings. This was achieved in part by increasing the amount of reused data between frames, and a new concurrent vertex streaming system.

Several optimizations have been done to reduce load times as well, both for game startup and switching scenes. These are a combination of serial and multicore optimizations, and running VeryHigh or Extreme quality terrain sees the most benefit.

Graphics hardware feature level checks have been added to the game as well, improving compatibility with old systems. Now, systems that don’t support OpenGL 2.0/3.0 will fallback to OpenGL 1.5. Also, systems that don’t support OpenGL 1.5 will fall back to earlier levels of 1.X, but going down too far compromises the experience. Despite the compatibility improvements, it is still highly recommended to stay within the minimum spec of the game.

The game executable and all dll’s have migrated to the VS2015+ runtime as well, so the old VS2010 runtime is no longer necessary.

A few bug fixes have been included in this update as well, detailed below.

Here are the full release notes for v1.30.0.0:
  • The game now defaults to a newly overhauled VBO-based draw call code path
    -This changes how geometric detail is managed in memory and submitted to graphics hardware, greatly affecting performance across the entire game
    -A new "DrawCallType" option has been added to the external configuration program to change this back to the old DisplayList code path if needed
    -This option can be changed independently from the version of OpenGL renderer used
    -There are 2 available options:
    "VBO" - A new draw call code path that provides the most consistent performance across the widest range of hardware configurations
    -This was previously only used for the Android version of the game, but is a viable option on PC now
    -This has been completely overhauled, including the following features:
    -Analyzes every model loaded and selects the most optimal rendering method for each one
    -When optimal, model data is transcoded to a compressed format in memory
    -Performance has been greatly improved compared to this same code path in previous versions of the game
    -Triangle throughput has increased by 100-200%, depending on how each model is built
    -Terrain triangle throughput in particular has increased by about 200%
    -General performance has increased by 30-75%, depending on the combination of hardware and settings
    -Scene change loading times are reduced significantly
    "DisplayList" - The draw call code path used for previous versions of the game
    -Option suggestions for each graphics card vendor:
    AMD/Radeon - DisplayList is preferred, being 10% faster than VBO
    NVidia/Geforce - VBO is preferred, it fixes a severe performance issue when using VeryHigh/Extreme quality terrain with DisplayLists
    Intel integrated - VBO is many times faster in all situations than DisplayList and should always be used
  • Added graphics hardware feature detection in several areas
    -If the OpenGL 2.0/3.0 renderer is used for hardware that does not support atleast OpenGL 2.0, it will automatically fallback to the OpenGL 1.5 renderer
    -If the graphics hardware does not support the full OpenGL 1.5 spec, the renderer will automatically fallback to the highest feature level supported
    -Can fallback to a minimum of OpenGL 1.1 if needed
    -Using these fallbacks will only occur for hardware below the minimum spec for the game, so features will be missing and graphics may not look correct
    -This was done to allow very old systems to atleast run the game, but in a compromised state
  • New optimizations for the particle system
    -Improved per particle efficiency by up to 35% depending on system specs and settings
    -More data is now reused between frames, reducing workloads on both the CPU and GPU
    -Dynamically switches between multiple rendering code paths to achieve the best performance depending on the number of particles on screen
    -Built a new concurrent streaming system for vertex data, improving frame pacing and performance
  • Improved game startup time and scene change loading times
    -Improved scene change time with multithreading optimizations
    -Improved startup screen loading time by improving per-thread performance for the model loader
    -The biggest difference is observed when using VeryHigh or Extreme quality terrain
  • Improved performance for VertexLit and NormalMap shaders
  • Added the ability to keep the command console open for multiple commands by pressing the tilde '~' button
    -The existing 't' single command hotkey is still available to use old behavior
    -Press Esc to close the command console
  • Added an option to turn off particles from the Configuration Program
    -This option was previously only available in-game
  • Fixed compatibility issues with the external model loader for a few model file format variations
    -All models currently included with the game did not cause any compatibility issues
    -This prevents new models from causing issues in the future
  • Fixed an intermission player booster not displaying when one player dies right before beating a level in a 2 player game
  • Fixed the player revive text occasionally flashing in a 2 player game
  • Fixed a startup bug that attempted to compile HUD models before OpenGL is fully initialized
  • Fixed a single incorrectly rendered frame after completing the startup loading screen
  • Fixed a potential OpenGL resource conflict in the particle system when applying new in-game video settings
  • Fixed particle emitters occasionally spawning too many particles when running at a low frame rate
  • Migrated to newer versions of a few 3rd party libraries
    -FreeType v2.10.1; Used for generating fonts
    -LibOgg v1.3.4; Used for music playback
    -cURL v7.66.0; Used for leaderboard uploading/downloading
    -SteamAPI v1.46; Used for Achievements, friends list, and Steamworks Online Multiplayer
  • Rebuilt a few 3rd party libraries with Visual Studio 2019 - Utilizes the latest compiler optimizations and bug fixes
    -LibVorbis v1.3.6
    -LibPNG v1.5.30
    -zLib v1.2.11
  • The game executable now requires a Visual Studio 2015 or higher runtime installed
    -This is now included with the Steam download, so it will be installed automatically

As usual, to make sure you have the latest update, launch the game and check the lower left corner of the title screen for “v1.30.0.0” or above. Enjoy!

Added Ultra-Wide 21:9 resolution support for BlastZone 2 (v1.29.4.3)

A new update has been released for BlastZone 2, (v1.29.4.3) adding ultra-wide 21:9 resolution support to the game. However, using these resolutions has no effect on gameplay or field of view. Black bars are used on the left and right sides to fill the space outside the standard 16:9 viewport. The main purpose of adding these resolutions is to allow 21:9 monitors to run at their native resolution without scaling or letterboxing.

Here are the full release notes for v1.29.4.3:
  • Added 3 new ultra-wide 21:9 resolutions
    -2560x1080
    -3440x1440
    -5120x2160
    -Black bars are added to the left and right sides when these resolutions are used
    -Gameplay and field of view are not affected by these resolutions
  • Updated the config menu to use a "(4:3)" or "(5:4)" suffix for resolutions that are 4:3 or 5:4, such as 1024x768
  • Updated the configuration program to support the new 21:9 resolutions

As usual, to make sure you have the latest update, launch the game and check the lower left corner of the title screen for “v1.29.4.3” or above. Enjoy!

A few hotfix updates released for BlastZone 2 v1.29.4.2

Two small hotfix updates have been released for the PC/Steam version of BlastZone 2. The first one fixes a startup crash issue when attempting to use the “Very High” or “Extreme” detail terrain without downloading the free DLC first.

The second hotfix update makes a few changes. This includes an improvement to framepacing when framerate caps are used. This fixes frame hitches when there are quick changes in the rendering workload, such as when many enemies explode at once.

Also, a new useGameUpdateMultithreading option has been exposed but is only accessible by manually editing the config file. This option is enabled by default to maximize performance, but can be disabled to reduce latency at a performance cost. Also, this update is built using the new Visual Studio 2019, bringing with it various optimizations and improvements, but doesn’t require any new runtime installs to work correctly.

Enjoy the new updates!

Fixed occasional shutdown crash and improved startup loader (v1.29.4.2)

A new update has been released for BlastZone 2! The primary purpose of this release is to fix an occasional crash that would occur when closing the game. This was a multithreading issue, the chances of it occurring being higher for higher core/thread count CPUs, and more rare for 1 or 2 core CPUs.

This update also includes an improved startup loader. It now adapts better to system performance, loading faster on higher end CPUs, and better preserving system responsiveness for slower/older CPUs. The bar filling animation is smoother now as well, making it easier to observe progress. Memory usage has been reduced during the loading screen as well.

Several areas of code have been refactored in this update as well, making the game more robust in general and quicker to develop for.

Here are the full release notes for v1.29.4.2:
  • Fixed a crash bug that would occasionally occur when closing the game
    -This was a multithreading-related bug that would occur more often on higher core count machines
  • Improved the startup loader
    -Reduced loading time when starting the game
    -Reduced memory usage during the loading screen
    -Smoothed out the loading bar fill animation to make it easier to follow
    -Improved system responsiveness for slower or low core count CPUs
  • Refactored several areas of code to prevent bugs and speed up development time in the future
  • Slightly reduced VRAM usage
  • HotFix* Fixed a game startup crash when attempting to use the "VeryHigh" or "Extreme" detail terrain packs without downloading the DLC

As usual, to make sure you have the latest update, launch the game and check the lower left corner of the title screen for “v1.29.4.2” or above. Enjoy!

Startup sound bug fixed, migrated to VS2017 and new system requirements (v1.29.4.1)

A new update has been released for BlastZone 2! This update fixes a bug that would start the game with sound and music volume at 0. The workaround for this was to manually raise the sound and music volume after starting the game each time, but this was not ideal. I apologize for the inconvenience, this has now been fixed. The sound code has also been optimized and reduces frame hitching.

Also for this update, the development environment migrated from Visual Studio 2010 up to Visual Studio 2017. This brings all the latest optimizations, fixes, and security improvements from compiler advancements over the years. Also, the configuration program has migrated from .NET 3.5 up to 4.5, bringing a similar advancement there as well and eliminating the need for an older .NET runtime install.

With the above two migrations and following Steam’s recent changes, this version eliminates Windows XP support. All users with Windows XP no longer have access to BlastZone 2 on Steam anyway, so this was done to better target modern hardware.

The above changes have increased the minimum and recommended system requirements, but they are still very low for modern standards. Here they are:

Minimum requirements:
OS: Windows 7, 8.1, 10 32bit or 64bit
CPU: Any SSE2 CPU (Pentium 4 or Athlon 64 or higher)
Graphics: Radeon HD 2400 128mb, Geforce 8400 128mb, Intel HD 2000 or higher supporting atleast OpenGL 1.5

Recommended for running at high detail:
OS: Windows 7, 8.1, 10 32bit or 64bit
CPU: Intel Core 2 Duo, AMD Athlon X2 at 2.4ghz, or Intel Core 2 Quad, AMD Athlon X4 at 1.8ghz or higher (can utilize >4 cores if available)
Graphics: Radeon R7 250 1gb, Geforce 750 1gb, Intel HD graphics 4600 or above supporting OpenGL 3.0 or higher

Here are the full release notes for v1.29.4.1:
  • The BlastZone 2 executable is now built using Visual Studio 2017
    -Takes advantage of the latest compiler optimizations and improvements
    -Eliminates support for Windows XP
  • Migrated the Configuration program to Visual Studio 2017 and .NET Framework 4.5
  • Fixed a bug that would save out the Sound and Music volume as 0 when closing the game
  • Greatly improved music processing distribution over time
    -Would previously have a 3-4ms processing spike every second or two
    -This would cause hitches on some systems
    -Now uses a consistent 0.2-0.3ms processing time every frame without spikes
    -Significantly improves frame pacing
  • Turning off music now completely eliminates music processing
    -Improves performance for low end systems when music is disabled
  • Fixed enemy bullets appearing the incorrect color when only tracking the player in Z space


As usual, to make sure you have the latest update, launch the game and check the lower left corner of the title screen for “v1.29.4.1” or above. Enjoy!