Today is exactly one year since the game launched in 2024 on August 15th, and with that I present to you the version 1.4.0 update.
https://www.youtube.com/watch?v=fjjleYVRYuc
The focus of this update is to polish the main storyline in some aspects, add content that I wish I had the time for back then, and polish various sides of the game that I felt were overlooked.
The content in question is one additional narrative level, and three new side-missions - this is extra content which prolongs your playthrough at no extra cost.
With the inclusion of these new levels, slight balance tweaks have been done to accomodate the now-longer playthrough time of the main campaign.
'COLLATERAL' CAMPAIGN CHANGES
- added 1 new narrative level in the first half of the game
- added 3 new side-missions spanning 4 levels in total (playing as Steve) throughout the campaign, with the following balance changes introduced due to the total count of side missions rising from 5 to 8:
* Steve now receives less skill experience when performing various actions during side-missions
* the amount of bonus Learning Capacity in New Game+ from each playthrough has been increased from 2,000 to 3,000 points
* Learning Capacity is now granted to both Sean and Steve during Epilogue
* skill level experience requirements have been changed:
- LEVEL 1 - from 100 to 150
- LEVEL 3 - from 3,000 to 3,250
* reduced the amount of Trust gained for each side-mission completed, however the total amount of trust that can be gained for completing side-missions is now more than before (was 35%, now 40%)
- added flashlights & radios to reinforcement enemy spawns where fitting
- added a missing light switch on Oleander's Objective
- added a missing garage door switch on Oleander's Objective
- added two keycards to reach the money stash room on Mob Corporate Front
- if Gideon is not killed in neither Gideon's Place nor Theo's Police Precinct, then he, along with extra mercs, will show up in one of the Epilogue levels
- adjusted some level geometry in the Epilogue
- Steve will now taunt the enemy during combat while saving Sean's dad on Decrepit Industrial Area
- rearranged one of the rooms on Pablo's Hideout which fixes one of the enemies getting stuck on his patrol route
- gave radios to enemies on Road to Police Precinct
- starting a side-mission will no longer play the narration meant for the next main mission
- rearranged object placement in the beginning area of Decrepit Industrial Area to allow for better AI pathfinding
- fixed incorrect dialogue between two enemies on Theo's Police Precinct if Dad is dead
- fixed incorrect magazine capacity on UMP-45 on Oleander's Objective
- fixed the breaker box on Gideon's Place not influencing one of the lights in the bathroom
- fixed Sean reacting to his own work as if it was Steve's on Mob Corporate Front
- fixed obstacles in one of the spots on Decrepit Industrial Area not providing sufficient cover from lamps, resulting in the stealth challenge for that part not functioning as intended
- fixed the garage door button not being assigned to a garage door on Politician's House
- fixed incorrect nametags in a certain dialogue on Decrepit Industrial Area
- fixed two lights not being controlled by a light switch on Dilapidated Complex
- fixed bad placement of several lights on Police Precinct
- fixed one of the lights not being controlled by a breaker box on Road to Police Precinct
'INTRAVENOUS' (IV1 REMASTER) CAMPAIGN CHANGES
- added flashlights & radios to reinforcement enemy spawns where fitting
- fixed one of the security guards in Epilogue being uncomfortably seated
- fixed being able to set Dealer on fire on Apartment Complex
- fixed being able to set Shopkeeper on fire on Shopkeeper's Mansion
- fixed an incorrectly setup security monitor on Drug Mob Casino
- fixed being able to carry certain cutscene actors after they'd die
- fixed a crash that could occur in the Epilogue
- fixed the bathtub on Steve's House being walkable
- fixed several light sources not being controlled by light switches and breaker boxes on Repurposed Factory and Drug Mob Casino
BASE GAME CHANGES
- added staged reloads to all weapons that use magazines:* the stages are split up into several categories, with the most common ones being mag in, mag out, bolt release
* cancelling a reload by interacting with objects remembers the last stage and continues the reload from that point onward when the player chooses to continue the reload procedure
* can now interact with objects and perform melee strikes while reloading a weapon, which cancels the reload
* modders do not need to take any actions to use this feature - this feature should be backwards-compatible with all weapons (modded and not)
- indoor sounds are now more muffled-sounding, to give more audio variety to gameplay when it is happening indoors VS outdoors
- stingers have been split up into two categories - "everyone is neutralized" and "everyone is dead"
- the "Everyone is dead" stinger is now louder, to be easier to hear during combat
- the game now uses a custom cursor, instead of the standard OS cursor
- added missing choke and knife kill Gideon animations
- certain cutscenes where the player looks in a certain direction no longer snap the player in that direction immediately
- frag grenades and motion sensor mines explosion sounds updated and now have greater difference in sound when they explode indoors VS outdoors
- goons, when remarking about how dark the surrounding area is, will no longer go to turn on light switches for lamps that are inside buildings while they are, for example, outside
- goons, when tripping after getting shot, now have a small time window within which they can still catch more bullets without having to enter targeting mode to finish them off
- goons' weapons, when they die, will now go flying, just like when they sometimes trip and fall
- updated the objective indicator present on the interface
- goon death animations are now slightly more varied
- the currently-active music playlist on a given level is now stored as a string, rather than numeric ID, which fixes issues such as incorrect music playing on old savefiles when installing and uninstalling various level mods which come with custom soundtracks
- object interaction menu made more transparent
- when a crash occurs while loading a Steam mod the game will now display the exact mod name and Steam ID that caused the crash on startup
- crashlogs will now print the user's CPU model
- fixed UI colors not resetting to the default 'Collateral' palette when loading from one campaign into another without exiting to the main menu
- fixed being able to bug certain confrontation cutscenes by firing a flare gun at the target right before a cutscene would start
- fixed being able to bug the slo-mo by opening the inventory, pausing the game, and unpausing (in that order)
- fixed keychains/keycards without a proper display name setup showing in the inventory screen
- fixed the HUD not reappearing if opening the weapon selection menu while inside a vent while playing with a controller
- fixed various spread values not being reset when a weapon is holstered or equipped, resulting weapons temporarily having exaggerated recoil in certain cases, when picking them up off the floor or equpping from the inventory
- fixed the "everyone is dead" stinger being played in cases when it's not supposed to be
- fixed goons' dropped guns sometimes flying too far
- fixed missing Subsonic 4.6x30MM ammo in Polish localization
- fixed a crash that could occur on custom levels with a certain combination of NPC spawners
- fixed a bug that could cause doors to be impossible to interact with
- fixed dropped weapons sometimes getting stuck in world geometry by limiting their maximum physical size
- fixed incorrect magwell weapon mod rendering on AK-107
- fixed animations not correctly returning to idle/walk on various weapons when interacting with or taking items
- fixed being able to get the "unused" ammo when playing with the "Auto-grab ammo" gameplay mutator
- fixed a bug that would sometimes prevent the player from being able to climb over a window
- fixed the closest enemy indicator pointing to non-objective NPCs
- fixed the noise/mobility display not updating when opening the loadout menu with nothing but armor equipped
- fixed the loaded barrel indicator disappearing on the DP-12 when installing a laser sight (and keeping it on)
OPTIMIZATIONS
- very minor reduction of memory usage
- improved the lighting culling system, which improves CPU and GPU performance by up to 25% (your mileage may vary!)
- slightly optimized tilegrid rendering on the CPU side, which should slightly improve performance when panning the camera
CONTROLLER CHANGES
- the camera controls have been reworked, with the old camera controls no longer available:- when moving the camera around, it is locked to a radial offset
- by pressing & holding the camera stick you can adjust the maximum radius away from the player to position the camera to
- when in targeting mode, the camera can be moved around freely
- blocking all action inputs when in weapon or ammo selection menus (except the fire and aim triggers - those can still be used to exit the menu)
- can now cancel/close the weapon/ammo selection menus by clicking on the same button that opened it
- the triggers to fire and enter targeting mode no longer need to be pressed fully to perform their corresponding actions
- can now move in vent shafts by pushing the movement stick up or down
- firing a semi-auto weapon now requires depressing the trigger on the controller enough for the trigger to have been reset on the weapon itself
MAP EDITOR CHANGES
- the neutralize_enemies task (and its kill_enemies derivative) will no longer finish as long as there are 0 enemies on the level
- burning_barrel class objects can now be manipulated using the toggle_light cutscene action and no longer misbehave on savefile loads when disabled at save time
- follower, decor, and prologueactor class NPCs no longer counted for the kill/neutralize everyone objective tasks
- added break_lamp cutscene action
- fixed incorrect placement of omni_light_caster when placing it into the world
- fixed object counter not being imported when importing objects into the level
- fixed incorrect render depth saving/loading on map_decal class objects
- fixed a rare crash involving badly set-up patrol routes
- fixed incorrect classification of the disable_trigger cutscene action, resulting in inability to add it to cutscenes or scenes
- fixed the neutralize_enemies task (and its kill_enemies derivative) locking up if loading a savefile which was made at a point in time where there weren't any enemies on the level yet
- fixed the create_npc cutscene action not setting the NPC health level to the maximum of the provided experience level
- fixed a crash that occurred when attempting to force a non-pedestrian NPC to interact with a dance point
- fixed being able to assign non-fighter NPCs to security camera monitors
MODDING CHANGES
- exposed the following classes/libraries to mod environments: joystickHandler, blastWaveEffect, talkText, statusEffects, difficulty, customDifficulty, armor, radioController, world, items, outlineShader
- improved game startup times when a lot of weapon mods that call :setupModCategoryMap() are installed
- each weapon now stores a duplicate of the selectableMods variable
- can now setup which items (radio, flashlight) an NPC will be spawned with via npc_spawn class objects
- added method to easily add new weapon mods to existing weapons - weapons:addModToWeapon(weaponID, headerID, modData, inFrontOfModID):
* can add singular weapon mods via weapons:addModToWeapon("someWeapon", "sights", "someMod")
* can add multiple weapon mods via weapons:addModToWeapon("someWeapon", "sights", {"someMod", "otherMod", "anotherMod"})
* inFrontOfModID is optional; if it is a string, the mod will be inserted in front of the given mod ID; if it is a number, it will be inserted at that position in the list, or at the end of the list (depending on which is true)
* the method will create a new mod header (category) if the provided headerID is not available on the weapon, and insert the weapon mod in that header
* modders do not need to call any extra methods such as :setupModCategoryMap, the game will take care of the rest
* attempting to add a mod to a weapon that is not registered will not cause a crash
* returns true on success, false on failure, and the failure reason as 2nd argument
* skips adding duplicate weapon mods
- added method to easily set weapon mod icons for new/existing weapon mods - weapons:setModIcons(weaponID, modID, iconActive, iconHover, iconIdle, iconAlign):
* all three icons must be provided to set the icons for the given mod to be successfully set
* returns true on success, false on failure, and the failure reason as 2nd argument
* weapon datas feature the same method , which do all the heavy lifting, with the same argument order minus the requirement for weaponID as the first argument
- added weapons:addModConflicts(weaponID, modID, conflicts) and weapons:addModRequirements(weaponID, modID, requirements):
* 'conflicts' and 'requirements' can be either a string or a table containing strings (mod IDs that are conflicting or required)
* attempting to add a mod to a weapon that is not registered will not cause a crash
* skips adding duplicate weapon mods
* weapon datas feature the same method, which do all the heavy lifting, with the same argument order minus the requirement for weaponID as the first argument
And that's that! I hope you have enjoyed Intravenous 2 and I hope you will enjoy everything it has to offer whether you're returning to it or playing it for the first time.
The game was a massive undertaking and the journey from start of development to launch, to now, one year since its release, has been an emotional rollercoaster ride.
Thank you for your continued support, and I hope you enjoy the game.
Sincerely,
Roman Glebenkov
Remember to report any issues you run into!
Thanks for reading, hope you're enjoying the game!
Social media
TwitterDiscord community
YouTube
Changed files in this update