4 ms·
> Android is such a pain to develop games for, that Google has started a Android Games initiative only in 2019, to appease the growing complaints from game stud
by m45t3r 7y ago
> Android is such a pain to develop games for, that Google has started a Android Games initiative only in 2019, to appease the growing complaints from game studios.
This is actually irrelevant, Android could be the worst environment to develop however since it has the biggest user base it still has people wanting to develop to it.
> Finally, the only Linux that Android has is the kernel, which Google could replace tomorrow and user space wouldn't even notice.
This is not really true, specially considering for games. For one, since most games use Android NDK, you can't simple swap the kernel and everything will magically work. You will at least need a recompilation, and this new kernel API must be bug to bug compatible with Linux or things will strangely broke.
For another, there is things like the discussion of spinlocks/mutex/schedulers like this one of this topic that, as shown, can make a big difference. It could be better in a kernel optimized for latency, or it could be much worse, making games that today are playable in low end devices a complete shitty show.
- pjmlp 7y agoThere is no Kernel API for userspace as official supported NDK API. If you call any Linux API you are the one to blame if anything changes, even across devices. No it hasn't the biggest gamming userbase, as proven on a market analysis report I just posted.
- labawi 7y agoA market analysis measures the market, i.e. $$$, not the user base. Which part of the report is on the userbase?
- pjmlp 7y agoI posted the link, everyone can read it.
- m45t3r 7y ago> There is no Kernel API for userspace as official supported NDK API. If you call any Linux API you are the one to blame if anything changes, even across devices. Yeah, I never said that you should directly access the kernel API using the NDK (however you can actually). I said that just the fact that the NDK is compiled to native code means that the code depends on the Linux kernel, and changing the kernel would mean, at minimum, a recompilation. Android NDK only guarantees an API, not a ABI, and those two things are very different. So no, it is not like changing the kernel would have zero impact in Android game market. It would actually have a huge impact, since almost every game would stop working until being recompiled (games that does not use the NDK would probably be fine, however few games are not native). And of course, for backwards compatibility purposes you would need to have multiple binaries (however this is already true nowadays since Android support multiple architectures outside ARM). > No it hasn't the biggest gamming userbase, as proven on a market analysis report I just posted. I never said it was the biggest gamming userbase, I said it was the biggest userbase. Even if Android doesn't have the biggest gamming userbase, just for the fact that that you have a big userbase as big as Android have means people will develop games for you.
- pjmlp 7y agoGoogle Play already does binary translations from ARM into x86. Also the whole point of ISO C, ISO C++, OpenGL, Vulkan, OpenSL is to be OS independent. Game studios are not a charity, they develop games for profitable markets, not for large userbases that don't pay for games.
- m45t3r 7y ago> Google Play already does binary translations from ARM into x86. It is not libhoudini [1]? AFAIK, libhoudini is not something that Google Play embeds on binary for distribution, it is a library that ships on Android x86 devices (and another AFAIK, it is proprietary from Intel so they only ships on Intel devices). So while Google could have a similar approach if they want to ship another kernel for Android, the work is not as trivial as you seem to think. > Also the whole point of ISO C, ISO C++, OpenGL, Vulkan, OpenSL is to be OS independent. Yeah, it doesn't mean you don't need to recompile your software. You can't take an game written for Windows in OpenGL and run in Linux without recompile. This is my point. > Game studios are not a charity, they develop games for profitable markets, not for large userbases that don't pay for games. Well, Android seems to be pretty profitable? It is not the most profitable platform sure, however it sure makes enough money because almost everyone ends up creating games for both iOS and Android. You seem to imply that making games to Android is not profitable, however it sure seems to be. Or Epic Games, EA, ActionVision, and many other big names in game studio are a charity. [1]: https://commonsware.com/blog/2013/11/21/libhoudini-what-it-means-for-developers.html https://commonsware.com/blog/2013/11/21/libhoudini-what-it-m...
- pjmlp 7y agoHaving to recompile doesn't make the applications kernel dependent, now to consider porting such applications from macOS to Linux to Windows, kernel dependent?!? And the point wasn't that it isn't profitable as such, rather it isn't the money maker that some here are making waves for, rather a wannabe versus the revenue made across desktop, consoles and iOS. Hence why Google has introduced the Android Game SDK last December (which is quite basic as of now) and Google IO 2019 was the first time Android ever had a games track, versus WWDC iOS/macOS that have had them since ever.