Gaps appear between actors in overscan mode?

ParkGamesParkGames Member, PRO Posts: 117

Just wondering if this is just a viewer error.

I have two actors of 64x64 blocks sitting exactly on top of each other in an iPad project. All is fine in the creator but when played on the viewer a 1 pixel gap appears between the blocks. This only happens in overscan mode.

Would this be present in a full build of my game?

Comments

  • SlickZeroSlickZero Houston, TexasMember, Sous Chef Posts: 2,870

    Not sure. You would need to do an ad hoc build and test it on a device to check for certain.

  • UtopianGamesUtopianGames Member Posts: 5,692
    edited August 2014

    Just a guess but have you got movable checked?

    Try unchecking movable to see if it helps.

    Darren.

  • ParkGamesParkGames Member, PRO Posts: 117
    edited August 2014

    Thanks guys. Will try an adhoc as I think it appears to be a problem with the viewer. The actor is just a 64x64 brick block with movable unchecked and no rules inside.

    Just found that it appears to be a rotation problem with the viewer. My game is iPad Landscape only with problem appearing in Landscape orientation, turning device to Portrait fixes the problem - turing back to Landscape and the problem returns.

  • ParkGamesParkGames Member, PRO Posts: 117

    Adhoc using Landscape only rotation still shows 1 pixel gap between actors.

  • HopscotchHopscotch Member, PRO Posts: 2,782

    @ParkGames, did you place the actors manually or did you give them absolute positions in the code or by changing their attributes?

    I have come across a similar problem which was attributed to a rounding problem between two collision actors. In portrait they would be flush on top of each other, in landscape a gap could be seen between the two.

    Make sure that their X and Y positions are whole numbers.

  • ArmellineArmelline Member, PRO Posts: 5,327

    In one of my games, GameSalad puts a 1px gap between two actors, when it feels like it. I am 100% certain there is no gap there according to the actor sizes and the logic. They are both rectangles, both solid shape with no graphic or transparency, and their positions mean there should definitely be no gap (whole numbers etc.). Sometimes the gap is there, sometimes it isn't.

    I think it's just a strange thing GameSalad does sometimes. Again only in landscape.

  • HopscotchHopscotch Member, PRO Posts: 2,782

    @Armelline, as per my example, it did not do this in previous versions of GS.

    I guess we need to report this that they can have a look at it.

  • ArmellineArmelline Member, PRO Posts: 5,327

    @Hopscotch said:
    Armelline, as per my example, it did not do this in previous versions of GS.

    I guess we need to report this that they can have a look at it.

    I was definitely having this problem all the way back to approximately December 2013. Not sure what version that makes it :D

  • HopscotchHopscotch Member, PRO Posts: 2,782
    edited August 2014

    @Armelline, may be, I found this while doing a recent update. The working version was last touched in the middle of 2013.

    May be something that snuck in with the stretch mode? Does your app use stretch mode?

    The problem does appear on devices that do not require stretching though, as well as in overscan mode.

  • ArmellineArmelline Member, PRO Posts: 5,327

    @Hopscotch said:
    Armelline, may be, I found this while doing a recent update. The working version was last touched in the middle of 2013.

    May be something that snuck in with the stretch mode? Does your app use stretch mode?

    The problem does appear on devices that do not require stretching though, as well as in overscan mode.

    My game used overscan. It's locked to horizontal, so I never actually tested portrait, now I come to think about it. It was definitely present before Stretch mode was implemented into any version of GameSalad (my version of the problem at least).

  • BlackCloakGSBlackCloakGS Member, PRO Posts: 2,250

    @ParkGamesParkGames If this is still and issue for you please submit a support ticket with a sample project and we will look into it.

  • ArmellineArmelline Member, PRO Posts: 5,327

    I actually had a client point out an issue with a game we're working on just this afternoon that is quite possibly the same bug in a slightly different way.

    I have a background image, 640x568 that covers the scene. It's positioned at x=320. When viewed in the creator or viewer it looks to be exactly in the right place, but when an ad hoc version is built, the image is 1px too far to the right, leaving a visible gap. I'd not initially thought of it as the same issues as mentioned in this thread, but perhaps it is. Submitting a support ticket now.

  • JSprojectJSproject Member Posts: 730
    edited August 2014

    @Armelline
    Ok, this is a long standing bug (which I've worked around) but after reading this today and after seeing the issue present in "Super Heavy Sword" @ashtmj I decided to spend some time to nail it down myself for the benefit of us all - something for
    @BlackCloakGS with team to fix!

    Anyone can try this to confirm;

    Ipad landscape project with resolution independence checked.
    Add one actor and add a fullsize image to it so set it to 1024x768.
    Add that actor to the project at center pos so x512 y384
    Change the Scene attribute color from black to some other color than what your fullsize image has on its edges (this is how you see the issue).

    Send the project to your IOS device.

    Result will always be:

    • Ipad (air/mini/mini2 - and most likely on other Ipad models also) - a visible 1 pixel line that fills up both the left side of the device and also a 1 pixel line that fills up the bottom of the device screen.

    • Ipod touch 5 (and very likely on iphone 5) - a visible 1 pixel line that fills up the left side of the screen

    • Ipod touch 4 (and very likely Iphone 4) - unaffected

    The visible line has the color of the scene color you used.

    The issue occurs for both landscape rotations.

    Settings below that does not matter in regards to the issue (tested both with and without with the same result)

    • movable
    • scrollable layer
    • checking one or both landscape orientations before building
    • overscan (only tested on/off via gs viewer). overscan was used when testing this via adhoc

    Reproducible on 0.11.0.13 but visible on your device only, not via preview in the creator

  • BlackCloakGSBlackCloakGS Member, PRO Posts: 2,250
    edited August 2014

    @JSproject I will make sure we have this in our bug data base. Has any one opened a support ticket with us about this?

  • JSprojectJSproject Member Posts: 730
    edited August 2014

    @BlackCloakGS Great! Not likely (like I said - it's a long standing bug), feel free to add it :)

  • BlackCloakGSBlackCloakGS Member, PRO Posts: 2,250

    Ok this is now in our bug database as MAC-415

  • HopscotchHopscotch Member, PRO Posts: 2,782

    @JSproject, @BlackCloakGS, @Armelline‌

    yes the background positioning does display this problem, but as @ParkGames‌ originally posted, this also appears between collision actors (sometimes).

    This is why I assume that it may be related and attributed to some general rounding error.

  • ArmellineArmelline Member, PRO Posts: 5,327

    @BlackCloakGS said:
    JSproject I will make sure we have this in our bug data base. Has any one opened a support ticket with us about this?

    I have one open at the moment, with screen shots and link to the project on the publishing database.

  • JSprojectJSproject Member Posts: 730

    It always helps to pinpoint how something can be reproduced and to test on as many devices as possible. You're welcome!

  • ParkGamesParkGames Member, PRO Posts: 117

    I have recreated the gap in this simple project.

    iPad Landscape project.

    1. Add one new Actor. Change its Width to 32 and Height 32
    2. Place Actor in Scene at position x=512, y=192
    3. Place 2nd Actor in Scene at position x=512, y=224

    Rotate device to see the gap appear/disappear between Landscape/Portait mode.

    Repositioning the blocks on the Y-axis by 1 pixel will fix it, seems also related to block size.


    Screenshot from ipod 4 gen.

  • ParkGamesParkGames Member, PRO Posts: 117

    My PRO has ran out while trying to fix this, but finally it seems I can work round this by repositioning all the actors for blocks/items etc up by 1 pixel. This will take a while as theres 20 levels to do.

    Im sure that the 1 pixel gap also appears vertically too, but this seems to only show up on my games map screen. Here I was able to overlap effected actors as a workaround.

    Also is there anyway to drop actors into the scene with whole numbers as X/Y positions?

  • SocksSocks London, UK.Member Posts: 12,822

    I chanced across this in response to a post in the Release Candidate 12.6 thread:

    @Socks said:
    Agreed, the compression artifacting is not really an issue, all you need to know is that the original crappness of the image is mirrored in the device screenshots (the images also looked bad quality to me when I opened them) . . . the original and the iPad shots null (but oddly are 1 pixel up and left out of sync) as you would expect and the iPhone6+ looks a tiny bit soft, but like you say this is going to be impossible to see on the iPhone6+'s comparatively small screen.

  • SocksSocks London, UK.Member Posts: 12,822

    @ParkGames said:
    My PRO has ran out while trying to fix this, but finally it seems I can work round this by repositioning all the actors for blocks/items etc up by 1 pixel. This will take a while as theres 20 levels to do.

    Im sure that the 1 pixel gap also appears vertically too, but this seems to only show up on my games map screen. Here I was able to overlap effected actors as a workaround.

    Also is there anyway to drop actors into the scene with whole numbers as X/Y positions?

    Change self x to floor (self x) and self y to floor (self y).

Sign In or Register to comment.