19 ms·
Factorio runs on Apple Silicon
- username1taken 4y ago
- Kiro 4y agoWhy would anyone create a new account just to post that, on this thread? I really want to understand.
- neallindsay 4y agoAs a person who wants to play games on a Mac, sometimes I feel like Charlie Brown trying to kick the football. But Apple's custom silicon has me hoping again. I keep seeing more and more stories like this where ported games don't just work "acceptably", but actually work better on M1 and M2 chips. Apple's hardware is unquestionably very good now, and their graphics APIs are actually seeing some uptake. The recent stories about Resident Evil Village especially sound positive.
- db48x 4y agoBe careful; the only performance comparison they made was between the x86_64 builds and the arm64 builds. Both were done on the same hardware, with the x86_64 build necessarily running in emulation. This only proves that the ported game runs better than the non–ported game run in emulation, not that it runs better on an M1 Mac than on other computers.
- neallindsay 4y agoFair; I'll try to not get my hopes up too high.
- bombcar 4y agoSteam has a surprising amount of Mac games but I fear many will never receive a native M1 update.
- joxel 4y agoDoes protonDB work for Mac titles, or is it only for Windows? I've been able to play basically every game in my steam library on linux using protonDB. I have hundreds of games.
- pdpi 4y agoProton helps you run Windows games on Linux. A few years ago, the problem with Mac games on Steam was running 32-bit Mac games on 64-bit only macOS builds. Now, it's running x86 Mac games on arm64 Macs. Often, we're talking about those same 32-bit games that never got updated to 64-bits x86, let alone arm.
- lloeki 4y agoTheoretically it could, although: > The main Proton issue is that it runs on DXVK, and MoltenVK is not always up to parity with implementing Vulkan API calls on Metal reliably. https://github.com/ValveSoftware/Proton/issues/1344#issuecomment-1093053454 https://github.com/ValveSoftware/Proton/issues/1344#issuecom... An alternative would be using CrossOver (which pulls from Wine and adds stuff like MoltenVK), which is what Proton does as well (pulling from Wine and adding stuff, but not MoltenVK) and vendors internally, Valve "just"† doesn't pull from the CrossOver changes nor expose Proton on macOS. † scare quotes because it may not be as easy as it seems
- hypertexthero 4y agoIndeed! Here is a list of good games that run on the Mac: https://hypertexthero.com/mac-video-games-for-streaming/ https://hypertexthero.com/mac-video-games-for-streaming/ I try to keep it updated and suggestions are always welcome.
- robaye 4y agoHere's another list to keep around. https://www.applegamingwiki.com/wiki/Home https://www.applegamingwiki.com/wiki/Home
- lloeki 4y ago
- pkage 4y agoSome anecdata: I've played Factorio on both an Intel MBP (2018) and an M1 MBP (2021), the performance even under Rosetta blew away the Intel chipset. Being M1 native means even faster performance with a lower power impact.
- pdpi 4y agoThe post actually mentions what map they used for benchmarking, and linked to a bunch of other benchmarks on the same map[0]. They quote around 200 UPS average. It's hard to compare to the linked benchmarks because those quote p75 numbers instead of average, but it seems like the results are in the same general ballpark as the Ryzen 9 5950x. 0. https://factoriobox.1au.us/results/cpus?map=4c5f65003d84370f16d6950f639be1d6f92984f24c0240de6335d3e161705504 https://factoriobox.1au.us/results/cpus?map=4c5f65003d84370f...
- willis936 4y agoWow thanks for this. I noticed the 13700k results are surprisingly lackluster. The highest speed memory kit there is 5600. I just got a 13700k with Hynix A-die (now clocked to 7200). I have an AIO arriving in the mail in a few days to replace my NH-D14. The 13700k has quite a bit of headroom when not thermally constrained. I think that the 13700k and 13900k with the same turbo ratio should perform almost the same in gaming workloads. The only difference should be in the 36 MB of LL cache vs. 30 MB. It's a modest difference, but factorio is memory subsystem performance sensitive. I'll add a benchmark to that page in a few days with a 5.8 GHz clocked 13700k to test the theory.
- alexktz 4y agoA Noctua NH-D14 is considered "thermally constrained" for these 13th gen chips? Good lord. I'm looking forward to your test results though as I'm considering building a new desktop around 13th gen.
- sirn 4y agoNot sure about the performance of NH-D14 and 13700K, but my NH-D15 (upgraded from NH-U12A) is running OK for 13700k with Intel's PL1/PL2 settings, hovering around 60~70c during full load at 25c ambient temperature. Unlimited PL2 is a different story and can go up to 100c during full load. My previous NH-U12A build ran at about 2-4c higher temperature under load. I've been experimenting with different settings and found that unlimited PL2 and undervolting the CPU by -150mV give the best temperature to performance at ~80c during full load. It has been running stable for few days, and I'm pretty happy with the result so far.
- less_less 4y agoFactorio runs quite well on the M1. The graphics system (FPS) is partially decoupled from the factory simulation side (updates per second, or UPS), so there are two components to performance. UPS mostly depends on how big and complex your entire factory is, and on what mods you're running, and FPS mainly depends on how many sprites are on screen. FPS is limited to be <= UPS, since there's no point in redrawing until the game state changes, but UPS can be greater. FPS: Despite being a 2D sprite game, sometimes it has trouble keeping FPS at 60, at least when running at max graphics and max zoom level with a graphically intensive mod. I would guess it's using OpenGL, and Apple's OpenGL stack isn't great. You can see the article mentioning the M1 Max only hitting 45 FPS in one of the tests, and this is without mods (but with a huge base and presumably a wide zoom level). In my experience, if you adjust the graphics settings appropriately (eg max sprite atlas size and max vram usage, since integrated graphics use unified memory), you can usually keep it at a smooth 60 FPS 99% of the time even in graphically-intensive setups with max or almost-max quality settings. UPS: Scoring 199 UPS on the flame_sla 10k base puts the M1 Max above any other laptop processor for that benchmark. This matches my experience: the simulation part of the game almost never lags, except for unavoidably heavy operations (eg generating new worlds when playing with mods that do that). See a comparison at: https://factoriobox.1au.us/results/cpus?map=4c5f65003d84370f16d6950f639be1d6f92984f24c0240de6335d3e161705504&vl=1.1.0&vh= https://factoriobox.1au.us/results/cpus?map=4c5f65003d84370f...
- mnd999 4y ago> UPS: Scoring 199 UPS on the flame_sla 10k base puts the M1 Max above any other laptop processor for that benchmark. It puts it above an EPYC 7763! I presume it wasn't using all 64 cores though.
- less_less 4y agoYeah, Factorio is multithreaded, but in practice it usually only runs a few ways in parallel. Instead its performance is determined in large part by the memory subsystem, which is why the X3D processors do so well. It's probably also part of the M1's great performance: with a large cache and stacked DRAM, it has very competitive bandwidth and latency.
- lloeki 4y ago> with the x86_64 build necessarily running in emulation Rosetta 2 is not emulation, at all, it's AOT, static binary translation, backed by hardware that implements Intel specific behaviour from the latest chips down to the oldest 8080 or something. It's eerily fast. In fact, it happens that arm64-translated x86_64 running on Apple Silicon can often be faster than x86_64 running on the latest Macs with Intel processors. So you really have to ask two questions here: - does the x86_64 Factorio build run faster on Apple Silicon than on a comparable† Intel? - on Apple Silicon, does the arm64 Factorio build run faster than the x86_64 Factorio? † whatever that means
- smoldesu 4y agoAre there any 5nm Intel processors to compare with? I think an AMD chip might have a more comparable performance profile.
- KptMarchewa 4y ago>Rosetta 2 is not emulation, at all, it's AOT, static binary translation, backed by hardware that implements Intel specific behaviour from the latest chips down to the oldest 8080 or something. So, it is hardware emulation.
- brookst 4y agoNo. Imagine you only speak English and you want to read a novel in French. Emulation: you hire a translator to read the novel to you. They translate each word while reading. Static translation: you hire a translator to transcribe the book from French to English. They give you a printed book purely in English. But simple French words like flâner and râler are expanded into lengthy passages because there is no simple English translation. Rosetta 2: you hire the translator to transcribe the book to English, but they leave in unique French words and teach you what they mean so you can understand them in an English phrase without even noticing that the word isn’t “real” English. Rosetta 2 isn’t emulation because no instruction is translated on the fly to a different ISA. It’s static translation plus ISA extensions. There is no lower level emulating anything.
- ilyt 4y agoIIRC from the benchmark M1 have some truly great single-core performance. Then again Apple stuff is so fucking expensive you can get faster for cheaper easily...
- hombre_fatal 4y agoWhat laptop has comparable perf for much cheaper?
- meepmorp 4y agoOr anything like the same battery life?
- hombre_fatal 4y agoIs this the part where we find out they are comparing laptops to desktops?
- candiddevmike 4y agoFrom what I understand, Apple decided to force Metal upon everyone instead of using Vulkan like the rest of the industry. This causes friction with game development.
- smoldesu 4y agoThat's part of the problem. MacOS actually had the same Proton compatibility layer as Linux a few years ago, but with Catalina Apple changed what you're allowed to run on your Mac and it broke completely. Neither Valve nor Codeweavers have gotten DXVK or Proton to run on MacOS since, IIRC.
- gjsman-1000 4y agoApple depreciated 32-bit, a year before Apple Silicon came out, which allowed them to more precisely target 64-bit processor speed without legacy baggage. Apple Silicon on iOS had dropped 32-bit years before and they didn’t want to bring it back for macOS. Android is following with 32-bit deprecation this year, actually. Pixel 7 doesn’t support 32-bit apps.
- smoldesu 4y agoReal shame, Diablo 2 still runs great on modern hardware.
- sirn 4y agoThat doesn't sound right. Codeweavers has been shipping fairly recent version of DXVK alongside with MoltenVK since CrossOver 20. On community side there's Gcenx/DXVK-macOS[1] that patched DXVK to work with some of Apple GPU quirks in some games and closely track upstream. [1]: https://github.com/Gcenx/DXVK-macOS https://github.com/Gcenx/DXVK-macOS
- mcphage 4y ago> From what I understand, Apple decided to force Metal upon everyone instead of using Vulkan like the rest of the industry Metal came out in 2014, Vulkan in 2016.
- highwaylights 4y agoI get the impression that the lack of releases on mac are generally down to non-technical reasons. Building for ARM is probably not a big challenge if you’re already building for Apple’s x86 toolset. Metal would be more of a challenge I imagine, but a bridge probably worth crossing all else being equal (or one that you don’t need to cross at all if you’re using something like unreal or unity). The Mac isn’t a games platform as Apple hasn’t shown much interest in the mainstream gaming market, and I can’t imagine major publishers are eager to fork over a third of their revenue on the App Store for sales they’ll probably pick up elsewhere without more work and cost. Sure theres Epic and Steam on Mac, but they’re ghost towns, and publishers are likely waiting to see what way the EU Digital Markets Act shakes out globally anyway (as other governments are pressured to provide the same freedoms). There was talk at one point of Apple working on a game console (a more powerful Apple TV) but who’s the market for that? They’ll not be cost-competitive with Xbox or content-competitive with PlayStation and Nintendo. At best they’d be likely to produce a similarly powered box with little content and a high price tag in a market already retailing hardware below cost price.
- hedgehog 4y agoExcept for brief blips here and there Apple seems to not put any priority on gaming. It's a bit disappointing because they could have a really strong showing if they cared.
- foolfoolz 4y agoapple is in an active lawsuit with one the biggest gaming companies in the world. fortnite hasn’t been available on apple devices in 2 years. if they really cared they wouldn’t have shut down one of the most popular games of today from their devices
- arecurrence 4y agoThis comment doesn't make sense to me. Epic broke one of the major tenets of their contract with Apple. Apple faced losing a significant revenue stream if Epic's efforts were allowed to continue. In particular, since they intend to use the same model for future devices in other verticals, they would have also lost out on a simply colossal amount of future revenue. The business case on this was a slam dunk. Other companies running virtual product stores with similar terms would have done the same irrespective of how popular Epic's products were.
- sirn 4y agoFWIW, addition of MetalFX upscaling (comparable to DLSS/FSR 2) in Ventura has been a nice surprise and one of the biggest development on Mac gaming in recent memory. Digital Foundry did some review of MetalFX in Resident Evil Village[1] and was pretty positive about it. (From DF's findings, MetalFX has some problems with transparent texture, but details preservation/restoration are pretty good.) [1]: https://www.youtube.com/watch?v=6iXx9lfe62w https://www.youtube.com/watch?v=6iXx9lfe62w
- hedgehog 4y agoIt's not so much technical as business focus. There's a big issue with their app store cut on in-app purchases and whether they want to set a precedent on lowering/changing the rules to be compatible with games like Fortnite and the third party stores (like Steam and whatever Epic's is called). If they found a solution to that then they need high quality and timely ports, that's a whole organization of marketing, bizdev, devrel, etc people. At a technical level it seems like they could get more console-like levels of tuning for their platforms. Very few chips to support, only a handful of thermal targets, all chips have a common CPU/GPU architecture, all devices have very fast storage. Conceivably they could field a winning platform for competitive gaming. My guess is they look at Sony & Microsoft and don't see much value in reshuffling priorities to likely just be #3. Edit: hajile above convinces me that rather than concerns about spending money to be #3 they probably already are in the top few by gaming revenue and could have lots of reasons for not being more aggressive about taking more share.
- ilyt 4y agoApple just asks gaming companies to put unreasonable extra effort by not supporting Vulkan so no wonder more and more decided to fuck that platform.
- gjsman-1000 4y agoFalse. iOS doesn’t support Vulkan, 40% of Android doesn’t support Vulkan, Windows does not officially support Vulkan, Nintendo Switch has a Vulkan implementation that is basically unusable, PlayStation doesn’t support Vulkan, Xbox doesn’t support Vulkan, shall I go on? Contrary to widespread opinion, Vulkan is not an industry standard. It’s a 3rd-party DirectX alternative for Windows, the best API for Linux, and a curiosity on Android. And that’s literally it, nothing else supports it (except Switch, but it is so slow, almost no games use it, opting for the proprietary NVN).
- GamerUncle 4y agosaying "Windows does not officially support Vulkan" is a completely blatant cope by maclovers, nvidia and amd, the people that make the cards support it, and windows "supports" their cards, so let's stop being dishonest. "Vulkan is not an industry standard" I mean yeah, in the same way Microsoft word is not an standard. "except Switch, but it is so slow" again that seems to be a lie, doom eternal orks way, way better on it than it would be on similar software on a different API.
- gjsman-1000 4y ago> saying "Windows does not officially support Vulkan" is a completely blatant cope by maclovers, nvidia and amd, the people that make the cards support it, and windows "supports" their cards, so let's stop being dishonest. It is completely honest. On a fresh install of Windows, if you don't have graphics drivers, you can't run Vulkan or OpenGL. Windows washes their hands of any responsibility. You can at least run DirectX with software rendering regardless of hardware support. It is also for this reason that the locked-down Xbox where Microsoft can assert more control has zero tolerance for OpenGL or Vulkan. > "Vulkan is not an industry standard" I mean yeah, in the same way Microsoft word is not an standard. Microsoft Word, and the DOCX format by extension, has >90% market share. Vulkan has almost no presence on consoles, presence on less than half of smartphones in use, and mixed presence on Desktop because MacOS doesn't have it. Word is more of a standard than Vulkan. > "except Switch, but it is so slow" again that seems to be a lie, doom eternal orks way, way better on it than it would be on similar software on a different API. DOOM Eternal is one of the few games that uses Vulkan. >90% of Switch games do not use Vulkan, and found it preferable to use the proprietary API. That developers would overwhelmingly opt not to use Vulkan on Switch tells you all you need to know about the state of it. If adding another graphics API (such as Metal) was such a big deal, why in the world would they do it if Vulkan was cross-platform and worked fine? It doesn't work as well as it needs to - and adding another graphics API isn't as much of a blocker as we like to think.
- ChrisMarshallNY 4y agoI've found Rosetta games actually work better on my new M1Max, than on my old Intel (I have the top-of-the-line laptop of each).
- EagnaIonat 4y ago> Apple's hardware is unquestionably very good now. Honestly it doesn't matter. The whole "Macs can't game" has no basis in facts. The goalposts are continually moved. To give some examples of arguments. - Not enough games for it. There is actually more games in the Apple store than most other gaming stores. You can also play a lot of iOS games now. - The majority of games are terrible. The majority of games in other stores are terrible too (sadly). - It can't play [insert PC game]. Neither can a Nintendo switch but that doesn't mean it can't play games. - I can play [insert PC game] but doesn't count because it's too old. You can't win on this one. - It's not a real game unless it uses a GPU. There are countless games out there that don't meet this requirement. Really the only argument for Macs not being gaming machines is that the majority of buyers do so not to play games on it, but to get stuff done. Anyone who can afford a Mac is likely to have at least a console and/or PC Gaming rig.
- willis936 4y agoThe goalposts haven't moved. Where are the games? Macs will game when macs can game. The gaming industry has chosen the APIs they are willing to support. When Apple meets them there then macs will be able to game.
- GeekyBear 4y ago> The gaming industry has chosen the APIs they are willing to support. The gaming industry will go where the money is. The majority of the industry revenue is now on mobile and the lions share of mobile revenue is on iOS and Metal. I think Apple Silicon Macs will end up benefiting from studios having experience with Metal on iOS in the same way that XBox benefited from studios having experience with Direct3D on Windows.
- EagnaIonat 4y ago> Where are the games? You have… - App Store (OSX and many IOS) - Steam - Epic Store - Blizzard Store - Crossover and Parallels to do some windows games. - Mame and it’s like exist. - You even have free games on GitHub. If you can’t find the games the issue isn’t with the Mac.
- deleted 4y ago[deleted]
- jxdxbx 4y agoFor me one of the best things about PCs for gaming is access to lots of old games and long tail stuff...in fact I rarely play new graphically-demanding titles. That said OpenEmu on the Mac is the slickest emulation manager / front-end I've used on any platform and DOSBox-X runs fine on my iMac. But I still keep a gaming PC around.
- robga 4y agoI've played about 60 hours of Factorio on the Nintendo Switch version, which came out 4 weeks ago. I'd never played it before. This comment has very little to do with Apple Silicon, except to say that I imagine its a faster platform than the Switch, and that Factorio is addictive fun. Here's hoping the promise of the post turns into reality.
- wolfram74 4y agoFactorio has been mac compatible for over 7 years (citation: my embarrassingly large play time), this blog post is just about performance improvements (that several of my factories will appreciate)
- amelius 4y agoIf it is news that some well-known program runs on some platform, then that tells you something about that platform.
- smoldesu 4y agoTruly a Tomb Raider-level moment for the MacOS gaming community.
- darthrupert 4y agoIt could be noted that Linux has graduated above that status in the recent 12 months, thanks to Valve's incredible effort.
- dagmx 4y agoIt’s news whenever a game gets ported to any new platform, so I’m not sure your point really stands. Also you’re missing the fact that it already ran under emulation. This is a native port.
- deleted 4y ago[deleted]
- lordnacho 4y agoFactorio is basically programming. It doesn't look like it, but it is. Well worth trying.
- Trasmatta 4y ago100%, I find it seems to activate the exact same regions of my brain that programming does. It's especially good at capturing the flow state that makes programming fun (which is the reason many of us got into programming in the first place). But on the other hand, I find I can't play it much these days, because it ends up feeling too much like work. Maybe someday I'll retire and be able to spend 100s of hours playing Factorio, without it feeling like I'm just putting in extra hours at work.
- rgoulter 4y agoI recall another comment on here which explained the duality, along the lines of: - "Factorio feels just like programming ... but without the constraints of having to be reliable, or having to do what other people tell me to" => fun. - "Factorio feels just like programming .... but I don't get anything out of doing it" => not fun.
- shepherdjerred 4y agoI've felt both ways. I think I feel the second only if I play too much at once.
- dmitriid 4y agoFor me it quickly feels too much like work (I have the same feeling about all other factory/production chain games from Satisfactory to Dyson Sphere)
- deleted 4y ago[deleted]
- daedrdev 4y agoThey even have a free demo to make it easier to try.
- djmips 4y agoEverytime I read a factorio blog they always leave out the juicy bits. Like ' and soon we had a working ARM ' version. And the Switch one was like - then we optimized it. Great...
- moffkalast 4y agoThey used coding and algorithms, all in a day's work.
- riwsky 4y agoAlso data structures, don’t forget.
- louwrentius 4y agoI'm almost 3000 hours into Factorio. I went as far as buying a i9-13900 because my previous 8 year old pc could no longer handle my megabase I was working on (11K SPM). It's funny that this processor gets around 240 UPS and the M1 Max can get to 200 UPS at a fraction of the power budget.
- moffkalast 4y agoInsert "Look at what they need to mimic a fraction of our power" meme
- Tijdreiziger 4y agohttps://i.kym-cdn.com/entries/icons/facebook/000/037/360/coverpower.jpg https://i.kym-cdn.com/entries/icons/facebook/000/037/360/cov...
- cedws 4y agoThis humble, relatively small dev team has written their game on top of a barebones engine and ported it to more three platforms and architectures, yet multi-billon dollar studios claim supporting anything beyond x86_64 Windows is an impossible feat. I have so much respect for Wube. Absolutely amazing quality and care in everything they do.
- AnIdiotOnTheNet 4y agoI mean, yes, and that goes to literally everyone who's all "web is great because cross-platform" too, but it is worth noting that Factorio doesn't exactly ask much of GPUs compared to the games multi-billion dollar studios are putting out. There are a lot of different GPUs and drivers to account for on Windows, and adding in Linux to that compounds the problem[0] significantly and brings in a paltry number of users, so it is pretty understandable why they don't bother. And the Mac user base that cares about gaming is kind of a joke in terms of size. [0] Steam Deck being relatively bespoke hardware might help there.
- BlueTemplar 4y agoThey got as far as to make their own graphic engine mid-development : https://www.factorio.com/blog/post/fff-230 https://www.factorio.com/blog/post/fff-230 Factorio asks different things from GPUs. that today are much more used to accelerate 3D. not 2D graphics : https://www.factorio.com/blog/post/fff-281 https://www.factorio.com/blog/post/fff-281 Also : > Contemporary integrated GPUs are also significantly faster, and while it might not be as much of a challenge to render the game for them, they do share some resources with the CPU - be it the last level of cache, or CPU cooler, so the integrated GPU working hard may cause the CPU to slow down. > However, the point I wanted to illustrate by this post is how broad a range of GPUs there is. People see a 2D game and expect to be able to play it on essentially anything. If we want to live up to that expectations, we have to impose a lot of limitations on ourselves, because 'anything' also includes a couple orders of magnitude slower GPU than is found in an average gaming computer of today. CPUs got a lot faster in the last decade too, but mostly due to increasing the number of cores and adding wider vector computation units. They didn't get that much faster when executing serial code, which is unfortunately most of Factorio's game code. So if you play the game on a laptop with a Core 2 Duo and GeForce 320M, you'll run into framerate issues due to the weak GPU much sooner than a UPS slowdown due to the old CPU. https://www.factorio.com/blog/post/fff-333 https://www.factorio.com/blog/post/fff-333 But, yeah, Factorio is one of those games that don't impose a maximum limit of entities on themselves and are mostly bottlenecked by singlethreaded CPU than GPU performance, like any simulation-like game with lots of entities, each of which can have a gameplay (and not just display) effect on another : https://www.youtube.com/watch?v=HvI_5S3aITk https://www.youtube.com/watch?v=HvI_5S3aITk (And also, specifically, RAM latency is important for Factorio : https://old.reddit.com/r/factorio/comments/4h647g/factorio_performance_test_cpuram_based_fpsups/ https://old.reddit.com/r/factorio/comments/4h647g/factorio_p... )
- Kukumber 4y agoBetter performance and lower power consumption, congrats Apple!
- deleted 4y ago[deleted]
- makach 4y ago...pushing virtual heroin on yet another platform, as a recovering addict you are making my life difficult. lots of love.
- NelsonMinar 4y agoRosetta must be really efficient! That's my takeaway from this post. The native port is running only ~25% faster than the emulated x86 version. That's amazing! And Factorio is more CPU intensive than most games; this isn't just because the GPU is the bottleneck. I don't mean to diminish the work of porting here, clearly a native version is better. I'm also impressed that the port didn't seem that difficult, the only technical hard thing he mentions is getting a copy of the arm64 libraries to link against. But mostly I'm impressed that the port wasn't entirely necessary because Apple did such a good job on x86 emulation.
- SeanLuke 4y agoWeren't they comparing native M1 code against native Intel machines? No emulation anywhere.
- chrisfosterelli 4y agoI had thought the same thing at first too, but they were comparing the x86 build running on an M1 against the native build running on an M1. See the machine list in the first screenshot.
- SeanLuke 4y agoI see, for the Mac Studio 2022. But the other two (the Macbook and Mini) are intel native. What's confusing here is he clearly says "After we had a functioning universal binary, we ran benchmarks and conducted manual tests to see what improved. We ran benchmarks on 3 different Apple Silicon machines, using the same compiled release binary and run settings." So it's a universal binary. Surely it'd run natively on the Mac Studio. Maybe this was a typo?
- chrisfosterelli 4y ago> But the other two (the Macbook and Mini) are intel native. The 2020 Mac Mini is not intel [0]. The 2021 Macbook Pro is also not intel [1]. > So it's a universal binary. Surely it'd run natively in the Mac Studio. Maybe this was a typo? Yes, the new universal binary can run natively. That's what they are announcing: the new native support. They are comparing the native performance against using rosetta [2] to run the x86 binary (which, in prior versions, was the only option). By using the same binary they are ruling out that it's due to any other performance improvements between versions. [0]: https://support.apple.com/kb/SP823?locale=en_US https://support.apple.com/kb/SP823?locale=en_US [1]: https://support.apple.com/kb/SP854?locale=en_US https://support.apple.com/kb/SP854?locale=en_US [2]: https://en.wikipedia.org/wiki/Rosetta_(software) https://en.wikipedia.org/wiki/Rosetta_(software)
- nkko 4y agoI'll have to start playing it. Too many mentions here on HN to ignore. Would be great to hear more about this: > reduced the time to set up a clean Mac for Factorio development from a few hours to a few minutes
- rgoulter 4y agoI particularly enjoyed playing towards the constrained-achievements, such as: "launch the rocket with (near) minimal hand-crafting", or "launch the rocket on non-peaceful, without using solar power".
- danuker 4y agoA few hours? If you get hooked, those will become negligible. Beware.
- BlueTemplar 4y agoThat's a quote from TFA.
- simonebrunozzi 4y ago> But I wasn't satisfied. As a software engineer and Factorio engineer, I had to ask myself: can I play Factorio for even longer with native Apple Silicon support? Hmm... He could have tried to optimize his Factorio build to consume less power on the laptop running it... Or, as he did, to optimize the whole game for every ARM Macbook in the world. Thankfully he chose the latter. Or, wait... I have a Macbook... Damn... Goodbye productivity :)
- superkuh 4y agoI love Factorio, it's a great game, and it's nice that they've ported it to run on Apple's new proprietary hardware. I'm just surprised that people are excited about a platform where people get excited about software becoming available in such limited quantities. I suppose you take what you can get.
- deepsun 4y agoI feel like games like Factorio don't really need that low-level optimizations to warrant for C++. It would be possible to implement it on Go/Java/C#, so would be easily portable to whatever platforms. "Write once, run anywhere" :)
- donatj 4y agoFactorio I think is particularly poorly suited to memory managed languages. My factory is enormous, hundreds of thousands of machines all doing their thing in real time. Thousands of robots flying around delivering goods. I think that really does in fact demand high level optimization.
- bombcar 4y agoFactorio does really weird things with memory (the deterministic simulation effectively reads all memory every tic) that makes it not perform like many applications are expected to.
- deepsun 4y agoDon't see any problem there, how does it relate to portability? Anyway games are going to pre-allocate large arrays and work on them, for cache affinity. That doesn't depend on C++ vs. Java. No need to create a separate object for each item in your factory, but rather a row in the array(s). And even if you do create a new object for each item, it's better to do that on heavily optimized heap, than manually allocating/deallocating memory in the same thread. You end up writing that heap in C++ anyway.
- camjw 4y ago> I feel like games like Factorio don't really need that low-level optimizations to warrant for C++. Clearly someone has not grown the factory large enough.
- kortex 4y agoWe don't know exactly what techniques are under the hood, because it is closed source (for now...I really hope they open source it one day because I want to marvel at it), but from reading all their FFF blog posts and just knowing how smooth this game runs in spite of the mind-boggling number of discrete operations a megabase can execute, I'm very confident they are doing a ton of optimizations to reduce allocation, reuse data structures, etc. I doubt they would be able to achieve that performance with a memory managed runtime. Besides, their game is already one of the most cross-platform capable games I've ever seen. There's not a lot of feasible platforms that Go/Java would open up.
- deleted 4y ago[deleted]
- donatj 4y agoI love to see Factorio native on my Mac Studio, but the performance actually feels a little worse than it did in emulation. I’m getting little slowdowns here and there I never saw running the x86 build in Rosetta on the same machine.
- fHr 4y agoBest game ever, huge shoutout to the devs of this game.
- rdudek 4y agoWould love to play this on my M2 iPad Pro
- keewee7 4y agoOff-topic but is there any in-depth content that goes through why Apple Silicon is more efficient than the best x86-64 CPUs from AMD/Intel?
- bobleeswagger 4y agoApple was focused on efficiency (phones), Intel/AMD's focus was raw compute (servers). It's not in depth, but it's 99% of the why. The M1 is just a bigger, reworked A15.
- bobleeswagger 4y agoiPad WHEN?
- sixhobbits 4y agoA bit off topic but I tried factorio once and the learning curve seemed pretty steep. I have been playing Mindustry which as far as I understand is simpler but a similar idea, is open source, and works great on my M1. Only complaint is it's pretty addictive.
- no_time 4y agoI wonder what goes into porting an AMD64 C project into arm64. Do you just make clean && make on your new machine? Is C portable enough to do that granted there is no inline assembly involved?
- diebeforei485 4y agoHow difficult would it be to create an iPad version? Aren't the M1/M2 iPads fairly similar to the M1/M2 macbooks?
- blt 4y agoThe set of supported platforms must grow.