themoonrat

Members
  • Content Count

    264
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by themoonrat


  1. Hey again Jammy! I remember last time this was posted! It's looking good.

    So putting my old tester hat on...

    In terms of setup of tech...

    1. You say it's got tablet controls... but loading on a phone it's zoomed in to a tiny area with no way to pinch to zoom out or anything
    2. Use m4a rather than mp3. Better sound quality for same bitrate, and it's much better at looping audio than mp3 can ever be
    3. Get loads of console errors due to the kaching in my console. Consider using an off the shelf lib like Howler to handle audio?
    4. Performance wise it all held up fine to me!

    In terms of gameplay

    1. Set a limit to zoom in and zoom out via mouse wheel. I was able to lose the game location by zooming out too far!
    2. I like the blue squares to tell which way items are facing... but since the floor is blue, it's still really hard to tell! And sometimes the 'blue' is underneath the machine itself.
    3. In the hell zone, bring up one of the middle fireball machines. First, the X to close the details I didn't notice at first, because it's a fair way from the box itself. But you click it... and the details come back, because behind the X is another Fireball machine and I guess the click isn't blocking propagation!
    4. Arrow keys to move about the map would be nice. I found Two Point Hospital got camera movement for this kinda game right.
    5. I something things 'linger' too long when I've select something. If you have a chair selected, I don't want to have to go down to the x to not select it anymore. I want to press something to stop having it selected. Right click without scrolling? Dunno! I click on upgrades, and I've still got the chair selected! I feel a similar thing with some of the ui.

     


  2. By having the bitmap textures twice as big ;)

    The PIXI.Text class generates it's own textures for display text using the canvas api, and so you can adjust the resolution to generate high / lower res text.

    But PIXI.BitmapText relies on the texture you supply it. So if you want it to be a higher resolution, you need to supply a higher res texture (or a larger font size that you can then scale down)


  3. A couple of other things...

    1. Check how complex your spines are; artists love to go overboard with the cool stuff spine can do! But the more complex the Spine the slower it will be to render. When first integrating it into our libs, I asked for a very basic test spine that just had it moving from side to side, to compare performance Vs animation frames. Turns out this basic shape still accidentally contained a totally unneeded mesh!

    2. Pixi v5 is able to batch meshes, so (taking a  wild guess you're making a slot game!) if you have multiple of the same symbol spin through, v5 can batch those for faster rendering time when v4 can't.


  4. Just like playing sound requires a user interaction to occur, so does the full screen API. So do it on a click or a touchend and it should work.

    Ps beware of using this on iPad. If you are in full screen and it thinks your typing on a virtual keyboard, iOS keeps displaying annoying warnings. Games usually require regularly touching the screen.... so these warnings keep coming up over and over. Thanks Apple!


  5. I believe that theoretically, transparent false in the renderer settings is quicker, so that's why it's the default. But in my experience, it's going to be negligible compared to any scene you're trying to render, and transparent true also helps work around occasional driver issues on older Android phones.

    So because of that, I'd personally always set it to true.


  6. I've come across a problem that I think is a bug in iOS /  Mac safari canvas implementation, and wondering if anyone else has come across it or found any work arounds.

    http://moonrat.co.uk/html5/ios-text-gradient-scale/

    Here are 3 implementations of the same effect in native canvas, in phaser 3 and in pixi 5. It's text with a gradient and a drop shadow, but with the text scaled down to 0.75 scale. On a desktop / android / mac / linux / anywhere, you'll see it looks correct, like: https://i.imgur.com/1qPV0r9.png

    But on ios the drop shadow is in the wrong place: https://i.imgur.com/bhfo6zN.png - If the scale is set to 1, then it works correctly, but anything else and it's all over the place.

    At first I thought it was an error I'd introduced in pixi v5, but i tried phaser 3 and it has the same issue. I then tried just using the canvas api, and it happens there too. This occurs on ios 11 and ios 12 (not tried earlier) 

    It's crazy.

    I've often used lower resolution text on lower end devices for performance reasons, so this is a real killer to being able to do that.

    Any ideas? Or Workarounds?


  7. So, it's not strictly really based on the size to load, as both textures and audio will get decoded when loaded onto the device. 

    Texture wise you're gonna be fine, as long as you're texture atlases are 2048x2048. Those phones do support 4096x4096 but can struggle with swapping such large ones in and out of gpu memory. But that's more of a performance at runtime issue than a 'crash' issue.

    So that leaves the sound. I personally wouldn't have more than a few minutes of audio on an older device, regardless of compression. Try reducing this right now for testing purposes and see if the stability increases

     


  8. I'll just echo what @Exca said. My experience matches; getting similar random crashes on lower end apple devices. I think it is a memory issue, either ram or on the GPU; a combination of reducing the amount of assets (textures and sounds) and reducing the resolution (textures) meant the random crashes went away.

    Once things got stable, I created hard set in stone asset asset limits for those older devices.