- Home /
Can i run a standalone game at a resolution of the NES?
I want to make an 8-bit like game, with the small resolution, but how do you make a resolution like 320x480 work in a standalone game?
Answer by Eno-Khaon · Jan 13, 2019 at 04:26 AM
Well, there are two ways to handle this, really.
You can either force a fixed-resolution for the game through the Standalone Player Settings or you can fix the final render resolution using a Render Texture and (optional) full-screen shader. As an example of the latter solution:
// Simple example in C#
// This script should be attached to the main camera
// Uses fixed width of "baseWidth" with square pixels matching aspect ratio
public int baseWidth = 480;
RenderTexture rt;
void Start()
{
int aspectHeight = Mathf.CeilToInt(baseWidth * ((float)Screen.height / Screen.width));
rt = new RenderTexture(baseWidth, aspectHeight, 0);
rt.filterMode = FilterMode.Point;
}
void OnRenderImage(RenderTexture source, RenderTexture destination)
{
Graphics.Blit(source, rt);
Graphics.Blit(rt, destination);
}
Edit: As a further example of a way to perform the initial render at that reduced resolution (rather than scaling down a full-resolution render):
public int baseWidth = 480;
Rect baseRect;
Rect scaledRect;
RenderTexture rt;
Camera cam;
void Start()
{
int aspectHeight = Mathf.CeilToInt(baseWidth * ((float)Screen.height / Screen.width));
cam = GetComponent<Camera>();
baseRect = cam.rect;
scaledRect = new Rect(baseRect.x, baseRect.y, (float)baseWidth / Screen.width, (float)aspectHeight / Screen.height);
}
void OnPreRender()
{
cam.rect = scaledRect;
}
void OnRenderImage(RenderTexture source, RenderTexture destination)
{
cam.rect = baseRect;
Graphics.Blit(source, destination);
}
Thank you, yet i decided to go for a bigger resolution anyways. As pixel art was getting distorted...
Your answer
Follow this Question
Related Questions
Issues with mouse input after resizing Standalone 1 Answer
gui texture different scale in full screen game. 1 Answer
Built game, wrong graphics/ratio for standalone but working with WebGL 0 Answers
Borderless window in standalone player 5 Answers
What's wrong with the aspect ratio in standalone build? 3 Answers