Behavior Request: Get Device Model



  • A behavior to get what device our game is being played on would be very helpful, or even static accessible attributes for behaviors like this that would only need to be called once including device model, connected to Internet ((for future hyperPad networking updates)), device rotation ((1, 2, 3, 4)), volume level, and so on.

    Why?

    No more crashes on older devices due to lack of memory.
    No more lag due to lots of action happening at once.

    With it, we can enablem disable, and tone numbers and visuals in our games to support all devices, even if we are idling it on the oldest, or latest, greatest device.

    Also, sorry for any typo's, I can't see the last 75% of my post on mobile D:


  • Admin

    We already have this. There is a get screen behaviour. It will return the screen size and aspect ratio. With this you can tell what device their running.

    You can't differentiate per device family though. So iPad is the same though out, can't tell difference between iPad 2 and iPad Air.


  • Admin

    Regarding seeing the last bit of your post. On the left side there is a little up arrow that makes the comment window be full screen.



  • @Murtaza It's more about performance. I don't want to load 394MB of data into 256MB of RAM.


  • Admin

    To me, that sounds like a game design problem. You should usually build your game with the smallest and least powerful target device. This way everyone can enjoy your game.

    The App Store is also pretty stingy when it comes to this.



  • Sometimes I just need that last bit of power old devices don't have.

    The App Store is stingy with that too? Do they allow anything other than articles praising apple in there anymore?



  • @Murtaza @Thecheater887 the AppStore doesn't mind if you don't support older devices, as long as you don't put them in the supported devices section, right? I know a few games that aren't compatible with my iPad 4 and they just won't download from the AppStore. I'm pretty sure you can get screen orientation from the tilt analog behaviour, but I haven't used it in a while so I'm not 100% sure. Also, I didn't know about the get screen behaviour, I just assumed it got the screen position and never used it 😑.


  • Admin

    With the App Store you can't pick and choose devices to support.
    It's either iPad, or iPhone.
    If you select iPhone, then you must support all iPhones.

    What you can do however, is support different OS versions. So if you support iOS 10 only, then the older iPhones and iPads would be excluded.

    The get screen behaviour will get the various properties of the screen, like the device aspect ratio. By getting this, you also know if it's in portrait or landscape.



  • @Murtaza I don't believe so, Phoenix II by Firi Games
    https://appsto.re/au/jjsPdb.i does not work on my iPad 4, giving the error "Cannot download, This app is not compatible with your device." I have the latest version of iOS 10 and my friend can download it on his iPad Air. The AppStore page also has a long compatibility list but the minimum device is iPad Air or iPhone 5s. This also makes sense because it'd be very limiting if an app had to work well on an iPad 1...


  • Admin

    @Jack8680 Ah, there is one thing I'm forgetting. You can target a specific CPU. So in XCode you can build for only a specific architecture type.

    But that still covers a wide variety of screen sizes and devices.

    64 bit devices still have:
    The iPhone 5S
    iPhone SE
    iPhone 6, 6+, 6S, 6S+, 7, 7+

    iPad Air
    iPad Air 2
    iPad Mini 2
    iPad Mini 3
    iPad Mini 4

    iPad Pro 12"
    iPad Pro 9.7".

    So already, you can see a couple different screen sizes and resolutions. So you need to support them all any ways. I think at this point the only ones you can ignore are the older iOS devices like original iPhone, 3G, 3Gs, 4, 4S.



  • @Murtaza okay, that makes sense. That's good because I've noticed I don't get great performance on my iPad 4 but it works fine on my friend's iPad Air. I guess iPad 4 is becoming outdated already...