V0.32.30

**Patch Notes** **◆** ****V0.32.30****

*A comprehensive overhaul to enemies and waves. This is Nova Drift's largest ever update, incorporating a vast rewrite of its underlying systems. This update is the first of three parts, focusing on enemies and encounters. We're very proud to finally share it with you!*

***What's new:***

**🟆 Dynamic Waves:** Wildly variant procedurally generated enemy encounters. We've ripped out all of the preset enemy waves you're used to and replaced them with a system that generates them!
**🟆 Curated Waves:** New unique, hand-crafted encounters
**🟆 6 New Enemies:** You will now face the , , , , , and
**🟆 Enemy Formations:** Foes may now appear in formation with each other: Rank and File, Orbit, Flank, V, Trail, Fractal, and Support Formations
**🟆 Battlefield Zoom:** Expanded views allow more room to maneuver as action ramps up
**🟆 Reworked :** We've raised the bar on the wave 40 boss encounter
**🟆 A New Challenge Mode:** : A blisteringly difficult arcade experience, designed for veterans and masochists
**🟆 New Wild and Super Mods:** , , and
**🟆 New SFX and Music**
**🟆 Legacy Support:** Access the old SYZYGY version of the game any time from Steam branches
**🟆 Much More:** Fine-tuning, QOL features, borderless fullscreen, background parallax, performance settings, major optimizations, progression overhaul, and Korean localization

## New Major Features

* Dynamic Waves: ALL original random encounters have been removed from the game and replaced. Most waves are now procedurally generated from a complex set of rules and have their difficulty scaled based on the current wave. Please note that you will need the Challenge Mode, , enabled to see the full capabilities of Dynamic Waves
* Curated Waves: Waves that are multiples of 10 (that are not boss waves) are now "curated waves" which are hand-crafted semi-random waves. There are many variants, and some require you to have reached a certain wave (usually wave 120+) to encounter them. Please note that you will need the Challenge Mode, , enabled to see the full capabilities of Curated Waves
* Enemy Formations: Certain enemies can now spawn in "formations" with followers. The following formations are possible: Orbit, Flank, Rank and File, Trail, Protect, and Support
* Battlefield Zoom & Background parallax: As you progress in the game, the camera will gradually zoom out further and further, allowing you more room to maneuver as enemies become more numerous. Some boss fights will have a discrete zoom level. The background star fields and celestial objects now parallax as the zoom changes
* has been reworked. It is now gigantic and has had its artwork and visual effects overhauled. It should otherwise be more or less the same fight, but with more room to maneuver
* Added a "weak point" mechanic, allowing certain enemy segments to take extra damage from projectile hits:

* Weak points take 2.5x damage
* , , and  have weak points
* Weak point hulls have been generally increased to balance this mechanic

* Wild Mods now display how many copies of a recursive mod you'll get when you're getting more than one
* Added a new rarity for Wild Mods: **Ultra-Rare**
* , , , and  are now **Ultra-Rare** Wild Mods
* Added a new Super Mod:
* New Background music: **"Centerless"**
* Added dozens of new sound effects
* Added Korean localization
* Added Borderless Fullscreen Mode to the Settings menu (I recommend switching it on!)
* Added Legacy Support:

* Starting with the SYZYGY update, old version of Nova Drift will be accessible on Steam branches. Created separate leaderboards for SYZYGY for when Enemies 2.0 goes live

## New Features

* Added input support for mouse wheel up and down, mb side 1, and mb side 2 buttons
* Made player, player segment, and  collisions with solids more "physicsy"
* You can now create your own prefab builds by editing a .CSV file found in the game files called "prefabPlayerBuilds", or adding your own called "userPrefabBuilds.csv", and using the debug cheats to spawn the build (See the Discord for information on debug mode)
* Settings now allows you to select "Background Detail". Higher settings look better, including more star layers and nebulae. Lower settings improve performance - The default is "high" - 'None' is an empty void except for fixed celestial object spawns
* A toggle for VSync has been added to settings. Please experiment with this to see if your performance is improved
* While toggling Windowed resolutions, you'll find a new custom window size option available: Your display size, minus a buffer of 150 pixels
* Windowed Modes now use a custom window, and hides the window during gameplay

## Global Changes

* Revised the order and contents of unlocks. Check your Unlocks menu. Please be warned: **YOU MAY LOSE OR GAIN ACCESS TO UPGRADES YOU PREVIOUSLY HAD DEPENDING ON YOUR ACCOUNT RANK**. You may also see the new unlock order here: https://trello.com/b/4NhLxMb9/unlocks
* Changed the way score converts to Rank Exp at the end of a run. Old formula: Score = Rank Exp. New Formula: Rank Exp = (Score \* 20)^.8 (This helps new players earn unlocks and slows massive progression from huge scores)
* The exp curve has been replaced by a new formula that is less exponential. Now, you will reach the 40's more slowly, but afterward leveling will remain consistent instead of becoming incredibly expensive. This serves to improve the difficulty curve, as many complained that mid-game was comparatively much duller than early and late waves
* To alleviate game difficulty resulting from the Enemies 2.0 changes and the changes to the exp curve, especially for less experienced players, the following changes to exp have been made:
* The base exp gained from orbs has been increased 15%
* no longer provides more bonuses than other modes do, instead,  does
* The bonuses from having challenge modes enabled has been decreased from a total of +40% for all modes enabled to a total of +30%
* Please note that these changes result in more experience being earned for any configuration, and it means that having challenge modes on has less of an impact on the overall power of the player (and thus making them feel less mandatory)
* Enemy stat scaling starts at wave 120 by default, up from 100
* Exp values for many enemies have been adjusted. The goal was to provide more appropriate rewards considering enemy difficulty and quantity. Secondarily, the goal was to compensate for the above exp changes and ensure the player still has some decent upgrades before reaching the wave 20 boss
* Added a new challenge mode: . This mode is designed to be ultimate difficulty for veteran players. It gives no increases to the score or experience multiplier and is intended for personal challenge and bragging rights (and because its how intense I personally want the game to feel). It unlocks at rank 60. Scores earned in this mode will display in a special font color, "Pink Violence!"

## Player Balance Changes

* now has more base damage (20 -> 22), considerably more range, and waits longer to degenerate
* base damage converted to blast is now 30% -> 40%
* rate of fire 10 /s -> 12 /s
* velocity 5.2 -> 6.2 (Note: this is the buff that really matters, as most projectiles are "wasted" due to velocity)
* damage 22 -> 20
* spread slightly increased
* now benefits much more from targeting
* 's damage formula has been adjusted to be easier to use early on. It deals far more damage at very small sizes, about the same damage at middling sizes, and inconsequentially less damage at huge sizes. Increased the damage of Vortex bolts. Further dampened self damage from Vortex at very small sizes
* base damage 90 -> 60 (Explanation: Before Salvo was reworked with the previous update, it was buffed from 60 -> 90 due to under performing. Then, in the next update, Salvo was drastically overhauled. Both fixes made the weapon far stronger, and together they were overly dominant.)
* stockpile release is now considered "firing" (preventing cloak, charged shot, efficiency, etc.)
* firing triggers projectile release directly, instead of firing a single shot and then "repeating" for the stockpile
* accumulation time acts as the de facto fire delay
* spread is now affected by Barrage
* stockpile can now be affected by Empowered
* damage 17 -> 20
* velocity 17 -> 18
* now blends with the background
* shield now only protects the player ship from beam damage if it's in the way
* 's wave discharge damage and area of effect increased ~14%
* shield can now drain duration from enemy hard shields (a new mechanic)
* Fixed ed  shot flames dealing damage to BOTH parties
* Enemy projectiles that can be ed that produce enemy "blasts" also become reflected (Notably  grenades and  vortex orbs
* ed blasts and burns don't harm your constructs
* 's wave discharge damage and area of effect increased ~14%
* now tracks rerolls spent by banishing mods and computes hull/shield bonuses from that
* base hull 50 -> 60
* body segments are now immune to projectile piercing
* Improved a hidden  power: Burn damage by your segments reduce their damage to 50% over 100 frames -> 80 frames
* now cares about how far a projectile has traveled, not how far away you are when it hits
* Constructs (excluding ) are now innately 60% resistant to enemy blast damage
* 's hidden resistance to all enemy damage increased 50% -> 60%
* now has +30% construct rate of fire in addition to the scaling value from lost hull. This is to compensate for the fact that it wasn't behaving as advertised (see the bugs section)
* -20% -> -25% mine damage and mine effect
* -15% -> -20% self damage to hull and shields when fired with no assembled mines
* now restores the player to full (reduced) hull and shield after death
* now also grants a level up
* assembly time 6s -> 5s
* fire rate 1.5/s -> 2/s
* rate of fire increase +50% -> +100%
* rate of fire increase +25% -> 50%
* in  passively avoid danger more effectively
* Significantly improved Defense / Assault Drone aiming accuracy
* Reduced chances of  immolating itself with  self-damage, by taking  health recovery multiplier into account
* Limited the  standoff distance to a maximum of 600 units
* burst has more range & no longer causes screen flash
* Shield radius now scales up slightly as battlefield base zoom increases. At maximum zoom, which is +40% battlefield size, you will have +20% increased shield radius
* base flat damage 20 -> 30
* scaling damage 400% damage taken -> 500% damage taken
* now increases its size a bit by the damage taken
* base damage and scaling damage output increased 10%
* segment length is now affected by shield radius and not shield effect. Discharge segment width is now affected by shield effect and not shield radius
* with  can now trigger  on
* , , and  are now affected by Hyperboost
* now has new artwork
* now has better scaling. Previously, multiple copies of the mod weren't meaningful except on high-hull enemies
* applies to  (including self-damage from hit), Advanced Constructs, and  degeneration damage
* are now affected by construct rate of fire multipliers
* has been reworked: Now provides +7% thrust, +7% rotation rate, and -7% friction
* Drone avoidance now looks further away for moving hazards which should improve their avoidance capability a bit
* For the player, in addition to having iFrames for colliding with ANY solids, the following change has been made:
* For a period of time equal to 125% of the player's collision iFrames during and after the player has occupies and exits the sprite of a particular "solid", the player cannot collide with that same solid again
* This should mitigate the player getting "stuck inside" an enemy and being collided multiple times. Note that this does not prevent "composite" or "segmented" enemies from wombo-comboing you

## Enemy Balance Changes

* The  Challenge Mode has less of an initial effect, but now increases the amount of enemy "rarity" that increases each time the wave advances
* Adjusted the exp values of most enemies
* Adjusted the hull of most enemies
* Adjusted the time allocation to defeat most enemies and fixed many problems with the previous calculations
* Adjusted restrictions for enemy appearances and minimum waves for enemy rarities (Elites and Champions)
* The player will no longer collide with very small asteroids
* s no longer try to crash into you, and will instead try steering around you
* Many enemies now avoid overlap with each other
* summons  less frequently
* Tried to make  less annoying at early waves. Elite Pulsars and especially Normal Pulsars dodge less frequently and less powerfully
* (and ) backpedal less quickly
* s push harder away from the edges of the screen when near them
* barrage attacks degenerate more swiftly once they start degenerating. They also start degenerating slightly sooner, at 260 -> 240
* s now drop mines less rapidly
* s now spawn adds more slowly depending on how many already exist
* Singularities now deal percentile damage to enemies on top of their usual dps (was just over 9000 per second), get larger and more forceful with higher waves, and are resisted by enemy resistance less
* Added a delay and moment of musical silence before boss encounters
* No Enemy projectiles have infinite duration anymore
* Enemies changing directions do so more naturally
* "Swarmy enemies" now have more scattered spawn positions
* Updated a very old formula for enemy crash damage output. Enemies reach the hard cap at much higher hull values, and have more range at middling hull values
* now has "wings"
* orbs move faster to compensate for larger zoom. Buffed Seraph railgun damage, since only one rail can hit the player at once due to iFrames
* s attempt to spend less time off-screen

## Under the Hood

* Updated to the newest GameMaker Studio 2 edition: Replaced old boring problems with new ones!
* Vast code refactoring and optimization has occurred! There are too many to list
* Converted many old enemies to a new, far more maintainable, compact, and convenient architecture. All new enemies use this system, and old enemies will slowly be converted as needed
* The background stars are no longer many discrete objects, but several layers of parallaxing sheets
* All GUI now draws on top of the battlefield instead of on the same layer in order to allow zooming the battlefield
* Improved avoidance and targeting use more accurate bounding shapes for objects

## Text / Consistency

* Made more things do what they say / say what they do. Also fixed grammar and or consistency mistakes. This affects: , ,  Swarm, ,  Shield, , , , , , , , ,  Shield, , , , Specialist, , , Hyperboost, 5 Gear Choices Unlock, the pause menu (spread and shield stats)

## Bug Fixes

* was applying +50% construct rate of fire by default and up to 100% from missing hull. This has been fixed, and now applies the advertised 0 - 50% increase
* applies properly to  assembly
* Higher-rank Swarm constructs now get their  shield back after they break and reassemble
* shield cooldown is now more accurate: Accounts for firing, , and . It is now fully consistent with other shield types
* Fixed  failing to get post-Singularity invulnerability or intangibility
* Allies, when firing your charged weapon, properly apply rate of fire penalties and buffs. (Was missing: Integrated Weaponry, Construct rate of fire, , , and )
* Shield effects on s will now be restored after an upgrade
* Fixed 's blast damage not being affected by
* Fixed -shielded constructs teleporting all in the same direction, rather than their facing
* Fixed  having the wrong base damage when used by constructs
* Fixed  Shield affecting ineligible constructs
* Fixed construct counts working against you with  +  /
* Fixed  firing too few projectiles from multi-cannon bodies by half (/)
* s no longer give up  production forever if one is lost to a singularity
* You will now see the Constructs section of the pause screen even if you only have  or
* Fixed lopsided drones in
* Fixed 's spread not applying in edge cases
* Fixed many cases where "NaN" could generate in place of a number and wreck havoc
* Fixed Drone Constructs being immune to burn orbs
* Fixed s no longer firing a spread after changes to their facing
* Fixed  splitting damage with constructs that are ineligible for shields
* Fixed /'s  or  going invisible during the player's  Shield intangibility
* Fixed pause menu only showing integer values for Plating, not 0.5 increments
* Fixed mods banished by  or  counting toward 's buff after its most recent rework
* now considers advanced Swarm Constructs to be potential healing targets
* - emit the correct number of projectiles
* , , and  radius indicators now update when the construct effect multiplier changes
* Fixed some a case of  shield not applying to allies using
* now looks at the right object to calculate its snipe bonus
* Fixed positions of  with  being incorrect
* Damaging muzzle blasts (, ) no longer apply their blast damage multiplier twice
* can now follow allies the way it follows the player
* Fixed  projectiles sometimes hitting the original target immediately
* Fixed  not sticking when it should
* Fixed  shattering when it shouldn't
* Fixed 's timer decrementing while paused
* Fixed escaping enemies sometimes leaving glow artifacts behind
* now adds up its cost properly when multiple guns are involved
* Original  beam color is now restored when Hyperboost ends
* Fix the side scopes on  and  getting stuck bright after firing
* Increased the opacity of  sprites for  and  to match other bodies
* now has a  graphic
* Constructs that evade can now evade  fireballs
* Fixed a few cases of the "edge" of the screen being visible during screen shakes
* Fixed  procing on 0 damage hits
* When the player or a player construct gets hit by an enemy blast, add it to the blast's hit exclusion list instead of zeroing out the damage
* Fixed improper texture clearing with fonts
* allows only one wave at a time and low-intensity waves are fainter and quieter, improving behavior when the player is taking continuous damage
* Fixed  not properly excluding its own  shield and fixed up various places using an object type id or "other" as the target to follow
* Mitigated  problems:

* Fixed off-screen Hives never becoming able to wrap
* Hives move more quickly and "push to wrap" with a larger border
* Instead of targeting the general area of the player, hives just target a cone around the center of the view, reducing cases where they're off-screen

* Tesla Mines now have player collision
* Fixed the imprecise hitbox on  drones
* Fixed  allies not scaling with  size bonus
* Prevented Swarm Constructs from spawning from  if the player is dead
* Fixed  added by  sometimes getting picked more than once, as they weren't being removed from the draw pool when chosen
* Fixed attached  projectiles creating trail wraparound artifacts with
* Fixed a bug where  is better with some shields because the hitbox was rectangular and not an ellipse
* doesn't block  from appearing anymore
* Fixed  blast sprites having a square hitbox when it should be round. This affects Railgun and also anything else that used this sprite
* now uses the aforementioned sprite instead of an explosion because its less occlusive for rapid collisions ( / )
* Fixed  applying the global damage multiplier twice
* Fixed enemy drones (, , , ) performing on-death actions twice (this was causing  and  to spiral out of control)
* now keeps track of the  instance and will replace it if it goes missing unexpectedly
* OSX: Fixed mouse aim for enemies 2.0