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.
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.
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
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.
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)
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.
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.
>> we would be healthier as a society if people were forced ...
* * *
People have been complaining since forever that other people waste too much time on board games / novels / playing or watching sports / playing or listening to music / traveling / attending live theater shows / going to the pub / gardening / hiking / stamp collecting / politics / mathematics / philosophy / cooking / going to restaurants / whatever other activity you can name.
It’s fine to say that many people would do well to prefer activities that are interactive and creative vs. passive, physically active vs. sedentary, social vs. individual, skillful vs. mindless, etc. But Factorio per se seems like pretty high-hanging fruit, especially if people are playing it together. (Disclaimer: I don’t really play computer games.)
Oh, my bad, I see how I miscommunicated the "forcing" thing. In my head I was imagining an alternate world where video games simply didn't exist, so there people would have no other option than to (be "forced" to) read a book etc.
And yes, I agree that Factorio might be one of the "smarter" games out there. But the point about addictiveness, and the point about being mentally draining rather than relaxing, still stands for Factorio.
Personal anecdote: I spend much of my time in high-ranked (think top 0.1% of players) video game matches, and I think it might be too mentally stimulating to the point where I don't have the energy or willpower to get other useful things done.
Another analysis is to go ahead and consider video gaming primarily as a compulsive & addictive pastime. If so, it is one of the least harmful ever.
If video games are scratching some dark and antisocial itch leading to hours spent with them, it's easy to think of far worse outlets -- drugs/alcohol, sex/porn addictions, gambling, food, etc -- that have been with us forever.
>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.
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.
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.
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?
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.
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.
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.
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".
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.
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.
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.
> 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?
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!
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.”
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.
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...)
> [...] 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.
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.
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.
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.
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.)
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+%
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 !
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.
> 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.
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.
Vendor extensions aren't really an issue in practice though - if your program needs the functionality the extension provides, you'll use it and have it as a requirement. If it is good/essential functionality, it'll either become part of ARB or EXT at some point or at the very least will be implemented by multiple vendors.
It isn't like applications have to support all of extensions or anything like that. If some functionality was provided by, e.g. D3D10 then the same functionality would also be provided by OpenGL + some extensions.
If anything extensions are a good thing because it is thanks to them that OpenGL wasn't stuck in OpenGL 1.1 that Microsoft provided with Windows and how a lot of new hardware functionality was exposed to applications before even D3D had access to it - without even being locked to a specific OS or OS version (like the Vista you mentioned). And unlike Direct3D you didn't had to do a D3D9->D3D10/11->D3D12 complete rewrite of your code, you just used the new functionality where that makes sense.
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.
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.
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.
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.
~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.
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...
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?
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.
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.
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
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.
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.
> yet multi-billon dollar studios claim supporting anything beyond x86_64 Windows is an impossible feat.
it's because multi-billion dollar studios don't hire nimble, competent teams that can turn on a dime.
They higher large numbers of replaceable cogs, use massive engines and other commercial libraries from various vendors, in the hopes of shortening development time without sacrificing production value.
Unfortunately, this only works to some degree, and makes turning on a dime hard. Not to mention that their leadership tend not to be technically informed enough that making such a change seems risky for low benefit.
it's why i do not buy games from such multi-billion dollar studios.
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.
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.
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.)
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.
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.
> 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.
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 :
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.
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.
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.
> 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.
I have so much respect for Wube. Absolutely amazing quality and care in everything they do.