certainly "fast-twitch action games" and "fast twitch shooters" are a minority of all games.
The best selling console games are sports simulators and first person shooters. The next popular are open world RPG/action (Skyrim, Fallout), then we have fighting and racing games. 2.5D platformsrs are also popular now. All of these games need the deterministic guarantees of "fast twitched action games".
It's not so much performance as much as control. Objective-C is a lot slower than C++, but making action games in pure Objective-C is viable because you are still in control of a system that allows for deterministic resource cleanup and stable frame rate.
In the US, I'd say turn based RPGs and puzzle games are by far the least popular genre on consoles across the board. They may be most widely produced games, they are hardly the most widely consumed ( outside of Mobile).
I specified "fast twitch action", not just action. For instance, both of the open-world action games you mentioned are single-player only, so issues like lag and slowdown are less critical. Also, enemies in those games are almost always slow-moving- definitely no fast-twitch required.
For fast twitch action (not shooter), I might include things like street fighter, where button timing and reflexes are critical. Most 2.5d platformers I've seen would not suffer that much for the occasional dozen-millisecond GC pause. In fact, many of them have worse pauses than that for less prosaic reasons. ;-)
Swift's ARC is basically automatic boilerplate for resource management that's applied at compile time. It's extremely flexible in that you can also use raw pointers and manage memory manually if you want to. A native language with ARC as a passive option is a way better tool for making games than a garbage collected one on the VM, IMO.
> ;-)
I'll never understand why people think winking online is a socially competent thing to do.