So we finally released the 0.17 experimental this week. (patch notes) Hooray :)
Fun fact: The release script failed to post the release announcement on Steam and Reddit and we were wondering why. The reason is that the patch notes were so big, that it exceeded the maximum post size (40k characters). If this isn't the indication that we should split our releases into smaller chunks, than nothing is :).
Code wise, it is clearly the biggest release, and the amount of bugs we have to go through correlates with it. In other words, there are tons of bugs of all variety. We want to fix everything eventually, but it will take time, so we had to prioritize this week to aim for the most generally playable version before the first weekend after release. That means mainly unloadable saves, unavoidable crashes, game failing on startup, and the most frequently occurring problems. Our automatic bug reporting system is helping us a lot with the last one.
It is uncommon, but sometimes the automatically uploaded crash report doesn't have enough information for us to be able to fix the bug right away, but the number of times we see a crash happening is still extremely useful for prioritizing. When we see a crash on the forum, we can cross reference it to our automatic reports, and if is one of our 'top-hits', we know to investigate it right away. The most prominent crash related to loading specific kind of save happened with pipe ghosts happened more than 200 times. It was fixed (obviously), but lets wait and see what our top hit of 0.17.4 will be after the weekend.
Overall this means, that bugs that are not critical, require design discussions or are not that simple to fix are not being dealt with right now.
Also, we got quite a surprising cake gift today. It is extremely delicious and we are extremely thankful for it :).
0.17 is out and with it our new Introduction scenario. This FFF will be spoiler heavy, so if you want to play it without insider knowledge then go do that and come back.
One thing that you might have noticed is that the Introduction is not complete. The systems, quests, and graphical elements are all still under development and not up to the usual standard of our experimental releases. It is at the point where in house focus testing starts to be less useful than large scale community testing. That said, I think it is already an enjoyable experience.
During experimental, when you complete the scenario you will receive a message asking you to send us some automatically generated screenshots of your playthrough. The response has been enormous and my inbox has roughly 10gb of replies already. Most of the feedback has been very positive, but we are certainly not done tweaking, as you will see below.
Perhaps the biggest failing during the development of this Introduction was right at the start when deciding the design constraints. If I were a sane human, I would have settled for just making a new tutorial. Instead what we decided upon was:
If you have been on reddit or our forums in the last few days you will probably notice that many players feel the scenario is too difficult for new players, or that they played 'like a new player' and found it too hard themselves.
Two reasons were frequently given for this:
We will come back to my thoughts on this, but for now just think about your own idea of 'how a new player interacts with the game'.
A normal video game tutorial is a terrible thing. Mechanics are broken down into smaller chunks and sorted by which order they must be done in the the main game. Sometimes when a game is complex the smallest chunk is still impossibly large, leading to walls of text that must be read before playing (see the Civilization mobile title). Sometimes the chunks are made very small but then the designers want to speed players through, so they force a series of narrow interactions (see Factorio’s old tutorial).
Neither of these solutions are bad, if your goal is to have the player finish the tutorial. If your goal is to teach them to play, then... well... we as educators can do better.
The deepest, broadest and most important concept we need to teach in Factorio is that of Production. That is the end goal, but where does it begin?
The blueprint for production is the humble recipe tooltip. This is where the player first sees how to make an item in the game. Our job is to teach them how to take the recipe and translate it into a production chain. This is the single most important lesson on the road to automation, so I set out to remove all obstacles. Let’s break our discussion down into the mechanical parts: Assembling Machines, Belts, and Inserters.
Assembling Machines are the core of automation but in Freeplay they have a dependency: Electricity. If this was a regular video game tutorial, we would first need to teach the player the following steps (in reverse order): Build power poles, Setup steam engine, set up coal mining.
What if we could just do away with all of this? Oh, we can? Wonderful! During the Introduction there are two assembling machines which require no electricity, one for Science packs and one for Iron gear wheels.
Now the main puzzle pieces are there, the player just needs to connect them. During focus testing, it was noted that the interaction between belts and inserters was not very intuitive to begin with. So again we need to break the concept of Logistics down into two concepts: traversal of items and change of inventory.
If this were a normal video game tutorial, we would probably just ask the player to obey, placing a belt in one place and then the Inserter next. Here in the Introduction, I want the player to see both concepts working separately, and to interact successfully with each one.
Compilatron builds a mining setup for the player and then the Objective window directs the player to feed the produced plates into the 'feeder'. Once that is complete, the 'feeder' is removed and the player needs to load and unload the assembling machine with inserters.
In the next step, the player needs to apply what they have learnt by building a copper smelting setup and then feed two different items (iron gears and copper plates) into a single 'feeder'. Once this objective is complete, the player has, without knowing it, set up Science pack automation.
There was a lot of feedback about the player not being given access to Splitters and Undergrounds. Some even considered this akin to 'handicapping the new player'. I would argue that there is a difference between complexity and difficulty. Having those tools makes the puzzle easier yes, but also more complex.
Many of the long time players mentioned that they enjoyed solving 'simple, long ago optimized' problems with a reduced toolset. Using an inserter to split a belt does work, and also makes the player realise the importance of Splitters when they are unlocked. #NoWrongWayToPlayFactorio
The factory must grow. This is Factorio. Progress never ending. How do we teach a new player the concept of never having enough?
I mentioned above that we wanted to remove quests which ask you to produce items for no reason. Several times in the old campaign the player was asked to produce 100’s or even 1000’s of items "because you will need them", only to move to the next level and take them all away. So, how do we give production a purpose?
Consumption. Consumption is the intent of Production. You produce with the intent to consume.
In Factorio there are only three ways that the player consumes items:
The first item, research, is a constant pressure in Freeplay Factorio, and not a large one at the beginning. In the Introduction we have created an entirely separate technology tree with much higher costs to support teaching production. However, it fails at showing the player they need to increase production (as opposed to just having some) because the costs are static. We see many players set up basic science pack automation and then go AFK while it finishes.
As for construction, in the second part of the Introduction we allow the player to build their factory any way they want, and to consume all of their resources to do so. Only after they are settled do we apply the third consumption pressure... combat.
I received a lot of feedback in the form of "Factorio is not about killing Biters" or "Factorio is not a tower defense". My response would be "killing Biters is not about combat, it is a production challenge". We all know that trees are the real enemy.
Not only is it a production challenge, it is one that requires no explanation. Also, unlike the other two consumption pressures, this one is reactive. The player must meet the demands or be overrun.
To understand production you need to experience the state of not having enough. This is accomplished best when you have two conflicting choices, but can only take one. I've heard it described at "A slave to two masters" and I think that sums it up nicely.
Many successful games use this to good effect. In Dragon Age you are forced to choose between your love interests and "doing what is right". In Factorio it is one step more complex than love because the decisions are not Boolean... we have ratios!
So I would argue that the most 'representative' way to make the player think about this is to ask them to research something while slowly increasing the consumption of ammunition.
Actually no, it isn’t so hard for new players. It is hard for veteran players. The attack system emulates Freeplays pollution system. If you pollute hard, you are attacked hard. The only difference is that the 'price' of a biter is lowered inversely to how far you are through the final research.
Dynamic difficulty is a big topic in the office, but even its staunchest opponent, kovarex, admits he had fun with the final wave. He also holds the high score for kills during the Introduction; Over 9000 :D.
We already use dynamic difficulty in the Freeplay, so I would consider it representative. The difficulty will of course get a bunch of balance passes and something will be added to warn players better of the dangers ahead.
The introduction is far from done, or even ready for all new players. My task for the next weeks is go over the massive amount of high quality feedback and start testing some tweaks. The scenario will not receive updates every time we update 0.17, instead I will bundle the changes once every few patches. If you would like to share any feedback about the new Campaign, we have set up a dedicated forum here, and if you find any bugs, we also have a place for them here.
As always, let us know what your think on our forum.