Comments

glandium 6d
The Nintendo Switch has an ARM64 CPU, which means the biggest part of porting to that CPU is now done. Does it mean we can expect an Apple Silicon mac build some time soon(ish)?
dang 6d
Related:

Factorio is coming to Nintendo Switch - https://news.ycombinator.com/item?id=32825543 - Sept 2022 (359 comments)

mcphage 6d
This came as a total surprise... I'm impressed they managed to get the game running well on the Switch!

Will I actually buy it again, just to have it on the Switch?

...yes. Yes, I will.

dvfjsdhgfv 6d
I was so excited when I saw the Allegro library in the 90s! I lost track of it later and believed it was dead (I believe the author went to Microsoft to work on DirectX). But lo and behold, I've just checked what libraries the Factorio guys used - and what a pleasant surprise!
candiddevmike 6d
> Now, the final startup time when the game is installed on internal storage is 70 seconds, but let's not get ahead of ourselves.

Maybe I don't notice this with other games but that seems like a really long time.

j_m_b 6d
Will the controller designs end up in the pc version? Would love to play this on my Steam Deck in console mode!
mdmglr 6d
I’m not a game developer. What I would like to know is how does porting the code that draws the UIs and perhaps the game work? For example on PC one might use WinForms and DirectX so is this just a matter of writing wrappers to all your DirectX calls to the Switch equivalents?
exebook 6d
Am I the only one who after seeing the title thought they are building Nintendo switch inside Factorio? Which makes me think can it at least run something like Atari 2600 at decent speed?
TillE 6d
> It allowed me to make many Nintendo Switch specific optimizations, and even some optimizations for the PC version

Are there significant CPU-specific optimizations that can be made for the Switch / ARMv8 that wouldn't apply to x86-64? I've never really dug into things at that level, I wouldn't know where to begin except for like vector instructions.

bombcar 6d
It's still a year away according to the end of the blog, but it's nice to get an insight into the amount of work necessary for a port.

(oops, that was the expansion, misread)

hirundo 6d
Will the Switch version support mods? I suppose not. That makes a big difference for me as a long time player, maybe not so much for new players.

I found the Playstation verson of Kerbal Space Program a lot less fun than the PC version, because I had grown so spoiled by and dependent on mods. I think that's a little less true of Factorio for me, but not by a lot. I still play vanilla occasionally. But the mods make it so much more replayable.

Recently I played through a 248k/transport-drones Factorio game and had a blast, almost as much fun as my initial discovery of Factorio, figuring out what everything does. Another vanilla play through would not have gotten so much of my attention.

Hopefully I'm wrong and they'll find a way to bring the mods to a console.

Arrath 6d
> "This is the first time we had to make sure the game is deterministic between ARM and x86. We should be fine, C++ is portable, right? Just don't use undefined behavior. Turns out we use quite a lot of undefined behavior..."

Hah

jjmorrison 6d
Factorio is the best game I've ever played. It's so good.
jvanderbot 6d
> Removing all uses of undefined behaviour is probably a fool's errand, as it would require significant changes throughout the code that would take time and come with a performance impact, all for no immediate practical benefit. So I just hunted down the undefined behaviour cases that actually broke determinism. This was easy enough, as we have plenty of tools we use to test determinism. By comparing the game state CRC for every tick of every test (we have 2,417 tests) between x86 and ARM, I believe I got a pretty good coverage of potential issues.

Holy hell.

naranha 6d
If the switch proves anything it's that you don't have to pay $1600 for a GPU to enjoy amazing games. Or the other way round, if you pay $1600 for a gpu it does not mean that you'll be able to play any good games.
SpacePortKnight 6d
Factorio's official requirement for x86 is a dual core 3.0Ghz processor & yet it's able to run on Switch which has a very weak 1Ghz quad core cortex-A57 ARM CPU.

How is this possible? I would imagine CPU requirements to be more or less same across any resolution / operating system.

This is what makes Nintendo Switch interesting to me. It's CPU is even less powerful than an Raspberry Pi 4. Even midrange android smartphones today are much more efficient and powerful than Switch and yet Switch can run Doom / Skyrim just fine.

foolfoolz 6d
when i’ve played games like RCT1 that can handle thousands of guests in the park, 1000s of placed items, each square customized, hundreds of rides simultaneously with real physics, it makes me wonder why factorio needs such intense system requirements for a mostly 2d production game