Version 0.32.32 Patch Notes
Version 0.32.32: Enemies 2.0, Part 1
A comprehensive overhaul to enemies and waves, along with new foes.
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, Elite Enemy, 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, Elite Enemy, 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
Station Omega 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 new enemy: Bulwark
Added a new enemy: Myrmidon
Added a new enemy: Hammerhead
Added a new enemy: Tracer
Added a new enemy: Cherub
Added a new enemy: Swarmling
Added a "weak point" mechanic, allowing certain enemy segments to take extra damage from projectile hits:
Weak points take 2.5x damage
Station Omega, Eclipses, and Warbringer 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
Added a new Ultra-Rare Wild Mod: Far Sight
Added a new Ultra-Rare Wild Mod: Explosive Growth
Grandeur, Maelstrom, Twin Strike, and Quantum Decoherence are now Ultra-Rare Wild Mods
Added a new Super Mod: Deflagration
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 Bastion 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%
Mayhem no longer provides more bonuses than other modes do, instead, Endless 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: Annihilation. 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
Split shot now has more base damage (20 -> 22), considerably more range, and waits longer to degenerate
Split Shot base damage converted to blast is now 30% -> 40%
Torrent rate of fire 10 /s -> 12 /s
Torrent velocity 5.2 -> 6.2 (Note: this is the buff that really matters, as most projectiles are "wasted" due to velocity)
Torrent damage 22 -> 20
Torrent spread slightly increased
Torrent now benefits much more from targeting
Vortex'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
Salvo 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.)
Salvo stockpile release is now considered "firing" (preventing cloak, charged shot, efficiency, etc.)
Salvo firing triggers projectile release directly, instead of firing a single shot and then "repeating" for the stockpile
Salvo accumulation time acts as the de facto fire delay
Salvo spread is now affected by Barrage
Salvo stockpile can now be affected by Empowered
Blaster damage 17 -> 20
Blaster velocity 17 -> 18
Blaster now blends with the background
Bastion shield now only protects the player ship from beam damage if it's in the way
Bastion's wave discharge damage and area of effect increased ~14%
Siphon shield can now drain duration from enemy hard shields (a new mechanic)
Fixed reflected Tracer shot flames dealing damage to BOTH parties
Enemy projectiles that can be reflected that produce enemy "blasts" also become reflected (Notably Myrmidon grenades and Eclipse vortex orbs
Reflected blasts and burns don't harm your constructs
Bastion's wave discharge damage and area of effect increased ~14%
Research now tracks rerolls spent by banishing mods and computes hull/shield bonuses from that
Leviathan base hull 50 -> 60
Leviathan body segments are now immune to projectile piercing
Improved a hidden Leviathan power: Burn damage by your segments reduce their damage to 50% over 100 frames -> 80 frames
Snipe now cares about how far a projectile has traveled, not how far away you are when it hits
Constructs (excluding Bastion) are now innately 60% resistant to enemy blast damage
Blade's hidden resistance to all enemy damage increased 50% -> 60%
Burnout Reactors 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)
Mortar -20% -> -25% mine damage and mine effect
Mortar -15% -> -20% self damage to hull and shields when fired with no assembled mines
Last Stand now restores the player to full (reduced) hull and shield after death
Regression now also grants a level up
Drone assembly time 6s -> 5s
Drone fire rate 1.5/s -> 2/s
Assault Drone Formation: Battalion rate of fire increase +50% -> +100%
Assault Drone Formation: Pursuit rate of fire increase +25% -> 50%
Assault Drones in Formation: Pursuit passively avoid danger more effectively
Significantly improved Defense / Assault Drone aiming accuracy
Reduced chances of Ally immolating itself with Siege Weaponry self-damage, by taking Barrage health recovery multiplier into account
Limited the Ally standoff distance to a maximum of 600 units
Force armor 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
Reflexive Shields base flat damage 20 -> 30
Reflexive Shields scaling damage 400% damage taken -> 500% damage taken
Reflexive Shields now increases its size a bit by the damage taken
Discharge base damage and scaling damage output increased 10%
Discharge 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
Discharge with Shielded Constructs can now trigger Counterpulse on Defense Drones
Charged Shot, Thermal Lance, and Vortex are now affected by Hyperboost
Purge now has new artwork
Spontaneous Generation now has better scaling. Previously, multiple copies of the mod weren't meaningful except on high-hull enemies
Gemini Protocol applies to Blade (including self-damage from hit), Advanced Constructs, and Turret degeneration damage
Loaded Mines are now affected by construct rate of fire multipliers
Slipstream 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 Elite Enemy Challenge Mod 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
Interceptors no longer try to crash into you, and will instead try steering around you
Many enemies now avoid overlap with each other
Spitfire summons Pulsar less frequently
Tried to make Pulsar less annoying at early waves. Elite Pulsars and especially Normal Pulsars dodge less frequently and less powerfully
Pulsar (and Seraph) backpedal less quickly
Pulsars push harder away from the edges of the screen when near them
Pulsar barrage attacks degenerate more swiftly once they start degenerating. They also start degenerating slightly sooner, at 260 -> 240
Interceptors now drop mines less rapidly
Hives 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
Seraph now has "wings"
Seraph 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
Serpents 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: Convergence, Winnow, Carrier Swarm, Overclock, Temporal Shield, Firing Array, Snipe, Efficiency, Assault Drones, Defense Drones, Channeling, Shield Effect Radius, Support Specialist, Warp Shield, Galvanic Outburst, Phantom Strike, Obsession, Specialist, Quantum Decoherence, Explosive Growth, Hyperboost, 5 Gear Choices Unlock, the pause menu (spread and shield stats)
Bug Fixes
Burnout Reactors 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
Efficiency applies properly to Bastion assembly
Higher-rank Swarm constructs now get their Bastion shield back after they break and reassemble
Bastion shield cooldown is now more accurate: Accounts for firing, barrage, and efficiency. It is now fully consistent with other shield types
Fixed Bastion 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, Overclock, Evolution, and Siege Weaponry)
Shield effects on Blades will now be restored after an upgrade
Fixed Blade's blast damage not being affected by concentrated blast
Fixed Warp-shielded constructs teleporting all in the same direction, rather than their facing
Fixed Volatile Shields having the wrong base damage when used by constructs
Fixed Temporal Shield affecting ineligible constructs
Fixed construct counts working against you with Rapid Reconstruction + Support Specialist / Overseer
Fixed Barrage firing too few projectiles from multi-cannon bodies by half (Battery/Courser)
Guardians no longer give up Medi-Charge 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 Blade or Carrier
Fixed lopsided drones in Rampart formations
Fixed Saturation Fire'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 Interceptors no longer firing a spread after changes to their facing
Fixed Gemini splitting damage with constructs that are ineligible for shields
Fixed Loaded Mines/Interceptor's Thermal Lance or Vortex going invisible during the player's Warp Shield intangibility
Fixed pause menu only showing integer values for Plating, not 0.5 increments
Fixed mods banished by Winnow or Regression counting toward Research's buff after its most recent rework
Guardian now considers advanced Swarm Constructs to be potential healing targets
Pulse-Loaded-Mines emit the correct number of projectiles
Amp, Reflect, and Temporal radius indicators now update when the construct effect multiplier changes
Fixed some a case of Amp shield not applying to allies using Salvo
Vortex now looks at the right object to calculate its snipe bonus
Fixed positions of Pulse with Loaded Mines being incorrect
Damaging muzzle blasts (Railgun, Antimatter Rounds) no longer apply their blast damage multiplier twice
Pulse can now follow allies the way it follows the player
Fixed Splinter projectiles sometimes hitting the original target immediately
Fixed Dart not sticking when it should
Fixed Railgun shattering when it shouldn't
Fixed Death Blossom's timer decrementing while paused
Fixed escaping enemies sometimes leaving glow artifacts behind
Mortar now adds up its cost properly when multiple guns are involved
Original Thermal Lance beam color is now restored when Hyperboost ends
Fix the side scopes on Battery and Courser getting stuck bright after firing Thermal Lance
Increased the opacity of Force Armor sprites for Carrier and Courser to match other bodies
Viper now has a Force Armor graphic
Constructs that evade can now evade Celestial fireballs
Fixed a few cases of the "edge" of the screen being visible during screen shakes
Fixed Blitz 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
Bastion 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 Guardian not properly excluding its own Bastion shield and fixed up various places using an object type id or "other" as the target to follow
Mitigated Hive 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 Station Omega drones
Fixed interceptor allies not scaling with architect size bonus
Prevented Swarm Constructs from spawning from Spontaneous Generation if the player is dead
Fixed the Void added by Evolutionary Niche sometimes getting picked more than once, as they weren't being removed from the draw pool when chosen
Fixed attached Dart projectiles creating trail wraparound artifacts with Warp Strike
Fixed a bug where Pulse is better with some shields because the hitbox was rectangular and not an ellipse
Vortex doesn't block Siege Weaponry from appearing anymore
Fixed Railgun blast sprites having a square hitbox when it should be round. This affects Railgun and also anything else that used this sprite
Force Armor now uses the aforementioned sprite instead of an explosion because its less occlusive for rapid collisions (Leviathan / Hullbreaker)
Fixed Incendiary Strike applying the global damage multiplier twice
Fixed enemy drones (Celestial, Constructor, Host, Seraph) performing on-death actions twice (this was causing Corrosion and Deflagration to spiral out of control)
Guardian now keeps track of the Medicharge instance and will replace it if it goes missing unexpectedly
OSX: Fixed mouse aim for enemies 2.0