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.
Yes but they have fallen into a success trap. I have seen the same trend with Mincraft and Subnautica. An indi developer starts with a great concept and a true open world survival 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 more and more specific order. And then the graphics guys take over, adding more and more objects until the world is a cluttered mess.
Think of how subnautica moved. The second game was very literally denser and each step requires specific tools from a specific place. No more free explorations. The player no longer controlled the story. Now, subnautica 3 is so dense and linear I gave up after a week.
I still play factorio. I do not play the new planets. That whole process is so locked down that there is little fore me to enjoy.
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.
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
Not sure if this seems too random but I think that's what I like about OpenStreetMap editing too: it's only a few clicks to improve the map and thousands or more people will come across it. You're quite literally changing the world 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
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)
> 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
> 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.
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 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 ^^'
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.
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)
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.
https://www.factorio.com/blog/post/fff-446
Think of how subnautica moved. The second game was very literally denser and each step requires specific tools from a specific place. No more free explorations. The player no longer controlled the story. Now, subnautica 3 is so dense and linear I gave up after a week.
I still play factorio. I do not play the new planets. That whole process is so locked down that there is little fore me to enjoy.
The whole game really drills in what it means to "think like a computer scientist". Abstraction, encapsulation, modularity, etc
https://factorio.com/blog/post/fff-146
[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.
Not everyone bought a GPU to run LLMs on. That is quite a bit of VRAM, especially for non-desktops
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)
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
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.
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.
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!
4 GB is nothing. Mid-grade GPUs from 2013 had 4 GB. Budget GPUs from 2016 (10 years ago!) had 4 GB.
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.
Surely from first principles one'd expect 3D models to be heavier than the 2D renders, due to the extra axis?
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.
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.
That was a typo. I meant 8 bits per channel.
I'm looking forward to making a Factorio themed war game table. Star Wars Legion on the factory planet...
https://wiki.factorio.com/Blueprint_string_format
(Also unrelated, I think by clearance they mean tolerance?)
I was hoping for an iteration of a factorio belt that could actually move!
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.
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!