Список изменений:
v0.13.0:
Major features
Improved Multiplayer game UX (see
https://www.factorio.com/blog/post/fff-139 and [url=https://www.factorio.com/blog/post/fff-116)]
https://www.factorio.com/blog/post/fff-116)[/url]. Server games are published to the server and clients can browse existing games. Automatic discovery for the LAN games.
Mod Portal integration. Factorio can list and install mods from the mod portal. more[mods.factorio.com]
Achievements and Steam Achievements integration. (
https://www.factorio.com/blog/post/fff-125) Modded games won't have the achievements recorded on steam.
Rail planner tool simplifies the rail building. (
https://www.factorio.com/blog/post/fff-113)
Added fire. Fire will spread between trees and cause forest fires, causing a large amount of pollution to be released.
Power switch. It can be used to control the energy flow. Power switch can be connected to the circuit network. (
https://www.factorio.com/blog/post/fff-115)
Added the Stack inserter - an expensive upgrade over fast inserters that can move several more items at a time.
Flamethrower turret. Fueled with fluid, shoots a stream of burning oil towards oncoming enemies.
Bonus gui (accessible from sidebar gui) showing bonuses the force has researched.
Train station window contains a list of all trains (each can be opened) that have that station on their schedule.
Single train gui now has an additional panel which shows the minimap/camera view of the given train.
Search field to the filter selection and recipes selection windows.
Trains gui. It displays all the trains as small minimaps with schedules, which can be searched.
Extension of the train wait conditions. (
https://www.factorio.com/blog/post/fff-114)
New locomotive, cargo wagon and train stop graphics. Locomotives can be colored. The trains are a consistent size in horizontal and vertical orientations.
New technology tree gui. (
https://www.factorio.com/blog/post/fff-128)
Minor Features
Blueprints can be now edited.
Added the Blueprint Book item - an item to manage blueprints. The book can be renamed and only holds blueprints.
Map generator algorithm changed, further resource field now have greater richness.
Added landfill, it can be used to replace water areas with grass.
Added yellow/black striped concrete tile that is rotatable.
Small sidebar gui containing buttons for main menu, production statistics, etc.
Armors have inventory size bonuses (10 for modular armor, 20 for power armor, 30 for power armor mk2).
Underground pipes and belts are placed at max connecting distance apart when built by dragging.
--scenario2map: Creates a save from a custom scenario, without initialising the graphics.
The lamp can change it's color based on circuit network signals.
Roboport is connectable to the circuit network. It sends the logistic network contents or the robot statistics of the network.
Accumulator is connectable to the circuit network. It sends it's charge level as a percentage.
Transport Belt is connectable to the circuit network. It can be turned on or off and it can send it's contents to the circuit network.
Rail Signal is connectable to the circuit network. It will send the signal's state and can block trains from passing.
Gate can be controlled through the circuit network by connecting to the wall next to it. It can be opened manually or send a signal if the player is nearby.
Requester chest's requested items can be set automatically from the circuit network.
Inserters can now send the item held in hand to the circuit network. Filter inserters can have their filters set automatically from the circuit network.
Most entities that can be turned on or off by the circuit network can also be turned on or off by directly using a logistic condition.
Circuit network and logistic network conditions can now be accessed by icons in the top-right corner of the entity's GUI, for all connectable entities.
Connected Red/Green wires are highlighted when hovering over a combinator or entity connected to the circuit network.
Wire disconnecting is incorporated in the latency hiding.
Crafting machine item/fluid total craft counts are recorded per force.
Intro sound in the loading screen.
Improvements to the statistics GUI (electric network/production info). Added the ability to filter out things. Added the ability to view "all" information recorded. Made the GUI scrollable.
Added /
/kick /bans /admins and /admin commands.
Added /color command, so changing color doesn't require access to lua commands.
When running as a server, Factorio now accepts console commands on standard input.
When running as a server, Factorio can be told to listen for RCON connections. To use this, specify both the --rcon-port and --rcon-password parameters on the command line. The network protocol is specified here:
https://developer.valvesoftware.com/wiki/Source_RCON_ProtocolNew parameter to start the headless server: --start-server-load-latest. Instead of accepting a save name, it will automatically load the latest save in the saves folder.
The "disallow-commands" flag has been changed to "allow-commands" and accepts "true", "false", and "admins-only" for values.
It is stored and shown which player built each of the machines.
Added cluster grenades and grenade upgrades.
Added flamethrower and flamethrower turret damage upgrades.
When creating a new map using the --create command-line option, --map-gen-settings can be used to specify the map generation settings.
Log file reopening on SIGUSR1 and a commandline option to disable log rotation.
The default font looks better (improved hinting for the thinnest weight).
Labels and values in descriptions have different colors.
Item health bars are rendered green, yellow, red based off the % health remaining like entities.
Modules support in blueprints.
Equipment can be put in open equipment grids using standard inventory shortcuts (shift + click, ctrl + click).
Ease of use
Turret displays its range when you hover over it.
Rail signal/train stop placement indicator. (
https://www.factorio.com/blog/post/fff-134)
Indicator of train vehicle positions in a station when building next to track where would the train stop.
It is possible to change the module in the slot to different one without having to clear it first.
It is possible to upgrade modules to more powerful variant in machine by fast entity transfer.
Clear cursor first cancels the current action (rail building, wire dragging, blueprint/deconstruction), and only removes the item from the cursor when pressed again.
Saving a game changes selected name and directory for next saves. more[forums.factorio.com]
Clicking different filtered slot in quickbar will try to clear the currently selected quickbar item if possible.
Cleaning item in cursor that is taken from quickbar slot will try to refill the slot from the inventory if possible.
Clicking on the warning icon will open the location on the map.
Pressing E/Escape will close the map mode.
It is possible to move the map by clicking and dragging.
Hovering mouse over inventory logistic request slots makes matching items in inventory be highlighted.
Fixed the zoom to cursor feature introduced in 0.8 that was non functional since 0.10.
Improved the rail selection logic in junctions.
Stone Rock can now be mined and deconstructed by robots. It gives some stone as resource.
Combinators input and output arrows in alt mode. Additional alt mode information can be turned on in the options menu.
The constant combinator has an on/off switch.
Several non-stackable items can be swapped directly with counterparts (power armor, deconstruction planner, selection tools).
Inventory filter slots can be copy-pasted from empty slots onto empty slots using the stack transfer/split controls (shift + left click, shift + right click by default).
Balancing
The productivity module pollution addition was lowered (30%->5%, 40%->7.5%, 50%->10%), as the pollution generated by the machine is already increased by the additional energy production and time, it doesn't need to be so high as the modules are quite expensive already.
Repair packs have double durability (100->200) and stack size (50->100).
Changed stack size of raw wood (50->100) so it doesn't fill the inventory so quickly.
Roboport have decreased transmition power consumption (200kw->50kw) while the robots (and their recharging) has increased power consumption (200kW per recharge slot to 1Mw per slot) Basically, covering area by roboports is cheaper, but using robots for transport is more expensive. To keep the personal roboport usefulness, energies used in personal roboport have been all multiplied by 10.
Inserters are able to squeeze things "slightly" better to belts. more resources.
Increased size of several green science and few blue science technologies.
Increased inventory size of cargo wagon. (30->40)
Oil yield drains to 10% two times slower.
Big and behemoth enemies spawn 50% slower.
Armor resistances are applied before the energy shield is used.
Increased the ghost time to live when something is destroyed from 5 + 5 minutes to 30 + 30 minutes.
Halved the mining time of rails, rail signals and walls.
Changed the way evolution factor approaches the maximum (1). The addition of evolution factor was changed from addition * (1 - evolution) to addition * (1 - evolution)^2 This means that the progress gets more slower towards the high values.
Balanced train acceleration and top speed, additional wagons no longer slow trains so strongly.
Changed the amount of items requested when copy-pasting assembling machines to requester chests for several recipes.
Express underground belts require lubricant to match the express belts and express splitters.
Increased battery equipment power storage, input, and output by a factor of 20.
Changes
Reduced number of connections drawn between roboports in blueprint and roboports on map.
More virtual signals for combinators.
Vitual signals can be used in blueprint icons.
Disabled loading of saves before 0.10.0 version (You can use 0.10.12 to load older saves and re-save them).
Removed multiplayer peer-to-peer mode.
Ghosts created by player no longer expire and can be placed before researching any technologies.
Ghosts are brighter and easier to see.
Alert of destroyed entity exists 2 times longer.
Quickbar filters are set and unset using the same key.
Loading a scenario without control.lua will automatically load the freeplay game mode scripts. This means new maps created in the map editor will get the freeplay game mode.
Loading a scenario in the map editor will preserve it's scripts. This means custom freeplay/sandbox maps can be created in-game.
Constant combinator can be rotated.
All types of inserters can be controlled by the circuit and logistic network, once the respective network is researched.
All types of chests can be connected to the circuit network. Smart Chest was removed from the game.
Decider combinator "input count" option makes the combinator copy the count of the specified output signal from the input signals, instead of copying the count from the condition. This might break some setups.
https://forums.factorio.com/13706Transport belt connectable entities will disconnect from incoming (and all other) belts when marked for deconstruction. The problem is solves is described in this bug report:
https://forums.factorio.com/19038Spaces are now allowed in file names when saving.
Changed the fluid color of heavy oil to match the icon color.
Alert beep sound is activated only when something is destroyed, not by something damaged.
Spitter attack distance is randomised slightly to make them look more organic.
Rocket fuel can now be used as fuel.
Saves given on command line (to options --start-server, --mp-load-game, --load-game, --create) are always absolute or relative paths. If the path is relative, it is relative to the current directory (where the binary is run from).
Main menu background image is scaled proportionally now. more[forums.factorio.com]
Renamed "research-effectivity" to "research-speed".
Removed light entity info background option.
Cleaned up freeplay and sandbox scenario scripts.
Exiting vehicles now puts you to the left of the vehicle with respect to the orientation of the vehicle.
Graphics
Health bars are partially visible when obstructed.
High resolution ingame indicators.
New fire graphics for Stone Furnace, Steel Furnace and Boiler.
New icons for rocket fuel, low density structure, rocket control unit, satellite, car and tank.
Entities show a circuit connector when connected to the circuit or logistics network.
Added compression for some sprites to save video memory. This can be enabled in Graphics options.
Added linear filtering for GUI icons. This can be disabled in Graphics options.
New combinator graphics.
Optimisations
Optimised gui render.
Minimap is rendered in 16bit colors to reduce memory usage.
Less memory usage for entities that are connectable to the circuit network.
Faster map unload on Quit to Main Menu or closing the game.
Optimised pollution rendering on map and minimap.
Optimised roboport radius rendering.
Optimised biter pathfinding. (
https://www.factorio.com/blog/post/fff-117 [url=https://www.factorio.com/blog/post/fff-121)]
https://www.factorio.com/blog/post/fff-121)[/url]
Optimised save file times by doing compression in parallel.
Bugfixes
Fixed recipe ordering when recipes had the same group and group order string.
Limited number of explosion sounds for grenade, explosive cannon shells, explosive rockets.
Underground belts won't connect if underground belt ghost is in the way. more[forums.factorio.com]
File saving is done in a safer, more atomic way. This should help prevent some cases where a safe file or the config file can go missing.
Building sound is played also for other players in multiplayer.
Red/green wires change electric pole orientation the same way normal connections do. more[forums.factorio.com]
Fixed the rotation of train vehicles to be built.
Fixed clearing the player cursor stack and then inserting into the player quickbar in the same tick not preferring filtered slots. more[forums.factorio.com]
Fixed unrecognizable item icons when playing on very low graphics settings. more[forums.factorio.com]
Fixed that ghost building on power poles disconnects them, as it is the same shortcut. more[forums.factorio.com]
Fixed multiple construction bots could be sent out to mine single tree. more[forums.factorio.com]
Fixed that LuaGameScript::take_screenshot could take negative values of zoom or resolution. more[forums.factorio.com]
Fixed robots would carry items from active provider chests to storage chests even when requester chest needed those items. more[forums.factorio.com]
Fixed setting the cursor stack from script when having a selection from a filtered slot allowing the wrong item in the slot. more[forums.factorio.com]
Items inserted into assemblers now update tooltips. more[forums.factorio.com]
Map editor save GUI now always fits on the screen.
Will explicitly show system mouse cursor when exiting Steam Overlay, just in case Steam forgets to do it. more[forums.factorio.com]
Fixed that commands would still be disabled in single-player after loading a map created in MP with commands disabled. more[forums.factorio.com]
Fixed that a biter could get stuck trying to attack a building in some cases. more[forums.factorio.com]
Fixed unclear error message when attempting to run multiple instances of Factorio with same write-path. more[forums.factorio.com]
Fixed the space key animating buttons. more[forums.factorio.com]
Fixed fluid getting into the wrong inputs on assembling machines. more[forums.factorio.com]
Long tooltip descriptions (below the minimap) won't stretch the whole right column.
Fixed being able to copy settings onto and rotate entities marked as non-operable. more[forums.factorio.com]
Fixed that player names wouldn't show up on the chart when UI scale was set to 100% or less. more[forums.factorio.com]
Fixed that the same error message could appear twice in multiplayer. more[forums.factorio.com]
Fixed equipment tooltips in equipment grids not showing when putting new equipment into the grid.
Command key can be now used as a modifier in controls on Mac OSXmore[forums.factorio.com]
Fixed that a peer could kick every other peer from an MP game. more[forums.factorio.com]
Fixed train air resistance calculation.
Fixed wire drawing in the right-pane description for electric poles. more[forums.factorio.com]
Fixed freeplay and sandbox scenario initial rocket count. more[forums.factorio.com]
Fixed sandbox scenario wouldn't recognize rocket launches.
Fixed modifying item stacks directly in the player wouldn't trigger an inventory sort in some instances.
Fixed crash when modded locomotive uses other than burner energy source. more[forums.factorio.com]
Modding
Mods need to have factorio_version value in their info which specifies major Factorio version they are suited for, default value is 0.12. Mods with non fitting version are not loaded.
Added item_pickup_distance and loot_pickup_distance to player definition.
Added invalid parameter error for data.extend function.
Added the ability to define additional_pastable_entities for an entity which allows copy-paste between that entity type and the defined destination types. Useful in conjunction with the new copy-paste events.
Added a new item type "selection-tool" that fires the events on_player_selected_area and on_player_alt_selected_area.
Unified prototype names to be consistant with ingame names. (basic-transport-belt->transport-belt, *transport-belt-to-ground->*underground-belt, basic-splitter->splitter, basic-inserter->inserter, basic-mining-drill->electric-mining-drill, basic_beacon->beacon, basic-bullet-magazine->firearm-magazine, piercing-bullet-magazine->piercing-rounds-magazine, basic-grenade->grenade, basic-armor->light-armor, basic-modular-armor->modular-armor, basic-laser-defense-equipment->personal-laser-defense-equipment, basic-exoskeleton-equipment->exoskeleton-equipment)
Construction robots will now use any available repair tool items instead of a fixed single item defined in the prototype for the robot.
Various indicator and game icons are defined in the utility-sprites objects, so it is now moddable.
Added new research options: character-crafting-speed, character-mining-speed, character-running-speed, character-build-distance, character-item-drop-distance, character-reach-distance, character-resource-reach-distance, character-item-pickup-distance, character-loot-pickup-distance, character-inventory-slots-bonus, deconstruction-time-to-live, character-health-bonus
Sticker entity can deal damage.
Added a new entity type "electric-energy-interface" that can consume, produce, and accept energy while also allowing all of its electric network parameters to be configured runtime.
Added flags to energy_source prototypes "render_no_network_icon" and "render_no_power_icon" to prevent rendering those icons when set.
Removed "inventory_order" prototype property as it wasn't actually used and isn't needed.
Removed "radius_visualisation_picture" and "construction_radius_visualisation_picture" from roboport and roboport-equipment prototypes. The pictures were moved to core. If needed you can use "draw_logistic_radius_visualization" and "draw_construction_radius_visualization" boolean properties to disable drawing radius in your prototype.
Scripting
Moved LuaGame::daytime/wind/wind_orientation/wind_orientation_change/peaceful_mode to LuaSurface.
Added LuaEntity::held_stack_position. It tells you the world position of the inserter arm.
Added LuaGame::delete_surface. Deletes the surface passed in if the surface is deletable.
Added LuaItemStack::create_blueprint() - sets up a blueprint as if a player did it.
Added LuaItemStack::build_blueprint() - builds a blueprint as if the player built it in the world.
Added LuaSurface::deconstruct_area() - deconstructs an area as if the player did it.
Added LuaSurface::cancel_deconstruct_area() - cancels deconstruction over an area as if the player did it.
Added on_pre_entity_settings_pasted and on_entity_settings_pasted events that pass the source and destination entities involved.
Added "robot" to the robot related events.
Added "chunk_position" to the on_sector_scanned event.
Added optional "player_index" to on_marked_for_deconstruction/on_canceled_deconstruction when fired due to player actions. This field is nil when fired from from script/non player action.
Added LuaEntity::crafting_progress/bonus_progress write.
Added LuaForce:: item/fluid/resource/build counterparts to kill_counts.
Added LuaFlowStatistics - used to read/write statistics data related to a given force (production, kills, etc).
Removed LuaForce:: set_kill_count/get_kill_count/kill_counts - these are now readable through LuaFlowStatistics.
Added LuaGame::disable_replay() - disables the replay for the current save game.
Added several player related events: on_player_cursor_stack_changed, on_player_main_inventory_changed, on_player_quickbar_inventory_changed, on_player_tool_inventory_changed, on_player_armor_inventory_changed, on_player_ammo_inventory_changed, on_player_gun_inventory_changed, on_player_placed_equipment, on_player_removed_equipment, on_pre_player_died, on_player_died, on_player_respawned, on_player_joined_game, on_player_left_game
Added events for tile building: on_player_built_tile, on_player_mined_tile, on_robot_built_tile, on_robot_mined_tile
Added LuaEntity::damage_dealt/kills read/write - usable with turrets.
Added LuaGameScript::active_mods - a table of active mod names to mod versions.
Added LuaEquipmentGrid::get - gets the equipment at the given equipment grid position or nil if none.
Added LuaEntity::player, returns the player connected to the character entity.
Added LuaInventory::get_filter, set_filter, has_filters, can_set_filter methods to set/get/clear filters on inventories that support them.
Changed LuaEntity::get_filter/set_filter parameters around to match the inventory versions. They also now only work on inserter filters.
Added LuaPlayer::get_craftable_count/begin_crafting/cancel_crafting/crafting_queue to read/write crafting information for a player.
Added modifiers to the character entity that stack with the force research bonuses but are unique to the character: character_crafting_speed_modifier, character_mining_speed_modifier, character_running_speed_modifier, character_build_distance_bonus, character_item_drop_distance_bonus, character_reach_distance_bonus, character_resource_reach_distance_bonus, character_item_pickup_distance_bonus, character_loot_pickup_distance_bonus, quickbar_count_bonus, character_inventory_slots_bonus, character_logistic_slot_count_bonus, character_trash_slot_count_bonus, character_maximum_following_robot_count_bonus, character_health_bonus
Added LuaTilePrototype accessible from LuaTile::prototype and LuaGameScript::tile_prototypes.
Added LuaEquipmentPrototype accessible from LuaEquipment::prototype and LuaGameScript::equipment_prototypes.
Added LuaGuiElement::tooltip read/write - a localised tooltip for any GUI element.
Added LuaCircuitNetwork readable off entities with circuit network connections and through control behaviours.
Changed StickerPrototype::magnitude to StickerPrototype::target_movement_modifier. Speed of a Unit is not multiplied by value of target_movement_modifier.
Added optional "limit" field to find_entities_filtered and count_entities_filtered to limit the results.
Added "force" to the entity_died event when the killing force is known - nil otherwise.
Added LuaEntity::unit_number - read - a unique ID field used by all entities having owners.
Added LuaInventory::index - the inventory index the inventory reference uses.
Added LuaEntity::supports_backer_name() - true when an entity supports a backer name.
Added LuaEntityPrototype::belt_speed and underground_belt_distance read.
Added LuaEntityPrototype::result_units the result units a biter spawner can spawn.
Added LuaItemPrototype::ammo_type read.
Multiple stickers (i.e. slowdown capsule + fire) can be applied to a unit entity.
Added LuaEntity::get_quickbar() - gets the quickbar of the character or player.
Changed LuaEntity::color to work for locomotives, cargo wagons, and characters - it will return nil if used on other entities.
Added LuaEntity::mining_progress/bonus_mining_progress read write - for mining drill entities.
Added LuaEntityPrototype::attack_result - the attack result for entities using attacks (beams, fire, landmines, projectiles).
Added LuaEntityPrototype::final_attack_result - the final attack result of a projectile.
Added LuaFluidPrototype::base_color + flow_color read.
The Train changed state event now fires when a train goes from stationary to moving or from moving to stationary while under manual control.
Prototypes can have the optional properites "localised_name" and "localised_description" to manually define the localised keys instead of using the auto generated keys.
Added sprite-button gui element, works the same way as button, but it can have sprite name assigned.
Added sprite gui element, can have the sprite name assigned/changed and has no interaction logic.
Custom sprites can be defined in lua data definition (type = sprite, the rest is sprite definition).
Sprite identifier can either point to custom definition from the data, or have form <type>/<id>, type can be (item, entity, recipe and technology), for example button.sprite = "item/iron-plate"
Renamed some defines (groupstate->group_state, circuitconnector->circuit_connector, circuitconditionindex->circuit_condition_index, trainstate->train_state)
Removed game.regenerate_tiles().
Removed game.get_player() and game.get_surface(): game.players[] and game.surfaces[] can be used instead.
Changed game.players, game.surfaces, game.entity_prototypes, game.item_prototypes, game.fluid_prototypes, force.recipes, force,technologies to use custom access + iterator objects for improved performance.
Changed game.players[] to work with both the player index and the player name.
Added on_gui_text_changed and on_gui_checked_state_changed events.
Changed "defines" so they're available by default and removed the defines.lua file.
Renamed LuaForce::logistic_robot_storage_modifier -> logistic_robot_storage_bonus to better match what it does
LuaEntity has built_by read/write.
game.player has been removed (use game.players[#] and associated event.player_index during events).
game.local_player has been renamed to game.player and now works through remote calls.
Offline players can be teleported anywhere (between surfaces or just around).
entity.get_inventory(index) returns nil if it doesn't have an inventory for the given index instead of giving an error.
entity.riding_state can be set on cars without players and the car will act as if it's being driven by a player (consume fuel).
Changed LuaForce::current_research to accept "nil" to stop the current research.
Added LuaTrain::front_stock and back_stock the front and back rolling stock entities of the train.