**The Challenges of Optimizing Games for Android Devices**
When it comes to optimizing games for Android devices, Epic Games faced a multitude of challenges. The company had to consider not only the differences between various hardware manufacturers and their GPUs but also the graphics APIs used by each device. This complexity was compounded by the fact that different devices ran different versions of Android, with varying levels of optimization.
**Diverse Hardware and Software Ecosystem**
In one generation compared to another, Epic Games found that the company had to consider two major manufacturers of GPUs and then actually different models inside of those different series of GPUs. This meant that when Epic Games was trying to optimize Fortnite for a particular GPU, they already had to consider multiple scenarios. The situation is even more complicated than that because you've also got the issue of the graphics API or the one side you've got OpenGL ES which has been around for a long time has gone through lots of different revisions and then you've also got the Vulcan API which is something much newer and is not supported necessarily by all of the recent handsets.
**Different Graphics Drivers**
What Epic Games found out is that you can actually have the same processor with the same GPU in one handset and the same process with the same Jeep in another handset but they've got different graphics drivers which actually do things ever so slightly differently. One way to get around this was that Epic Games forged strong relationships with all of the different handset manufacturers, particularly Samsung. They worked with their engineers to optimize the game for Samsung devices, which is one of the reasons why it was first released on those devices.
**Tweaking Internals of Android**
Another thing that Epic Games found is that they had to tweak the internals of Android so that you might for example on paper get two handsets that have very similar specifications maybe they even have the same processor but actually one OEM will tweak the scheduling of the Linux kernel differently to its counterpart or maybe the other one tweaks the power management differently. When you actually come to playing a intensive graphic game like Fortnite, the two handsets perform differently because of these tweaks.
**Memory Allocation and GPU Profiling**
Epic Games found that different handsets have different memory capabilities. For example, on the Samsung Galaxy S8, they were able to allocate three out of the available four gigabytes and use those three gigabytes for the game, whereas on a Pixel 2 XL, they were only able to allocate one point eight gigabytes. A difference of over a gigabyte of available memory that could be used by the game makes targeting particular platforms quite tricky because you don't actually know how much memory is going to be available for storing all of that great and rich graphic data that they need to present during gameplay.
**Optimization Strategies**
To overcome these challenges, Epic Games developed a set of optimization strategies. They created profiles almost like you kind of get on the PC side of games where there's kind of a low profile, medium, and high, and in each profile, they change the detail settings, the distance that you can see in the game, and the shadows. Different profiles are applied to different handsets, but not only that, Epic Games also have a GPU profile so when the GPU Technician is it a Mali GPU is it a Qualcomm GPU is it this particular generation is it a different type of generation then a different profile will be applied.
**Handset Profiles**
On top of that, they have actual handset profiles so when the game is running on a particular handset, it will know what optimizations it can use and it will know how much memory it can use to actually bring the smoothest gameplay possible. This approach allows Epic Games to optimize Fortnite for each device individually, making the game available on more devices over time.
**Conclusion**
In conclusion, optimizing games for Android devices is a complex task that requires consideration of multiple factors such as hardware and software differences, graphics APIs, and memory allocation. Epic Games has developed innovative strategies to overcome these challenges, including creating profiles and handset profiles, which enable them to optimize Fortnite for each device individually. While this approach may not be ideal for every game developer, it sets a precedent for how games can be optimized for the diverse range of Android devices available today.
**About the Author**
Gary Sims is an expert in mobile gaming and technology. He has been covering the latest developments in the mobile gaming space for years, including the challenges of optimizing games for Android devices. With his in-depth knowledge and expertise, Gary provides insightful analysis and commentary on the latest trends and technologies in the world of mobile gaming.
**Subscribe to Android Authority**
If you enjoyed this article, please don't forget to subscribe to Android Authority for more in-depth coverage of the latest developments in the world of Android and mobile technology. You can also like us on social media or hit that Bell notification icon to stay up-to-date with the latest news and updates from the world of Android.
"WEBVTTKind: captionsLanguage: ennow fortnight is one of the great gaming sensations at the moment and its release on Android was very much anticipated however for Epic Games to actually bring it to hand roid it had to fight against this whole Android fragmentation problem hello my name is Gary Sims and this is Andrew authority if you want to find out what battles epic gave me to fight to bring fortnight to Android please let me explain now recently Epic Games published a blog post describing the different issues they had about bringing fortnight over to Android and their revelations are really quite interesting the first thing to note is this wasn't a case of having to port fortnight over on to Android it was actually written in using the Unreal Engine which means that actually got cross-platform support from the get-go so it wasn't the catering to rewrite it all in Java or something like that they were already using a tool that allowed them to bring it across multiple platforms and interestingly it wasn't also a case of well Android fragmentation is because some people are still running Android 7 some people are running Android 8 and there's all these Android versions out there and they just are just so bad you can't no that's not the problem either actually fundamentally Android is very good at backwards compatibility and particularly you're dealing with something like a gaming where really all you want to do is get kind of graphics on to the display as fast as you can there isn't that much difference between one version of Android and another so what was the issue well the issue is actually all to do with performance although the game would probably run on just about any device that they care to store it on because what you want is smooth gameplay and you want the gameplay to be comparable to what other people are using because of all this is cross-platform so you don't want to be in a situation where your version of the game doesn't show the same things and somehow therefore the game experience is actually less now the first thing to notice about the Android ecosystem is that each phone can have a processor from a different manufacturer so maybe you've got kind of Snapdragon processor from Qualcomm or X protestors from Samsung or processors from Huawei or processors from mediatek now inside each of these processes there are different CPUs and different GPUs they should concentrate on GPUs Ramon because they are the most important when it comes to games like for tonight now there are two main manufacturers of GPU you've got qualcomm with his Adreno GPUs and you've got armed with their Mali GPUs now both Qualcomm and armed have different generations and models of GPU so the GPU you find in one Qualcomm powered device will be different to what you might find in a different core compound device and let's say you look at quirian processors which generally have the Mali GPU in them there will be a different Mali GPU in one generation compared to another generation that means when epic games were trying to optimize fortnight for a particular GPU they already had to consider two major manufacturers of GPU and then actually different models inside of those different series of GPUs but actually the situation is even more complicated than that because you've also got the issue of the graphics API or the one side you've got OpenGL ES which has been around for a long time has gone through lots of different revisions and then you've also got the Vulcan API which is something much newer and is not supported necessarily by all of the recent handsets and then beyond that you've also got the graphic driver so there's a driver that takes those kind of calls from OpenGL ES and turns them into something actually happens on the hardware and what epic found out is that you can actually have the same processor with the same GPU in one handset and the same process with the same Jeep in another handset but they've got different graphics drivers which actually do things ever so slightly differently so one way to get around this was that Epic Games forged strong relationships with all of the different handset manufacturers in particular Samsung went down to Epic Games and they work with their engineers to actually optimize the game for samsung devices which is one of the reasons why it was a first released of course on samsung devices because also are more involved from Kolkata more involved because Epic Games wanted to optimize fortnight for all these different processes so another thing that epic games found is that om tweaked the internals of Android so you might for example on paper get two handsets that have very similar specifications maybe they even have the same processor but actually one OEM will tweak the scheduling of the Linux kernel differently to its counterpart or maybe the other one tweaks the power management lis different to the other one and when you actually come to playing a intensive graphic game like for tonight the two handsets perform differently as worth tweaking the scheduling and the power management epic games found at the different hands has have different memory capabilities for example on the Samsung Galaxy s8 they were able to allocate three of the available four gigabytes and use those three gigabytes for the game however on a pixel 2xl of the available 3.6 gigabytes they were only able to allocate one point eight gigabytes so obviously a difference of over a gigabyte of available memory that could be used by the game so this of course makes targeting particular platforms quite tricky because you don't actually know how much memory is going to be available for storing all of that great and rich graphic data that they need to present during the gameplay so the way epic got around this was of course they did testing on individual devices they've been working with the individual manufacturers and they've come up with a set of profiles almost like you kind of get on the PC kind of games where there's kind of a low profile of our you know medium and high and in epic and they kind of change the detail settings and they change the kind of the distance that you can see in the game and the shadows and all that kind of stuff and different profiles are applied to different handsets but not only that they also have a GPU profile so when the GPU Technic is it a Mali GPU is it a Qualcomm GPU is it this particular generation is it a different type of generation then a different profile will be applied that can maybe try to work around bugs that can maybe try to introduce some optimizations that will bring better game for each of those different GPUs and then on top of that they have actual a handset profiles so when the game is running on a particular handset it will know what optimizations it can use and it will know how much memory it can use to actually bring the smoothest gameplay possible so when you look at this in general what you actually find is is that epic games will not been battling against all this device is running Android 8 whereas this device is running Android 8.1 no that's not the issue the issue is the difference in the internals in terms of GPU in terms of drivers in terms of memory allocation in terms of the graphics API is that support and in terms of the efficiency of those graphic api's and to try to bring those real smooth gameplay they've had to look at all devices individually and that means at the moment there is a finite list of devices that are supported and they are trying to make that lease bigger and they're trying to bring it to more and more devices but the bottom line is there is an advantage to buying a popular device that means it gets the attention of the game makers in this case epic games and so there you have it for tonight's battles against Android fragmentation my name is Gary Sims and this is Android authority if you enjoyed this video please do give it a thumbs up also don't forget to subscribe and don't forget to hit that Bell notification icon okay that's it i'll see in the next onenow fortnight is one of the great gaming sensations at the moment and its release on Android was very much anticipated however for Epic Games to actually bring it to hand roid it had to fight against this whole Android fragmentation problem hello my name is Gary Sims and this is Andrew authority if you want to find out what battles epic gave me to fight to bring fortnight to Android please let me explain now recently Epic Games published a blog post describing the different issues they had about bringing fortnight over to Android and their revelations are really quite interesting the first thing to note is this wasn't a case of having to port fortnight over on to Android it was actually written in using the Unreal Engine which means that actually got cross-platform support from the get-go so it wasn't the catering to rewrite it all in Java or something like that they were already using a tool that allowed them to bring it across multiple platforms and interestingly it wasn't also a case of well Android fragmentation is because some people are still running Android 7 some people are running Android 8 and there's all these Android versions out there and they just are just so bad you can't no that's not the problem either actually fundamentally Android is very good at backwards compatibility and particularly you're dealing with something like a gaming where really all you want to do is get kind of graphics on to the display as fast as you can there isn't that much difference between one version of Android and another so what was the issue well the issue is actually all to do with performance although the game would probably run on just about any device that they care to store it on because what you want is smooth gameplay and you want the gameplay to be comparable to what other people are using because of all this is cross-platform so you don't want to be in a situation where your version of the game doesn't show the same things and somehow therefore the game experience is actually less now the first thing to notice about the Android ecosystem is that each phone can have a processor from a different manufacturer so maybe you've got kind of Snapdragon processor from Qualcomm or X protestors from Samsung or processors from Huawei or processors from mediatek now inside each of these processes there are different CPUs and different GPUs they should concentrate on GPUs Ramon because they are the most important when it comes to games like for tonight now there are two main manufacturers of GPU you've got qualcomm with his Adreno GPUs and you've got armed with their Mali GPUs now both Qualcomm and armed have different generations and models of GPU so the GPU you find in one Qualcomm powered device will be different to what you might find in a different core compound device and let's say you look at quirian processors which generally have the Mali GPU in them there will be a different Mali GPU in one generation compared to another generation that means when epic games were trying to optimize fortnight for a particular GPU they already had to consider two major manufacturers of GPU and then actually different models inside of those different series of GPUs but actually the situation is even more complicated than that because you've also got the issue of the graphics API or the one side you've got OpenGL ES which has been around for a long time has gone through lots of different revisions and then you've also got the Vulcan API which is something much newer and is not supported necessarily by all of the recent handsets and then beyond that you've also got the graphic driver so there's a driver that takes those kind of calls from OpenGL ES and turns them into something actually happens on the hardware and what epic found out is that you can actually have the same processor with the same GPU in one handset and the same process with the same Jeep in another handset but they've got different graphics drivers which actually do things ever so slightly differently so one way to get around this was that Epic Games forged strong relationships with all of the different handset manufacturers in particular Samsung went down to Epic Games and they work with their engineers to actually optimize the game for samsung devices which is one of the reasons why it was a first released of course on samsung devices because also are more involved from Kolkata more involved because Epic Games wanted to optimize fortnight for all these different processes so another thing that epic games found is that om tweaked the internals of Android so you might for example on paper get two handsets that have very similar specifications maybe they even have the same processor but actually one OEM will tweak the scheduling of the Linux kernel differently to its counterpart or maybe the other one tweaks the power management lis different to the other one and when you actually come to playing a intensive graphic game like for tonight the two handsets perform differently as worth tweaking the scheduling and the power management epic games found at the different hands has have different memory capabilities for example on the Samsung Galaxy s8 they were able to allocate three of the available four gigabytes and use those three gigabytes for the game however on a pixel 2xl of the available 3.6 gigabytes they were only able to allocate one point eight gigabytes so obviously a difference of over a gigabyte of available memory that could be used by the game so this of course makes targeting particular platforms quite tricky because you don't actually know how much memory is going to be available for storing all of that great and rich graphic data that they need to present during the gameplay so the way epic got around this was of course they did testing on individual devices they've been working with the individual manufacturers and they've come up with a set of profiles almost like you kind of get on the PC kind of games where there's kind of a low profile of our you know medium and high and in epic and they kind of change the detail settings and they change the kind of the distance that you can see in the game and the shadows and all that kind of stuff and different profiles are applied to different handsets but not only that they also have a GPU profile so when the GPU Technic is it a Mali GPU is it a Qualcomm GPU is it this particular generation is it a different type of generation then a different profile will be applied that can maybe try to work around bugs that can maybe try to introduce some optimizations that will bring better game for each of those different GPUs and then on top of that they have actual a handset profiles so when the game is running on a particular handset it will know what optimizations it can use and it will know how much memory it can use to actually bring the smoothest gameplay possible so when you look at this in general what you actually find is is that epic games will not been battling against all this device is running Android 8 whereas this device is running Android 8.1 no that's not the issue the issue is the difference in the internals in terms of GPU in terms of drivers in terms of memory allocation in terms of the graphics API is that support and in terms of the efficiency of those graphic api's and to try to bring those real smooth gameplay they've had to look at all devices individually and that means at the moment there is a finite list of devices that are supported and they are trying to make that lease bigger and they're trying to bring it to more and more devices but the bottom line is there is an advantage to buying a popular device that means it gets the attention of the game makers in this case epic games and so there you have it for tonight's battles against Android fragmentation my name is Gary Sims and this is Android authority if you enjoyed this video please do give it a thumbs up also don't forget to subscribe and don't forget to hit that Bell notification icon okay that's it i'll see in the next one\n"