Fixed clearing ghost from cursor would not clear quickbar selection. more
Fixed blueprint book not shrinking when the last item was destroyed.
Fixed crash when Lua received event of player selecting area to deconstruct.
Fixed upgrading book by item would not work while being in editor. more
Fixed biters not grouping before attacking an artillery outpost. more
Fixed crash related to saving blueprint which has all the entities/tiles as question marks.
Fixed desync when loading blueprint shelf with modded entities. more
Fixed that swapping blueprint cursor into a non transferred blueprint didn't trigger the transfer.
Fixed that cycling blueprint book in the shared blueprint library could also cycle the index for other players holding the same book.
Fixed that cycling book wouldn't mark blueprint storage to be resaved, so the indexes would be lost if no other changes were done.
Fixed a desync when returning to a multiplayer game while the book active index was changed in a different game. more
Fixed that the action to put item into a blueprint library was not based on the latency hiding state of held item, which could result into the action doing nothing when the item held was not in the server state yet.
Fixed that quickbar links into items contained in blueprint books in the player inventory didn't work.
Fixed that it was possible to setup empty blueprint of other player if the original player was still having the quickbar link to it.
Fixed that quickbar links did work only for the main inventory of player, so it didn't work for currently equipped armor for example.
Fixed that LuaInventory.insert() didn't work properly for blueprint books. more
Fixed crash when reassigning blueprint with non-even snap grid size to contain rails. more
Fixed crash when holding a blueprint from the blueprint library while being dead. more
Fixed that the info for selecting entities to be upgraded was mentioning entities that were marked for deconstruction, even when these are ignored by the upgrade planner.
Fixed that ordering deconstruction didn't cancel upgrade order. more
You can get experimental releases by selecting the '0.18.x' beta branch under Factorio's properties in Steam.
The COVID pandemic around the globe is making it really hard to plan any event these days, and we were pretty optimistic just a few weeks back. However the situation here is now changing for the worse it seems.
The number of positively tested cases of COVID here in Czech has been increasing in relatively high numbers every day for the past two weeks, and the restrictions are again taking place. In Prague, face masks are required to be worn again where more than 100 people gather indoors, no events over 500 people are permitted as of last week, etc.
The current uncertainty together with the fact that at least half of the invited guests will not be able to attend the party (including some members of our own team), have led us into making a tough decision: we have decided to cancel the Factorio 1.0 release party we were intending to throw on 4th September 2020.
For those of you who already purchased a ticket(s) - the full ticket price will be refunded.
We hope there will be another opportunity to meet you all in the foreseeable future, but for now, please accept our apologies for any inconveniences caused. This wasn't an easy decision for us to make, but we believe it is the right one.
Youtuber/Twitch/Press suggestion (Klonan)
Over the last weeks and months, we have been preparing for the marketing of our 1.0 launch on the 14th of August (just 2 weeks to go now). Part of our plan is going to be sending out some free press keys to Youtubers and streamers and other content creators, in the hopes they will give the game a try, and help spread the word. To prepare, Jitka and I have been doing our research and compiling a list of suitable individuals to send a key to.
It is not a shocking fact to find out that Youtube is massive, and I think even if we spent a year everyday going through it, we still wouldn't find 10% of channels that we would like to send a key to. So we decided to start this simple form, that you can use to suggest your favourite Youtubers to us, and help us make sure they don't miss out on the review keys when we are sending them. If you are interested and would like to help us out, you can fill in the form here.
Polluted water (V453000, posila)
As we're done with redesigning graphics for 1.0, we could focus on other graphical improvements. Because we are so close to release, it's a good idea to focus on things that are unlikely to break the game and don't cost too much time, while having as large an impact as possible.
One of the biggest themes of the game is pollution. Considering that, it's one of the least visible elements in the game - you can only see it in the map view, and on dying trees. It would be lovely if we could make grass or decoratives die too, but that's something way too technically complicated for now.
But one thing that could and does show pollution is water! For a very long time we’ve had green water tiles in the game and we've used them in campaign missions. Two water tile types, one or the other.
As it's 'just' tiles, it wasn't really feasible to use both of them - because transitions between them would be too abrupt. Not to mention water tiles would have to generate that way, and dynamically change as the map gets more polluted, leading into more technical problems.
Manually placed tiles in map editor.
However, since water has been updated to use a shader rather recently (FFF-323), we could make it look polluted dynamically.
After some typical posila dark magic of interpolating and converting the pollution values on chunks, we could blend between a primary and secondary tint of water tiles. This way it is also directly tied to the red cloud you can see on the map so it's consistent.
Polluted water slowly spreading.
The green water tiles still exist if scenarios want to use them, they just always show as polluted.
The pollution effect won't show if the 'Show animated water' setting is off, or if pollution is disabled in the map settings. Mods can also adjust or disable the effect it by changing the secondary water tints in the tile prototypes.
Biter decoratives (Ernestas, V453000, posila)
When the whole family of biters got their redesign, one of the plans for later was to give them their own biome in the world.
We had some temporary decal and decoration sprites prepared for a long time now, but somebody needed to add them to map generator. In the end, we didn't want to spend an awful lot of time on tweaking generator properties to place them just right, and also we wanted them to be created under new bases as biters expand, therefore we decided to add special logic to generate them as spawners and turrets are created. If your mod already has its own solution for creep, you can disable base game one by clearing spawn_decoration prototype property on spawners and worms.
Our initial naive implementation was placing the decals just randomly, and Ernestas turned the number of the decals created up to 11 to make them cover the ground the way he liked. That in turn made me (posila) unhappy, because in the middle of biter bases there were too many decals overlapping each other, that even your GTX 1080 would take notice of the increased workload, and a laptop with an integrated GPU would fall to its knees. That made me realize that artists probably wished our tile renderer had a texture splatting feature. But I wasn't really ready to change the specification for tile renderer yet again and rework it to add more new features into it this close to the release. We also really didn't want to add an option to disable the rendering of decals as that together with already existing option to disable decoratives would make terrain look completely plain.
So instead we changed the decal placement logic use Poisson-disc sampling, which produces points that are randomly placed but somewhat evenly spaced out from each other, and this fixed the excessive overlapping.
Once we knew it could actually be generated (including bases created by biter expansions), Ernestas could finalize the graphics. Mucus, mold, eggs, worms, all kinds of bodily fluids and slimes. You can see how this immediately looks much more like a 'nest'.
We decided not to bother with a migration as we need to focus also on other things (like fixing bugs), so existing biter bases on older maps loaded in 1.0 won't have these decoratives. We imagine a lot of people will want to start a fresh map anyway, and it's a nice identifier of a 1.0 map.
Both the polluted water and the biter decoratives will be released on 14th August in 1.0.
Fixed crash when clicking a blueprint book upgrade slot with an upgrade planner in hand.
Fixed navigating in a blueprint book item when opened directly from a quickbar. more
Fixed that it was possible to put book into itself using hand->swap and clean cursor.
Fixed that the hand functionality didn't work properly for gun and ammo and gave misleading error messages in some cases.
Fixed "slice" property of animation definition was interpreted as dicing parameter, possibly causing large memory allocations. more
Fixed that grabbing gun/ammo, swapping it with some other item in the inventory and pressing Q, gave a message of inventory full, instead of the item in cursor not being returnable to the hand location
Fixed that Internal inventory stack transfer messages weren't specific enough, or not present at all.
Modding
Renamed sprite and animation properties for sprite dicing from "slice", "slice_x" and "slice_y" to "dice", "dice_x" and "dice_y", because "slice" collided with property of rotated animation definition used for defining spritesheet sliced into multiple files. Sprite dicing is a technique of chopping large sprite into smaller ones to improve packing in sprite atlas.
Scripting
Fixed a typo (per vs pre) in the on_pre_permission_group_deleted event name.
You can get experimental releases by selecting the '0.18.x' beta branch under Factorio's properties in Steam.
New blueprint library GUI. Its user interface had been aligned with the way inventory works in as many ways as possible. more
Features
Added blueprint building from the map view.
Blueprints can have snapping dimensions specified. When they are built by dragging, they are only built in the grid relative to where the build started.
Blueprints can have absolute map snapping specified, so the blueprints are always aligned to the global grid.
Blueprint books can be inserted into blueprint books, cycling through the books works in a hierarchical way.
Upgrade planners and deconstruction planners can be inserted into blueprint books and the blueprint library.
Blueprint books, upgrade planners and deconstruction planners can now have custom icons specified.
All blueprints tools have an editable description.
Added Blueprint reassign tool. It allows to set new contents of a blueprint by world selection.
All blueprint tools have a copy function.
All the blueprint tools are usable directly from the blueprint library.
Quickbar links to blueprint tools are persistent when moving them between library shelves and inventories.
Most of the blueprint tools manipulation in the blueprint library is part of a multiplayer latency hiding.
Icons on the blueprint tools and filters in the upgrade planners/deconstruction planners are preserving the original values so whenever the mods would be re-added, the original values can be restored, unless the player clears the related icons manually.
Any blueprint contents that are not available due to mod removal are also kept in the blueprint persistently, so blueprints can be copied and transferred in multiplayer without losing its original data.
Added downgrading feature to upgrade planner. It works on blueprints, books and also when applying in the world.
Clicking an upgrade planner button in the blueprint or a book now provides a list of all available upgrade planners to be applied.
Upgrade planners now also update the relevant icons of blueprints and books.
Minor Features
Grabbing an item from a blueprint book has the same hand item functionality as when holding an item from inventory, so it goes back to the original position when clean cursor is triggered.
Gui
All the blueprint tools now show all possible actions it can perform in the tooltip.
Control settings search now also searches by the currently assigned key-binding.
Optimizations
Decreased the header size of blueprint-storage and of individual blueprints with backed up modded entities, as only the id mapping relevant to the blueprints (and whole storage) is now saved.
Bugfixes
Fixed that exporting blueprint didn't include the unconfirmed blueprint changes into the exported string.
Fixed blueprint preview icons rendering scale when blueprint was held in cursor.
Fixed that blueprint was not detecting modded data to be lost when loading unless one of the top level entities or tiles were to be lost. This means, that a blueprint with vanilla constant combinator (for example) with a modded signal will no longer silently lose the modded signals on resaving the blueprint storage when the mod is not currently active.
Fixed that biters when faced with a rock might get stuck in an infinite pathfinding loop. more
Fixed that clicking a technology in the research queue, holding the mouse down and moving it over the cancel button would make the cancel button flicker. more
Fixed terrain particles would be spawned when walking over belts. more
Fixed player movement on belts in latency state was not exactly matched with the real game state logic. more
Fixed that the set-request GUI didn't respect the show-all-items setting. more
Fixed that burner assembling machines could cause inserters to get stuck holding extra fuel in some cases. more
Fixed noise.terrace function did not assert that constant parameters are constant.
Fixed that item durability tooltips used the wrong locale key in some places. more
Fixed that upgrading inserters in blueprints wouldn't preserve modded pickup/drop locations. more
Fixed that exporting empty blueprint books didn't work correctly. more
Fixed that the mods GUI didn't have any mod selection by default. more
Fixed that positions of entities in blueprint string were not properly fixed to be aligned to grid according to our rules and centered.
Fixed a crash when mods destroy the character entity during the on_gui_closed event. more
Fixed a crash when canceling loading some modded saves. more
Fixed that artillery turrets didn't fully use the shooting speed research. more
Reduced flicker of mining drill indicator lights when zoomed out. more
Fixed lua documentation for LuaGuiElement::index read. more
Fixed that biters would try to attack over large distances individually instead of in groups. more
Map tag edit GUI can now be confirmed with Enter key even when the textbox is not focused. more
Fixed a pathfinder crash related to entities and tiles using collision layers 11 to 15. more
Fixed the changelog GUI indentation.
Modding
Implemented compileIntoCurrentProcedure for the "if-else-chain" noise expression type. This allows non-constant values to be used as conditions.
Added "modulo", "ceil" and "floor" noise expression types.
Added "bitwise-and", "bitwise-or", "bitwise-xor" and "bitwise-not" noise expression types.
Added "sin", "atan2" and "cos" noise expression types.
Added "less-than", "less-or-equal" and "equals" noise expression types.
Changed turret base_picture animation to actually play the animation.
Added several properties to ExplosionPrototype to control light fading through applying a multiplier to the light's size and intensity. "light_intensity_factor_initial" (default 0), "light_intensity_factor_final" (default 0), "light_intensity_peak_start_progress" (default 0), "light_intensity_peak_end_progress" (default 0.9), "light_size_factor_initial" (default 0.05), "light_size_factor_final" (default 0.1), "light_size_peak_start_progress" (default 0.1), "light_size_peak_end_progress" (default 0.5)
Scripting
Added permission events: on_permission_group_edited, on_pre_permission_string_imported, on_permission_string_imported, on_per_permission_group_deleted, on_permission_group_deleted, and on_permission_group_added.
Simplified the rules of entity positions aligned to grid in the blueprint. Now they have the same rules as entities in the world.
You can get experimental releases by selecting the '0.18.x' beta branch under Factorio's properties in Steam.
At the time of writing the Friday Facts last week, not all of the planned changes were finished, here is the finalisation, so here we go.
Persistent library contents
The problem is old. You play a modded game and have your blueprints in the library. Then, you decide to put the mods aside for a reason (to join a MP game, or just try a different modset). At that moment, if we didn't handle it in a special way, all your mod-related content in your blueprint library would be removed.
We solved the main part of the problem already quite some time ago. But with the upcoming support of other tools in the blueprint library it had to be extended. Special system was created for these things:
The preview icons of the blueprint tools
The filters of the deconstruction planner
The upgrade specification of the upgrade planner
If the related ID isn't available any more while loading a game. Instead of just plainly removing it, it is marked as unknown and the original textual representation of the ID is stored in a special way.
The tool can still be normally used. Clearing the "unknowns" removes the information about the slot for good, but if you don't clear them it stays there.
Once you load the appropriate mods again, the IDs are restored.
Upgrades
The UX of upgrading blueprints/books with the upgrade planner was meant to be provisional, but somehow, it remained in use for quite some time.
Currently, the only way to use it is to click the button with an upgrade planner in your cursor, which is sometimes quite annoying, as you don't even have access to your inventory or Blueprint library when you want to click the button, so you have to close the window, find the upgrade planner you want to use, open the window with the upgrade planner already in cursor, and then use it.
So this window was created. When you click the upgrade window, the game searches all the upgrade planners available to you (inventory and blueprint library) and lets you select which one to apply, and always offering the default upgrade planner.
As you probably noticed from the picture, I couldn't restrain myself from adding a little feature. Upgrade planners can be now used both ways: as upgrade with left click and downgrade with right click. It obviously works also when upgrading in the world.
The problem is, that you can already do 3 different kind of things with the tool, and there are generally quite a lot of people that don't know about basic things you can do, like cancelling a deconstruction orders or force-building a blueprint. Because of that, we added instructions to every tool so the users won't miss it.
Snapping
This is a great example of a feature, that I expected to be done quickly and easily... but you know how it goes.
The first problem is related to build and drag. Most of the blueprints don't work that well when you just build and drag them.
The second problem is that blueprints are often designed to work in a grid, but there is no way to enforce it. Either you have to build slowly and cautiously, or you misclick often. And with the new feature of building in map, the problem was just elevated. This is what the second checkbox is for, it forces the blueprint to be built in a grid aligned to the map center. To ensure, that the user can configure individual blueprints in a way that they would match perfectly, the relative position of the blueprint to the grid can be configured by moving the red flag.
Story of the nuke (Dominik, Posila, Ernestas, V453000)
Since more than a year ago Dominik has been updating and improving all kinds of visual effects in the game - particles, splashes, explosions and so on. During most of the time we’ve also been getting valid questions - "But what about the nuke?".
It was the plan from the start that the explosion of the atomic bomb would come last. Not because it’s the lowest priority, quite the opposite - however it’s also by far the most challenging effect to create, both on the technical and graphical side, so we kept improving how particles/explosions work, and experimenting with graphics for effects - essentially practicing and preparing ground for the nuke.
The most major challenge visually is the sheer size of the explosion. Normal explosions already benefited greatly from more flexible and various scorch marks and particles, and improving the explosion sprites themselves, but that’s not enough here.
The atomic bomb has such a giant explosion radius that we simply cannot (mostly because of VRAM requirements) create an explosion sprite that would cover all of it.
We’ve tried to make an explosion as large as we could fit in a reasonable spritesheet, and limit its frame count as much as we could as well. Just like we did in the old days when VRAM was much more of a concern.
This mushroom cloud does not cover nearly enough though, so for sure some part of the effect needs to be procedural.
The VRAM is not the only problem though, the biggest challenge for the visuals is yet again the perspective of square tiles, where visually the game looks like the player is viewing it at 45° angle, but everything is presented as if viewed top down. Both of these things are intentional and graphics get the shorter end of the stick when it comes to compensating for this dichotomy (FFF-133).
After discussing many really different approaches we could take, we decided to create a combination of a central spritesheet, with a shockwave of smokes being moved outward from the center.
We tried to make graphics hide this perspective problem as always, and made the explosion move slower vertically, resulting in a visually correct ellipse.
As you can see in the animation above, this exposes the problem of entities dying in the vertical direction before the waves get to them.
So we made the damage apply slower in the vertical direction as well. This does mean you can minmax and run away vertically when shooting the atomic bomb under your feet and you will have a better chance of survival, but that shouldn’t be too much of an issue
We’ve also added a secondary damage radius, so it’s more forgiving if you’re just barely getting hit while running away.
For further improvement, we’ve added a ton of random elements to how the particles move and when they disappear which again makes the edge of the explosion less obvious, but also helps diminish the crescent-like shapes at the end.
The explosion is so large that even creating a scorch mark of an appropriate size for it is a problem, so Ernestas created a scorch mark as big as we could afford, and added a whole new tileset to the ground zero, with decoratives to smooth the edges out a bit.
The atomic explosion also destroys everything in a small radius at the center (killed entities don’t spawn corpses, decoratives are destroyed and cliffs disappear), which makes the explosion feel a lot more powerful and impactful.The nuclear tiles remain there forever and are visible from the map view as they have their own map colour, though you can place concrete over them to hide the evidence of your actions.
To complete the effect, we’ve added a brief overbright of the whole screen based on how far the player’s screen is from the explosion, and added sound effects which also react to distance from the explosion.
You will be able to enjoy becoming death, the destroyers of worlds, in the new fashion on 14th August, in 1.0.
This wall of text is about my personal struggle with Factorio and life, feel free to skip to the next subject if you wish to see the actual Factorio content.
Since two years ago, I started to have these problems, it was harder and harder to force myself to work on the game and I didn't enjoy it that much. So I was looking for a way to have a break.
I know exactly when I disappeared from the Factorio development, it was August 26, 2019, the release date of World of Warcraft classic. The planned 3 weeks of playing kind of extended to be more like 3 months. One of the big reasons was, that I already had 60 level priest when I realized that tanks are so hard to come by, so I re-rolled a tank learned how to play it and levelled it to 60. It was a great fun to finish all the dungeon content and acquire the pre-bis (pre raid best in slot). This all just to find out tanks are far from a hot commodity when it comes to raiding, where you need just a few in the 40 people raid.
At this point, I thought, that I would come back to work with full power, but I just couldn't. When I tried to work, I had this strong, almost physical feeling of disgust, that was impossible to overcome. It was clear to me at this point, this is the the typical burnout situation. It is far from surprising after that many years of working that hard. The attempts to get to work were mainly motivated by guilt, and I knew well, that it is hardly a good motivation for anything. Trying to overcome it by sheer willpower would just make it worse, so I just stayed distant. The team was still working on its own and making good progress, so I was taking advantage of it and continued to have a break and spent more time with my family and on leisure activities.
As the situation was not getting that much better, there were even proposals of selling the company and getting rid of the responsibility for good. For most people, this would sound like a rational choice, but I was far from open to doing that. I generally don't like to do something just because it is the norm. The norm is to try to always keep growing exponentially, getting investors, expanding, getting more people, never stopping, never resting until you are the biggest and most horrible company, or you die trying. This approach dictates, that once you can't expand the enterprise, you need to sell it so others can grow it. And I don't like it. I didn't forget at all why we started working on this game. We wanted to make the game(s) that we couldn't find, and we wanted to have fun doing so. We wanted the game to be primarily fun for us, not for a focus group that has the most financial potential.
So, even if we faced the hypothetical decision : Either we sell it to a big publisher, or we shutdown the studio, I choose the latter, because you can't put a price tag on the fact, that we still own the game. In the latter case, we could come back to it any time when we feel like the time is right, instead of having to watch it being milked as micro transaction filled cashgrab by some company.
So, this was my lowest point personally I was generally not feeling well, and was lost in searching for purpose. One of the biggest reasons that I didn't feel well was, that I was becoming more and more lazy. When you don't have to overcome daily obstacles and annoyances, you become more and more lazy, until even the most basic things start to be huge pain in the ass, and you don't generally feel well, this is where I was.
In the meantime, I was occasionally playing some simple games with my 4.5 year old son (Earn to die and Into space 2). I was trying to find some nice cool games that we could play together, but I didn't find anything, feel free to give me suggestions in the comments. So I figured, that he could actually try to play Factorio.
I started a peaceful game for him, showed him how to move around, mine and craft basic stuff, and let him play. He was just running around and having a blast that he can mine trees and explore. Some other day, I joined the game, and built some small factory so basic technologies are unlocked and he could play around with that. Eventually he set himself a project to create a wall around the entire factory. He was focused and he kept at it, and 3 days later he came at me, and showed it to me, and he was so proud. Some time later, he played alone for a while, and than he showed me some very basic mining/smelting setups. It was very weird, but it worked. This is when I realised how great Factorio is for children, you can scale the skillset from very very basic up to almost infinity. He can't read, he didn't know numbers greater than 4, and yet he managed to play, and in a few days, he kind of recognized numbers up to 10 without even realizing. When I showed him how construction robots and personal requests work, he was super enthusiastic and talked about construction robots to everyone he met :).
Once he asked me "Father, what is this thing in the list of things I can order?" ... "This is atomic bomb" .. "Oh, I want to order it" .. "No, we don't even have it researched" .. "But, why is it in the list then, it doesn't make sense" ... "Hmm, you are right, it doesn't, I might actually fix that." So I opened Factorio source code after a long time, and made the change, that the filter and logistic request selections didn't contained things yet to be researched (unless you force-unlock it in the settings). I made a change to Factorio, and it felt good, and I started to want more, this is how I got from the lowest point.
I wasn't yet prepared for big projects mentally, so I did few other small tweaks, and I started to visit the office occasionally, which gave me more and more energy, I was not working because of guilt, I was working because of joy again. This is when I decided to face the big elephant in the room: the blueprint library. I was scared to approach such a big project in my previous state, but now I felt brave enough. I started working on it and I was able to work in full-power mode again, the work went forward fast. I had to overcome a lot of annoying obstacles on the way, which had positive effect on my overall laziness very fast. As the new BP library started to shape up, I started to feel something almost forgotten, I was proud of what I was doing, yay :)
The story of the Blueprint
The story of blueprint and the blueprint library development is quite long and convoluted, we mentioned it in 12 FFF already and it wasn't always quite right. But I believe, that we are getting to the final stage with the current rework. Small tweaks and improvements can be always done, but the general feeling is like "Yea, this works, finally".
First mention
The first mention of a blueprint (apart the blueprinting mod) was in FFF-16, 6 and half years ago!
First blueprint implementation (0.9)
Blueprints were obviously a great upgrade when you compare it to the state of just not having them. But everything was very plain and primitive from today's perspective. You had to actually craft the blueprint (for one advanced circuit) and the setup window was not the greatest:
Note that the confirm button was the blueprint button. The exact example of us doing GUI in the logical way but not an intuitive way.There was no way to change the blueprint once it was set up, you could only clear it (for the price of one electronic circuit).
First improvement of the blueprint management (0.13)
Blueprints started to be important, so we added some very basic way to edit them and a way to include tiles and modules. (FFF-131)
Also, the blueprint book was introduced (FFF-108, it cost 15 advanced circuits and could hold only blueprints directly.
First plan of blueprint library (0.15)
The fact, that you didn't have a way to backup your blueprints and you would just plainly loose them when you died, or moved to a different game was quite harsh, so we started to work on the blueprint library. Our first mention of it was in the FFF-156.
First implementation (0.15)
The first implementation was pretty rough and first shown in the FFF-161
Note, that the play button was the way to export the blueprint into your game as an item, so you can put it into your inventory and use it.
First redesign
We, mainly Oxyd (FFF-170), quickly realized that this needs to be more intuitive, so the way it was exported was streamlined, you just drag and drop into your inventory.
Another way of exporting was done secretly: When you held a blueprint record while closing the library window. It was seemingly useful as you could just grab it from the library and build, but once you were done and pressed Q to clean the cursor, the item was just spilled into your inventory. It was common at these times, that your inventory was slowly getting cluttered with random blueprints and you had to do a cleanup from time to time.
The Blueprint editing window was also improved:
0.16 Blueprint preview was updated
It was "only" about connecting the belt/pipe/wall entities, but it added a lot to the understandability (FFF-211).
The endless discussion phase
We knew there were still a lot of problems with the blueprint library and we were desperately trying to figure out how to solve them in various different crazy ways (FFF-249). But a week later, we agreed on a relatively simple solution (FFF-250 and FFF-255): From the player perspective, blueprints are always just items,and blueprint library is just something like a persistent chest. Quickbar, movements, stack transfers, everything works exactly like with items, and the BP library technical magic is done under the hood.
After some time (32 weeks actually), we presented a UI mockup for the planned blueprint library FFF-282.This was the big plan, but since 0.17 release was approaching and there were just too many other things to do, we postponed it.
0.17 release - More tools
In this version we added a lot of tools:
Upgrade planner
Copy/cut paste (with history)
Undo
And we also extended the amount of things blueprint can handle -mainly trains (FFF-263):
We just made a few small tweaks for 0,17, to make the usage of blueprints less of a pain, mainly the ability to make a quickbar reference directly to the blueprint library. Using it created a new item that is copy of the BP library record, so you can build from it and pressing Q to clean the cursor just deleted the blueprint instead of cluttering the inventory.
But blueprint library still didn't get any real improvement.
Current blueprint library
In 0.18 release, I improved the blueprint setup window so it matches our new GUI style:
But the blueprint library still didn't get any real improvement.
New blueprint library
So, if this buildup led to nothing, it would be pretty lame so as you would expect the blueprint library is now finally getting a real improvement.
1) The looks
It looks nice now and mainly fits the style of the rest of the game:
2) The manipulation
As it was agreed 2 years ago (fuck), the blueprints in the blueprint library are manipulated as items in every way. Twinsen forced me to agree on this way, and I wasn't that convinced at that time, but when I started to implement it, it was instantly clear, that this is way better than any other proposal. You don't have to learn anything new and just manipulate the objects exactly the same way you are used to and it just feels right.
There is quite something happening in the background when transferring Blueprints, as they are still very different types of objects in the inventory and in the blueprint library, but the user is now completely shielded from this.
3) The unification
All the related UI was unified to look the same, in current version for example, opening a blueprint book as an item looks very different compared to opening it in the blueprint library, and it even has different features.
4) The identification
Now we get to the new features, first of all, every blueprint tool has editable name, description and icons.For Blueprint book, upgrade planner and deconstruction planner, these icons are optional, but overwrite the dynamic icons shown for them. This might be mainly useful for books that you want to just have the same preview regardless of currently selected blueprint.
When the names and descriptions become more important to the user, he can switch to the list view.
Small thing that helps is that the upgrade planner now updates also related icons of the blueprints and books
It is something we wanted for a long time, and it was highly requested, so now, it is possible. The maximum depth is set to 6, mainly to prevent the UI from getting out of hand.
It is just logical, that iterating through the book contents works hierarchically now:
Since both the upgrade planner and the deconstruction planner are also kind of virtual and configurable, it just makes sense to allow them in books and the blueprint library. The preview of the book is changing when you switch between different types of objects.
Since blueprint manipulation is now always moving the blueprint around, never making a copy (apart the export-import workaround), we really needed this feature to make an explicit copy. The nice touch is that the copy is made based on the current unconfirmed edit of the blueprint, so you can make slightly modified versions of it quite fast.
My personally most wanted feature. You can change the contents of the blueprints while the name, description, icons, quickbar links and positioning is preserved.
We've been updating, reworking and redesigning many graphics, and the majority of entities have had high resolution for a while now. With 1.0 we're trying to be as "complete" as feasible.
Slowdown effect
As one of the less used items in the game, the slowdown capsule got kind of forgotten.
The slowdown capsule has multiple parts - the item icon, the effect, and the animated sticker that shows on slowed enemies.
We've already updated the item icon which sets some expectation for the effect and sticker, like what color should it have. The poison capsule has already taken blue, and green or brown would be very similar to rocket or nuclear fuel in the icon, so we chose orange.
In a way the slowdown capsule is doing the same to them, as they are doing to you, except the acid damage. Take that, nature.
Crude oil resource
Resources got high resolution sprites for 0.15, but we didn't have time for the crude oil spills. The new ones are very similar.
Assembling machine remnants
We've been waiting with remnants for assembling machines as they were planned to get a redesign. It doesn't seem likely we'll be able to finish the assembling machine redesign before 1.0, so we've finally given them their own specific remnants at least.
Land mine remnants
The last missing remnant was the land mine, which didn't have high resolution until the icon update, so here it is.
Conclusion
With version 0.15.0 we released the first batch of high resolution graphics for many entities. In FFF-187 which announced 0.15.0 experimental and presented all of the new graphics, we stated:
"During 0.15 stabilization we will be adding more high resolution graphics, with the aim to do everything. Let's see how that goes, but seeing what we already have, we are confident we can get it done sooner or later."
You as readers of this periodical might have already heard the "stuff takes longer than expected" a few times, so "the sooner or later" is now, 3.5 years from then.
There are still more graphical updates coming in the following few weeks, but this is it for the high resolution updates.