Hello. With Christmas nearly upon us, life in the office has slowed down nearlyto the point of complete hibernation. But we still bring you your scheduledprogramme to give you something to look forward to in the next year.
For the past few weeks, I've been working on our shiny new blueprint library. Wealready introduced the library in FFF 161[www.factorio.com], but to briefly recapitulate: The blueprint library is a place for you to keep your blueprints, and it does twothings for you:
- Blueprints that you save in your library are saved on your computer, and when you load a new save, those blueprints are still available in your library.
- In multiplayer games players can see each others blueprints and can exchange them easily.
What does the user experience?
My task with the library is to work on the GUI to make it nice and easy to use. Even though slpwnd said in FFF 161 that the UI is “(hopefully) intuitive to work with” – my initial reaction to the GUI was that it was a cruel and unusual punishment for our users.
One of my biggest gripes was that you had to open the blueprint and then click a button in order to copy it to the library. Getting a blueprint out was a similar process – open it, press a button and you get a blueprint item. On a certain level this made sense – items in the library are not items but rather special records – special in a way that they can be saved on the disk or sent over the network in multiplayer. From a UI point of view, however, it didn't make much sense.
With a bit of work, we've managed to make it so that you can simply move a blueprint from the library window into your hotbar like you would any other item. Converting the blueprint record into a blueprint item is handled mostly transparently.
This wasn't a completely trivial task (as if anything ever is): When copying ablueprint out of the library into your inventory, it might be necessary toactually download the blueprint from the player who owns the blueprint – andthat download can take some time. Our hope is that for most blueprints, thedownload time won't be much, so the download will be able to complete by thetime the user moves the icon over its destination. For big blueprints, however,this might be a problem. This problem is currently left unsolved – the libraryis very much a work in progress at the current time – but it's likely that we'lleither display a progress bar in some corner of the screen, or we'll allow theuser to drop the item, but grey it out and display a progress bar over it.
Making things make sense
The library window itself has received a bit of a redesign since the last time we showed it in an FFF. Here is the current look of the library:
One of the changes is that it displays the blueprint name under its icon. Didyou know you could rename blueprints? You can, even in 0.14. Naming blueprintswill be very useful with the library, as you can stuff only so much informationinto the preview icon to help you remember which blueprint is which.
Another big change is that we changed the library to a two-panel window. On theright, you can see all of your blueprints – these are the ones that are saved onyour disk and follow you from save to save. They are also automatically sharedwith others in an MP game. The left panel houses other players' blueprints, andit's there you'll be able to get someone else's blueprint from.
A topic of great debate was what to do with the “Game Blueprints” section inorder to make it easy to understand what it's for and how it works. GameBlueprints are blueprints associated with the save itself – they are useful forsave-specific blueprints that you don't want to drag along with you to everysave you play. They are also useful for server-specific setups: When a newplayer joins an MP game, they can be directed to grab blueprints from thissection, rather than being told to hunt them from various other players (who maynot even be on at the time!).
I'm still not completely convinced that this is the correct place for GameBlueprints to be. Game Blueprints are somewhat special in that they are tied toa specific save, and in this sense, they don't belong to the leftpanel. However, introducing a third panel would make the window too wide in myopinion. The interface is still very much work in progress, though, and perhapswe'll figure out an even better way to do it soon.
An actual expert
Seeing how much of a struggle a handful of GUI windows can mean for us, we'vebeen looking for a UI and UX designer. And as a bit of an early Christmas gift,we actually found one! Say hello to Norbert, our official GUI guy.
Norbert is starting for real in January, but he has already spent a week withus. During his week with us he was mostly getting to grips with the rest of theteam, but even so he managed to come up with an improved design for one of ourGUIs – the blueprint preview GUI.
This is the window you see when you first create a blueprint, or when you open ablueprint item by right-clicking it. it really is the same as it always was, butrearranged.
Remember how I told you earlier in this article you could rename blueprints? In0.14, there is an icon next to the “Blueprint” title that looks like a refreshbutton. That's how you rename it. Maybe it should not have taken a UI designerto tell us that that was the wrong icon for the task, but at least someonefinally told us.
Another point Norbert made was that the old GUI didn't make it entirely clearthat you could select which icons would show up on the blueprint item in yourinventory. And while we're at it, why not make the preview icon larger so youcan see the icons better?
Like everything else, even this GUI is still a work in progress – the annoyinglygreen tick mark icon is my own creation – Albert will make it look good once hegets around to it, don't you worry. Still, I hope you will appreciate theimprovements being done, and maybe Factorio's GUI will be less quirky one day.
So let us know if you have any thoughts and opinions you'd like to share over on our forum[forums.factorio.com].