How to achieve 3D low-res effect in GameMaker:Studio 1

R

Rootmanko123

Guest
I'm coding a 3D FPS-type game in a popular game engine called GameMaker:Studio 1.99.44. I'm trying to achieve a low-res "pixelated" effect, for example like this:



I've tried experimenting with views, thus making their resolution smaller and afterwards scaling up the game window in code in hopes of achieving this effect. However the pixels scaled proportionally to the window resolution, even after I used "texture_set_interpolation(false)".

Currently my game looks like this:


However, when I force the game to go fullscreen, the desired effect seems to appear (So, this is what I'd like to see, however in a windowed mode as well):


I would really appreciate any help possible. Thank you and have a wonderful day!
 

Kyrieru

Member
In Studio 2 I use surface_resize() with application_surface to change rendering resolution. I think you can do it in studio 1.

If you just want low resolution in general though, you should be able to do that just by setting the port and view sizes in your first room to a low number. I seem to recall that GM1 is picky about what the initial sizes are.
 
R

Rootmanko123

Guest
In Studio 2 I use surface_resize() with application_surface to change rendering resolution. I think you can do it in studio 1.

If you just want low resolution in general though, you should be able to do that just by setting the port and view sizes in your first room to a low number. I seem to recall that GM1 is picky about what the initial sizes are.
To be honest, I only need the low resolution, so what I did in the first room was enabled the use of views, then I made sure it's visible when the room starts and then set the "view in room" to something like W: 32, H: 32. Then I set the "port on screen" to W: 512, H: 512. However, nothing seems to have changed.
I also tried to set both view in room and port on screen to 32 by 32 and called "window_set_size(512, 512);. That did not help either. Am I doing something wrong or forgetting something? I even made sure I'm not interpolating colors between pixels and not using synchronization. Also I changed the size of "texture pages" to 256 by 256. Still doesn't work.
 
I guess you already solved your problem...

But if not, just use surface_resize() as Kyrieru says.

Something like this:

Code:
//Pretty Cool Low res
surface_resize(application_surface,96,72);
 
Top