Remember
when I said I’d write a full, in-depth article about emulating Saturn games? This
is not it.
Sorry.
Instead,
I’m just going to whet your appetite for one of the many wonders of emulation
or, in case you’ve already dipped your toes in this huge pool, I’ll walk you
through the process of enhancing your experience.
You too can watch this miracle transformation on all the games you love and cherish.
You too can watch this miracle transformation on all the games you love and cherish.
What’s a shader?
The best
way to explain that, I think, is to say they’re basically really fancy filters.
If you’ve ever tried any emulator you probably found some options to mess with
the picture, like adding fake scanlines or using fancier effects like HQ4x or
xBRZ which try to mask the pixelated glory of the original game.
[Credit: https://sourceforge.net/projects/xbrz/]
A shader is
something like that, only a hundred times more complex, since it lets you tweak many more elements of the picture (brightness, colour saturation, geometry of
the screen, etc, etc) and even stack them together for added effect.
If you’ve
listened to our very special Megacast episode, you already know my setup.
Mednafen Saturn core through Retroarch [confused by all the weird names? Check
the glossary at the end of this article], and shaders have a lot to do with
that, since this fancy piece of software gives you access to more and better
shaders than any other alternative I know of.
Sounds interesting. What does it look like?
[make sure you open the pictures to see the shaders in full effect.
The compressed thumbnails will alter the look]
The compressed thumbnails will alter the look]
This is
what every emulated game looks like without any added effect. Just plain, pure,
crisp pixels everywhere.
I actually
had to capture this picture with SSF, for many years the go-to Saturn emulator, since my setup by default always applies a pass
of bilinear filtering, considerably softening the image. And because SSF sucks
at emulating Dragonheart, perhaps the best Saturn game of all time, I couldn’t start the proper game and had to resort to snagging a picture of the demo mode.
By the way,
the irony is not lost on me on how so many Saturn enthusiasts nowadays invest time
and money into fancy setups to try to get the absolute clearest picture out of
their consoles, while I on the other hand, who already have that kind of quality by default, go
the extra mile to f*** it up.
Now this is
my default Mednafen/Retroarch setup. No shaders applied yet, but it's also not a raw picture since by default it automatically applies a bilinear filter, softening the
pixels and making it much less aggressive on the eyes (my opinion. Fight me). For
many gamers this would be more than enough, and some days it is even for me,
but usually I need something else. Something fancier.
Something
like this:
[Custom
tweak of crt-easymode-halation]
Fascinated
by PVM’s, the hot new meme of retro gamers everywhere, but too poor to afford
one?
Just
emulate it! This fancy shader, a slight tweak of the standard, and very
popular, crt-easymode-halation, may not have those thick black lines that some
retro gamers fetishize about, but it gives you a good approximation of the
general look. Not seen in the picture is the boost to lightning. White letters
on black background, for example, look extra bright and bleed over the
background for that added authenticity.
But suppose
you grew up with a piece of sh*t tv, with dark corners, washed up colours, and
just a terrible picture quality overall?
I got you
covered, fam.
Say hello
to 199X, the shader you had been looking for ever since you got rid of your
last crt tv. Some people would say this is overkill, and I agree. The colours
look off and the overall picture has a higher contrast, with darker blacks and
brighter whites, but the actual emulation of a regular tv’s shadow mask (unlike
those fancy Trinitrons with their aperture grills) is nothing short of amazing. It's not just about painting a grid over the original image (à la fake scanlines), but to actually make the pixels blend together in the way only a cathode ray tube could. Look at the main character's face in the above picture, how you can see the contour of his ear and a light shadow where his eyes should be, how the sword almost looks a straight line instead of a staircase, and the shield seems almost perfectly round.
Look at it
in action:
Isn’t that just gorgeous?
Of course,
the great thing about this whole business is that there are shaders for every taste, and it
costs nothing besides your time to try out all you want. If you’re savvy enough
you can even make your own, or at least tweak existing ones to suit your tastes.
That’s a bit too advanced for my knowledge, but even I managed to tweak a
Gameboy Advance shader to increase its brightness.
That’s nice and all, but how do I do it?
By default
Retroarch already comes with a nice selection of basic shaders that you could
try. Navigate to the folder you installed it to and go to shaders > shaders_cg
(or shaders_glsl, different format but similar output) > crt, and you have
very popular ones like crt-easymode, crt-geom, crt-lottes, crt-hyllian or
crt-royale. They’re all great choices to start with, you really can’t go wrong
with these.
If you want
to go above and beyond, you can start by downloading the Analog Shader Pack 3
and extract it to that same shaders folder inside Retroarch’s directory.
There’s a ton of stuff in there, so you might feel overwhelmed. On the plus
side, that means you already have a lot to try out before even thinking of
tweaking shaders or googling for more.
Whatever
you choose, the way to apply them is always the same. Load up your game first
and then go to Retroarch’s menu (F1 by default). You should see a menu with
options about that particular game. Go down to Shaders, select it and then
press “Load shader preset”. This should take you to the shaders folder where
everything is. Just navigate the folder structure until you find the shader you
want to try. Select it and it should be immediately applied to your game, but
just to be sure you can select “Apply changes”.
And that’s
it.
Keep in
mind that if your Retroarch setup is anything like mine, every time you load a
new game, even for a different system, it automatically applies the last used
shader. This could be a problem if you only want to use it with specific
systems or even games. Fortunately there’s an option to do just that. Simply
load up your game, go to the Shaders options once again and choose between
“Save Core Preset” or “Save Game Preset”.
Suppose you
just get tired of this whole thing and want to go back to the standard look?
It’s a bit tricky, I hope in the future they simply add an option for that, but
in the meantime the easiest way is to use a “blank” shader. Go to the shaders
> shaders_cg (or shaders_glsl) and select stock.cg (or stock.glsl). This way
Retroarch still thinks it’s using a shader but since it’s a blank one there are
no effects whatsoever applied to the picture.
That looks easy enough
Yeah, but
wait until you get sucked down to the bottom-less pit that is spending more
time tweaking your shaders than actually playing games.
Leave a
comment telling us about your experience! Do you regularly use shaders? If so,
which ones? And if you’re just trying them out for the first time, tell us how
easy/hard it was and if you think it significantly improved your gaming
experience.
Glossary
Mednafen:
stands for My Emulator Doesn’t Need A Frickin' Excellent Name and it’s a
multi-system emulator. On the plus side it’s one of, if not the best emulator
solution for some systems, like the Playstation, PC Engine (TG16) and,
nowadays, the Saturn. The latter is a somewhat recent addition, but even the
first alpha version already boasted incredible compatibility, and it’s only
gotten better since.
On the down
side, it’s strictly command-line based, which might prove an unsurmountable
obstacle to many gamers. There’s a variety of third-party GUI’s that you could
try to alleviate that, but it’sstill far from being user friendly.
Retroarch:
not so much an emulator, but more of a fancy frontend that brings many
emulators (known as “cores”) together. Many mednafen cores have been ported
over to Retroarch, so in theory you get all the quality and performance of
mednafen with the easy(-er) to use Retroarch interface. In practice these cores
aren’t always updated on time, and the Saturn one in particular was left
outdated for a long time, but fortunately as of writing this article they’re on par with the originals.
3 comments:
very interesting. i’ve not done much emulation other than MAME, i like that 199x filter. look forward to hearing more
Very interesting post Nuno! fascinating stuff! I can't claim to understand how I would apply this tech to my own system, but I could read about it for hours! This had got me fired up for receiving my custom made copy of Dragon Heart!
Daniel, MAME actually supports the same style of shaders! I think they need to be made specifically for mame, so Retroarch's won't work, but it's nothing a google search won't fix. Here's the one I currently use in HLSL format:
http://oi67.tinypic.com/15f23bp.jpg
Simon, the very basic is get Retroarch (download from their site) > download the mednafen Saturn core (done inside Retroarch, easy) > set it up (not so easy, need bios files, but I could help you with that) > configure shaders the way I mentioned in the article.
The hardest part is having a beefy enough pc to handle the emulator, it's VERY demanding as you can see from the struggle of Christopher James Wright over at the fb group.
Post a Comment