Can "retro" screen modes be accomplished in T2D?
by Blastfrog · in Torque 2D Beginner · 07/17/2014 (3:40 am) · 2 replies
Hi there. I'm considering using Torque 2D for a game that I wish to create, but I have a very specific visual style in mind that I'd like to know if it's possible to use without much hassle.
I want my screen buffer to be exactly 512x288, while all bitmap assets are shown 1:1 with no scaling (so a 512 wide image would take up no more and no less than the entire width of the screen). I want all asset coordinates (foreground, parallax background and sprites) to be rounded to the nearest pixel within that buffer, so no "floating point" positions with anti-aliasing applied. Lastly, I would like to maintain the clean pixel look when scaling the low-res buffer up to the user's actual screen resolution (likely using a method like scaling to the nearest multiple rounding up in nearest filter, then scaling down to the screen res with bilinear, see Chocolate Doom's scaling method).
The intent is to faithfully reproduce the appearance of 16-bit era games like that of the SNES or Mega Drive/Genesis (albeit with square pixels in a 16:9 ratio with PAL's line-count rather than NTSC's line-count). Christian "Taxman" Whitehead's Retro engine generally does what I want, though is not available to the public.
If this cannot be done out of the box, I'm willing to resort to editing the source code if the required changes are fairly minimal (I'm not a great coder). If it takes significant effort, I'll likely resort to using another engine.
Thanks for reading, I look forward to your replies.
-Blastfrog
I want my screen buffer to be exactly 512x288, while all bitmap assets are shown 1:1 with no scaling (so a 512 wide image would take up no more and no less than the entire width of the screen). I want all asset coordinates (foreground, parallax background and sprites) to be rounded to the nearest pixel within that buffer, so no "floating point" positions with anti-aliasing applied. Lastly, I would like to maintain the clean pixel look when scaling the low-res buffer up to the user's actual screen resolution (likely using a method like scaling to the nearest multiple rounding up in nearest filter, then scaling down to the screen res with bilinear, see Chocolate Doom's scaling method).
The intent is to faithfully reproduce the appearance of 16-bit era games like that of the SNES or Mega Drive/Genesis (albeit with square pixels in a 16:9 ratio with PAL's line-count rather than NTSC's line-count). Christian "Taxman" Whitehead's Retro engine generally does what I want, though is not available to the public.
If this cannot be done out of the box, I'm willing to resort to editing the source code if the required changes are fairly minimal (I'm not a great coder). If it takes significant effort, I'll likely resort to using another engine.
Thanks for reading, I look forward to your replies.
-Blastfrog
#2
07/17/2014 (6:41 am)
Yeah - scaling.... My opinion is that your best bet would be to have a few different sets of art to use for particular ranges of resolutions. And you'd need to test that out to find what works for you. Seen some pretty weird scaling/sampling artifacts....
Employee Michael Perry
ZombieShortbus
Ready out of the box. Just need to use some math to set the Sprite sizes according to your screen ratio.
Ready out of the box, but that depends on whether you want to clamp everything in TorqueScript or modify a lot of source code.
Hm, this could be tricky. You can maintain the aspect ratio of all your Sprites, but there will be some scaling effects. I'd have to see comparison screenshots.