Factorio - Klonan
Read this post on our website.

The launch party (Klonan)
To celebrate the launch of the game later this summer (only 6 more FFFs to go!), we have decided to throw a party! It is going to be at the same venue as our 1 million sale party (FFF-192). It will take place on Friday the 4th of September, 2020, at Žluté Lázně here in Prague.

We are inviting a lot of people to the party, such as other Czech game developers, Youtubers, and of course we will be there. As we want you (the fans) to be able to come, we have some tickets for sale. The reason to sell them, rather than give them away, is so that we don't have 'messers' saying they will come when they don't intend to. You can buy a ticket here.

While the COVID-19 pandemic might be 'over' here in Czechia (Czechs hold 'farewell party' for pandemic), the reality is, the situation could change with great speed. It is likely many won't be able to come due to travel restrictions, or we may even need to cancel the event. Please keep this in mind while you are considering whether to come.

We hope everything lines up in our favour, and we look forwarding to meeting you.

High resolution power switch (V453000, Dom)
One of the leftover entities that didn’t get the love of a high resolution update yet is the power switch. It has waited this long mostly because we weren’t sure about its design and because it is not a very frequently used entity. However, after all this time we don’t have better ideas for the design, so we don’t want to change it significantly. And of course we have other higher priority things on our plate now, so reworking an infrequently used entity doesn’t sound too pragmatic.

Other than that, the 3D source file is a mess, unsurprisingly as it’s the first thing (FFF-102) I worked on for Factorio. Back then I was trying to create a texture painting system where we could paint RGB masks instead of grayscale ones, to control multiple channels at the same time.



Not only was this not as useful as I had thought (it was more efficient for me to just get used to switching between textures), but unfortunately this also caused something in Blender to go wrong, and the scene crashes frequently.

Luckily I was able to combine forces between Blender 2.8 where I could actually paint textures but couldn’t render, and 2.79 where I could render but not paint. If you’ve been even remotely following the development of Blender, your first question is probably why are we not using 2.8 as it’s been out for quite a while now.



Our workflow is quite specific and the early versions of 2.8 simply didn’t support all of the obscure features that we use. On top of it all, we have a lot of tools and scripts that would probably break in 2.8, and eventually it got so late in our development cycle that we couldn’t just afford to be insecure about our software, when 2.8 introduces all kinds of new changes. We’re very much looking forward to switching to 2.8 after 1.0.



Here we have a high resolution version of the power switch, including a destroyed version from our remnant specialist Dominik.By the way, the power switch was actually one of the first entities we had high resolution sprites for. I had prepared them shortly after finishing the power switch years ago. However the way we create high resolution entities was only really established a while after that, so it wouldn’t fit today any more.

We plan to release the updated power switch next week.
Factorio - Klonan
Read this post on our website

Locale plan update (Klonan)
Earlier this week I received the English proofreadings from Altagram, and overall I integrated over 500 suggestions into the game. Most were small, such as replacing "can't" with "cannot", things like that. It was the exact sort of external scrutiny we really needed, as it showed some areas where we were quite inconsistent. It feels like things are in a better place now, even if the majority of changes are relatively unnoticeable.

However it was very noticeable to our great community translators on Crowdin. When we update the English strings, the translations have to be updated on Crowdin. For the last few days I've been working through the issues raised on Crowdin, and there was a lot of good input on that last 1% of the changes.

So this concludes the 'English proofreading' phase. Starting on Monday, Altagram will start proofreading the target languages, and filling in any missing strings where needed. This should take about 3 weeks. Since Altagram has their own translation system for their team, it isn't really feasible to include Crowdin in this part of the work, they will just take the content from Crowdin at the start of the process, and after 3 weeks, push what they have back to Crowdin. So any translation work by volunteers on Crowdin for these 3 weeks would be wasted. So we ask that, if you want to volunteer your time, save it for a little while.

Any work done on Crowdin this weekend will be included. We deliberately made this buffer between the English corrections and the Target proofreading so that the players on Crowdin have an opportunity to contribute before Altagram starts.

After Altagram has pushed their corrections back to Crowdin, we will start the 'Community review' part of the process. This is when the work that Altagram's team has done is reviewed by players and feedback is given to Altagram via Crowdin issues. This helps us make sure the terms of the translations are consistent with the established community usage, and ensure there are no contextual issues or misunderstandings.

The plan for trailers (V453000)
Rather recently we’ve started working on trailers, and first of all we needed to decide what exactly we want to do with them.The goal is that we will have the main trailer updated to the latest graphics, as all of it is rendered by a Lua script. It of course won’t be absolutely the same, since many things have changed or have been added, but we are going to try to match it as close as possible as we are very happy with this iconic trailer.

We are very happy with the other one as well, but we won’t update the Gameplay trailer, at least not for now. This has multiple reasons - mainly that it’s created entirely by manual screen recording which is a lot more work to try to replicate, and the gameplay message of it is still relevant today. It’s not helping that if we were to revisit this trailer, we’d like to make some changes/additions to the voiceover, which would mean creating a completely new voiceover, as added parts would just not feel perfectly integrated.

Long story short, we’re aiming to prepare a new third trailer dedicated to releasing 1.0 instead. We believe a special 1.0 Launch trailer will have more impact than just refurbishing the existing gameplay trailer, as it is more interesting to provide something fresh, tailored specifically for its use case.

Last but not least, the release of 1.0 is a big milestone and we find it appropriate to give it its own trailer.

1.0 Launch trailer preparations (V453000)
Of course I’m not going to spoil all the details of what is actually going to be in the new trailer, but there is one specific section I have so many feelings about, it’s irresistible not to share them.

Factorio is much more than just the result product. It’s been a journey, and a very unique one. I think the process of how Factorio has been created is so important to the result, that it’s worth giving it a special place in the new trailer.

More specifically, this will be done by a series of clips, ranging from Factorio 0.1, transitioning all the way to 1.0, showing how Factorio evolved over the years.

There isn’t enough time to go through all of the major versions as the trailer is going to be rather short, so I reduced the selection to versions:
  • 0.1 as "the original idea";
  • 0.6 as "the prototype" (0.7.0 was released with FFF#1);
  • 0.12 as "the early access game" (stable 0.12 was the first version on Steam Early Access);
  • 0.18/1.0 as "the version for launch".

It is technically possible to load a savegame from 0.1 in 0.18 if you go through the necessary middle-version steps. So I just started casually playing version 0.1, imagining I’d just continue it in 0.6, build a bit there, then jump to 0.12, and so on...

Note: none of the images below are final, as the trailer is being worked on.


A random factory being built in 0.1

When I had a small factory built I started to wonder how do I actually bring this to 0.6...

As always, it’s not that simple. While technically working, loading obviously does not handle all of the changes to the game, like map generation, entity sizes, or recipes...


A random factory being built in 0.6

I didn’t even bother trying to migrate after realizing that this would mean I’d have to show 0.18 with 0.1 map generation, and just tried to build a new factory in 0.6 and then again a new one in 0.12. This seemed like a reasonable approach as each of the versions works quite significantly differently, so the resulting factories should also be different, right?


A random factory being built in 0.12

Not so much. Since the trailer is short and quick, it’s absolutely critical to minimize confusion as much as possible.

This is why after a few days I restarted it all, and started by designing the final clip in 0.18, and going backwards, with the aim to have the factories look very similar. Of course newer save games can’t be loaded in older versions of the game, so I just had to take a screenshot of a factory with a grid, and try to replicate it in the older version by hand. Having played each of the versions earlier at least gave me a good overview of the differences between versions and made it easier to realize what should be highlighted in each.


A concept of a factory for the trailer in 0.18

When I create factories for screenshots (like FFF), I almost always use the /editor as things can be done very quickly that way. It wasn’t necessarily a surprise that 0.12 did not have the same editor as 0.18 does, but I was completely shocked actually experiencing the differences.


A concept of a factory for the trailer in 0.12

For example, console commands could not be run in the map editor, entities would get removed by X instead of normal clicking, blueprints would not place real entities, the game could not be unpaused in map editor (making placing items on belts almost impossible), and so on. And it wasn’t just the map editor, having gotten used to Cut/Copy/Paste, pipette and Shift+R and so on, the game suddenly felt extremely clunky to use and everything took much longer than it normally takes.

I placed in map editor what I could, and after that put a lot of items in chests to build more, and spent some time playing the factory, making science and generally making the factory run in order to have things move in the final video.


A concept of a factory for the trailer in 0.6

The process was getting progressively more difficult with 0.6 and 0.1, some things making me actually laugh instead of cry, or both. I’m not going to paste our complete changelog from the last 8 years, but I’ll just point out a few things that really stood out.
  • The old quickbar was so confusing, I could never find things in my inventory, because they were hiding in the quickbar.
  • Technologies did not guarantee that if you unlock something, you are able to craft it. No technology tree view without a search function made this even harder to find something.
  • Hand-crafting did not automatically craft intermediate ingredients in 0.1, making crafting feel a lot worse.
  • In 0.6, trains had to be connected by the "Connect rolling stock" hotkey after being built. I never knew this was the original purpose of that hotkey.
  • When taking an entity in your cursor, it automatically rotated to be facing towards you (just like in minecraft) in 0.1... in a 2D game it does not make nearly as much sense though, and I was totally confused what was going on until kovarex explained it to me.
  • I definitely forgot to build a vertical train station longer because trains didn’t stretch in 0.12 like they do now.
  • Building rail signals and train stations is a lot of pain without the visualisation helpers we have now.


A concept of a factory for the trailer in 0.1

You can see the last few screenshots always share some features. This will be even better in their final version, making the video flow much better between these clips.

It felt quite interesting to just play the old versions after all this time. In a way it felt like playing a different game or some spinoff. Apart from the immediately obvious differences in graphics, the core idea of mining-smelting-assembling was still there, but with so many differences... Especially in the interaction, it’s usually small differences, but they really add up. This really made me appreciate what we have come to so much more, and in a way remind me that the details we’ve spent time on were really worth it.

Eventually I got through it all and I can now record clips for the trailer. You’ll be able to see them on 14th August.
Factorio - posila87
Bugfixes
  • Fixed desync related to non-deterministic transport belt merging order when multiple merges happen in the same tick. more
  • Fixed alignment of number input entries.
  • Fixed that undo didn't remove deconstruction task to remove things in the way. more
  • Fixed stray tooltip bug in the map generator window. more
  • Fixed of saving control inputs related to mouse buttons 4+. more
  • Fixed minor clipping issue. more
  • Fixed that train fuel request were unreliable. more
Gui
  • Windows with item and count to be selected have count/confirm buttons disabled when item is not yet selected.
  • Logistic request related item and count windows now have notched sliders for 0 to 10 stacks selection. Different numbers that are not multiplies of stacks can be still written into the textboxes.
  • Added an interface option to show both crafting and logistic windows in the character screen.

You can get experimental releases by selecting the '0.18.x' beta branch under Factorio's properties in Steam.
Factorio - posila87
Changes
  • Full English text proofreading and corrections.
Bugfixes
  • Fixed Trains gui listbox labels not being readable when hovered. more
  • Fixed a crash when using LuaChunkIterator. more
  • Fixed a desync related to placing blueprint with assembling machine with not yet researched recipe. more
Gui
  • Windows with item and count to be selected are now merged into single window and double click on the item auto-confirms the window with the default count. Windows affected are logistic request, signal selection and (debug tool)infinity count selections.
Modding
  • All mining results of resources are forced to be unlocked in the selection lists, even when recipe to create them exists as well. more
  • Added ItemPrototypeFlags::always_show, which forces the prototype to be always visible in the selection lists regardless of related recipes.
  • Added RecipePrototype::unlock_results bool (true by default). When set to false, the recipe doesn't unlock the item to be shown in selection lists.
  • Added RotatedSprite::counterclockwise bool (false by default). Set to true to indicate sprites in the spritesheet are in counterclockwise order.
  • Added CharacterPrototype::has_belt_immunity bool (false by default).
  • Entities no longer require the order string be set when there's no item-to-place them.
  • Added EntityPrototype::remove_decoratives. "true", "false", or "automatic". Defaults to "automatic".
  • Added TurretPrototype::attack_target_mask and ignore_target_mask. more
  • Changed roboport tooltip to not show robot recharge rate when the roboport has no charging slots. more
Scripting
  • Added LuaRecipePrototype::unlock_results read.

You can get experimental releases by selecting the '0.18.x' beta branch under Factorio's properties in Steam.
Factorio - Klonan
Read this post on our website.

New website (Sanqui)
Over the course of the past year, you have seen the team put a lot of effort into polishing the game to get it ready for a full release. There's no doubt this is the most important effort here: we're all here to play the game. At the same time, the website is often the first thing people encounter—and in for many, return to every week! Unfortunately, until this point the looks of our websites have been neglected. The current set of websites are a complete mishmash of styles that are not coherent and do not fit with the look of the game.


Which website am I looking at again?

We set out to rework the looks of our websites last year to make them harmonize with the final game.

Albert and Aleš worked together to design the new website and make mockups in a process not too dissimilar to the GUI work in the game. Of course, web technology is a different beast from anything the game uses. My task was to take the mockups for each page and implement them as closely as possible (my own creative liberties notwithstanding).


The process from original page to mockup to the new version

My approach to creating websites is conservative, and in a way mirrors the philosophy we use when developing the game. The Factorio website doesn't use a fancy modern JavaScript framework. I'm not a JavaScript hater. There is no harm in using JavaScript to make parts of the website interactive, and of course many web applications wouldn't be possible with it. But for a website like ours, avoiding the use of bloated JavaScript frameworks helps keep everything load and render quickly, and of course the website can be browsed without JavaScript as well.

To get the looks right, I set out to create a CSS framework to visually mimic the Factorio GUI style. Where possible, I avoided the use of images. This keeps the page fast and ensures it stays sharp on all resolutions and levels of zoom.

For instance, the buttons match their game counterparts closely, but are made only using shadows.



The only exception is the arrow facing to the right, which simply isn't possible to reproduce using CSS (I tried!). However, even then the performance is kept slick because the graphics for it are embedded in the stylesheet.

The layout for new pages with sleek grids is enabled thanks to modern CSS technologies like Flexbox and CSS grid (no floats, no tables).



At the same time, the mod portal also received the new design.



I also took the effort to unify login sessions between the main website and the mod portal, so you no longer have to log in twice.

This Friday Facts is the last time you're seeing the current (old) style, so enjoy it while it lasts! The new website will go live sometime next week. Once the new design is out, don't forget to click on the rocket!



Website content update (Klonan)
My part in the website update was going through all the pages and updating the content, with a side goal of reducing overall the number of pages we have, either by merging pages or just deleting pages we no longer value.

Since 1.0 is so close, I decided to just 'pretend' that 1.0 is already out, and update the content to match it. That means there is no mention of early access, ongoing development, roadmaps, alpha releases, etc. This allowed me to clean up quite a lot of the pages, and make them much neater and more clear. This might cause some confusion until 1.0 is actually released, but that's just 2 months away now, so its not a big concern for me.

Artwork page
While going through the Presskit, I found myself wanting to include some of the 'cool' images that we've made over the years that aren't really screenshots. Things like the 2020 Rocket poster, or the Player and the biter giving a toast the new year.

Initially I thought I would just throw them in the Presskit page willy nilly, and that will get them out there. We have some really nice images that are good for things like Youtube thumbnails, Website articles and reviews, etc. so I really wanted them to be accessible at least somewhere. However having them only on the presskit might mean they aren't really discoverable to the average player or new website visitor.

So I decided to add a brand new page, the Artwork page. Initially I just added the nice flashy posters, the 2020 rocket, GDS cover, etc. but I figured there are lots of interesting images we can include from the years of publishing the FFFs. So I went through all the 350+ blog posts, to try to find the best images to put up on the page. I wanted to avoid images that shows old graphics or potentially confusing/outdated information.



It feels like this Artwork page is a great showcase of all the work we've done over the years, and I am really happy with how it turned out. Gathering the best images and compiling them into the single page, it started to seem like we really are reaching the finish line, and we will have some closure on the alpha development. Its been a long journey, and while we have a lot to look forward to with Factorio development, part of me feels a bit sad knowing this chapter of the game is drawing to a close.
Factorio - posila87
Graphics
  • New beacon graphics.
Features
  • Changed fluid mixing to a simpler version that only checks when manually building most things.
  • Added a flush fluids button to the pipe, underground pipe, and storage tank entity GUIs.
Gui
  • Show only unlocked items in filter selection (inventory and quickbar) and logistic/trash requests. Other selections like signal selection/upgrade selection are not affected. New interface settings (off by default) bypasses this and allows the player to see all items as before.
  • When selecting an element from a slot that has already value, the selected value is now going to be highlighted with the related tab (if applicable) selected.
Bugfixes
  • Fixed a few weird pixels in heat exchanger East sprites. more
  • Fixed player mining animation had the backpack affected by the color mask. more
  • Fixed mining drill status after disconnecting it from logistic network. more
  • Fixed massive script time usage in Wave defense scenario after configuration changes. more
  • Fixed that infinity GUI filters didn't list all items.
  • Fixed issue with upgrading ghost of assembler with pipes. more
  • Fixed new electric mining drill was missing integration layer. more
  • Fixed crash when unit group is destroyed while its goto behavior is being updated. more
Modding
  • Changed beacon graphics definitions. Graphics are now defined in graphics_set prototype property. If graphics_set is not defined, old animation and base_picture properties will be loaded instead for limited backwards compatibility.
Scripting
  • Added LuaFluidBox::flush().
  • Added LuaPlayer::auto_sort_main_inventory read.

You can get experimental releases by selecting the '0.18.x' beta branch under Factorio's properties in Steam.
Factorio - Klonan
Read this post on our website.

The Beacon Redesign (V453000)

The Beacon is one of the last entities that don’t have high resolution graphics yet. In the rather recent FFF-339, Albert presented the updated and redesigned Beacon. After your responses we realized some issues we hadn’t seen with the Beacon before, and we have taken some time to think about it...



The red tower design by itself is very impressive, which gave it so many plus points that we didn't focus enough on the fact that it is taking too much visual attention. In this case, this happens because of aggressive red colours, the big contrasty yellow eye-like circle, the entity being quite tall, and the electric beam animation. Random variations are usually helpful to make entities look nicer in clumps (like resources), but not in this case, especially as other built entities don’t have any variations.

The options to take from here would be to either update the original design, adjust the red tower, or start a new redesign.



The Beacon is a very special entity, either it doesn’t appear in a factory at all or very little, or it’s everywhere. It doesn’t really do anything by itself so it doesn’t really need to show much activity either.

The original design has its own problems and also saturates the screen very quickly, as they are bright, also tall, and they always move, attracting attention to the movement constantly.

As for the red tower, most of the top part would have to be removed which is almost a complete redesign already, but parts of the hole could be recycled for a new version...

We chose to start a new redesign, with the design goal of the Beacon trying to take much less attention.

The Beacon Re-redesign (V453000)

For everything we generally respect the idea of height, in the sense that the higher something is, the brighter it usually looks. The less important background is usually darker, while the foreground (entities) is usually brighter, especially at their top parts.

The red tower was put in a hole mostly to be able to create a really tall tower in a 3x3 bounding box yet not overlap the tiles above the entity too much.

What could be done instead is to put the whole Beacon in a hole entirely and therefore make it generally darker and less noticeable. This way we would change its idea from a tower to an underground electronic/powerful entity, and try to explain that the effect is being transmitted underground by cables.



Do notice that a lot of the meshes in the model are coming from Albert’s redesign, which was really helpful to get the new redesign done in a reasonable time.

The beacon is generally less saturated than any of the previous designs, which again makes it less intense, and makes it fit better in its typical habitat of concrete tiles, though it looks just fine on more natural terrain as well.

While the submerged design works well in terms of making the Beacon take very little attention away from the producer entities, there are multiple issues. Most importantly it doesn’t look like a Beacon on the first sight. As a side-effect, the Beacon starts looking very top-down without combating our perspective, though that would probably be possible to address by changing the design significantly.



And so a tower clawed its way back into the concept, to explain how the effect is transmitted. Just a slim and lightweight tower though, without taking too much attention.

The two black squares are actually module slots, and the Beacon now dynamically visualizes the modules inside.

This is conceptually questionable, as we definitely don’t want to start a precedent of adding visible module slots to every single entity, but the Beacon has no other use than the modules, so we think it's an acceptable exception.



The modules do take a bit more attention back again, but also remove some. With modules always visible, we could remove Alt-mode from the Beacon.

This means whenever you toggle Alt-mode on, you’re only seeing the overlay change on the producer entities.


See how much more breathing room do the assembling machines have in the screenshot above. As the Alt-mode overlay isn’t really useful most of the time on Beacons, we can afford to remove this visual clutter. It can of course be re-enabled by mods.



The module slots are procedurally tinted, so if a mod adds custom modules, it only needs to specify the tints at the definition of the module item without touching the Beacon at all.

https://cdn.factorio.com/assets/img/blog/fff-351-beacon-loop.mp4

It’s worth mentioning that one of the reasons why the Beacon got away without high resolution sprites for such a long time, is because it’s a late game entity for generally large factories, so the player mostly looks at them while zoomed out.

As you can see in the animation above, the tower has a subtle glow animation that explains the effect transmission when zoomed in, while almost invisible when zoomed out, trying to balance between being interesting close in, and non-disruptive far out.

The glow effect is also tinted by the colour defined by the module lights, in fact it averages the colour if two different modules are in the Beacon, which isn’t very useful for the base game but for some mods it could be a nice detail.



As usual, we plan to release the new Beacon next week.

Fluid Mixing Prevention - take 9001 (Rseding91)

The original concept of fluid mixing prevention sounded great: mixing fluids is (virtually) never desired - so let’s stop it from happening - that's simple. This is the part where the movie stops and the narrator says: "But it wasn't simple, it wasn't even close to simple..." To keep things short I'll just say: complexity compounded with more complexity and an entire game built without the concept of "fluids can't mix" meant over a year and a half later there are still parts that can't be handled "gracefully".

When the concept was first talked about it seemed... off. Mixing fluids is not desired - and the solution is to full-stop prevent it? But let’s take that same solution and try to apply it to something else: belts. Mixing belt contents is (mostly) not desired (people have gone full crazy and made setups around it... but that's another story). So what if the game tried to stop you from mixing belt contents? Sounds crazy to me.

But it happens: belts get mixed and it's not as big of a problem as fluids getting mixed - why is that? Because there's a quick and easy way to fix the problem: just 'hoover up' the items from the belt and its fixed. There's no quick and easy way to fix mixed fluids - you have to pull up the entire length of pipe to get it all out. Even if you don't mix fluids - but just get the wrong one in a pipe - it's still a huge pain to fix.

This idea isn't new - it was talked about back when fluid-mixing-prevention started - but it was recently brought up again and we decided to give it a try: simple fluid mixing prevention. Just try to handle the most common case - manually building things - and in the more complex cases where mixing might happen, provide a quick-and-easy way to fix it: a button to flush all of a given fluid from the pipes.

https://cdn.factorio.com/assets/img/blog/fff-351-fluid-flush.mp4

This new simplified system will be ready for release next week, so you can give it a try and let us know what you think.
Factorio - posila87
Graphics
  • New electric mining drill graphics.
  • Tweaked electric mining drill icon to be a bit more colorful.
Minor Features
  • Hovering over the circuit network id in the entity circuit control window will now show a tooltip with the circuit network contents.
  • Added experimental Color Filters graphics option to attempt to improve accessibility for color-blind players.
  • The debug setting "show-time-usage" now 'line wraps' if it doesn't fit on screen vertically.
Bugfixes
  • Fixed crash when merging force that contained unit groups. more
  • Fixed character preview being empty when the character is in a vehicle.
  • Fixed script error when trying to load old PvP save games. more
  • Fixed setting vehicle driver/passenger to an offline player would crash the game. more
  • Fixed 4th parameter of noise.terrace function was parsed as literal number but was used as noise program register index. more
  • Fixed an issue with modded entities having an electric output flow limit of 0. more
  • Fixed that furnace recipe auto-selection didn't work correctly with temperature ranges. more
  • Fixed that LuaUnitGroup could be used while in an invalid destroyed state.
  • Fixed button for selecting signal or number would not switch from number to signal with left click. more
Modding
  • Changed mining drill graphics definitions. Graphics are now defined using working visualizations contained in graphics_set and wet_mining_graphics_set prototype properties. If graphics_set is not defined, old animations property will be loaded instead for limited backwards compatibility, but other old graphics properties will be ignored.
  • Mods can now be loaded from directories with the name of the mod but no version number.
  • Added color_filters to utility-constants.
  • Input fluid box with connection set to output or input-output will not have volume forced down by recipe fluid ingredient amount.
Scripting
  • Added LuaSurface::show_clouds read/write.
  • Added LuaPlayer::stashed_controller_type read.
  • Added LuaBootstrap::register_on_entity_destroyed().
  • Added on_entity_destroyed event fired after an entity registered with LuaBootstrap::register_on_entity_destroyed() is destroyed.

You can get experimental releases by selecting the '0.18.x' beta branch under Factorio's properties in Steam.
Factorio - Klonan
Read this post on our website.

Electric mining drill redesign (Ernestas & V453000)
The electric mining drill is one of the older designs still in the game, and we have had our eye on it for a long time as a candidate for redesign.

We would have loved to rework the mining drill in 0.15 when we added high resolution graphics and the pipe patch for it, but we had many nuclear related graphics to do for 0.15, so we just did the necessary minimum and postponed the full redesign. Now was finally the time we could unleash Ernestas onto it.

The old design
The most problematic aspect we see is the weak radial animation that’s more like gently harvesting a field, rather than aggressively mining and destroying the planet.



The original mining drill is also very flat like a top-down square. In general we try to avoid square entities like the plague, as they tend to look disintegrated with the world because they don’t try to hide that their perspective isn’t correct.



The pipe patch for uranium ore mining makes the mining drill look like a different entity as it is massive compared to the ultra lightweight drill. Now that we can account for the pipe patch from the start of the design process, we can make it better integrated.

The new design
The drill bit is the part that does the action and therefore is the main characteristic for the entity. We spent multiple iterations trying to find the right shape for it first.

We tried a tricone, four metal drills, a cone shaped drill bit, and none of them worked. Mostly the problem was visibility or too many details, which became even worse while drilling. Having a small pixel area is what usually limits us on what we can create, and also things need to be recognizable from far away.



Through trying various options, we chose to use a similar solution to the burner mining drill, as that is already established in the Factorio language. It makes it clear that the miners are one family of entities.



The old animation had one big benefit - it could work non-stop and move around the collision box so it looks like it’s harvesting from various tiles. With the new construction of the drill, it has to lift to move around. However, the drill can be outputting resources even when the drill bit is lifted, so we have added a working LED and a tintable layer for resources being dropped to the output, making it clear when the drill is in a working state.



Since the movement of the drill is procedural and Ernestas was smart about optimizing the spritesheet space, we can save a lot of VRAM compared to the original mining drill (about 40MB). We were considering a lot more additional animations but it would multiply VRAM requirements too much, or it would become too procedural and too complicated to implement.

The resource layer, the pipe contents and the smoke emitted by the drill bit are all tintable layers, specified by resources, which make it very dynamic and mod friendly.



The remnants ignore rotations, but have 4 variations. Typical mining fields usually use only 2 rotations anyway, so this way it always looks a bit nicer.

Click to view full resolution

The sound of the mining drill has also been updated. Unfortunately Factorio does not support multiple working sounds per entity, which also means we can’t synchronize sounds with the animation. So Ian had to invent a sound that would work nonstop. Since there is almost always more than one mining drill working, it should be fine.

https://cdn.factorio.com/assets/img/blog/fff-350-08-new-drill-animation.mp4

We were finishing the mining drill in the last few weeks so we couldn't release it with the new icons. We didn't feel like creating a new icon for the old design and found it to be a cute little hint that the redesign is coming. Hopefully the confusion why the new icon looks completely different to the entity will be cleared up next week when we release the redesign presented in this post.
Factorio - wheybags
Graphics
  • Reworked Engine unit icon.
  • Tweaked the color of Sulfur icon.
Changes
  • Updates to mini-tutorials.
  • New descriptions for mini-tutorial list.
Features
  • Added support to manually set several paths through the config.ini [path] file. 'saves', 'scenarios', 'mods', 'archive', and 'script-output'
Bugfixes
  • Fixed choose-elem-button filters not being respected when clicking the button with an item in hand.
Scripting
  • Added LuaEntityPrototype::grid_prototype read.

You can get experimental releases by selecting the 'experimental' beta branch under Factorio's properties in Steam.
...