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.
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.
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.
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.
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.
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.
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)
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.
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.
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
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.
Real-world Factorio, aka composable manufacturing, aka "factories building drones building factories", aka universal constructor, is the next trillion dollar company.
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.
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.
https://www.factorio.com/blog/post/fff-446
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.
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.
The modern doom saga gives me the same vibes. The team really poured their hearth in it!
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.
This is what being very successful (but still focused) gets you.
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
Which Monday?
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?
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.
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...
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.
https://factorio.com/blog/post/fff-146
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.
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.
[1]https://www.prodeusgame.com/website/index.php
?
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.
> 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
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.
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)
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.
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
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?)
Oh - but only touching them?
I was hoping for an iteration of a factorio belt that could actually move!
not me hoping for an official factorio board game
Until then, there's Factory Fun, and Factory Funner.
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.
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 ;)
But we can't program it yet.
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!
What a good AI-generated summary of the article!
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
The factory must grow.