SOLVED Missing pixels (Mac dock interference fix)

(I posted this in a different section about 30 mins ago but I think I posted in the wrong area - sorry)

Hi all,

This is my first post. I am new to GameMaker but have done about 3 different tutorials (asteroids, farming RPG, blaster faster) and have started to make my own game, and I have come up against my first issue which I can't find help for.

I made my title screen on GIMP at 1280x720 pixels. I then exported it to PNG and made it into a sprite and put it as the background of my first room. It all looks fine in the room editor, but when I run the game, pixels go missing, and shapes go wonky. Just in case it's relevant, I'm using a MacBook.

The room size is also 1280x720, so scaling shouldn't be the issue, and 'interpolation' shouldn't be the issue either (i have it unticked in any case). I created a camera/viewport at 1280x720 to try and fix, but the same issue occurs. If I make a camera at 640x360 and run the game, though, there aren't missing pixels or shape problems, which is leading me to believe that maybe game maker can't handle all individual pixels at that resolution? Or maybe it is because some pixels' alpha value is too low at that distance and so game maker cuts them out? I have attached two screen shots of just the title text and moon of the title screen to show how it looks in the room editor and how it looks when I click run game. You can't see the whole title screen, but it's reallllllly cool (I think!) and I would be devastated if I had to remake it at a different resolution because I spent so long on it! :(

I would be so grateful for a solution :)
 

Attachments

I know you said interpolation is not the problem but it won't hurt to try. I use GM:S 1.4 so I'm not sure where things are but if you can, turn off interpolation in the windows settings.

You can also set it off yourself in code.
texture_set_interpolation(false);
You can use this command to turn it on again.

You can also try changing the application surface size using:
surface_resize(application_surface,1280,720);
The application surface is where sprites are normally drawn or where stuff are drawn when you use the begin/normal/end draw event. Things look weird when the application surface and the view dimensions are not the same.

If you are drawing this on the draw GUI event, try resizing the GUI:
display_set_gui_size(1280,720);

Hopefully any of these tips will help. If I were to guess your problem, I think its the application surface size.
 

Sybok

Member
There must be some scaling going on somewhere. You say that the room size is 1280 x 720 yet the "title in run game.png" screen capture is 1684 pixels wide. 404 pixels wider. Which then begs the question, what is the window size?

Or are you running in full screen mode? And if so, there's your answer. You'll be scaling from 1280 x 720 to your screen resolution.
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
(I posted this in a different section about 30 mins ago but I think I posted in the wrong area - sorry)
When this happens, please use the Report button and ask for the topic to be moved. I've closed the other topic.
 
Hi both,

Grizzlies - My interpolation is already off, and I haven't 'drawn' anything as the sprite has merely been used as the background on the background layer.

Sybok - my understanding is that the window size is the viewport size (and when I make the view port different sizes, it changes the window size). But yes, the viewport size, room size and camera size are all the same. I have fullscreen mode unticked, as well. I'm not sure why the pixels in my screen capture would have so many pixels, unless its a function of the MacBooks screen capture? Or maybe the mac's graphics card is doing something?

I made the text (which was done on GIMP, not game maker) into an object, and then made the text move to a different position, and when the text object moves no pixels are missing, it is only when it comes to a stop that pixels go missing, and the exact pixels that go missing depends on where it stops.
 

Sybok

Member
Can you do a full screen capture of desktop including the game window and measure the inside of the game window to make sure that it is exactly 1280 x 720 pixels? It should be exactly that, but if it isn't it might be a bug in the Mac build.

I'm hesitant to call it a bug yet, as I haven't used the Mac version before. But that is the sort of thing I'd look for if I were doing a standard Windows and had an issue like this.
 
Maybe your text is at a non integer position? however, that shouldn't be a problem with a static background as it is placed at 0,0.
 
Ok, so I did a screenshot and it comes out as approx 2451x1372 (give or take a pixel), however, I think this is a function of how the mac does the screenshot, because when I drew the box in order to take that screenshot, it says the screenshot is approx 1222x667. I am beginning to wonder if this is a retina display issue (though really that's just a guess - in all honestly im not the most technical but I am trying to build a puzzle/adventure game that is fairly simple in coding terms, using just the logic i've learned so far, had no idea i would get stuck so soon with technical stuff)

I switched on the interpolation btw colour option, and it actually comes out better (the colour of the text is a bit dimmer, but the missing pixels are gone), so maybe this is a scaling/interpolation issue after all!

Thanks so much for your replies btw, its heartening to know people are willing to spend time helping
 

Sybok

Member
Interesting. So the window area is 1222 x 667? That cries out 'bug' to me and will give you the result you are experiencing.

You could attempt to compensate and make the room size 1338 x 733. If that fixes it, you definitely have a bug to submit to YYG.
 
OMG I fixed it! I hate Macs so much šŸ˜­

It was the dock at the bottom of the screen. If you're not used to Macs they have this 'dock' thing at the bottom where you have icons to access programs etc. and what was happening was that the game window was being resized so as not to interfere/conceal with the dock. I minimised the dock to it's smallest size and it allowed the window to become the correct size and the problem is gone.

Thanks for your help guys, if I hadn't measured the pixels of the screenshot I wouldn't have thought to venture that the dock was the problem šŸ˜„
 
Top