Blog

Friday Facts #32 - The New Trailer

Posted by Tomas on 2014-05-02

Hello everyone, so it is kind of obvious what the main topic of today's post will be. After months of waiting, the new trailer went public on Thursday (on time - YAY). Michal and Albert were working till like 5 a.m. to finish all the super final details, record the trailer and post it on youtube. Still we were unsure about the final result. The quality of the video is unsatisfactory compared to the original (Youtube recompresses the video) and we keep seeing more and more tiny little errors in the trailer - things like bad timing of honking when the train leaves the sorter, too close zooming now and there, one of the biters being rendered "inside the worm", clash sound on the bridge played a bit too early. So we monitored the reactions rather anxiously. And we were overwhelmed. Positively. The trailer video got over 10k views the same day with couple of hundreds likes and many, many positive and encouraging comments. On top of that the trailer was posted on Reddit in r/Games and it got quite a bit of traction there as well. We received lots of great emails, tweets and the sales spiked significantly. And the cherry-pick is that today we got emails from guys at Gamasutra and PC Gamer UK who were interested in getting a copy of the game for potential articles / previews on these sites. So looks like the new trailer is doing its job:) Big thank you to all of you who contributed to this (by giving advice on trailer concept, spreading the word, liking, tweeting, etc.). Maybe a little bit in the shadows of the new trailer comes the new Factorio logo (you can see it in the trailer as well as on the website). Quite a while ago we made a post which introduced our new logo prototype. This post was followed by a fruitful discussion on the forums. We took the major points from those discussions and put them into the new logo. That means we (and by "we" I mean Albert:)) fixed the shape a bit, added a more fitting texture and finally got a better ending wheel. We are really happy about the result. The old logo is gone long live the new one:) (we will update the wiki and forums soon ...). By the end of the next week we will finish with some more "marketing / PR karma" steps. Things like: Direct debit card payments. Don't have a Paypal account? No worries, you will be able to buy the game with a single "swipe" of your card. Up to date screenshots with latest graphics (it is a pain to see new articles about Factorio popping up with half a year old screenshots). New css template for the forums (including the new logo). Further web polish - adding links to couple of good youtube preview videos about Factorio, maybe adding some logo resources for people to use when previewing the game, etc. This will finally bring us to the state when we will be positive about trying to reach to the wider audience. Oh yeah and apart from refreshing the youtube trailer page and scraping internet for feedback on the trailer we did some "regular work" as well. Namely for the multiplayer. The basics of synchronization layer, connection management and data transfers are in place. They haven't yet been tested together though - we are too afraid the whole thing will just explode - so for now we are writing tests for these like crazy. The next in line are lobby (to actually get players together and start / join the game) and changing the core game to properly deal with multiple players. After this we will hopefully start with some very early tests here over LAN. We will keep you up to date;) I guess you all noticed, but there is a new steam engine graphics in the trailer. Albert said that we can't release the trailer with the old one so we listened. And it was imho a good decision. Checkout some gif animations from early vs. final version below: And as always, go to our forums for the Friday Facts "afterparty" comments.

Friday Facts #31 - Factorio is going places

Posted by kovarex on 2014-04-25

Hello, as mentioned in the last update the word about Factorio started to spread much faster than we were used to. We are happy about that and we would like to thank to all the people who helped to spread the word. We have been contacted by several youtubers, and told all of them to wait for the release of their videos until the 1st of May so there is a good chance that we didn't even reach the peak so far. The reason why we want to wait for the 1st may is because it is the release date of our new trailer, we were ready to send Albert home to see his wife already, but his perfectionism didn't let him as he decided to remake the last entity for the trailer, the steam generator. It is already remodelled now, waiting to be retextured, so we are almost finished. Most of the work now is still related to the multiplayer. I keep fixing one desynchronisation bug a day, so I'm near to being able to replay the demo campaign. We are discussing the details of networking almost daily and it seems like our second model of network synchronisation is going to be more consistent than the first one. I hope that the Factorio dev proverb (The third version is usually good) will not apply to this. In the meantime, I started to do a little research of the problem with the growing video memory requirements. It is going to be more relevant in the future if we want to add different enemies or machines, so anyone who knows about game programming could give us a hint. Destroying and building stuff is always more fun with effects. We are always eager to learn what you think at our forums.

Busy weekend

Posted by Tomas on 2014-04-21

Hi all, this weekend has been very busy. For our sales counter. On Saturday, quill18 made a nice youtube preview of Factorio. The video has been seen by a few thousands of people. The reaction to video was very positive and shortly after it was released, the sales counter went crazy. In the evening the game has already made more money for the day than for the whole month a year ago. There was a glitch in the evening, when we breached an outgoing limit on the number of emails the web site can send out. The result was that people could buy the game, but wouldn't get an activation email. Not the best timing, especially considering that I was out of the house. Anyway, we have resolved the problem in a timely manner and sent the codes to people who didn't get them automatically (sorry for troubles again if you were one of them). The rest of the extended weekend was rather smooth. Today we even went past the magical (for us) threshold of 10k sales. I still remember the time when we were starting with Factorio and plannig that if we can make 10k sales within a year it will be a success. It took much longer, but the prospects are bright. The feedback we got, from the people seeing the latest version of the game (the video was done with 0.9.8) for the first time was very positive. Allright, that is enough for the small happy rant about Factorio getting some traction. If you have something to say please do so on our forums.

Friday Facts #30 - Full time on MP

Posted by Tomas on 2014-04-18

Hello, after a long long time the 0.9.8 was marked stable this week. There were no big ovations or cheering, just a quite "stable sticker exchange":) The bugs forum is not empty though, as someone would expect. Quite a few small issues remain, but for the sake of moving on we decided to put them to our backlog and mark the release as stable. However if some game crashing or very serious bugs are discovered in 0.9.8, we will make a hotfix. Oh, and the good thing is that we managed to break the streak (for now) of ever increasing number of bugfix releases (the 0.9 had 8 bugfix releases - the same as 0.8). The whole "programming department" has been fully commited to the work on multiplayer for a while now. The task divison for now is following: Michal - fully deterministic simulation. This is an absolute must, because all multiplayer peers will calculate the simulation themselves and only the player input (we call it input actions) will be exchanged over the network. Nice effect of having deterministic simulation will be having functional replays again (hmmm not really again because there have always been some bugs in them even when they were "working":)). Kuba - lower level network layer. This includes the connection management, packets management (we will be using UDP for all the communication) and eventually things like NAT punching to allow connections for peers behind NAT (few people have public IP address). Tomas - synchronization layer. This logic will take care of keeping the simulation state same for all the players in the game. This includes queing up the input actions, sending them out in batches (tick closures to other peers), requesting missing tick closures, etc. These things are absolute minimum necessary for our multiplayer implementation. However there is more to be done after this, things like: starting the game (the lobby), mechanism for a player joining already existing game, hiding the latency for the player (most of the time the actions for different players will not collide so we can act as if common actions - like moving the player around - were confirmed immediately) and more (see our battleplan whiteboard in one of the previous friday facts). There is a lot of work ahead, but the good news is that we have finally fully dived into it. We will keep you updated about the progress:) Albert has finished with most of the map trailer tweaks. Today we also did a first test with exporting the trailer using the new screenshot mechanism. We did this on Michal's computer which is way more powerful than mine (it does take a while to export 3600 screenshots). However there was this funky bug that parts of the terrain in the screenshots had strange, kind of inverted, colors. We have spent like half a day looking into this issue. Finally it turned out to be a problem in our custom optimized version of d3d drawing routine (this was happening on windows only). Spending hours in frustration hunting bugs (that are not even visible to the player in the end) happens more often than you would think, so game programming is not just about sitting back, playing video games and calling it "research" (but that is part of the job too:)) Anyway to give you an idea of what was going on you can see a visualization of the problem below. For better effect (and for us to easier analyze the problem) the corrupted regions of the image (here all of the terrain) are drawn with reddish overlay. Any idea for the picture title? Want to cheer us up for the multiplayer work? Or feel like laughing at us for taking so long with the trailer? Go to our forums.

Friday Facts #29 - So many ideas

Posted by kovarex on 2014-04-11

The tradition is to open the friday facts by saying, that the new bugfix release is here, as well as saying that this one is definitely going to be the stable one. But this time we really think that 0.9.8 is going to be the one :). We spent very little time with the 0.9 branch as many things for 0.10 are in motion. As we already said we planned to start using the automated testing, and this week, Tomas finally achieved to revive the testing suite, so we will slowly cover the source code by tests while working. Not only this is needed for the reasons already said, but we need to test all the otherwise hard to test corner cases in network communication logic that is Kuba giving the basic shape to. I'm now doing the hard work of fixing the small errors in determinism. I play the game, while it is saved periodically, then I have to start the replay wait for diversion from the original and find out why it happened by inspecting the differences in the saves. This is cumbersome process, as some of the inconsistencies are very hard to find, but after a few days and several bugfixes, I was able to replay the first tutorial mission without errors while certainly making a new world record of the time to finish the mission :) I gave myself approximately 1.5 hours daily to play computer games, and when playing these and reading Ideas and suggestions on our forums, it gives me so many ideas of what could be done. It is depressing to know, that all of these ideas, even when considering just the good ones, are just not possible to be made. Fight mechanics, alien pets, water-heating/cooling circuits, other planets, supplying orbit, satellites, ending of the game, different vehicles, airplanes, late-game rts controls of building and combat robot minions, equipment (as in armor) based blueprints for combat robots, enemy/neutral/allied survivors, after-landing phase where you have to take care of the people, caves and underground mining, armored trains, 20 different additions to circuit network, nuclear energy that is not just boiler that runs on uranium, 10 different enemies with different types of behaviours and attacks, different types of enemy bases, forests on fire, working eco-system, other downsides of pollution, snow areas with snow particles on machines, rare random Fallout-like encounters, different energy sources, advanced train controls, disasters, flowing rivers, more complex mechanics of armor equipment, ... I could continue like this for a long time. We have already Ideas & suggestions section on our forums, but it might be nice to have something more organised, so people could add their ideas and vote/discuss what they think should have priority, or maybe there is a way how to do it directly on the forum, ideas? I was also thinking, that we might do some kind of technical development blog posts like this one about Starcraft 1 as we are certainly facing some interesting challenges or hard decisions from time to time, would anyone be interested in that? The following picture is the new version of basic electric pole. The main reason for the change was to make it less obstruct the view of the tiles behind and to avoid having the cable and the pole fall loosely when the cable has vertical direction. We are always eager to learn what you think at our forums.

Friday Facts #28 - The pack is back

Posted by Tomas on 2014-04-04

Hi there, the Friday 0.9.x release "mini tradition" continues by the release of the 0.9.7 today. Though the changelog is rather long, the amount of code behind those changes is rather small (they were all simple fixes). If the amount of stress and haste before the release would be a measure of release quality then 0.9.7 should do rather good. We released it before Friday lunch without any last minute hotfixes and without any complications. The pack in the post title refers to the scenario pack. The set of currently 3 "mini campaigns" available for the furnace attendant tier or higher. We finally got around to make it compatible with the 0.9.x release branch. So now there is a scenario pack 0.9.7 available that will work with the 0.9.7 binary version. The changes have been quite significant, because the Tight Spot and Supply Challenge had to be rebalanced to take the oil industry into account. The playtesting of these has been a refreshing experience and definitely a good motivation to think about new challenge missions and content for the scenario pack (we still take it as a work in progress). You can check out the main part of the factory that got me through the new Supply Challenge below. It was built in about 3 hours under constant pressure to provide 6 "hungry chests" in the center with new and new items - that is why it is called the Supply challenge. Alongside the bugfix branch for 0.9.x the work in the master branch has continued on some small features for the 0.10 (see the new roadmap). Namely things like environment sound playing and map generation strings. But this is now coming to conclusion and Kuba already started with design and planning for the multiplayer network layer. Immediately some scary technical issues showed up: floating point operations non-determinism across different platforms, peer-to-peer communication for players without public IP addresses, etc. We will definitely not be bored in the near future :) Recently a lot of old entities have been reskinned or remade. Things like inserters, transport belts or assembling machines are now (0.9.x) consistent with the artistic direction. This is all part of the plan to improve the visuals for our new trailer. It has been taking ages, but we are really getting close now. Albert is now working on doodads and aesthetic tweaks for the trailer map. Actually we just spent like 2 hours discussing some details of the map :) Please bear with us a little longer. In the meantime you can enjoy the "good-old" red cadillac in the old trailer, it is not going to be around for long. And here is the mentioned screenshot from the supply challenge close to the finish: If you have something to say, then say it at our forums.

Friday Facts #27 - The Roadmap

Posted by kovarex on 2014-03-28

Hello, it has been long, but successful week, mainly because we gave our first tax returns containing Factorio earnings while keeping mental health intact, hopefully. As celebration of the 2^13 copies we are about to approach I made a Factorio version of the game everyone is playing now , the time you can spend on it should justify the shorter length of this text :) Apart playing 2048 we managed to make 2 bugfix releases this weak just to find out, there are still some small bugs left, but the version is close to be stable for sure. So we sit down and it took us few short minutes to write down the roadmap that will take us almost the rest of this year to finish. There are many smaller things on the way, but these are the milestones we would like to aim for. What we are still unsure about is when to try to hit the steam+bigger exposure button. I just read my post on the steam from half a year ago, where we stated, that when 0.6 is stable, we will get the trailer and we will apply for steam. Here we are waiting for the 0.9, the trailer almost finished, but still not sure whether we should really start the campaign now. When we start imagining the additions and polishing we have planned for the foreseeable future, the only rational thing that seems to be viable now is to wait for these. We still believe that we have just single shot for the first impression and if we shoot too early for it, we risk to hit our leg. The updated look of the belts We are always eager to learn what you think at our forums.

Friday Facts #26 - How to satisfy achievers

Posted by kovarex on 2014-03-21

Hello, the spring officially started today here in the Czech republic and it is really beautiful weather here. This is nice, because the "I need to have a break" kind of strolls are much more enjoyable now. I don't want you to confuse with terms you don't know, so you can read in this lengthy article that players can be roughly divided into 4 basic categories Achiever, Explorer, Killer and Socialiser. I believe that I'm 50% achiever 25% explorer and 25% killer, so one of the (many) things I wanted to have for Factorio to be different than just industrially modded Minecraft was to offer the satisfaction for achievers like me. This is the reason why the player is under the pressure of biters that evolve over time instead of having all the time on the world to play and fiddle with factory setups. The achiever wants to fight through the obstacles to get to the goal, but the goal has to be difficult to be meaningful. When I played Starcraft II mission on brutal and I won on the first try, I was dissatisfied, because it was too easy. When I had to fail 3 times to understand the level mechanics and requirements to be able to beat the level after another 2 tries, that was the thing I loved. I loved that I had to think about timings and different approaches to problems and search for combination of the choices that work the best. But how to do it? How to satisfy us, achievers, in Factorio? How to do it, so non-achievers or beginners will not be discouraged? This is the way I believe should be done in the future: Provide much more balanced starting conditions on freeplay (some way of balancing nearby resources to contain the same amounts at least), and provide way to share starting seed so players can compare results on the exact same world. Add difficulty settings for the freeplay (they are not now) that would really make a difference in more aspects of the game, like enemy evolution/expansion speed, aggressiveness, pollution spread etc.so finishing on the hardest difficulty would really be a challenge. Provide something measurable that could be achieved (apart just finishing the game), trying to minimize the time seems like one of the possible solutions, because I really love the kind of strategic thinking, where every decision matters. Provide achievements. It is quite mainstream these days, and I believe that there is a good reason for it. It just satisfies us, achievers, and gives us directions as long as these achievements really mean something like: Finish the game under X hours on some preset settings. Accumulate 1 000 000 electronic circuits under X hours, or the other way around, accumulate the biggest amount of electronic circuits possible in 3 hours. Score some big amount of points in the tight spot missions. Make online leaderboards of the these on our site (Another use of the accounts already have). I'm sure there is much more we can do in this direction. The more I think about this, the more I want it :) The bugfix release of 0.9.4 has been released today and we believe there are just few things to be fixed to have the final stable release so we started to plan for the multiplayer today. We just had a first small meeting and you can see our plan of battle. We will consider it very naive in the upcoming weeks for sure, but better some plan than no plan :) I'm quite curious what do you think about this, so don't hesitate to comment on our forums.

Friday Facts #25 - Mods and Forums

Posted by kovarex on 2014-03-14

Hello, another bugfix themed week passed and the release is here. When I'm asked to do something on friday and I say that we have the release, the typical answer is something like: "Again? Didn't you release it last week?", well we did ... :) Apart the bugfixing and moral preparation for the MP coding beast, the integration of new sounds for the 0.10 is in progress as well. First experiments of the environment sounds are done, which means that as the player goes through the factory, he can hear nearby machines working. This is very delicate matter as we don't want to make the player turn it off 5 minutes in game, but if done right, it can add a lot to the factory mood. We are very happy that people communicate on the forum, and I try to read every single post, but the last time I had marked everything read is more than 2 weeks ago. More than 5 pages of Ideas and Suggestions are waiting. The question is what exactly should we do about it, as the time spent on the forums is getting bigger and bigger every week, and I can easily "wake up" after reading it for 2 hours straight and not doing any real work on the game. We are starting to have these habits of reading in quick mode, which usually means just getting some general idea of what is going on in the thread and we usually don't read at all when we see that some other staff member replied already. So if we didn't respond to your thread, please don't take it personally, and If you feel it is important, you can bum it after some time (week at least). The big part of the work on the modding capabilities of Factorio was done during the days we were unsure about the its future. Working on something that could be used to extend the game that we were not sure anyone would play at all was looking useless. Hopefully we are still here, and new mods are arising. Some of the mods are simple but useful, like the TIme buttons, that is patching the lack of time speed configuration in-game, some are just tempting to be used because of the pictures, like Mocombat, for people that found the production chains not complex enough, there are the content-based mods like Dy tech, F-Mod and more. The growing variety of mods can only exist because modders pushed us to extend the moddability regulary and it proved more than once, that the extended interface was handy to have later even in the core Factorio, not mentioning that mods are also great incubators for new ideas that could grow into the vanilla game. So after all, we rate the time invested on modabbility to be well spent. The tesla tower from the mocombat: We are always eager to learn what you think at our forums.

Friday Facts #24 - Inserter reskin

Posted by Tomas on 2014-03-07

Hello, The title says it clearly. After a long long time, one of the most core elements in the game has been graphically redesigned to fit the art direction. Albert played around with couple of shapes and in the end the winner is surprisingly lightweight and elegant. If you are impatient to see how the new inserters look like, then scroll down and check them out on the screenshot from one of our playtesting games. This is one of our many final preparations for the new trailer, which has been supposed to be finished so long time ago it is not even funny. Today we have released the 0.9.2. Regular bugfix release at regular time with regular expectations (meaning that more bugs are expected to be found - the forum users are becoming pros in this :)). There are also couple of small balancing changes that should make the game slightly better (namely that poison capsules will hurt worms as well now, oil industry is not needed for making cars and trains and that pipe to ground is longer). Check out the details for yourself. While this release still will probably not become the stable release, we feel we are slowly getting there. We are about to start planning what to do after 0.9 is stable. As mentioned couple of times in the past we feel that the time has come to take on the multiplayer. This will be a gargantuan task indeed - at least for us, maybe Chuck Norris would wrap up the whole thing by simply giving the 0s and 1s on the hard drive an angry look. But he has better things to do I guess, so it is up to us to do it the old fashioned way - designing and writing the code. So the MP will be developed in a separate branch by +- 2 people (we will be rotating), this will leave some small development power to carry on with the standard release cycle - working on little features and improvements, integrating new graphics, etc. And just to clear up the speculations, the next planned release will be 0.10 not 1.0 :D Now a small rant on Indie vs. AAA. Recently kovarex has played quite a bit of Starcraft II - namely the Terran and Zerg campaigns. I was watching him playing now and then. He was extremely positive about the whole experience. Namely the level of detail and playability were supposedly superb. Playing AAA games can be quite intimidating for the Indie developer. But then there are the credits. It turned out that SC II was done by a LOT of people. We don't have the exact numbers but we suppose there will be like couple of hundreds of people in the team. We have 4 people in the core team now (plus we work with freelancers here and there). So we made some rough estimates taking into account that SC II took 7 years to develop and it sold around 5M copies. Let's presume it will take us at least till next years summer to "finish" the game (see the last post:)). Let's also assume that we will manage to sell 50k copies by then (which we believe is doable). After some rounding (yeah many things can be achieved by "good rounding") and some math we get that we could have 0.5% of costs and also 0.5% of revenue compared to SC II. So in the end the Indie vs. AAA struggle doesn't look that futile :) We are always eager to learn what you think at our forums.