Factorio that you can touch
factorio.com250 points by ibobev 6 hours ago
250 points by ibobev 6 hours ago
Wube is such a unique game studio. They do a lot of very solid technical work and look like they have fun doing it. I particularly appreciated their recent post about porting Factorio to ARM64. They had a business reason to do it but it's clear the team was mostly just curious about whether ARM64 was a viable gaming platform now. And then shared the results with us. They seem like fun hacker guys.
I've never played a game where it was more obvious that the developers really played and enjoyed their game. It's just brimming with QoL features.
The modern doom saga gives me the same vibes. The team really poured their hearth in it!
Factorio is in that top-tier. I just tried Core Keeper and had the same feeling, gushing with QoL and thoughtful design. Refreshing to play sandbox-y games where mods don't feel mandatory.
It helps they don’t have a publisher to confuse them with quantitative and qualitative pattern matching. Just make the game you play and judge it honestly. Of course, the second part is a rare ability.
Yes but they have fallen into a success trap. I have seen the same trend with Mincraft, KSP and Subnautica. An indi developer starts with a great concept and a true open world game. The player can progress through the tech tree how they choose but doing so requires exploration. All is good. Then the developer starts to tighten the reigns. The tech tree become more rigid. Exploration must happen in a more specific order. And then the graphics department takes over, adding more and more objects until a previously huge and open world is a tightly cluttered mess.
Think of how subnautica moved. The second game was very literally denser to the point that they slowed down movement to preserve any sense of space. And each step inthe tech tree required specific tools from a specific place. No more free explorations. No more alternatives. The player lost control over the story. Subnautica 3 is now so dense and linear I gave up after a week. It is more a decorated fishtank than open world.
I still play factorio (1000x) but I do not play the new planets. That whole rocket process is so locked down that there is little for me to enjoy. I get bored whenever there is only one way to do a thing and no room for a player to invent alternatives.
Do you play Space Age just on Nauvis or are you playing without Space Age entirely?
I love Factorio, but I can't play it - it's way too addictive. If I start on a Friday, I won't stop until Monday
I still believe Factorio fundamentally rewired the way I think about software and engineering more broadly... prepared me better for my first software internship than any class I'd taken
The whole game really drills in what it means to "think like a computer scientist". Abstraction, encapsulation, modularity, etc
It's a great way to rebuild a sense of agency for me. I find the weekend binge a good way to feel like I can effect changes in the world.
Not sure if this seems too random but I think that's what I like about OpenStreetMap editing: it's only a few clicks to improve the map and thousands or more people will come across it. You're changing the world in one of the literal senses of the phrase, and can do it from an armchair (doing quality assurance or using aerial imagery) or use it as motivation to seek out places near you that you've not visited yet. Maybe that's something you'd enjoy as well
A bit like the old Bill Hicks joke: "I was a weekend drinker - I would start on Saturday, and then by Friday I..."
you can stop?
You think Factorio its self is bad? Try the Space Exploration mod! It expands the game with a ton of fun new problems.
Based on the title I thought this would be about adapting Factorio for touch controls, but this is way more interesting. The folks at Wube have such a unique sense of technical curiosity.
Remember that Factorio does not release its 3D models. Everything in the game is a 2D render of a 3D model, which is why the game uses so much VRAM.
As far as the game in concerned, the sprites are all just 2D assets. The fact that those assets came from a 3d model during development has no effect on performance. They also do manual post-processing on most of the 2D renders.
Literally what I just said
Your wording can easily be read as them shipping 3d models and rendering them as 2d at runtime. It's a weird way to say the game is made up of 2d assets.
I wish that were the case, then they'd have released the (original) 3D models!
The post had me wondering if factorio had done like [1]Prodeus did where it's all 3D models, but by default is viewed as 2D sprite animations.
?
The game doesn't consume that much VRAM. It plays on 4 GB GPUs just fine. The GPU only needs to keep resident what's currently on the screen. Even including every animation frame, that's 1 GB tops.
Hell, the minimum requirements are a GeForce 750 Ti, or Radeon r7 360. Those are 2 GB GPUs.
In fact, sometimes when your game lags too much you can speed it up by zooming in! (Only in some cases)
> The game doesn't consume that much VRAM. It plays on 4 GB GPUs just fine.
Not everyone bought a GPU to run LLMs on. That is quite a bit of VRAM, especially for non-desktops
That's the amount of VRAM that has shipped in budget to midtier gpu's since at least 2016 with the RX470/480 from AMD. You can find even older & slower examples from Nvidia and AMD (ex. Nvidia 740GT 4GB edition)
Gaming hardware reviewers have been complaining about 4GB of VRAM not being enough since probably 2018 onward.
I have a weird setup with two very old 5:4 1280x1024 monitors I like to use for fun, and even playing Subnautica (2018 Release date) I can use up 3.4GB of VRAM at that low of a resolution on High settings. (playing on a single monitor)
> That's the amount of VRAM that has shipped in budget to midtier gpu's since at least 2016
In desktops maybe, which will be somewhat popular still among people who play a lot of games but not a majority (IDC has laptop sales at a 3 to 1 ratio to desktops in 2022, but that's not specific to people who play games, much less (2d) Factorio players specifically). The system I bought before my current one was in 2018 and mid-tier then was 2GB. There was no craze for (V)RAM at the time, more a question of which setting you want to play games at (and with which render distance) than whether a given laptop works for games at all
As of last month, Steam reports that >15% of their customers still have 4GB VRAM or less: https://store.steampowered.com/hwsurvey/Steam-Hardware-Softw...
I'm not familiar with Subnautica beyond the name, is that known for being particularly efficient?
edit: meant to say 4GB rather than 2GB in the Steam stats reference, fixed
> The system I bought before my current one was in 2018 and mid-tier then was 2GB.
Mid-tier laptop GPU in 2018 would have been a GeForce 1060, which came in either 3 or 6 GB variants. GeForce 1050 Ti came in a 2 GB variant, but I wouldn't classify that as mid-tier. The x050 variants (1050, 2050, etc) are budget tier.
>As of last month, Steam reports that >10% of their customers have 2GB VRAM or less: https://store.steampowered.com/hwsurvey/Steam-Hardware-Softw...
Steam having a massive collection of users with older hardware doesn't really make 4GB of VRAM any larger. My current main machine reports less than 1GB since its an iGPU. (But I've seen it use over 8gb of system memory as VRAM)
>I'm not familiar with Subnautica, is that known for being particularly efficient?
Its a pretty well made unity engine game with a minimum requirement of Intel HD4000 integrated graphics. IDK if it would be consideredban efficient game vs other visually nice from this time frame like DOOM 2016 which runs really well on 4GB vram cards if you stick to 900p and below resoultions.
If ONLY I had know to buy 16 GB of VRam on my cards. I have 12, but they struggle.
Hell if I had know that a 5090 would be worth 6000 USD I would have brought as many of them as I could for 2000 USD!
If you play video games, it's basically nothing. I bought a 6 GB VRAM card for ~$300 a decade ago. Many recent games require a minimum of 8 GB VRAM and can scale up to 16 GB VRAM on higher settings.
Sure I play video games, but not usually the ones from the current year. Besides the price of the game itself, it won't run well on laptop hardware anyway and there's such an enormous collection of great games from past years. Factorio is an exception for me, I've played it since not long after the initial release in 2016 and actually got entertainment for so many hours that I thought it fair to buy it a second time ^^'
What the actual fuck are you talking about? This has to be a troll comment.
4 GB is nothing. Mid-grade GPUs from 2013 had 4 GB. Budget GPUs from 2016 (10 years ago!) had 4 GB.
You can play Factorio on laptops and other devices that don’t have dedicated GPUs. A mid-grade computer from 2013 would be a $599 laptop with a Core i3 integrated GPU that shared the 4 GB of system RAM.
Such a machine would probably benchmark favorably against the Nintendo Switch, which runs Factorio on downclocked tablet hardware of a similar era.
the "minimum requirements" aren't even the actual minimum, the game can definitely play on worse machines than that (just inconsistently). I know from personal experience that you can play factorio (at least the base game) on a crappy old 2009 toshiba laptop. Pretty sure it doesn't even have a GPU, just integrated graphics. It doesn't run well but it's not an action game, a little stutter isn't the end of the world and anybody playing on a system like that should not be surprised by it.
The most potato i've run it on was a CB131 chromebook, (which was about a hundred bucks in 2017) and even then, even though video was chugging at 20fps, the main update loop was locked at 60TPS. very impressive. (and helpful for a 9 hour layover on christmas eve, anecdotally)
it does?
I don't have it installed now (lest I get tempted into a quick 2-hour session and end up being late for work 12 hours later), but IIRC it performed the same for me on iGPU and 4090, even on the big saves running below 60 FPS/UPS.
> Everything in the game is a 2D render of a 3D model, which is why the game uses so much VRAM.
Surely from first principles one'd expect 3D models to be heavier than the 2D renders, due to the extra axis?
Do they really load so many spirites into memory it's heavier than 3D?
There are assumptions being made about texture resolution.
The high quality sprites are 64 pixels across per tile. With each tile being 1 meter, 1 pixel is 1.56 cm (About 0.63 inches) across. By today's standards, that's a very low texture resolution, though they can get away with it when your camera is so far away.
But if the game was 3D, you could expect players to put the camera closer to your objects. You'd need significantly higher texture resolutions. And you'd need a texture for each part of the object.
Meanwhile, consider a 3x3 object. That's 192x192 = 36,864 pixels. Assume it has a 60 fps, 2-second animation loop. That's 4,423,680 pixels. With 8 bytes per channel and 4 channels (RGBA), that's about 17.7 MB, which allows you to store 56 objects per GB.
Which doesn't sound like a lot, but we're making some huge assumptions. Not all objects are 3x3 tiles. Most don't have 120 frames of animation.
And as I mentioned in another comment, you don't need to store ALL the game's art in VRAM at once. Only what's on the screen. And you can certainly fit an entire screen's worth of animations in a 2 GB GPU.
> Meanwhile, consider a 3x3 object. That's 192x192 = 36,864 pixels. Assume it has a 60 fps, 2-second animation loop. That's 4,423,680 pixels. With 8 bytes per channel and 4 channels (RGBA), that's about 17.7 MB, which allows you to store 56 objects per GB.
I am assuming that they are laveraging multiple compression technics like using texture specific compression on the gpu, or sub sampling the resolution directly. 8 bytes per channel seems rather large here as well.
> 8 bytes per channel seems rather large here as well.
That was a typo. I meant 8 bits per channel.
Yes. Several GB. I had to enable half resolution to play modded Space Age.
Hmmm... The Factorio team is famously performance oriented, and more scenes are often far less so. Are you sure the problem wasn't the mods? I have good memories of sending my Kerbal frame rates to hell with generous modding, both for graphics and the physics engine.
I also struggled with performance in space age and mentioned it to a developer, but the solution was setting a setting which I had tested previously (no fog) and did nothing... on Nauvis. Turns out it's the difference between stuttering and smooth when in space platform view. They do still care but I guess there's only so much you can do if you also have other tasks to get to
Reporting the issue with mods to the team will likely get them to fix something - they're that performance oriented.
Somehow the engineering behind this will help that fly and all his viewpoint windows
Oh - but only touching them?
I was hoping for an iteration of a factorio belt that could actually move!
Omg, this is so my jam...
I'm looking forward to making a Factorio themed war game table. Star Wars Legion on the factory planet...
I'm (hopefully) getting a G1X soon, so I think I'm going to put it to work printing this stuff out. I'm now excited for this as a use case and I kind of hope someone builds something to convert an existing factorio world into a 3d model, though it might be to big to actually print so maybe a way to take a section would be even better.
Blueprint would be easiest. Grep for printable entities, count how many you need and the grid extent.
https://wiki.factorio.com/Blueprint_string_format
(Also unrelated, I think by clearance they mean tolerance?)
not me hoping for an official factorio board game
There was an attempt, with a very well known board game designer. They got along well, but didn't find a board game in it.
not you? Is that an expression I should know, meaning the opposite presumably?
yes, "not me X" means "absolutely me X", in gen-z form.
i typically interpret it as having a hint of embarrassment to it (e.g. "not me eating instant ramen for dinner for the 3rd time"), but not always.
Now try to get a Factorio-Lego collaboration going.
I love this <3 Wube should be the example the game industry follows
Real-world Factorio, aka composable manufacturing, aka "factories building drones building factories", aka universal constructor, is the next trillion dollar company.
The entire planet taken as a whole is already a form of universal constructor ;)
The factory must grow.
This project looks simple until you realize how much engineering went into it.
The original assets were never meant to be physical, so they had to completely re-engineer isometric tricks and floating geometry for 3D printing. Releasing the files instead of an expensive collector's edition is a classic Factorio move, and I personally love it. Now the community can remix these and build some awesome stuff that the original devs could never imagine. Awesome stuff!
Fun thing about taking Factorio physical is that the game already has a real scale. A tile is a metre, that's what the km/h readouts for vehicles are based on. So a yellow belt moves at basically walking pace, and the engineer runs everywhere at about 30 km/h all day without getting tired. The mining drill that eats a whole ore patch is a 3x3m box.
guessing the suit has an exoskeleton built into by default, and the exoskeleton equipment simply boosts the performance