Emulate CPU Throttle

There is also an option to Emulate CPU Throttling, which is an effect familiar to many retro shoot-em-up games in which the entire game engine slows down to accommodate hundreds or thousands of bullets on the screen at once.

Obviously we live in an era in which most modern systems – even SmartPhones – will likely be able to keep up with the demands of so many concurrent gameobjects. However, it is useful to not only enable better performance but also as a feature to produce this retro “Slowdown” effect most commonly seen in “BulletHell” titles.

To make use of this feature, simply enable Emulate CPU Throttle, set the amount of throttling each bullet adds to the engine with Throttle Per Bullet, the maximum amount of throttling before it no longer throttles with Max Throttle and the threshold at which throttling begins with Max Bullet Until Throttle.

It’s important to note that although slowdown may seem an unwanted side-effect, it is still preferable in 2D games to the jumpy frame effect (almost like frame-skipping) that most often happens if a low-performance system can’t keep up with demands and the the FPS drops. The only other way to achieve this smooth slowdown effect is to not use Time.deltaTime compensation in your code, however that would produce slowdown (if any at all) unpredictably depending on the capabilities of the platform the game is running on.

By contrast, VariaBULLET2D’s slowdown emulation is 100% user defined and predictable, which maintains the same type of predictive slowdown regardless of the underlying platform. As such its usage should be carefully considered as both a performance enhancement as well as gameplay tool.