Version history/0.18.0
0.18.3
Date: 30.01.2020
Graphics
- Applied LUT color correction to new explosions.
 
Sounds
- Transport belts - high frequencies reduced.
 - Train - pitch scaling reduced and sound levels remixed (Work in Progress).
 - Inserters lowered in level slightly (Work in Progress).
 - Compilatron muted as it was too annoying.
 - Removed scrollbar GUI click sound.
 
Changes
- Overwriting a save file will show a confirmation if the selected save has more playtime on it than what you are about to save. (more)
 
Bugfixes
- Fixed tile rendering would break at extremely low zoom. (more)
 - Fixed dragging train schedules in the train GUI. (more)
 - Fixed a crash when migrating loader entities in blueprints. (more)
 - Fixed fast entity split to burner inserters. (more)
 - Fixed that the pump could never reach its pumping speed of 12000/s. (more)(more)
 - Fixed logistic and combat robots were missing dying explosion effect.
 - Fixed migration of 1x1 loaders from pre-0.18 saves. It still might result in loss of items on transport lines that start on the migrated loaders.
 
0.18.2
Date: 28.01.2020
Graphics
- Improved map colors by adding specific colors to beacons, pipes, heat pipes, roboports and steam engines.
 
Sounds
- New or updated sound effects include:
 - Pump, pumpjack, boiler, heat pipe, offshore pump, substation.
 - Logistic and construction robots, roboport.
 - Train.
 - Rocket takeoff sequence.
 - Car and tank (pitch scaling adjusted to sound more natural).
 - All transport belts, splitters, inserters, assembling machines, power switch.
 - Added some UI sounds that were missing.
 - Shotgun, small explosions.
 - Entity destroyed alert.
 - New sound tech includes:
 - Listener position set to centre of screen by default. This will allow you to hear what you see even when in map mode.
 - The ability to turn off the Doppler effect in Lua, used for the Substation so far.
 - environment-audible-distance setting increased to 30 so you can hear entities a bit further away.
 - zoom-volume-coefficient changed so you can hear more of the world when you zoom out. This will help with combat and give a greater sense of the overall factory.
 
Bugfixes
- Fixed that pressing escape in some log-in screens lead to blank screen or incorrect states. (more)
 - Fixed enemy walls should not render as connected to ghosts, since enemy ghosts are not visible. (more)
 - Fixed undo on self-looped combinator ghosts not restoring wires. (more)
 - Fixed achievement cards not showing description when descriptions are turned off in interface settings.
 - Fixed that inserters from 0.17 save files could end up teleporting items into/from trains. (more)
 - Fixed that the sync mods with save GUI wouldn't size correctly. (more)
 - Fixed that thrown capsules could end up broken forever if thrown at exactly the right tick. (more)
 - Fixed crash when using "create-entity" trigger effect item to create an artillery flare. (more)
 - Fixed map view night LUT. (more)
 - Fixed a crash that would sometimes happen when a biter, who was in previous versions of the game aggroed by a player in a car or tank, was aggroed again. (more)
 - Fixed crash when joining a game through Steam without having previously logged in.
 
Modding
- Migrating loaders between loader and loader-1x1 will maintain the loader type (input/output). (more)
 
Scripting
- Added LuaSurface::create_particle().
 - Added LuaEntityPrototype::inserter_pickup_position and inserter_drop_position read.
 
0.18.1
Date: 23.01.2020
Changes
- Train stop at train's starting segment exit is no longer counted into penalty. (more)
 - Inventory transfers mini-tutorial has been updated to feature the quickbar.
 - Split the map editor sub-menu into more options so it's more clear when scenarios are copied and when they are edited directly.
 
Bugfixes
- Fixed replay gui covering tooltips. (more)
 - Fixed tooltips in statistics window not showing force modifiers. (more)
 - Fixed electric mining drill was missing dying explosion. (more)
 - Fixed when using OpenGL backed turret range overlay was rendered incorrectly when zoomed in. (more)
 - Fixed a crash when using script.get_event_order during control.lua init. (more)
 - Fixed that LuaForce::reset_technology_effects() could change the enabled/visible when disabled state. (more)
 - Fixed wrong lua docs about what event(s) could be filtered. (more)
 - Fixed a wrong error message related to multiplayer and migration scripts. (more)
 - Fixed crash when rail with temporary train stop is removed. (more)
 - Fixed crash if you attempted to ping a train wagon immediately after placing it on a multiplayer server with high latency. (more)
 - Fixed that clicking the drop-down widget in the map editor script section would stop the mouse from working. (more)
 - Fixed nightvision effect was applied to zoomed-to-world view sometimes. (more)
 - Fixed that enemies would attack rails. (more)
 
Modding
- Changed default value of LoaderPrototype::structure_render_layer from "transport-belt-circuit-connector" to "object", in order to be consistent with other on-belt structure sprites. (more)
 
Scripting
- Added LuaEntity::get_damage_to_be_taken().
 - Added LuaSurface::brightness_visual_weights to add back ability to control darkness of the night runtime per-surface. (more)
 
0.18.0
Date: 21.01.2020
Features
- Steam users can now log in automatically through Steam without needing their Factorio account password.
 - Steam users without a Factorio account can create one by providing only a username.
 - Reworked main menu structure.
 - Added a "Continue" button which quickly loads the latest save game.
 - Added a "New Game" GUI that shows all the ways to play the game
 - Added a setting to the map editor to show/hide the extra entity settings.
 - Added a map editor GUI to edit force data modifiers.
 - Added a PvP team option to create a moat around the starting area.
 
Graphics
- Added animation to water.
 - Added animation to trees.
 - Added LUTs and color corrected the game sprites.
 - Added sliders to the graphics settings to adjust brightness, contrast, and saturation.
 - Added on damaged effects for most entities.
 - Added specific dying explosions for most entities.
 
Sounds
- New or updated sound effects include:
 - Nuclear reactor, chemical plant, furnace, fire, burner mining drill.
 - Tank.
 - Mining by hand, chopping wood
 - Roboport door, Combat robots
 - Player footsteps.
 - Biter and Spitter footsteps.
 - Worm breathing, Spitters and Biters, idling and attacking.
 - New sound features include:
 - The ability to fade out sounds instead of a sudden stop, e.g. for the furnace.
 - Varying the pitch of sounds to a min/max level, to add more variety.
 - A 'Random, no repeat' feature to reduce repetition, especially on sounds that happen frequently, such as player steps.
 - The sound for the game has also been rebalanced to highlight certain sounds and make others fade into the distance.
 - The default sound settings have also been updated to improve this mix.
 
Optimizations
- Optimized particle logic.
 - Improved performance when side-loading transport belts.
 - Improved performance of inserters interacting with assembling machines and furnaces.
 - Improved performance of inserters when the circuit network turns them off.
 - Improved performance of mining drills and inserters in general.
 - Improved performance of burner entities.
 - Improved performance polluting entities.
 - Improved performance of smoke producing entities.
 - Improved performance logistic and construction robot performance when they're flying towards their target.
 - Improved performance of furnaces and assembling machines that use fluids.
 - Improved heat pipe performance by 3x.
 - Improved item request proxy performance by turning them off in 99%+ of the cases.
 - Improved locomotive, cargo wagon, and fluid wagon performance by turning them off in 99%+ of the cases.
 - Electric networks, fluids, and heat pipes are updated in parallel if you have enough cores.
 - Improved script rendering performance for text and lines.
 - Improved performance of rotated bounding boxes.
 
Bugfixes
- Fixed the recipe tooltip showing negative values for some complex recipes. (more)
 - Fixed graphical glitch when GUI element with blurred background got out of bounds of the screen. (more)
 - Fixed hard coded English string in NPE. (more)
 - Fixed potential crash in NPE when Compilatron is pointing at something that gets deleted. (more)
 - Fixed issue where sometimes you couldn't move to the second area in NPE. (more)
 - Fixed issue where Compilatron would sometimes tell you to build more boilers when that was not the problem. (more)
 - Fixed issue where Compilatron's speech bubbles could block you from interacting with the world behind him. (more)
 - Fixed items with excessively long names squashing the count label in the recipe tooltips. (more)
 - Fixed accumulator charge text in statistics bouncing around because of inconsistent number of digits. (more)
 - Fixed train path finding penalty when there are 2 or more trains in block. (more)
 - Fixed a crash when creating trains during the player moved event that was caused by the player getting ejected from a vehicle because the vehicle died. (more)
 - Fixed a crash when removing mods that had custom GUI elements. (more)
 - Fixed a crash when using Lua event filters when the thing to be filtered becomes invalid. (more)
 - Fixed that some turret sounds could be heard on other surfaces. (more)
 - Fixed that the tooltip for the generator would not show its efficiency correctly. (more)
 - Fixed a crash related to building tiles in multiplayer with some mods. (more)
 - Fixed that turrets would sometimes fail to attack things that are in range. (more)
 - Fixed follower robot lifetime tooltip property not taking into account following_robots_lifetime_modifier. (more)
 - Fixed cliffs sometimes getting marked for deconstruction when they shouldn't have been. (more)
 - Fixed inconsistent rounding in the statistics window. (more)
 - Fixed a desync when setting .active=false on beacons through script. (more)
 - The map will be re-charted when the mod configuration changes. (more)
 - Fixed inserters sometimes not being highlighted when selecting a large modded vehicle. (more)
 - Fixed a crash when entity grid would destroy itself during update. (more)
 - Fixed a crash with rich text tags and dynamic images. (more)
 - Fixed setting the held stack of an inserter didn't update the inserter state correctly. (more)
 - Fixed tooltip alignment in some specific cases. (more)
 - Fixed a crash when lua removes pipe-to-ground between entity revive and deferred pipe connection fix. (more)
 - Fixed a crash when setting infinity chest filters to legacy items. (more)
 - Fixed that splitters could be set to have invalid bounding boxes that would lead to corrupt saves. (more)
 - Fixed word wrapping of rich text containing tag that doesn't fit given width would duplicate the tag on multiple lines. (more)
 - Fixed if migrating old achievement data to Steam Cloud failed, the old file would not be deleted resulting in the same error on every startup. (more)
 - Fixed train pathfinding penalty for circuit network closed rail signal was not applied in some cases. (more)
 - Fixed a crash when mods would define construction robots without some sprites. (more)
 - Fixed that trying to do 0 damage would still trigger the entity-damaged event. (more)
 - Fixed a save corruption issue related to modded loaders with different belt_distance values. (more)
 - Fixed that train would forget amount of ticks waiting at signal when doing repath. (more)
 - Fixed that train pathfinder was not counting penalty of last segment length in path cost. (more)
 - Fixed PvP error on configuration changed. (more)
 - Fixed pump tooltip showing double pumped amount when pumping to fluid wagon. (more)
 - Fixed manual ghost revive of a loader in unload mode would not work in visually matching direction. (more)
 - Fixed calling LuaEntity::order_deconstruction() on item-request-proxy would corrupt the game state leading to crash. (more)
 - Landfill can be placed over shallow water.
 - Fixed that LuaEntity::color wouldn't accept "nil" to reset the color. (more)
 - Fixed that train pathfinder was not counting penalty of opposite train stop at last segment.
 - Fixed that train pathfinder was counting penalty of whole starting segment instead of only part in front of locomotive. (more)
 - Fixed that train pathfinder would return single segment path even if there are shorter, multi segment ones. (more)
 - Fixed technology screen not showing modifier tooltips when tooltip descriptions are disabled. (more)
 - Fixed belt tooltips sometimes showing their speed in exponent format. (more)
 
Modding
- Added UnitPrototype::light.
 - Removed the "particle" prototype type.
 - Added the "optimized-particle" prototype type.
 - Added the "burner-generator" prototype type.
 - Removed GeneratorPrototype::burner.
 - Added the "pass_through_mouse" option to speech bubble styles. This lets mouse interactions fall through to interact with the world behind.
 - Added optional "radius_color" property to capsule prototype.
 - Removed EntityPrototype::emissions_per_tick, it is replaced by emissions_per_second.
 - Removed EnergySourcePrototype::emissions_per_second_per_watt and emissions, they are replaced by emissions_per_minute.
 - Removed TilePrototype::ageing, it is replaced by pollution_absorption_per_second.
 - Removed ItemPrototype::stackable, primary_place_result_item and can_be_mod_opened, they were replaced by ItemPrototypeFlags "not-stackable", "primary-place-result" and "mod-openable".
 - Added "probability" to trigger items and trigger effect items.
 - Added "script" trigger effect item. It will call the "on_script_trigger_effect" when triggered.
 - Added AttackParameters::rotate_penalty and AttackParameters::health_penalty.
 - Added generic support for rendering radius visualisations on entities through radius_visualisation_specification.
 - Changed construction robots and logistic robots sprites to be optional.
 - Changed the loader prototype type so it has a fixed belt_distance of 0.5.
 - Added the prototype type "loader-1x1" that has a fixed belt_distance of 0.
 - Changed render layer of belt structures (underground belt, splitter, circuit connector) to object layer. They now have special sorting logic, so they are not rendered over player or cars.
 - Horizontal directions of splitter sprites were separated to two sprites (for purposes of the special sorting logic).
 - Added AttackParameters::ammo_categories.
 - Added optional artillery projectile property "rotatable".
 - Scenarios can now contain a description.json file. In the file "order" determines the sorting in the New Game gui; "multiplayer-compatible" determines weather the scenario is shown for multiplayer games.
 - Added "multiplayer-compatible" to description.json file of campaigns also.
 
Scripting
- Added on_unit_group_finished_gathering and on_build_base_arrived events.
 - Added LuaRendering::bring_to_front().
 - Changed LuaGameScript::particle_prototypes to reference the optimized-particle type.
 - Added LuaGuiElement::scroll_to_item() function.
 - Renamed LuaInventory::hasbar(), getbar() and setbar() to supports_bar(), get_bar() and set_bar().
 - Added LuaEquipmentPrototype::attack_parameters read.
 - Added on_script_trigger_effect event.
 - Set lower limit of zoom parameter of LuaGameScript::take_screenshot to be 0.0315 (1 pixel per tile) instead of allowing any value greater than 0.
 - Added LuaPlayer::get_infinity_inventory_filter(), set_infinity_inventory_filter() functions.
 - Added LuaPlayer::remove_unfiltered_items, infinity_inventory_filters read/write.
 - Added LuaSurface::get_entities_with_force().
 - Added optional "dealer" parameter to LuaEntity::damage().
 - Added "force" filters to the on_built_entity and on_robot_built_entity event filters.
 - LuaSurface::min_brightness doesn't have any effect on rendering as brightness of night depends only on color LUT of night.