- Features
- The game is now finished by launching the rocket with satellite.
- Added chain signals, they can be used to make more complicated junctions and stations without deadlocks.
- Added personal roboport as modular armor equipment.
Once it is active, it uses the materials and robots in the players inventory.
It supports all the tasks construction robots can do like building blueprints, repairing structures, deconstruction etc. - Added logistic trash fields to the character gui.
They supply items into the logistic system in the same way active provider chests do. - Added combinators (Arithmetic Combinator, Decider Combinator and Constant combinator).
These allow more advanced manipulation with the circuit network logic (https://www.factorio.com/blog/post/fff-88) - The Lamp, Storage Tank, Small Pump and Offshore Pump can be connected to the circuit network.
- Multiplayer latency hiding (gives impression that some common tasks are performed immediately)
Applies to character movement, mining buildings, building, fast replacing, opening guis, etc. - Stone brick can be used to build stone path. (30% walking speed increase).
- Concrete can be created.
The concrete can be used to build concrete floors (40% walking speed increase). - Terrain modifies vehicle friction force (sand: 1.8, grass: 1.6, dirt: 1.4, stone path: 1.1, concrete: 0.8).
- Trees degenerate slowly when there high pollution levels.
- Lab research is now continuous. Science packs have progress bars of usage.
This means that 20 labs doing research with 10 units will still be faster than 10
labs and the science packs aren't wasted. - Assembling machine input slot can contain more than the usual stack size when the recipe requirement demands it (3 X recipe demand).
Example: The rocket silo requires 1000 steel, while the stack size is 100, but the input stack can hold enough. - Added / updated sounds for biters, spitters, worm, spawner, flamethrower, tank, lasers, etc.
- New ambient soundtrack added.
Added mechanism that prevents playing track that was played recently.
The ambient player alternates between neutral wind/environment sounds and soundtrack songs. - Mousing over a train will show you its current path and blocks it can't enter.
- Locomotives now show the contents of attached cargo wagons in their tooltip.
- Trees regenerate health slowly.
- Added support for transferring contents/settings when fast-replacing all entity types.
- Added modules to the alt-view for entities that support modules.
- Factorio can run as a dedicated server without graphics (https://forums.factorio.com/wiki/inde ... ess_server).
- Basic PvP: New forces can now be created and merged back together; a cease-fire can be agreed upon between forces
- IPv6 support for multiplayer.
- DNS names can be used when connecting to multiplayer game.
- Enabled mining trees/ghosts while holding blueprints to be built.
- Added explosive cannon shells.
- Building blueprints over existing ghosts restores the ghost time to live to full.
- Changes
- Disabled loading of saves before 0.9.0 version (You can use 0.9.8 to load older saves and re-save them).
- Removed rocket defense entity.
- Items on transport belts don't go off the belt at the end, so the transport belt has
to go directly in front of the required inserter. - Reduced number of rendered Roboport connections.
- The trade in the marketplace only happens if the player can accept the trade items.
- Inserters can now extract from Roboports and Beacons.
- Inserters now take items from right behind them, not from the center of the pickup target entity.
- Copy entity settings mechanism now remembers only the last entity copied from.
Also mechanism allows copy/paste across different entities of the same type (i.e. assembling machine 1 -> assembling machine 2) and
from assembling machines to requester chests (sets filters to 2 x requirements of the assembling machine). - Trees have generally smaller bounding boxes, so it is easier to walk through forest.
- Power armor modules generate and consume 100 times more power in order to be able to charge construction robots.
- The construction robots don't build gate in the gap between the rolling stock vehicles. They wait for the train to get away.
- Player's logistic filters are now remembered after respawn in multiplayer
- All turrets are now 4x4; laser turrets are 4x more expensive and powerful, gun turrets are 2x more expensive
- Roboport tooltip now shows correct numbers of contruction and logistic robots separately.
- When a train loses a path and cannot find a new one, it stops immediately. This prevents it from riding into parts of the rail network, from where it can't find a path.
- Improvements to circuit network wire connection. You can connect multiple wires of the same color to the same entity.
- The autosave dialog no longer cancels an active blueprint or deconstruction planner selection if the mouse button is still held after the autosave finishes
- Number of autosave slots is now configurable through config.ini (no GUI).
- Optimisations
- Overall optimisation of train + belt heavy factories is roughly 66% compared to 0.11,
this means that the game runs 3 times faster. - Optimised the transport belt movement.
- Optimised the rotated bounding box collisions checks (trains).
- Optimised the smoke update.
- Optimised the solar panel, all the solar panel input is merged, so the count doesn't matter.
- Optimised the accumulators by merging then into groups, where typical factory has 1 group per network.
- Optimised the land mine activation mechanism.
- Smaller multiplayer heartbeat packet size.
- Optimised adding/removing of roboport, robots keep their tasks if they can.
- Path finder will terminate when search is too long. This avoids save explosions (see https://forums.factorio.com/forum/vie ... =7&t=12580).
- Optimised rendering for large logistic networks.
- Fixed that the graphics were saved twice in the RAM memory.
- Overall optimisation of train + belt heavy factories is roughly 66% compared to 0.11,
- Graphics
- New graphics of the combat robots.
- New graphics of the laser/gun turrets, their color is now player/force dependent.
- New graphics of muzzle flash for player, car, tank and turrets.
- New tree graphics. Trees have 4 levels of leafes and the leafs are colorable.
- Trees emit leaves (based on the tree color) when being mined and destroyed.
- Trees emit branches when mined or destroyed.
- Storage tank has a small window showing the liquid inside.
- Combat robots attack beam (https://www.factorio.com/blog/post/fff-84)
- New GUI icons: Weapons, ammo, status icons such as out-of-ammo or out-of-electricity
- Bugfixes
- Fixed wrong item count in the logistic system when handling partially-filled magazines, repair packs or other items with durability
- Fixed the choppy (not smooth) movement when using the exoskeleton equipment.
- item-description localization now displays correctly when previewing recipes.
- entity-description localization now displays on entities.
- Proper blueprint centering. It is based on the included entities rather then the selection rectangle when the blueprint is created.
- Very big entities no longer disappear at the edge of the screen
- When putting things on ground, the first item was never put exactly under the cursor even when the place was empty.
- Fixed that it wasn't possible to swap stacks of the same items with different health.
- Fixed strange behavior of tank/car entering sound.
- Fixed LuaFluidBox crashing the game when attempting to read fluid from an entity that previously had fluidboxes.
- Car / Tank ammo inventory is refilled from the trunk / player inventory when exhausted.
- Fixed writing invalid LuaEntity::selected_gun_index crashing the game.
- Fixed the power armor battery level indicator getting drawn on top of everything else (https://forums.factorio.com/forum/vie ... =48&t=8206).
- Fixed that following robots created through trigger crashed the game.
- Fixed the train pathfinding issue when the train crashes to something while stopping for signal or station in front of a junction.
- Fixed that crashing to something while in manual mode in train could switch it to automatic mode.
- Fixed crashing when setting modded GUI styles in Multiplayer.
- Fixed crash when trying to read LuaPlayer::opened on a dead player.
- Fixed crash when canceling deconstruction of a logistic container that was marked for deconstruction after the logistic network it was in lost power
and then regained power (https://forums.factorio.com/forum/vie ... =7&t=10143). - Fixed LuaSurface::can_place_entity returning true when checking item-on-ground against item-on-ground (https://forums.factorio.com/forum/vie ... f=7&t=9247).
- Turrets can now be modded to use shotgun (and other not guided) ammo.
- Fixed research window appearing behind the selection/minimap pane when shown from research completion (https://forums.factorio.com/forum/vie ... =7&t=13235).
- Fix inability to bind some OEM keys on Windows. Added the ability to bind more keys including multimedia keys. (https://forums.factorio.com/forum/vie ... hp?t=10027)
- Fixed marking a ton of entities for deconstruction outside the construction range of roboports slowing down normal deconstruction rates.
- Fixed crash when removing electric poles from electric networks or circuit networks with large amounts of poles (https://forums.factorio.com/forum/vie ... =7&t=13368).
- Fixed video-memory-usage option on Windows. It is possible to run Factorio on configurations with low VRAM (less then 512MB). Other platforms don't have this issue.
- Fixed that control-clicking entire inventory into a machine installed modules.
- Fixed another instance of the "Trying to make chunk at unreasonable position" bug (https://forums.factorio.com/forum/vie ... =7&t=13399).
- Requester chests no longer request more than they can store. E.g. if a requester chest only has one free slot and the requester slider is set to request 20000 iron ore, the chest will only request one stack from the network (https://forums.factorio.com/forum/vie ... =30&t=4604)
- Console no longer loses focus after an autosave (https://forums.factorio.com/forum/vie ... 30&t=10025)
- Fixed wrong highlight when crafting ammo in vehicles (https://forums.factorio.com/forum/vie ... =30&t=9620)
- Modding
- Ambient sounds are specified as prototypes so they can be extended and modified by mods.
- Scripting
- Changed all the identifiers/methods/events/parameters. Underscores are used as word delimiter (findentities -> find_entities).
- Changed glob to global.
- New object LuaSurface, accessible from player/entity as read property surface.
- Some commands moved from LuaGame to LuaSurface: get_pollution, can_place_entity, find_entity, find_entities, find_entities_filtered,
find_non_colliding_position, find_enemy_units, find_nearest_enemy, set_multi_command, create_entity, create_unit_group, build_enemy_base,
get_tile, get_tileproperties, set_tiles, pollute, get_chunks, is_chunk_generated - Added LuaGame::local_player console command: when entered through the console it will reference the local player doing the console command. Only works when run through the console.
- Added LuaFluidPrototype - similar to LuaItemPrototype but for fluids.
- math.random can now accept negative values for ranges eg x + math.random(-10, 10)
- Added LuaRecipe::hidden and energy read.
- New object LuaGroup, accessible from LuaEntityPrototype as read property group/subgroup.
LuaGroup contains: name, type, inventory_order, group, subgroups - Added several new options to LuaEntityPrototype: mineable_properties, items_to_place_this, collision_box, selection_box, order,
group, subgroup, healing_per_tick, emissions_per_tick, corpses, selectable_in_game, weight, resistances, fast_replaceable_group,
loot, repair_speed_modifier - LuaItemPrototype::group now returns the new LuaGroup object.
- Added LuaEntity::is_crafting() - returns true/false if the assembling machine or furnace is currently crafting a recipe.
- Added LuaEntity::crafting_progress/bonus_progress - a percent of 1: the current crafting progress or bonus progress.
- Added the ability to compare LuaObjects using "==" as in: "if game.player == game.players[1]" for all LuaObjects.
- Removed all LuaObject::equals(): the == operator can be used in its place.
- Added new blend modes for sprites using "blend_mode" property. Possible values: "normal", "additive", "multiplicative".
- Added on_player_driving_changed_state event - passes the player_index who's driving state changed.
- Added LuaEntity::belt_to_ground_type - returns the type "input"/"output" of the transport-belt-to-ground.
- Added several methods for manipulating gates: is_opened, is_opening, is_closed, is_closing, request_to_open, request_to_close.
- Changed LuaEntity::neighbours:
For electric poles: the wire connections: {copper={}, red={}, green={}}
For transport-belt-to-ground: the input/output entity it's connected to (or none)
For entities with fluid - the entities the fluid connections connect to indexed by the fluid connection - #entity.fluidbox can now be read from any entity and will return the number of fluidboxes the entity has (0 for non-fluid handling entities).
- Added the ability to specify map colors for all entities: map_color, friendly_map_color, and enemy_map_color
- Added the ability to disable drawing the station name for train-stop type entities: chart_name = "false" in the prototype.
- LuaEntity::backer_name can now be read/written for all entities that support backer names (furnace, assembling machine, lab, locomotive, radar, roboport, trainstop).
- LuaEntity::recipe can now be set to nil to remove the recipe from an assembling machine.
- Added LuaItemPrototype default_request_amount, resistances, item_to_clear.
- Added LuaChart::chart_all (charts all the generated parts of the map).
- Expanded LuaEntity::get_item_count and LuaEntity::clear to work with all transport belt entities.
- New object LuaTransportLine, accessible from entity as read method get_transport_line(index) - an interface to the items on transport belts.
- Added LuaSurface::count_entities_filtered - the same as find_entities_filtered but simply returns a count. The benefits being: it's much faster
than find_entities_filtered when the entity references aren't desired. - Added LuaForce::enable_research() - enables research for the force if it was disabled.
- Added LuaSurface::spill_item_stack() - takes a item_stack and position and drops the items on the ground item bomb style.
- Changed LuaEntity::stack, LuaEntity::held_stack and LuaPlayer::cursor_stack to return LuaItemStack objects.
- Changed LuaItemStack to allow reading any inventory slot even when the item in the slot is invalid. LuaItemStack::valid_for_read should be used
before accessing the normal properties/methods for a given LuaItemStack. - Removed LuaEntity::clear_circuit_condition() - LuaEntity::set_circuit_condition(index, nil) can be used instead.
- Added "force" option to LuaSurface::find_entities_filtered/count_entities_filtered.
- ItemStack counts can be excluded and defaults to 1, ItemStacks can be strings and default to a full stack.
- Added LuaItemStack::count write support.
- Added LuaItemStack::can_set_stack(), set_stack(), clear() - write support to a specific item stack.
- Removed LuaEntity::stack, held_stack write support - LuaItemStack::set_stack() can be used.
- Removed LuaPlayer::cursor_stack write support - LuaItemStack::set_stack() can be used.
- Added LuaTrain::cargo_wagons read - returns only the cargo wagons for the given train.
- Added LuaEntity::remove_market_item - takes an index to remove from a Market entity offer list.
- Added LuaEntity::get_market_items - returns a table of offers the Market entity offers.
- Added LuaForce::research_progress read/write - a percent of 1 - the current research progress (0 if no research).
- Added LuaEntityPrototype::turret_range read - the range of a given turret entity prototype.
- Added player_index to the on_put_item event.
- Added ghosts from manual building and blueprints to the on_built_entity event.
- Added LuaPlayer::enable_flashlight() - counterpart to disable_flashlight().
- Replaced LuaGameScript::kill_all_enemies() by LuaForce::kill_all_units().
- Changed on_researched events to return the relaed LuaTechnology object.
- Added LuaTechnology::force read - the LuaForce the technology belongs to.
- Added LuaGame::create_surface - takes a string name and optionally a table of map gen settings and creates a new surface.
- Changed LuaPlayer::teleport to allow optionally a surface name, index or object to teleport the player to. The surface must exist.
- Added LuaSurface::request_to_generate_chunks - takes a position and radius and requests to generate those chunks - will not generate chunks outside the map bounds.
- Added LuaSurface::map_gen_settings - the current map gen settings for the surface.
- Added LuaGame::server_save - in a multiplayer game with a server, this will make the server save the game. Only works with a headless server, i.e. one launched through the --start-server option.
- Added LuaGuiElement::parent read - the parent of the LuaGuiElement if any else nil.
- Added LuaPlayer::index read - the numeric index of the LuaPlayer object.
The windows update package is now not operational because of a bug, but the update packages are so big that re-downloading is equally fast.