BlastZone 2 - EagleEye
A new update has been released for BlastZone 2! (v1.24.1.1) This update is a follow up to the recent online multiplayer improvements update and makes further improvements to the netcode. The primary improvement included is out-of-order packet detection and discarding to help reduce juttery object movement for the client player that still remained after the motion smoothing improvements. Another improvement is generalized object movement packet loss tolerance to produce more consistent behavior for the client beyond several key cases that were covered before the update. This includes covering sudden behavior for bosses and enemies in mission mode and is tuned to work well with motion smoothing as well.

Here are the full release notes:
  • Added packet discarding for online multiplayer when packets are detected as out of order
    -Prevents old data from being displayed
    -Fixes erratic object movement as well
    -Object behavior from these removed packets is accounted for when using the recently added motion smoothing
  • Improved packet loss tolerance for object movement in online multiplayer
    -This is a generalized approach that improves many areas, previous packet loss improvements targeted specific situations
    -This works well for sudden movements and in tandem with the recent motion smoothing update
  • Fixed rapidly switching client player ship type when there is high packet loss for the online multiplayer lobby screen
To make sure you have the latest update, start the game and check the lower left corner of the title screen for “v1.24.1.1” or higher. Any feedback would be greatly appreciated in the forums. Enjoy!
BlastZone 2 - EagleEye
A new update has been released for BlastZone 2! (v1.24.1.1) This update is a follow up to the recent online multiplayer improvements update and makes further improvements to the netcode. The primary improvement included is out-of-order packet detection and discarding to help reduce juttery object movement for the client player that still remained after the motion smoothing improvements. Another improvement is generalized object movement packet loss tolerance to produce more consistent behavior for the client beyond several key cases that were covered before the update. This includes covering sudden behavior for bosses and enemies in mission mode and is tuned to work well with motion smoothing as well.

Here are the full release notes:
  • Added packet discarding for online multiplayer when packets are detected as out of order
    -Prevents old data from being displayed
    -Fixes erratic object movement as well
    -Object behavior from these removed packets is accounted for when using the recently added motion smoothing
  • Improved packet loss tolerance for object movement in online multiplayer
    -This is a generalized approach that improves many areas, previous packet loss improvements targeted specific situations
    -This works well for sudden movements and in tandem with the recent motion smoothing update
  • Fixed rapidly switching client player ship type when there is high packet loss for the online multiplayer lobby screen
To make sure you have the latest update, start the game and check the lower left corner of the title screen for “v1.24.1.1” or higher. Any feedback would be greatly appreciated in the forums. Enjoy!
BlastZone 2 - EagleEye
A new update has been released for BlastZone 2! (v1.24.1.0) The focus of this update is to improve the experience of the client player when playing online multiplayer games. This is primarily done by adding a new “Motion Smoothing” option for the client player that uses a combination of interpolation and prediction to generate additional object positions to what is being sent by the server. This makes the client side experience appear much closer to how the game looks for the host/server even when a lower 20hz or 30hz tickrate is used. This has a big advantage of greatly cutting down the bandwidth and send rate needed for a great experience. Also, this can fill in the gaps and account for packet loss to improve the experience for lower quality internet connections. However, the drawback is that there is some additional perceived latency on a moment-to-moment basis. The amount of latency added peaks at about 50ms when a 20hz tickrate is used, but averages at about 20-25ms or so for the same tickrate, and is lower when higher tickrates are used. During testing, this amount of latency wasn’t enough to adversely affect overall enjoyment and playability of the game. However, if a particularly laggy internet connection is being used and latency needs to be reduced as much as possible, the option exists for the client to disable motion smoothing.

Here are the full release notes for this update:
  • Added client-side motion smoothing to online multiplayer
    -Smooths out animations for the client player, even when a low tickrate is used
    -Allows for much lower bandwidth usage with a similar or better experience as earlier versions
    -This uses a combination of interpolation and prediction to achieve smoother playback
    -However, this slightly increases latency (10-50ms depending on the situation)
  • Added an option to disable client-side motion smoothing
    -This eliminates the slightly higher latency of smoothing if this behavior is desired
  • Fixed enemies glowing on spawn for the client player in online multiplayer
  • Improved robustness of netcode
To make sure you have the latest update, start the game and check the lower left corner of the title screen for “v1.24.1.0” or higher. Any feedback would be greatly appreciated in the forums. Enjoy!

NOTE: Another update will be released in a few days with further improvements to netcode. This discards packets received out of order to fix juttery client behavior that still may occur in this update. More info will be released about this soon!
BlastZone 2 - EagleEye
A new update has been released for BlastZone 2! (v1.24.1.0) The focus of this update is to improve the experience of the client player when playing online multiplayer games. This is primarily done by adding a new “Motion Smoothing” option for the client player that uses a combination of interpolation and prediction to generate additional object positions to what is being sent by the server. This makes the client side experience appear much closer to how the game looks for the host/server even when a lower 20hz or 30hz tickrate is used. This has a big advantage of greatly cutting down the bandwidth and send rate needed for a great experience. Also, this can fill in the gaps and account for packet loss to improve the experience for lower quality internet connections. However, the drawback is that there is some additional perceived latency on a moment-to-moment basis. The amount of latency added peaks at about 50ms when a 20hz tickrate is used, but averages at about 20-25ms or so for the same tickrate, and is lower when higher tickrates are used. During testing, this amount of latency wasn’t enough to adversely affect overall enjoyment and playability of the game. However, if a particularly laggy internet connection is being used and latency needs to be reduced as much as possible, the option exists for the client to disable motion smoothing.

Here are the full release notes for this update:
  • Added client-side motion smoothing to online multiplayer
    -Smooths out animations for the client player, even when a low tickrate is used
    -Allows for much lower bandwidth usage with a similar or better experience as earlier versions
    -This uses a combination of interpolation and prediction to achieve smoother playback
    -However, this slightly increases latency (10-50ms depending on the situation)
  • Added an option to disable client-side motion smoothing
    -This eliminates the slightly higher latency of smoothing if this behavior is desired
  • Fixed enemies glowing on spawn for the client player in online multiplayer
  • Improved robustness of netcode
To make sure you have the latest update, start the game and check the lower left corner of the title screen for “v1.24.1.0” or higher. Any feedback would be greatly appreciated in the forums. Enjoy!

NOTE: Another update will be released in a few days with further improvements to netcode. This discards packets received out of order to fix juttery client behavior that still may occur in this update. More info will be released about this soon!
BlastZone 2 - EagleEye
Announcing the release of BlastZone 1! This is a completely free game release that is now bundled with both the Demo and Full versions of BlastZone 2. The purpose of this release is to address a frequent question I’ve been asked over the years of how people can play the original BlastZone game. Before now, I’ve directed such questions to the Classic A game mode of BlastZone 2, which is a greatly improved version of BlastZone 1, but that probably isn’t what people have been asking for. Now, everyone can experience the original game in its original form! Keep in mind, the original game was built for the TI-85 and TI-86 graphing calculators back in the 1990’s, so it is very crude by today’s standards. Also, this release is a faithful recreation of BlastZone 1 and not a precise emulation of the original code. There are a few improvements over the original TI-85/86 version, including higher resolution ASCII characters and improved control responsiveness. Also, a few of the menus have been consolidated and combined together to streamline the experience. Despite these changes, it still maintains a very faithful experience to the original to give everyone an idea of what the game was like back then. The final version number for the TI-85/86 is v1.1, so I incremented this release to v1.2 to differentiate it.

To play BlastZone 1, make sure you have the v1.24.0.0 BlastZone 2 update or higher, then start up BlastZone 2 and select the top “BlastZone 1” main menu option. Any questions and feedback are welcome in the forums or via email. Enjoy!


BlastZone 2 - EagleEye
Announcing the release of BlastZone 1! This is a completely free game release that is now bundled with both the Demo and Full versions of BlastZone 2. The purpose of this release is to address a frequent question I’ve been asked over the years of how people can play the original BlastZone game. Before now, I’ve directed such questions to the Classic A game mode of BlastZone 2, which is a greatly improved version of BlastZone 1, but that probably isn’t what people have been asking for. Now, everyone can experience the original game in its original form! Keep in mind, the original game was built for the TI-85 and TI-86 graphing calculators back in the 1990’s, so it is very crude by today’s standards. Also, this release is a faithful recreation of BlastZone 1 and not a precise emulation of the original code. There are a few improvements over the original TI-85/86 version, including higher resolution ASCII characters and improved control responsiveness. Also, a few of the menus have been consolidated and combined together to streamline the experience. Despite these changes, it still maintains a very faithful experience to the original to give everyone an idea of what the game was like back then. The final version number for the TI-85/86 is v1.1, so I incremented this release to v1.2 to differentiate it.

To play BlastZone 1, make sure you have the v1.24.0.0 BlastZone 2 update or higher, then start up BlastZone 2 and select the top “BlastZone 1” main menu option. Any questions and feedback are welcome in the forums or via email. Enjoy!


BlastZone 2 - EagleEye
A new update has been released for BlastZone 2. This update is mainly a follow up to the recent big v1.23.0.0 update that had substantial improvements to the engine tech. This update addresses several areas that weren't covered by the multithreading improvements in that update. Overall performance will only get a small bump from this, but this update smooths out hitching in a few areas and improves responsiveness slightly during gameplay. Here are the full release notes:
  • Added multithreading support for several areas left out of the v1.23.0.0 multithreading improvements, including:
    -All menus
    -Loading operations after the initial startup
    -Gamepad input
    -Console input
    -Leaderboard communication
  • Fixed brief discolored border of horizontal screen wipes
  • Fixed an internal error when uploading or downloading leaderboard data
As a side note, I have a big surprise coming for the next update of BlastZone 2! The only hint I'll give is that it's something people have been asking about for a while now. Anyway, enjoy today's update and stay tuned for the next one!
BlastZone 2 - EagleEye
A new update has been released for BlastZone 2. This update is mainly a follow up to the recent big v1.23.0.0 update that had substantial improvements to the engine tech. This update addresses several areas that weren't covered by the multithreading improvements in that update. Overall performance will only get a small bump from this, but this update smooths out hitching in a few areas and improves responsiveness slightly during gameplay. Here are the full release notes:
  • Added multithreading support for several areas left out of the v1.23.0.0 multithreading improvements, including:
    -All menus
    -Loading operations after the initial startup
    -Gamepad input
    -Console input
    -Leaderboard communication
  • Fixed brief discolored border of horizontal screen wipes
  • Fixed an internal error when uploading or downloading leaderboard data
As a side note, I have a big surprise coming for the next update of BlastZone 2! The only hint I'll give is that it's something people have been asking about for a while now. Anyway, enjoy today's update and stay tuned for the next one!
BlastZone 2 - EagleEye
A big new update has been released for BlastZone 2! The most notable new feature in this update is a greatly improved online lobby screen. Now it is at the same level of information and presentation as other ship selection screens in the game.

In addition, there are many technical improvements to the underlying game engine. This includes improved frame pacing and framerate cap selection, which now allows for single frame increments and a much wider range of selection. This is ideal for a wide range of high refresh rate displays and adaptive-sync displays such as g-sync or freesync. To facilitate this, multithreading has been improved to support up to 6 cpu cores, or take better advantage of dual core and quad core cpu’s. This better sustains higher frame rates, which also helps lower end multicore machines to sustain playable framerates. In addition, the net code has been greatly improved to be more robust and tolerate much higher packet loss without causing bugs. For more information about this and the many other improvements and bug fixes, here are the full release notes:
  • Greatly improved the online multiplayer lobby screen
    -Now shows ship previews for each player
    -Reorganized the screen to present ship information better
    -Added stat bars similar to other ship selection screens

  • Updated framerate cap selection to allow for any value of the range 20-240 or unlimited
    -Previously only allowed for 4 fixed values of 20, 30, 60, and unlimited
    -Allows for increments of 1 fps for the highest precision of desired framerates
    -This improves support for high refresh rate and adaptive-sync displays
    -Allows for high refresh rate displays to take advantage of the power saving and heat reducing properties of frame rate caps without resorting to using uncapped framerates
    -This can also be used on standard 60hz displays with vsync off to reduce control response times without increasing heat and power consumption much

  • Multithreading improvements; Split the main game update and rendering operations into separate threads
    -Can now take advantage of up to 6 CPU cores/threads if available
    -Improves parallelism and core usage for dual core and quad core systems
    -Improves performance for multicore systems (up to 10% depending on the system and situation)
    -Doesn't adversely affect performance for single core systems
    -This doesn't increase control latency, which often occurs in other implementations
    -This is ideal for better maintaining high frame rates for high refresh rate displays or maintaining a smooth experience for lower end multicore systems

  • Improved frame pacing consistency to reduce hitching when using framerate caps
    -Can now maintain constant frame times with occasional variance down to 0.02ms or lower

  • Greatly improved robustness of the online multiplayer netcode
    -Improved packet loss tolerance in many areas, including bosses, object spawning, wave progression, and cutscene skipping
    -The netcode can now tolerate up to 75% constant packet loss without causing bugs and can occasionally allow for spikes up to 80% packet loss or higher

  • Added the ability for gamepads to hold the left or right direction in menus to quickly scroll left or right (previously only had this behavior for up and down)
  • Fixed a bug when pressing Escape to leave the online multiplayer lobby screen that would internally keep the game in online mode, causing a number of other bugs
  • Fixed occasional model corruption after applying new video settings in game or pressing Alt+Enter
  • Adjusted positioning of leaderboard submission text in the game over screen
  • Updated the mouse cursor draw order so it doesn't appear on top of text messages or dialog boxes
  • Screen wipes now render behind dialog boxes so they aren't obscured during cutscenes
  • Fixed slight player booster misalignment during wave/area intros and outros
  • Eliminated all Classic A/B weapon firing during wave intermissions to prevent accidental chain resets or wasting ammo
  • Updated the config program to be compatible with the new Framerate options and disabled manual value entry for most options to limit them to dropdown values
  • Upgraded to the latest Steam SDK (v1.40)
To make sure you have this update, start the game and check the lower left corner of the title screen for “v1.23.0.0” or above. Since this is a pretty big update, I would greatly appreciate any feedback including bug reports in the forums. Thanks and enjoy!
BlastZone 2 - EagleEye
A big new update has been released for BlastZone 2! The most notable new feature in this update is a greatly improved online lobby screen. Now it is at the same level of information and presentation as other ship selection screens in the game.

In addition, there are many technical improvements to the underlying game engine. This includes improved frame pacing and framerate cap selection, which now allows for single frame increments and a much wider range of selection. This is ideal for a wide range of high refresh rate displays and adaptive-sync displays such as g-sync or freesync. To facilitate this, multithreading has been improved to support up to 6 cpu cores, or take better advantage of dual core and quad core cpu’s. This better sustains higher frame rates, which also helps lower end multicore machines to sustain playable framerates. In addition, the net code has been greatly improved to be more robust and tolerate much higher packet loss without causing bugs. For more information about this and the many other improvements and bug fixes, here are the full release notes:
  • Greatly improved the online multiplayer lobby screen
    -Now shows ship previews for each player
    -Reorganized the screen to present ship information better
    -Added stat bars similar to other ship selection screens

  • Updated framerate cap selection to allow for any value of the range 20-240 or unlimited
    -Previously only allowed for 4 fixed values of 20, 30, 60, and unlimited
    -Allows for increments of 1 fps for the highest precision of desired framerates
    -This improves support for high refresh rate and adaptive-sync displays
    -Allows for high refresh rate displays to take advantage of the power saving and heat reducing properties of frame rate caps without resorting to using uncapped framerates
    -This can also be used on standard 60hz displays with vsync off to reduce control response times without increasing heat and power consumption much

  • Multithreading improvements; Split the main game update and rendering operations into separate threads
    -Can now take advantage of up to 6 CPU cores/threads if available
    -Improves parallelism and core usage for dual core and quad core systems
    -Improves performance for multicore systems (up to 10% depending on the system and situation)
    -Doesn't adversely affect performance for single core systems
    -This doesn't increase control latency, which often occurs in other implementations
    -This is ideal for better maintaining high frame rates for high refresh rate displays or maintaining a smooth experience for lower end multicore systems

  • Improved frame pacing consistency to reduce hitching when using framerate caps
    -Can now maintain constant frame times with occasional variance down to 0.02ms or lower

  • Greatly improved robustness of the online multiplayer netcode
    -Improved packet loss tolerance in many areas, including bosses, object spawning, wave progression, and cutscene skipping
    -The netcode can now tolerate up to 75% constant packet loss without causing bugs and can occasionally allow for spikes up to 80% packet loss or higher

  • Added the ability for gamepads to hold the left or right direction in menus to quickly scroll left or right (previously only had this behavior for up and down)
  • Fixed a bug when pressing Escape to leave the online multiplayer lobby screen that would internally keep the game in online mode, causing a number of other bugs
  • Fixed occasional model corruption after applying new video settings in game or pressing Alt+Enter
  • Adjusted positioning of leaderboard submission text in the game over screen
  • Updated the mouse cursor draw order so it doesn't appear on top of text messages or dialog boxes
  • Screen wipes now render behind dialog boxes so they aren't obscured during cutscenes
  • Fixed slight player booster misalignment during wave/area intros and outros
  • Eliminated all Classic A/B weapon firing during wave intermissions to prevent accidental chain resets or wasting ammo
  • Updated the config program to be compatible with the new Framerate options and disabled manual value entry for most options to limit them to dropdown values
  • Upgraded to the latest Steam SDK (v1.40)
To make sure you have this update, start the game and check the lower left corner of the title screen for “v1.23.0.0” or above. Since this is a pretty big update, I would greatly appreciate any feedback including bug reports in the forums. Thanks and enjoy!
...