[HN Gopher] Factorio runs on Apple Silicon
___________________________________________________________________
Factorio runs on Apple Silicon
Author : Sebb767
Score : 405 points
Date : 2022-11-25 12:57 UTC (10 hours ago)
(HTM) web link (factorio.com)
(TXT) w3m dump (factorio.com)
| keewee7 wrote:
| Off-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 wrote:
| Apple 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.
| sixhobbits wrote:
| A 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.
| [deleted]
| c7DJTLrn wrote:
| This 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.
| dahfizz wrote:
| This is the only thing they have done in the past ~8 years,
| right? It's definitely a different business model than big
| studios. I do appreciate the depth of care this game has
| gotten, but it doesn't come for free.
| alexktz wrote:
| I was just saying to my wife last night when her Lego Hobbits
| game crashed that I don't recall a single crash in my 1000+
| hours in Factorio. Not one!
|
| Factorio is the standard against which I compare not only other
| games, but all other software. For polish, stability and
| craftsmanship. I hope they read this thread because the love
| for the game everywhere is truly well deserved.
| AnIdiotOnTheNet wrote:
| I have no particular love for the game, in fact I honestly
| kinda hated playing it because I felt compelled to beat it
| yet didn't enjoy it.
|
| But that said, I will echo everything else you said about it
| as a piece of software.
| mickdarling wrote:
| I had a repeated crash of Factorio. It was from one of the
| 30+ mods I had running and it only crashed after 14+ hours of
| straight gameplay.
|
| I considered the crash a Quality Of Life feature to make me
| stop playing and get some sleep.
|
| With Factorio even the bugs are features.
| Silverback_VII wrote:
| 1000+ hours...
|
| It is probably very unpopular but maybe one has to start
| asking in what way humanity as a whole does benefit from the
| creation of such addictive games.
|
| Theodor Kaczynski wrote in one of his books that computer
| games will increasingly distract younger generations(males
| are obviously more affected) from solving urgent issues
| resulting in an erosion of freedom. maybe he was right
| michaelmcdonald wrote:
| Games are a hobby. Hobby's utilize time. No different than
| reading a book, building a chair, gardening, etc...
| fayten wrote:
| People do not need to be productive 100% of the time. Let
| people have fun without shaming them. Just think of how far
| science and technology has come in the last decade.
| danudey wrote:
| I think video games are very comparable to chess. I mean,
| chess:
|
| 1. Is dull
|
| 2. Promotes laziness
|
| 3. Is sedentary
|
| 4. Stunts societal progress and growth
|
| 5. Limits the mind
|
| 6. Promotes violence
|
| The list goes on!
|
| Yet can you believe that people can spend hours of their
| time on a game of chess? And parents allow their children
| to play it, which is most definitely irresponsible
| parenting. I would certainly never allow MY child to play
| chess when it's clear that it leads to such negative
| outcomes - nay, downfalls!
|
| Source: https://gizmodo.com/chess-was-once-deemed-a-menace-
| to-societ...
| BlueTemplar wrote:
| Heh, I wonder what Kaczynski would think of the game's
| message about the consequences of exponential industrial
| development, and resulting pollution (and specifically the
| dangers coming from cutting trees or polluting them so much
| that they die, at higher difficulty...)
| mandmandam wrote:
| At least games are interactive. I've never played, but
| Factorio looks quite healthy for the mind.
|
| If you want to rail at wasted time, there are much better
| targets out there. Try corporate tax accountants, or
| insurance salesmen, or fossil fuel PR goons; people
| _actively_ destroying value.
|
| We have PFAs in the rain; plastic on Mt. Everest and the
| Mariana Trench. We have a warming planet alongside proxy
| oil wars. You want to solve those problems by looking at
| addictive computer games? Really? Not even reality TV, or
| corporate media monopolies - _games_? ..... I think your
| high horse is pretty sickly looking tbh.
| Silverback_VII wrote:
| The problem is that there is some kind evolutionary
| pressure to create increasingly more addictive game as
| every new game is in competition with every other game.
|
| I'm not saying that games cannot be beneficial especially
| for learning english but if you speak with a boy you will
| understand how these games have taken his brain hostage
| as many of thoughts will be about the computer game he
| plays.
| sabellito wrote:
| > The problem is that there is some kind evolutionary
| pressure to create increasingly more addictive game as
| every new game is in competition with every other game.
|
| This is a sweeping statement that doesn't apply to many
| games, Factorio included.
|
| A game like Factorio being addictive gives little back to
| the developers, as there are no microtransactions; after
| the game is bought, the transaction is over. If one would
| like to be cynical about it, games like this only have to
| trick people into buying a copy (and playing just for
| long enough for a refund to not be possible).
|
| In the case of games with microtransactions, GTA V being
| the most profitable example in history, then yes,
| addictiveness does bring more cash to the company who
| owns the game.
|
| Now, this opinion you held was incomplete and thus,
| wrong. What else are you wrong about in your mental model
| about videogames?
| danudey wrote:
| I'm not sure where in this discussion Skyrim fits in,
| where some people have purchased the same game half a
| dozen times or more. Macrotransactions?
| shepherdjerred wrote:
| How much free time do you have? What do you do with yours?
| rbetts wrote:
| Theodor Kaczynski the Unabomber? That would be an odd place
| to find life advice, if so.
| danudey wrote:
| Hey, I'm sure there were very fine people on both sides.
| pluijzer wrote:
| Those 1000+ hours are dwarfed by the hours my grandmother
| spend on her jigsaw puzzles. Also I think most people play
| games as a form of relaxation, time which someone would not
| spend on solving urgent issues.
| tikhonj wrote:
| How is that any different from sports and non-video-game
| hobbies that people spend 1000+ hours on?
| bhouston wrote:
| Does he have children? Time for computer games dwindles if
| you have kids, except for the computer games you can play
| with your kids. :)
|
| I think games are fine as long as you are living an
| otherwise full life. Games are only problematic if they are
| an opiate that prevent you from achieving goals outside of
| virtual entertainment. Games should not be a present day
| "soma" to paraphrase some words from
| https://en.wikipedia.org/wiki/Amusing_Ourselves_to_Death
|
| Also 1000 hours for a game can be similar to how many hours
| of TV many watch in a year, at least games involve more
| active engagement and problem solving.
| bnralt wrote:
| Sure, but perhaps it is worthwhile to ask when these
| games have become "soma," or at least become that for
| certain individuals. The above poster was reacting to
| someone saying they put 1000+ hours into a single game.
| Maybe we'll reach the conclusion that it's time well
| spent, but I don't think it's wrong to at least ask the
| question of what this impact is on society. People don't
| seem to have the same antagonism to the question when it
| gets asked about, say, social media addiction.
|
| For what it's worth, I do think we should ask the same
| questions about TV, or browsing HN. There are a lot of
| things that it's easy to mindlessly do for hours that, if
| given some reflection, we might find we'd rather not
| spend so much time on.
| Pulcinella wrote:
| You don't realize how much text even simple video games
| have until you try to play them with your kids before
| they have learned to read!
|
| That said, I have been impressed by mine's abilities to
| memorize what each menu option does in menus that can go
| 4-5 levels deep.
| egypturnash wrote:
| If you would like to feel this on a more visceral level,
| I have been playing "Tunic" recently and it is a really
| interesting simulation of "you are a child who can barely
| read one word in twenty in the manual but you sure are
| having a lot of fun bumbling around in Zelda".
| jacobolus wrote:
| Side note: If you want to teach your kid (age 3+) to
| read, with the assumed prerequisite that you read lots of
| books aloud together and the kid wants to learn, let me
| recommend Bloomfield's book _Let 's Read_ from the 1960s,
| about which you can see tokenadult's recommendation here:
| https://news.ycombinator.com/item?id=4665466
|
| The book is organized so that in the first ~100 lessons
| only one new spelling-sound association is introduced per
| lesson and all words use strictly regular spellings.
| Lessons have (initially somewhat stilted and then
| gradually more natural) sentences constructed from
| previously seen words, so that there is a natural spaced
| repetition built in. This is much more efficient than
| most reading curricula, because despite many exceptions
| English is at its core a phonetic system.
|
| It takes about 10-20 minutes per "lesson", you can do
| maybe 2-14 lessons per week (we aim for about 1/day), and
| there are ~250 lessons, so overall it ends up taking
| about 6-18 months from start to finish, maybe 50-100
| hours in total. Afterwards, your kid will be ready to
| read pretty well anything they can understand, and after
| a further year or two of practice (reading whatever kind
| of material they want) will be a strong and fluent
| reader.
|
| Only real prerequisites are that the kid is interested
| and can sit still for 10+ minutes at a time, can
| recognize the letters of the alphabet, and can more-or-
| less make all of the sounds of spoken English.
| wadd1e wrote:
| I hope you understand that if people were not spending a
| 1000 hours(presumably over years) on "addictive" games,
| they would be spending those 1000 hours on something else
| that was available in their time.
|
| Nobody can and does spend 12 hours a day solving "urgent
| issues", we all need ton do something to decompress and
| relax, and video games are a modern way of doing so.
| jackothy wrote:
| Video games are dopamine machines like few others. I fear
| they might cause us to waste more mental capacity than
| older pastimes.
|
| I'm inclined to think of it as stealing too much of
| people's brain power for too little return, like TikTok
| etc.
|
| Doesn't it sound almost undeniable that we would be
| healthier as a society if people were forced to do
| sports, read a book, create something, or talk to their
| friends in order to relax instead?
|
| (I play lots of video games myself so I guess I'm just
| theorizing here)
| jacobolus wrote:
| Why do you think spending time solving hard logistical
| optimization puzzles is such a worse hobby than sports or
| reading books or painting or whatever? Even if it's not
| your own cup of tea, why do you care if other people
| enjoy it?
|
| It's certainly no less valuable to society than e.g.
| playing chess or go or poker, and on average probably a
| better use of time than reading the newspaper or
| chitchatting on this website. Many of the skills learned
| are largely transferrable to solving other kinds of
| difficult technical problems.
|
| You can make an argument that aerobic sports are valuable
| for general health, but beyond the exercise and some
| measure of social activity, the game part of the sport
| doesn't have any a priori importance, and if people
| prefer to get their exercise some other way that doesn't
| seem like an inherent problem.
|
| "Forcing people" to "relax" with particular activities
| seems pretty authoritarian.
| jackothy wrote:
| I don't think I'm getting my point across.
|
| First of all: It certainly is my own cup of tea; Like I
| said, I play lots of video games myself.
|
| On a societal level I'd say there are basically two
| reasons why I think video games might be a worse pastime
| than the older ones. First it's that you are more likely
| to spend "too much" time on video games because they are
| more addictive, you don't really get tired and you can do
| them at basically any time. Second it's that I think
| video games is a lower value way to spend your time.
| Sure, you might improve _a bit_ at problem solving, but I
| think the value per unit of time spent is still very low.
| I even think this might come at a cost because really
| figuring out /performing well in a game can be very
| mentally taxing at the expense of more productive use of
| that mental capacity.
|
| These two points apply to the examples you mentioned as
| well: reading news and talking on social media. I'm not
| saying video games is the only bad hobby. Apropos Ted
| Kaczynski, it might be tempting to say that most "post
| industrial" hobbies are the bad ones.
|
| Lastly, I'm not talking about "forcing people". Even if
| choosing video games as a hobby is a bad idea then people
| (including me) are free to make bad choices.
| jacobolus wrote:
| > _I 'm not talking about "forcing people"_
|
| ...
|
| > _we would be healthier as a society if people were
| forced_
| wadd1e wrote:
| >Doesn't it sound almost undeniable that we would be
| healthier as a society if people were forced to do
| sports, read a book, create something, or talk to their
| friends in order to relax instead?
|
| I disagree. Firstly, video games are a very broad term so
| I'm not claiming that there are not video games that are
| made solely for the purpose of making money from people
| addicted to the dopamine rush. Bad actors are
| unfortunately present in all sorts of industries, but
| anecdotally, they are outliers.
|
| For me, the video games that I play or played have
| brought me closer to my friends and left me with memories
| that I can look back on and smile at the thought of.
|
| Infact, Minecraft Redstone[0] was a massive catalyst in
| developing my interest into putting small parts together
| into a working system, which eventually led me to learn
| programming.
|
| If I'm understanding you correctly, you are suggesting
| that video games and similar dopamine machines are
| replacing more traditional past times such as
| sports/reading etc. Are you suggesting that before the
| prevalence of video games, people only ever engaged in
| things like sports/reading books?
|
| TV is a thing, and before TV, people who didn't want to
| engage with sports or reading spent time with their
| friends in ways which weren't exactly productive. There
| are undeniable changes to society since the introduction
| of the WWW/electronics in general, but I don't think
| they've made society unhealthier in general; they've
| merely changed it in ways that we are still getting used
| to.
|
| One last thing to note is that video games are a great
| way for me to also talk to my friends and have a purpose
| for hanging out(albiet online). Lots of them live way to
| far for us to feasibly meet in person on a regular basis,
| and playing a multiplayer game together is a great way to
| engage with each other and also have some fun on the
| side.
|
| Basically, what I'm trying to say is that video games
| aren't necessarily unhealthier substitutes for past times
| we engaged in before they became prevalent.
|
| [0]: https://minecraft.fandom.com/wiki/Redstone_circuits
| counttheforks wrote:
| They said, before going back to watching their TV.
| nthj wrote:
| I have at least a thousand hours into Factorio.
|
| Factorio has provided a sandbox for me to visualize and
| acquire skills on managing bottlenecks in data flows;
| skills that I have and am applying as the point software
| engineer to resolve critical bottlenecks in multiple
| e-commerce systems. I won't speculate as to the commercial
| value of resolving those data bottlenecks here, but
| whatever dollar number you're imagining is, I suspect,
| probably missing multiple zeroes.
| wheats wrote:
| I've played about 100 hours of Factorio and have often
| wondered if it's approaches can be generalized beyond the
| game. Does anyone beside the poster above believe they
| are?
| danudey wrote:
| Worth mentioning: 1000 hours over the last six years that
| Factorio has been released comes out to about 27 minutes
| per day, on average.
|
| 1000 hours since release in 2020 comes out to about 1
| hour and 22 minutes per day on average.
|
| Regardless of whatever "benefits" Factorio might have to
| society as a whole, one and a half hours a day of
| recreation sounds completely reasonable to me.
| pyinstallwoes wrote:
| Everything in life is literally a game. Game design exists
| at every level of life and the most amazing ones are the
| games that bring people together and develop "real world
| skills."
| chrischen wrote:
| Why does anyone choose to work and live if not for
| recreation?
| colpabar wrote:
| And documentation and maintenance. Their website is great and
| they are incredible at fixing bugs reported by players. And
| the game is only $30!
| fassssst wrote:
| Opportunity cost. Add support for an OS that has 3% of Steam
| users vs. focusing the efforts elsewhere.
| philistine wrote:
| Every Mac game I own on Steam I could have (and honestly
| should have) bought outside Steam. The Mac App Store, GOG,
| Itch, direct from the publisher. It might have been more
| expensive, but Steam is such a piss-poor Mac citizen I am not
| surprised barely anyone uses it on Mac. It's not a clear-case
| cut of _where obviously every gamer plays_ on Macs.
| mfcl wrote:
| Yeah, the cost of porting to a new platform needs to be lower
| than the money you think you will make out of it.
|
| I think Factorio's code quality allows the developers to make
| the ports relatively cheap.
|
| Big studios have so many developers that come and go and just
| work on legacy code that seems to make assumptions about the
| platform on every level. The cost becomes too high and not
| worth it.
|
| It's because one is greedy, but because it's bloated.
|
| If I remember correctly the studio behind Mini Metro gave up
| Linux on their new game because it was too time consuming to
| run the game and test it. Obviously if you lack tests and
| need to have manual testers all the time, new platforms won't
| help you. (I'm making assumptions from the blog posts I read,
| I might be wrong about the real reasons.)
| electrograv wrote:
| Every wonder why Steam has so few Mac OSX users? Might it
| have something to do with how few major games are available
| at all on Mac OSX?
|
| It doesn't exactly take brilliant insight to see that this is
| a bit of a chicken-and-egg problem, and so them taking this
| justification to avoid porting (and I think you're probably
| correct that this is their reasoning) creates quite a self-
| fulfilling prophecy.
| waboremo wrote:
| Sure would be helpful if Apple would use its obscenely
| large warchest to negate this self-fulfilling prophecy
| entirely.
| CJefferson wrote:
| One problem is there used to be more games. With windows
| you can buy 10 year old releases and they (usually) still
| work. With Mac, there is very little chance a 10 year old
| executable would run.
| tpush wrote:
| > [...] yet multi-billon dollar studios claim supporting
| anything beyond x86_64 Windows is an impossible feat.
|
| Who actually claims that? The issue is more that the ROI just
| isn't there. Remember that porting to a platform incurs
| additional support costs that need to be payed.
| BolexNOLA wrote:
| >the ROI just isn't there
|
| Blizzard seems to disagree, as I mentioned in another
| comment. I'm just not sold on this argument tbh. It makes
| sense at face value but that's not enough reason for me.
| Especially given how many games played on both PC and Mac
| from 2010-2020 and continue to do so. It's not the empty
| desert for gamers it was in the 2000's.
| smoldesu wrote:
| And Blizzard also stopped trying to port more advanced
| titles like Overwatch. Even Diablo 2 Resurrected didn't get
| an Apple Silicon release (despite the fact that they
| _already made_ an ARM version for Switch).
|
| Maybe you're right, and the technical hurdle is fairly
| small relative to the money they stand to make from it.
| Whatever the case is though, Apple's current offerings are
| not really attractive to developers. People would rather
| target the APIs they already know than do Apple's dirty
| work for them. Maybe Apple should take a page out of Sony's
| book and actually compensate or assist the studios building
| on top of their technology.
| bluesign wrote:
| Anticheat unfortunately
| comex wrote:
| Specifically, those two titles don't have Mac releases
| for any architecture. Apple Silicon support is somewhat
| orthogonal, since there weren't any major API removals
| between x86_64 and arm64. (Unlike in the old days, when,
| say, Carbon was removed in the transition from x86 to
| x86_64.)
| daveoc64 wrote:
| Overwatch isn't on macOS.
|
| Older games released by Blizzard might have a macOS
| release, but not the franchise they are pushing the most
| right now.
| solatic wrote:
| > ROI
|
| Behold, the actual reason AAA studios can't. Engineering
| excellence is not something you buy or otherwise invest in.
| It is your culture. It is who you hire. It is what kind of
| expectation you set internally for yourself and your peers.
| That is only marginally related to budget spent on salaries.
|
| If you actually practice engineering excellence, the
| investment is small. If you don't, the investment is
| nonsensical.
| jayd16 wrote:
| Have you actually worked at a AAA? You have 500 devs tuning
| AAA games for the launch hardware and then the team is
| dissolved to work on other things.
|
| It's not about "engineering excellence" unless you think
| exploiting hardware quirks for perf is poor engineering.
| Dylan16807 wrote:
| These games have huge budgets and player bases, which means
| the R skyrockets while the I barely budges. ROI should not be
| a problem.
| nolok wrote:
| Actually it does. Everytime someone bothered to give actual
| numbers for games released on windows vs linux on equal
| footing, sales numbers represented barely a few percent
| while support requests represented 50+%
| dimitrios1 wrote:
| I could be wrong, but maybe Linux users are more
| persistent (by necessity), and thus more likely to file
| bug reports, where your average Windows user is more
| likely to just go "F this" and stop playing your game.
| finnthehuman wrote:
| There's plenty of anecdotal evidence that the support
| interactions are different in kind, not just volume. For
| example, this reddit thread:
|
| https://old.reddit.com/r/gamedev/comments/qeqn3b/despite_
| hav...
|
| Not to say it's all positives, I'm sure a big title has a
| lot of linux users in the annoying 'enthusiastic
| youngster' phase a lot of school-age PC gamers go
| through. But the kind of spreadsheet math that doesn't
| even classify support interactions is lazy.
|
| I've worked with multiple companies on projects with
| large support infrastructure and teams. I've seem many
| foreseeably-bad business moves called "data driven
| decisions" based on support metrics. Metrics aren't
| insight, but they do let a business team justify the
| decisions well on paper. I'll avoid writing a whole rant
| about supporting a call center, but I will say their cost
| and ancillary nature makes iterating with the data coming
| out of them (or just iterating on the design on the
| support system itself) poorly prioritized and full of
| noisy signals.
| Dylan16807 wrote:
| 1. I was trying to focus on the development cost, but a
| few percent of 50 million dollars can get you a good
| support team.
|
| 2. Isn't the topic at hand mac?
|
| 3. Are you sure you want to cite that kind of number? The
| most prominent one says this: "Though only 5.8% of his
| game's buyers were playing on Linux, they generated over
| 38% of the bug reports. Not because the Linux platform
| was buggier, either. Only 3 of the roughly 400 bug
| reports submitted by Linux users were platform specific,
| that is, would only happen on Linux." "The bug reports
| themselves were also pretty high quality, he said,
| including software and OS versions, logs, and steps for
| replication." That's free QA, not a burden.
| counttheforks wrote:
| > That's free QA, not a burden
|
| Unfortunately this is not how many managers see it. They
| just see it as more work because people are "discovering"
| more issues that they now have to fix. The squeaky wheel
| gets the grease, or in this case, the squeaky community
| is considered annoying and gets neglected.
| preisschild wrote:
| Not supporting macOS is fair.
|
| After all, Apple went out of their way to not support
| standardized cross-platform APIs like Vulkan.
| jbverschoor wrote:
| No no, that would be Microsoft around '99. Apple is just
| trying to do the same as microsoft did over 20 years ago.
|
| SGI and microsoft were in api-war between OpenGL and Direct3D
| (and the boids examples ha!). They started a collaboration to
| create 'Fahrenheit' (lowlevel) and Fahrenheit (XSG)
| Extensible Scene Graph. Microsoft was sandbagging, and simply
| working on Direct3D, bc of opportunity. Bc microsoft was
| still evil back then bc they had more power.
|
| As far as I always understood, is that OpenGL and whatever
| was left of Fahrenheit and the coop became the Khronos group.
|
| I have the beta disks still here somewhere
| dagmx wrote:
| I'm curious whether people who hold this view are graphics
| developers themselves who've developed games?
|
| The reason I ask is because there are so many different
| graphics APIs, of which Vulkan is the one that has the lowest
| rates of direct targeting.
|
| You're looking at custom platform APIs everywhere but Linux.
| Windows and Xbox only officially supports DirectX (including
| console variants here), PlayStation have their own, Switch
| supports their own plus Vulkan (and most people don't target
| Vulkan on there).
|
| Even Metal has significantly more games targeting it due to
| iOS support. Before people say those are only mobile games,
| thats a severe underestimation of what games are on mobile.
|
| So every cross platform game needs to support multiple APIs
| anyway, and even if you count every API , Vulkan is by far in
| last place.
|
| Edit: I'll also add that both macOS and Linux had lack of
| games when their only API was a cross platform one: OpenGL.
| yes, macs GL is outdated today but it wasn't always , and
| just like Vulkan, very few games directly targeted GL anyway.
| mycocola wrote:
| Anectotal, but my current engine of choice does not support
| Metal. As OpenGL is deprecated on MacOS, I do not wish to
| release my games there.
|
| Supporting open APIs does matter, moreso if <<everyone>>
| can get onboard, allowing for momentum to grow in service
| of continued support and development.
| bitwize wrote:
| As a gamedev, what matters is ROI: can we recoup the
| costs of supporting this new platform/API/etc. by selling
| to a large enough consumer base?
|
| The numbers have been run many times by game studios
| large and small: it only makes sense to support
| Windows/DirectX and the three major consoles. Maybe Metal
| if you're targeting iOS.
|
| No open standards. Those only earn you Stallman good boy
| points and you can't pay your bills with those.
|
| No one is using OpenGL or Vulkan to a significant extent
| any more.
| ynx wrote:
| > No one is using OpenGL or Vulkan to a significant
| extent any more.
|
| Absolutely untrue. See also: Android.
| ynx wrote:
| Yes.
|
| Windows supports Vulkan just fine, but engine support is
| lacking. IMO Metal prevents it from being universal in
| engines such as Unity, so instead a lot of effort goes into
| DX11 as the lowest-common-denominator to emulate i.e. with
| shaders. As a result, DX12 AND Vulkan progress is held back
| IMO because shader performance is necessarily worse when
| you have multiple layers of inefficient transpiling instead
| of running SPIR-V everywhere.
|
| To add to that, I don't think most mobile developers are
| going to Metal directly; a huge number of them make use of
| it through Unreal or Unity. With Unity, customizing the
| rendering backend is not really possible without an insane
| amount of internal knowledge about it (not to mention
| source access at the read-only level or above).
|
| I think that Vulkan is not _particularly_ behind as an API,
| it 's closer to a usable "almost there" state in terms of
| developer access. If Unity threw their weight behind
| improving their shader compilation pipeline and building it
| around SPIR-V/Vulkan, I think it would rapidly become more
| universal.
| dagmx wrote:
| spir-v can be transpiled to MSL just fine so I'm not sure
| how Metal is holding Vulkan back.
|
| Even then, none of these game engines are using direct
| authored shaders anymore, instead using shader graphs
| which are much easier to target any backend on.
|
| In the case of Unity they also support WebGL which is
| much more limited than any of the other APIs and somehow
| WebGL isn't holding those back.
| BlueTemplar wrote:
| I thought that Windows and PlayStation also supported
| Vulkan ??
|
| EDIT : Ok, I see, more details here :
| https://news.ycombinator.com/item?id=33742823
|
| ----
|
| Also, not every game _has_ to target every platform,
| especially when we 're talking about radically different
| inputs / outputs !
|
| I'm honestly surprised about Factorio going to the Switch
| (especially since they supposedly started working on it
| _before_ the Steam Deck, which I could have seen as having
| been a <<tech demo stepping stone>>), considering how much
| Factorio relies on precise mouse clicking !
| BlueTemplar wrote:
| P.S.: Looks like mostly thanks to the radial menu shown
| here :
|
| https://cdn.factorio.com/assets/img/blog/fff-370-quick-
| panel...
|
| https://factorio.com/blog/post/fff-370
|
| ( https://news.ycombinator.com/item?id=32950442 )
| dagmx wrote:
| Windows doesn't officially support Vulkan. It's exposed
| by third party drivers, but isn't the official API (and
| was indeed limited in use for a while). One could argue
| that it's moot though but there are ramifications.
|
| PlayStation supports GNM not Vulkan.
|
| Afaik the switch is the only recent console to support
| Vulkan but it's not preferred, instead using the NVN api.
| Not counting the SteamDeck since it's a general purpose
| computer.
| badsectoracula wrote:
| > Windows doesn't officially support Vulkan. It's exposed
| by third party drivers, but isn't the official API (and
| was indeed limited in use for a while). One could argue
| that it's moot though but there are ramifications.
|
| There aren't really any practical differences and if
| anything, Direct3D being official never stopped it from
| rotting away at a faster rate than OpenGL and Vulkan -
| older games relying on Direct3D, even D3D9 despite how
| widespread that one was, are way more to likely to be
| broken in modern Windows than games using OpenGL and
| gamers nowadays often end up using tools like DXVK (which
| implement Direct3D on top of Vulkan) to get their older
| games work properly even under Windows.
|
| The main reason Direct3D is more widespread than OpenGL
| and Vulkan is that D3D was also available on Microsoft's
| consoles which were themselves very popular. It isn't a
| coincidence that games were as likely to use OpenGL as
| Direct3D (or even offering backends for both) at the past
| but somewhere around the mid-2000s when XBox and XBox360
| consoles started taking off Direct3D also took off.
| dagmx wrote:
| DX9 was a steadfast because of DX10 was both a highly
| breaking update and required a new , highly unpopular OS.
|
| Unfortunately that meant DX9 had the most market share at
| the time and for many years after.
|
| While I agree that consoles helped the adoption of
| DX10/11/12, I disagree that it was driven mainly by the
| popularity of the XBox.
|
| The big reason IMHO, and it's similar with Vulkan, is
| that GL was fractured with tons of vendor extensions,
| much higher variation of feature support etc... DX was a
| more stable and consistent target.
|
| There's also the renewed investment by Microsoft into DX
| at the time, with a lot of investment into abstracting
| the other parts of the OS. That was probably driven by
| the Xbox like you say, but I think it's a subtle
| difference in that it became the better API surface to
| target vs GL+other audio and input libs, instead of the
| ubiquity of the consoles.
| vinyl7 wrote:
| Game engines need to support multiple APIs anyway. DirectX
| for PC/Xbox, a different API for Playstation, and yet another
| API for Nintendo Switch. From what I've heard from people in
| the industry is that you really want to use the platform
| specific APIs because they're developed by the same company
| who built the hardware, and as such there are a lot of
| exposed hardware-specific APIs and tricks that can increase
| performance by a significant amount. And those features are
| guaranteed to be there for every system that it will be
| played on. PC, and by extension Vulkan, doesn't get that kind
| of hardware access since it's made to be generic and usable
| across a large range of generic hardware that may or may not
| have those same features. So while you may be able to target
| Vulkan on Playstation and Nintendo...performance is likely to
| be terrible compared to using the native APIs.
|
| Adding a Metal renderer isn't the big deal. As others have
| said, the deal is that they won't get enough revenue from
| Apple sales to justify the development and support of Apple
| hardware.
| ninepoints wrote:
| Speaking as a graphics engineer, Metal is THE most painful
| API to support bar none (including _all_ the console
| vendors) because they just had to roll their own shader
| language as opposed to extending an existing one. The
| development cycle on Apple just plain sucks, and the tools
| are not as good as native tools provided by IHVs. I dread
| needing to support Apple platforms because they choose to
| be completely unhinged and make zero attempts to making
| porting easier.
| bitwize wrote:
| Fucking no one uses Vulkan except maybe for Android skinner
| box vendors. Kronos should have just rubberstamped DX12 as
| the future.
|
| Come to think of it, the fact that Fahrenheit -- next-
| generation "OpenGL" with a DX base and SGI-provided scene
| graph API -- failed probably set cross-platform graphics back
| years if not decades.
| dmitriid wrote:
| After all, Apple's Metal precedes Vulkan by two years, and
| the vast majority of gaming platforms do not support Vulkan,
| or Vulkan is a distant third-party API on them:
| https://news.ycombinator.com/item?id=33742823
| Grazester wrote:
| AMD Mantle became Vulkan. AMD Mantle precedes Apple Metal.
| dagmx wrote:
| Mantle became Vulkan in only the most superficial of
| senses and when Metal came out, khronos+NVidia were
| banging on about AZDO OpenGL instead.
| dmitriid wrote:
| Mantle was a proprietary AMD-only Windows-only API until
| AMD gave up and parts (not even the whole part) of Mantle
| became parts of the future Vulkun standard sometime in
| 2015.
|
| So sure, sure, Apple "went out of their way to not
| support standardized cross-platform APIs" that didn't
| exist even as an idea by the time Metal was released.
| pjmlp wrote:
| Which also doesn't exist on PlayStation and XBox.
| gernb wrote:
| There has arguably been no market for Mac games. Until M1,
| Macs didn't have good enough GPUs for many games. There were
| no "Gamer macs" (Macs with good enough GPUs to run top end
| games)
|
| And, AFAIK, there's very little market even for games that
| don't require a high end GPU on Mac. My guess is the majority
| people who want to play games on a desktop/laptop just know
| to get a Windows PC.
| treeman79 wrote:
| On a 2019 MacBook Pro. I use boot camp. Load up windows and
| games run fine.
| bnralt wrote:
| ~2009 until ~2019 (when Apple dropped 32 bit support) was
| actually a pretty good time for gaming on the Mac. AAA
| games like Human Revolution and Witcher 2 were being
| released about a year after their PC counterparts, lots of
| Unity games were coming over, GOG was supporting old games
| on the Mac (bundled with DosBox), and Bootcamp was
| available for people who needed more.
|
| If you were a casual gamer, you'd be pretty satisfied on a
| Mac for that decade.
|
| Things got significantly worse since the 32 bit support was
| dropped. Most companies aren't interested in going back to
| update a decades old game to support Mac gamers, so a ton
| of games that were available suddenly became unavailable.
| And with the M1, Bootcamp no longer works.
|
| We'll have to see what the future brings. I never would
| have guessed things would have been as good as they were
| from 2009-2019, or that things would suddenly reverse as
| quickly as they did after 2019. So who knows what's around
| the next corner for Mac gaming.
| bombcar wrote:
| 3% of steam is macs:
| https://store.steampowered.com/hwsurvey/Steam-Hardware-
| Softw...
|
| That's not nothing, and arguably if you have a good game,
| you'll be one of the shining few on the Max.
| Varloom wrote:
| Developers aren't interested when Apple keeps dropping
| APIs.
|
| Develop your game for x86_32, suddenly Apple drops support
| and you have to rewrite your entire game again for x86_64.
|
| Develop your game for OpenCL/GL, suddenly Apple drops
| support and you have to rewrite your entire game again for
| Metal.
|
| Develop your game for x86_64, suddenly apple drops support
| and you have to rewrite your entire game again for ARM64.
|
| That's without counting the fact that most games developed
| nowadays developed using Vulcan or DX12 which has to be
| rewritten to Metal.
|
| People are installing Windows on their Macs to play games
| that used to run natively on MacOS. Imagine how bad the
| backlash if this happened on Windows.
| bzzzt wrote:
| There are lots of Intel macs with good GPU's, but most of
| the base consumer models didn't. (Macbook pro has
| reasonable Radeon graphics, Mac pro even better but that's
| a lot of money to play games and beside that some games are
| broken on Xeon CPU's).
|
| There are lots of simple games in the App store, some
| ported from iOS, some indie games built on generic engines
| (Unity etc). The problem was Mac titles have to be
| continuously supported. Apple killed compatibility with
| older 32-bit games with Catalina which decimated my Steam
| library. I presume that's one of the reasons developers are
| not exactly flocking to mac en masse...
| BolexNOLA wrote:
| Hasn't stopped Blizzard from supporting Mac for 25+ years.
| mjamesaustin wrote:
| Except they have stopped. Overwatch is not for Mac, and
| Diablo 4 isn't coming to Mac either.
| chongli wrote:
| I feel like at this point you can no longer afford to
| generalize about the market this way if you're a game
| developer or publisher. The gaming industry is so big and
| so incredibly over-saturated with games that it is better
| to evaluate the market for your game, individually, rather
| than gaming as a whole.
|
| For example, games like Factorio are incredibly niche and
| loved by people with builder/engineer mindsets (not
| necessarily working as engineers). Now you've got to ask
| yourself whether potential Factorio players are more or
| less likely to own a Mac, compared to the 3% (cited by
| another commenter) of all Steam users on Macs.
|
| Also I wonder how this 3% figure was calculated. Is it
| based on monthly active users? I am a Mac user and I have
| Steam installed but I don't leave it running all the time
| because application itself is a dumpster-fire battery hog.
| I only start it up when I want to play a specific game,
| then I shut it down. Some games don't even require Steam to
| be running so I launch them directly without bothering to
| start Steam. Am I excluded from the monthly active users
| because I might go months without launching Steam, despite
| playing games regularly?
| adam_arthur wrote:
| The economies of scale from having a small, skilled team with
| full domain knowledge of the product can lead to orders of
| magnitude greater output.
|
| Also having good design vs spaghetti code.
|
| I'd guess the majority of games are a hodge pocket of spaghetti
| code that's iterated on until it finally works
| simonebrunozzi wrote:
| What's their story? Are they simply an independent studio? Is
| there VC-money involved?
| BlueTemplar wrote:
| They got 22kEUR from a crowdfunding in 2013 :
|
| https://www.indiegogo.com/projects/factorio#/
|
| IIRC sold more than 3 million copies by now ?
|
| P.S.: The evolution of trailers over the years is quite
| something :
|
| 2013 : https://www.youtube.com/watch?v=V1qOCAM9Syw
|
| 2014 : https://www.youtube.com/watch?v=9yDZM0diiYc
|
| 2016 : https://www.youtube.com/watch?v=DR01YdFtWFI
|
| 2020 : https://www.youtube.com/watch?v=J8SBp4SyvLc
| izacus wrote:
| They just ported their game to Switch (another ARM platform)
| so once they did the legwork to make code decently arch and
| GPU API independent, porting to macOS probably isn't a
| massive overhead.
| codeflo wrote:
| If you don't insist on setting up your company in the most
| expensive city on the planet, you might not need VC money to
| set up a competent dev team.
| waboremo wrote:
| You don't need VC money, but if you want to set up a dev
| team at all you do need some substantial capital.
|
| But that's not what happened here, it wasn't really a
| choice of location or funds. It was a passion project that
| went viral.
| Therenas wrote:
| No VC money, just three people developing a game they'd like
| to play themselves, and it grew organically from there,
| financed by the money made from selling the game.
| AnIdiotOnTheNet wrote:
| I 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 wrote:
| They got as far as to make their own graphic engine mid-
| development :
|
| 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
|
| 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
|
| 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
|
| (And also, specifically, RAM latency is important for
| Factorio : https://old.reddit.com/r/factorio/comments/4h647g/
| factorio_p... )
| badsectoracula wrote:
| > yet multi-billon dollar studios claim supporting anything
| beyond x86_64 Windows is an impossible feat.
|
| It makes sense though, there are different circumstances in
| play.
|
| One day back in ~2013 (or so) as i returned from work, a
| gamedev studio, i bought my first Android device (some cheap
| tablet that was sold in a basket) from a mall i often visited
| after work. Once i arrived at my place and checked it out for a
| bit, i decided to port my previous (current at the time) 3D
| game engine on it - downloaded the SDKs, read some docs and
| tutorials, etc and banged out code until some hours later i got
| the test game running[0] on the device.
|
| All it took was some spontaneous decision and a few hours of my
| time at home. That's about it.
|
| However if something similar (porting to a new system) was to
| happen for the game engine i worked on at work, it'd take much
| more effort - even after assuming the decision was already
| made. Different programmers worked on different aspects of the
| engine that would need to work on it (graphics, audio and low
| level / system support would be the least) and as the engine
| relied on middleware we'd need to also ensure the middleware
| supported whatever we wanted to target, the programmer
| responsible for that middleware had to take that into account
| _and_ ensure the legal side was covered too (some middleware
| consider ports -or basically any executable you make- as
| separate licenses). We 'd also need to have the buildmaster
| work into integrating the new platform for the automated builds
| and testing (and perhaps write some basic tests if needed). QA
| would need to allocate time to test on the new platform, not
| only for the platform specific functionality but also some
| tests would need to run on the new platform even for
| functionality that had nothing to do with it to ensure all new
| stuff worked as expected (this in turn could cause other ripple
| effects - for example some new functionality in the engine that
| worked in a powerful platform might prove too demanding/slow
| for the new platform - at that point someone would have to
| decide -meaning meetings, etc- if the new functionality will
| remain, if it will be altered to work on the new platform -this
| means some research time will be spent on this- or if it will
| become an optional feature that somehow is only available to
| the powerful platforms while not being available on the new one
| -which would require not only the programmer time to implement
| this switching but depending on the functionality, potentially
| also artist/designer time to specify where it will be used- but
| also depending on what that'd be about, it may require some
| fallback functionality too -again more programming time).
|
| And that would be for a small-to-midsized AAA game developer at
| the time with a rather small engine team - in larger teams and
| companies there'd be way more people and friction involved. All
| that would translate to a lot of extra time and thus cost.
|
| If you are an indie developer it is very easy to just add
| support for something, but much harder to do if you are a
| multi-billion dollar studio. A couple of years after the above
| i joked i could port my engine (same as the Android one) to
| Haiku if i felt like it - and then i did that[1]. Meanwhile
| that wouldn't even pass as a joke in the companies i worked at.
|
| [0] https://i.imgur.com/9P3C2zj.png
|
| [1] https://i.imgur.com/cI97myO.png
| Thaxll wrote:
| Factorio was release 6 years ago and they don't do anything
| else right? I mean the studio is only working on this game.
| less_less wrote:
| Version 0.1.0 was released in 2014, and version 1.0.0 was
| released in 2020. They are now working on an expansion. So
| yeah, as far as I know it's their only game.
|
| As you might hope, the game is exceptionally well-polished,
| at least once you get over the initial UI complexity.
| yread wrote:
| Their indiegogo was started in feb 2013, with a demo
| v0.2.2. I think I still have it somewhere
| https://www.indiegogo.com/projects/factorio#/updates/all
| washywashy wrote:
| Comparing apples to oranges
| wankle wrote:
| I generally agree but TBF, it's a 2D game from the YT videos on
| their page.
| justinhj wrote:
| I worked in small and large game companies for over 20 years
| and this does not surprise me at all. A modern AAA title
| involves 100s of people, whereas a small independent can be
| less than a dozen. At scale a company can spend millions on
| advertising reach, on graphics pipelines and content creators.
| What they are bad at is small things and risk. If you spend $1b
| developing and marketing a game you must ensure it appeals to
| the widest demographic possible. Unless there is a clear market
| of hundreds of thousands then it's really hard to shift even
| the meagre amount of resources it would take do the actual
| port. And then, as a large company, you need to train people to
| do support, you need legal people working with the platform for
| all kinds of shit from placement and proper use of logos to
| compliance with app store rules.
| codingcodingboy wrote:
| Is it really that complicated from a legal and support
| perspective? For legal/platform compliance I feel that it
| shouldn't be that different between platform, most of the
| work should be the initial familiarization with the
| requirements or are they changing all the time like crazy?
| Support should be proportional to the number of users. If the
| game is multiplayer/ live service I see that things might get
| seriously daunting if you don't have either a good number of
| sales or the capacity to coordinate the whole team.
| justinhj wrote:
| It's not complicated for a small team, but it is for a
| large public company.
| neallindsay wrote:
| As 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.
| candiddevmike wrote:
| From 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 wrote:
| That'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.
| sirn wrote:
| That 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
| gjsman-1000 wrote:
| Apple 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 wrote:
| Real shame, Diablo 2 still runs great on modern hardware.
| mcphage wrote:
| > 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.
| smoldesu wrote:
| That doesn't really change anything. If Apple uses a bad
| API because they thought of it first, they're still using a
| bad API.
| saagarjha wrote:
| Metal is generally a nicer API to use than Vulkan.
| smoldesu wrote:
| It could cook my breakfast for me, and it would still be
| useless if it exclusively targets Apple products. People
| use Vulkan because it targets multiple platforms. There's
| _nothing_ stopping Apple from providing both APIs, and if
| Apple 's API is _truly_ nicer to use than Vulkan, then
| Apple has nothing to worry about.
| jmull wrote:
| Vulkan is counter to Apple's vertical integration
| approach. It would be a foundational API, sitting between
| their graphics hardware and their OS, yet one they don't
| control.
|
| Better for someone else to build a Vulkan API on top of
| Metal, which is what has happened. It's not perfect, but
| it's the only thing that can work. The pressure on Apple
| should be for Metal to better support Vulkan by providing
| APIs it needs to work optimally.
|
| Beyond that, Apple might want to contribute to the
| Vulkan-on-Metal implementation... though they're only
| going to do that if it makes strategic sense, which I
| don't see. For cross-platform, what makes more sense is
| to encourage games to use a higher-level engine that
| supports metal among its platforms, like Unity and
| Unreal.
| smoldesu wrote:
| Well, thus-far it has failed. We have Factorio, Tomb
| Raider and one of the Resident Evil games running on
| MacOS - most of which had to implement Metal by hand. If
| you're right, Apple's strategy needs to change.
| acdha wrote:
| And a ton of other games because things like Unity make
| that easy. If you aren't focused on AAA, you should have
| no problems finding more games than most of us have time
| for.
| yisonPylkita wrote:
| I want to mention here that Factorio doesn't use Apple
| Metal API. They use OpenGL and Apple dropped OpenGL in
| favour of Metal
| jmull wrote:
| The thing is, you need a whole game to work on macos, not
| just the graphics. Vulkan is just a cross-platform
| graphics API, not a cross-platform framework.
|
| Typically, if a game maker wants to make cross-platform a
| priority, they wouldn't target just Vulkan, they'd target
| a cross-platform framework. That would be true whether
| Vulkan was supported by Apple or not. And if they don't
| make cross-platform a priority, the chances of a mac port
| go down regardless.
|
| So...
|
| We're looking at the incremental gain of Apple providing
| first-party support for Vulkan vs the existing third-
| party support. Looks like a lot of work for Apple for
| little gain. Just doesn't seem worth it to me. Also, the
| Vulkan version would always be out-of-date since Apple
| would pin the supported version to an OS release, and
| would need to be conservative about it, since they aren't
| going to hold an OS release for Vulkan.
|
| Really, Vulkan on macOS is much better done by the
| interested third parties, and the focus on Apple should
| be to get them to better support a Vulcan API on top of
| Metal.
| gernb wrote:
| Can't devs who want to target Vulkan just use MoltenVK?
|
| https://github.com/KhronosGroup/MoltenVK
| robertlagrant wrote:
| This seems disingenuous. The previous claim was that
| Apple ignored an existing emerging standard, so it is
| relevant. Your new claim is that Metal is a bad API,
| which I haven't heard anyone else say. What makes it bad?
| smoldesu wrote:
| My _larger_ point is that Apple can obviously support
| both APIs. It doesn 't matter if Metal is good, bad or
| even awful, Vulkan is what people are using and Vulkan
| can translate from DirectX. Apple is shutting themselves
| off from the rest of the industry with this move, which I
| would argue (judging by how many Mac users wish they
| could game) is a bad thing.
| robertlagrant wrote:
| > It doesn't matter if Metal is good, bad or even awful
|
| I'm confused. Your previous statement was saying the main
| point is that Apple have kept a bad API.
|
| > Vulkan is what people are using and Vulkan can
| translate from DirectX. Apple is shutting themselves off
| from the rest of the industry with this move, which I
| would argue (judging by how many Mac users wish they
| could game) is a bad thing.
|
| Possibly, FSVO translate, but I don't think anyone was
| commenting on this new point. More with the previous
| points.
| [deleted]
| GeekyBear wrote:
| > instead of using Vulkan like the rest of the industry
|
| When did the rest of the industry drop Direct3D for Vulcan?
| smoldesu wrote:
| When DirectX became irrelevant:
| https://github.com/doitsujin/dxvk
| GeekyBear wrote:
| Sorry, but this seems extremely disingenuous.
|
| The industry uses Direct3D on Windows and XBox, Metal on
| Mac and iOS devices, Gnm on Playstation, and Nvn on
| Switch.
|
| Aside from a subset of Android, what popular platform
| uses Vulkan by default?
| smoldesu wrote:
| If you want to claim that Direct3D is king, I'll agree
| with you. I'm merely pointing out that _all_ of the
| DirectX libraries are fairly irrelevant when they run
| just fine without DirectX.
| ohgodplsno wrote:
| Ooof, I've seen some bad takes but this one is a really
| bad one.
|
| DXVK is currently only used as a drop in replacement for
| DX9 games. DX10 has been forgotten (thank god), DXVK's
| D3D11 implementation is not good, and more and more games
| are going on D3D12 which affords a hell of a lot of
| control.
|
| Additionally, DirectX is not just a graphics API, it's
| also sound (XACT and XAudio2), ray tracing (DXR), Input
| handling (XInput & DirectInput), CUDA-like calculations
| (DirectCompute), storage handling (DirectStorage), etc.
| Most of these have either an alright equivalent (DXR has
| an equivalent in Vulkan with extensions, and that's about
| it, and Valve's input implementation is _really good_,
| but it's not a usable API as far as I know.) or a wildly
| inferior alternative (at least for the PC space that is
| Windows/Linux/MacOS). D3D12 also is one of the drivers of
| new GPU programming features in the PC space (once again,
| the console side of things is a bit weirder, although MS
| does bring some lessons in from the Xbox side of things),
| while Vulkan is kind of stuck doing everything as
| extensions that may or may not be available, and Metal is
| still a piece of shit.
|
| So, yeah, no, DirectX is far from irrelevant.
| gjsman-1000 wrote:
| Yes... and no.
|
| Remember, to start, Windows only officially supports DirectX.
| OpenGL and Vulkan comes from your GPU vendor and Microsoft
| waives all responsibility for them. Vulkan is, quite
| literally, a 3rd-party API that can run on Windows - not
| something Windows supports or endorses.
|
| Xbox does not support Vulkan. DirectX or get rejected.
|
| Only 60% of Android devices support Vulkan. Guess you'll also
| need ANGLE or OpenGL for backwards compatibility.
|
| PlayStation does not support Vulkan. Better learn gnm, gnmx,
| and PSSL.
|
| Nintendo Switch has Vulkan but it is almost unusably slow, on
| a console that is already not known for speed. Better use NVN
| if you want anything decent.
|
| iOS does not support Vulkan. Better use Metal.
|
| So... what does Vulkan support, exactly? Windows, Linux, and
| not enough of Android. If your game only runs on desktop,
| it's a good option - but why not target DirectX? Windows,
| Linux with Proton, and most of the Xbox support all in one.
| For this reason, I have yet to see a Vulkan game that does
| not have a DirectX mode.
|
| Blaming macOS for being proprietary is disingenuous in an
| industry full of Proprietary APIs.
| maccard wrote:
| If you're _really_ aiming for cross platform support, an
| RHI is only the beginning of your problems though.
| Replacing the rendering code may not be _trivial_ but if
| you're stuck at that point you're likely going to struggle
| with networking, filesystem, permissions, user accounts,
| store requirements. Modern rendering APIs are _similar
| enough_ in feature sets and abstraction layers that it's
| not an insurmountable task.
| nickelpro wrote:
| You're doing a bit of slight of hand on Windows support.
|
| Windows doesn't "support" the DirectX version shipped by
| your GPU vendor either. The drivers shipped by your GPU
| vendor, and all the APIs provided by them, are supported by
| your GPU vendor.
|
| So the real thing we're talking about is hardware vendors.
| Nvidia and AMD support Vulkan, OpenGL, and DirectX where
| applicable. Apple only supports Metal. The console vendors
| have always had weird variant APIs based on the open
| standards but not identical, except MS where the console is
| very close to desktop Direct X.
|
| On mobile hardware vendors ubiquitously support OpenGL ES
| and there's widespread support for Vulkan.
|
| So it's complicated. In the desktop space, as a percentage
| of market share, Vulkan is extremely widely supported. Same
| with mobile. Consoles have always been an odd man out.
|
| So Apple, which doesn't sell a console, is absolutely
| breaking from the pack in the markets they target.
| gjsman-1000 wrote:
| > Same with mobile.
|
| If you consider 60% of Android users, and 0% of iOS
| users, "widely supported," sure. That's less than half of
| mobile phones in use right now, making Vulkan the odd-
| one-out on mobile as well. You certainly can't build a
| mobile app right now that only uses Vulkan without
| cutting out huge parts of your audience.
|
| > So Apple, which doesn't sell a console, is absolutely
| breaking from the pack in the markets they target.
|
| Apple wants the same API on all of their devices, and I
| can't blame them. They are the odd-ones-out in Desktop
| only.
|
| But does that really matter? If you are making a game
| _only_ for Desktop, namely Windows, and _weren 't_ going
| to just use DirectX for some reason, it does (which I
| think, nowadays, is a rare situation). But if you are
| targeting any game consoles, or any mobile phones, you're
| adding multiple graphics APIs anyway and Metal is just
| another one.
| ynx wrote:
| > Only 60% of Android devices support Vulkan
|
| Total addressable market matters here. 100% of Android-
| based VR headsets support Vulkan. Granted, that's mostly
| the Quest 2, but it's not the only HMD in town anymore.
|
| Also, a lot lot lot of Android devices are garbage-tier
| <$100 that you wouldn't want to target anyways because you
| won't get any sales on them. So the % of Android devices
| supporting Vulkan may be misleading in the sense that you
| might be aiming for a segment of devices with much, much
| higher, if not complete, support for Vulkan.
| hedgehog wrote:
| Except 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.
| sirn wrote:
| FWIW, 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
| hedgehog wrote:
| It'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.
| [deleted]
| hajile wrote:
| With Apple being the largest game company by revenue, they do
| take it seriously, but for every dollar made from an AAA
| game, there's probably 20-50 to be made on less "hardcore"
| games. Thusfar, Apple is serious about money rather than
| capability.
|
| That seems to be changing though as there are pretty strong
| supply chain rumors that they are working on AR/VR headsets
| (allegedly delayed due to terrible market conditions and some
| supply chain issues). They've also made pretty big
| investments into their subscription game service.
|
| I think Apple TV is very overlooked by developers too.
|
| There's a lot of processing power in those things. The weak
| 2021 model has 15% more GPU power than a docked switch (30%
| more than an undocked switch). The older 2017 model uses an X
| processor which should give it even more GPU power (almost
| double an undocked switch). The latest A15 model (with a
| major price drop vs the previous generation) has more GPU
| power than the Xbox One S and isn't so far off from the PS4.
| Nintendo Switch 500 GFLOPS (docked) 390 GFLOPS (portable)
| Apple TV (A10x) 770 GFLOPS (2017) Apple TV (A12)
| 580 GFLOPS (2021) Apple TV (A15) 1500 GFLOPS
| (2022) Playstation 4 1850 GLOPSS Xbox One
| S 1400 GFLOPS
|
| Apple TV shipments since 2017 seem to be in the 50-80M units
| range. Compared to 25M PS5, 17M Series X/S, 111M Switch, and
| 117M PS4, that's a pretty significant number.
| hedgehog wrote:
| I looked for a quantitative comparison. If the numbers in
| [1] are accurate Apple App store gaming revenue was around
| $11B in 2021. Meanwhile Microsoft was around $15B [2].
| That's way closer than I thought, big enough that they
| could reasonably be concerned about avoiding any appearance
| of strength that could trigger anti-trust action.
| Interesting.
|
| 1. https://appleinsider.com/articles/21/10/03/apple-earned-
| more... (15.9*0.69=11B)
|
| 2.
| https://www.microsoft.com/investor/reports/ar21/index.html
| (Gaming: 15,370)
| dmitriid wrote:
| > I think Apple TV is very overlooked by developers too.
|
| Because no one nows if the platform will be there or not.
| Apple's commitment to it has been lackluster. And since
| there are no dedicated controllers, you'll need controllers
| from a system... that you probably already own, so why play
| on Apple TV?
| navjack27 wrote:
| Don't use flops as a comparison please. Meaningless numbers
| especially across platforms. Especially across vendors for
| those devices that are pushing out said flops. Same thing
| with texels per second or gigapixels per second or any
| comparison like that between 3D graphics accelerator
| devices. If those numbers meant anything then my Intel A750
| would be one of the fastest graphics cards in my house
| right now.
| foolfoolz wrote:
| apple 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 wrote:
| This 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.
| ChrisMarshallNY wrote:
| I'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).
| highwaylights wrote:
| I 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.
| ilyt wrote:
| Apple 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 wrote:
| False. 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 wrote:
| 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.
|
| "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 wrote:
| > 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.
| EagnaIonat wrote:
| > 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 wrote:
| The 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 wrote:
| > 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.
| MisterSandman wrote:
| Disagree on the last point, I'm a university student who
| spent 1k on a MacBook Air, and I don't have a console or
| gaming PC because I can't afford it.
|
| I study Computer Engineering, so having a good laptop was
| important. Prior to this I owned refurbished ThinkPad running
| Linux which cost me around $500 but had multiple issues with
| performance and speed, to the point where buying an M1-class
| machine was almost necessary for me.
| goosedragons wrote:
| Gaming on a Mac is like gaming on a PC just worse. There's
| less games, every game on Steam that supports Mac supports
| Windows. Performance is usually worse too. For gaming it's
| just a worse PC. And it's usually more expensive. And there
| hasn't been an exclusive worth playing since like 1997. With
| consoles there is at least stuff you can only play there and
| an extra ease of use layer plus they are cheaper. Mac is just
| all downside for gaming.
| fishcrackers wrote:
| not to mention basic things like mouse behaviour, resultion
| support and general development tooling are a pain in the
| ass on the platform
| curiousmindz wrote:
| The most important "goalpost" is: Every major cross-platform
| AAA game gets released simultaneously on Windows, Xbox and
| PlayStation. When macOS gets added to the list in a
| consistant manner, people will consider it a "major" gaming
| platform.
|
| Having access to a lot of mobile games doesn't matter for
| hardcore gamers.
| jxdxbx wrote:
| For 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.
| db48x wrote:
| Be 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 wrote:
| Fair; I'll try to not get my hopes up too high.
| bombcar wrote:
| Steam has a surprising amount of Mac games but I fear many
| will never receive a native M1 update.
| perryizgr8 wrote:
| At one point even intel macs broke compatibility with every
| game that was 3 years old or something stupid like that. I
| remember that my working game simply refused to execute
| after a macos version upgrade. Exact same machine, refusing
| to run my software overnight.
|
| This kind of attitude just isn't conducive for gaming,
| where people like to build libraries in steam and expect
| everything to keep working for a long time.
|
| On my PC, I can fire up games from 20 years ago and they
| work perfectly. Witcher 3, a 7 year old game, is getting an
| overhaul. I expect no problems in downloading it on steam
| from my library and playing it seamlessly on my relatively
| new PC.
| bombcar wrote:
| Yep - they killed 32 bit compatibility and it's annoying.
|
| IIRC win64 finally killed win16 support but that was
| rarely used for games and those games you can dosbox
| (which amusingly enough works fine on Mac in many cases).
| joxel wrote:
| Does 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.
| lloeki wrote:
| Theoretically 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#issue
| com...
|
| 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
| pdpi wrote:
| Proton 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.
| hypertexthero wrote:
| Indeed! Here is a list of good games that run on the Mac:
|
| https://hypertexthero.com/mac-video-games-for-streaming/
|
| I try to keep it updated and suggestions are always
| welcome.
| robaye wrote:
| Here's another list to keep around.
|
| https://www.applegamingwiki.com/wiki/Home
| hombre_fatal wrote:
| Meanwhile I've been happy playing games in Parallels
| (virtual Windows arm64) like Against the Storm. Crusader
| Kings 3 has better perf in Parallels than the macOS build.
| lloeki wrote:
| The current Steam problem on macOS is more about 32 bit
| games that never received 64 bit builds, which means they
| are not playable anymore since Catalina independently of
| the Intel vs Apple Silicon hardware, notably the first-
| party GoldSrc and Source engine games, and all of their
| third party derivatives.
|
| I would not really care if my game library was going
| through Rosetta 2, as I'd rather take a theoretical
| performance hit (vs a native arm64 build) than outright be
| unable to play.
| less_less wrote:
| Factorio 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=4c5f65003d84370f.
| ..
| mnd999 wrote:
| > 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 wrote:
| Yeah, 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 wrote:
| > 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 wrote:
| Are there any 5nm Intel processors to compare with? I think
| an AMD chip might have a more comparable performance
| profile.
| KptMarchewa wrote:
| >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.
| lloeki wrote:
| >> implements Intel specific behaviour from the latest
| chips down to the oldest 8080 or something.
|
| > So, it is hardware emulation.
|
| It's more like there's a full Intel CPU in disguise, only
| with instructions and registers having another name.
| brookst wrote:
| No.
|
| 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
| flaner and raler 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.
| less_less wrote:
| As a slight correction, I believe Rosetta 2 also has a
| JIT mode, which is a bit more like conventional
| emulators. But it's used infrequently, eg when dealing
| with x86_64 apps that themselves use a JIT.
| lloeki wrote:
| > I believe Rosetta 2 also has a JIT mode
|
| It does have JIT _translation_ (not a JIT "mode" though,
| as it always use AOT translation, only relying on JIT
| translation at runtime for the parts that need it)
|
| > which is a bit more like conventional emulators
|
| Not at all+, Rosetta 2 does the same++ translation step
| on dynamic Intel code, whose arm64 output can be reused
| afterwards
|
| > But it's used infrequently, eg when dealing with x86_64
| apps that themselves use a JIT
|
| Yes, although it's more like "exceedingly rarely" in
| practice since usually those interpreters are up to date
| enough to have a native arm64 release.
|
| See there for details:
| https://dougallj.wordpress.com/2022/11/09/why-is-
| rosetta-2-f...
|
| + Unless you've been meaning dynarec, but I would not
| call that "conventional" although it is a well-known
| technique
| https://en.wikipedia.org/wiki/Dynamic_recompilation
|
| ++ IIUC minus a few things that can't be done when just-
| in-time because some assumptions are not guaranteed to be
| satisfied.
| brookst wrote:
| Thanks, that is definitely correct. Rosetta 2 can do JIT,
| and it gets exercised for native JIT / dynamic code.
|
| I could probably extend the metaphor to an avant garde
| French novel that asks the reader to look up and include
| today's headlines from Le Monde, but it was already
| stretched.
| ilyt wrote:
| IIRC 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 wrote:
| What laptop has comparable perf for much cheaper?
| meepmorp wrote:
| Or anything like the same battery life?
| hombre_fatal wrote:
| Is this the part where we find out they are comparing
| laptops to desktops?
| pkage wrote:
| Some 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 wrote:
| The 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=4c5f65003d8437
| 0f...
| db48x wrote:
| The factorio benching scene is a lot more sophisticated
| than when last I looked.
| willis936 wrote:
| Wow 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 wrote:
| A 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 wrote:
| Not 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.
| willis936 wrote:
| For stability testing I like y-cruncher. It teases out
| edge cases that many XMP profiles are unstable with. I'd
| take a slightly less efficient system that I am confident
| will not error.
|
| Also, those numbers aren't far off the out-of-box
| behavior I had, but I like to tinker. I throttle with PL
| set to 190 but not at 180.
| fauntle wrote:
| I'd avoid Intel entirely if heat/power efficiency matter
| to you at all. AMD has had acceptable performance with
| far better heat/power use across the board for a few
| years now.
| [deleted]
| [deleted]
| username1taken wrote:
| Kiro wrote:
| Why would anyone create a new account just to post that, on
| this thread? I really want to understand.
| no_time wrote:
| I 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?
| donatj wrote:
| I 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.
| diebeforei485 wrote:
| How difficult would it be to create an iPad version? Aren't the
| M1/M2 iPads fairly similar to the M1/M2 macbooks?
| Kukumber wrote:
| Better performance and lower power consumption, congrats Apple!
| [deleted]
| robga wrote:
| I'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 wrote:
| Factorio 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)
| lordnacho wrote:
| Factorio is basically programming. It doesn't look like it, but
| it is.
|
| Well worth trying.
| daedrdev wrote:
| They even have a free demo to make it easier to try.
| [deleted]
| Trasmatta wrote:
| 100%, 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 wrote:
| I 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 wrote:
| I've felt both ways. I think I feel the second only if I
| play too much at once.
| dmitriid wrote:
| For 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)
| djmips wrote:
| Everytime 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 wrote:
| They used coding and algorithms, all in a day's work.
| makach wrote:
| ...pushing virtual heroin on yet another platform, as a
| recovering addict you are making my life difficult. lots of love.
| amelius wrote:
| If it is news that some well-known program runs on some platform,
| then that tells you something about that platform.
| dagmx wrote:
| It'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.
| smoldesu wrote:
| Truly a Tomb Raider-level moment for the MacOS gaming
| community.
| darthrupert wrote:
| It could be noted that Linux has graduated above that status in
| the recent 12 months, thanks to Valve's incredible effort.
| simonebrunozzi wrote:
| > 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 wrote:
| I 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.
| fHr wrote:
| Best game ever, huge shoutout to the devs of this game.
| deepsun wrote:
| I 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 wrote:
| Factorio 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 wrote:
| Factorio 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.
| camjw wrote:
| > 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.
| orost wrote:
| No, Factorio is a perfect example of a game that benefits from
| as much optimization as possible. It's an unlimited-scope game
| where expanding forever is the natural course of action so any
| improvement in performance directly translates to improved
| gameplay experience because it means you can expand for longer
| before it starts to degrade.
|
| In this kind of game, no matter how well it runs, there will be
| someone who has built enough that they're wishing it would run
| even better.
| kortex wrote:
| We 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.
| ubercow13 wrote:
| Why? It seems like the opposite is true - see the other comment
| under this post about buying a 13900k just to play Factorio.
|
| It seems to me like Factorio is exactly the kind of game that
| would benefit from a low level language, as it's relatively
| simple graphically and all the complexity is in the simulation,
| making it CPU-bound.
| cmovq wrote:
| Factorio is a great example of a game that benefits from having
| a custom engine. For comparison, Cities Skylines (Unity)
| becomes CPU bottlenecked with a large enough population. Making
| large cities practically unplayable even on the most powerful
| consumer CPUs.
|
| Also, choice of programming language isn't what makes porting
| games difficult. It's the platform specific graphics, input,
| window management, sound, etc. All of which aren't handled by
| switching to one of the languages you mentioned.
| NelsonMinar wrote:
| Rosetta 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 wrote:
| Weren't they comparing native M1 code against native Intel
| machines? No emulation anywhere.
| chrisfosterelli wrote:
| I 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 wrote:
| I 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 wrote:
| > 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
|
| [1]: https://support.apple.com/kb/SP854?locale=en_US
|
| [2]: https://en.wikipedia.org/wiki/Rosetta_(software)
| philo23 wrote:
| Judging from the graphs[1] it looks like they were running
| the x86 binary through Rosetta on the same M1 machines as the
| native M1 binary.
|
| [1]: https://cdn.factorio.com/assets/img/blog/fff-371-ups-
| graph.p...
| [deleted]
| nkko wrote:
| I'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 wrote:
| I 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".
| louwrentius wrote:
| I'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 wrote:
| Insert "Look at what they need to mimic a fraction of our
| power" meme
| Tijdreiziger wrote:
| https://i.kym-
| cdn.com/entries/icons/facebook/000/037/360/cov...
| bobleeswagger wrote:
| iPad WHEN?
| rdudek wrote:
| Would love to play this on my M2 iPad Pro
___________________________________________________________________
(page generated 2022-11-25 23:02 UTC)