The next gen consoles have it. The latest graphics cards support it. Yes, I’m talking
about a hefty price tag. But I’m also talking about RAYTRACING. Which begs the question:
what would CS:GO with raytracing be like? Well, first off, people would complain that
it drops framerates, and for that reason alone it would be a bad idea to add it.
And, because it could give those who use it various advantages, it couldn’t be added
to a game as competitive as CS:GO because people without it would deem it to be unfair.
But let’s imagine that everybody had computers capable of running raytracing, at unlimited
frames a second! And that CS:GO was upgraded to a magical version of Source 2 that supported
FULL raytracing… what would it be like?
So far, there are very few fully raytraced games out there to help our imagination. Quake
2 and Minecraft are the ones that come to mind, and if you like this sort of graphical
technology then you’re going to love these. They just… look right. And while some will
insist that a high resolution texture pack looks better, they’re wrong! They just don’t
know it yet.
As for Counter Strike, we don’t have to speculate about what raytracing would be like!
I can just load up reshade, download Martyfly’s RTGI plugin and show you what it looks like.
Speaking of SHARING, this video is sponsored by Skillshare, a site full of classes on all
kinds of creative topics like animation, music production and crafts. And best of all, these
are all taught by masters of their field. It’s easy to check out their credentials,
so you can be safe in the fact that they know what they’re doing.
Want to learn how to 3D model? Maybe you finally want to know how to shuffle a deck of cards.
Or maybe you just want to browse and see what takes your fancy today. I am often surprised
by what I end up watching and it’s often the topics I don’t know anything about that
I have the most enthusiasm to learn about. Skillshare is an easy site to lose a few hours
in as you brush up on existing skills or begin honing new ones. As a Youtuber I greatly appreciated
MKBHD’s series, showing the behind the scenes of another successful Youtube channel and
the great ways he comes up with to keep himself enthusiastic and motivated.
The first 1000 of my subscribers to click the link in the description will get a free
trial of Premium Membership so you can explore your creativity.
Speaking of creative exploration, HERE’S CS:GO, raytraced! …Only it isn’t really.
Firstly, because CS:GO does NOT like reshade. Not one bit, cos you could use it to cheat
so it’s been all but blocked from working. And second, even if I could get it working…
I’d run the risk of getting VAC banned. So I don’t recommend trying this. I was
very careful with it all and then immediately reformatted after using it, and even I’m
sat here worried that the VAC BAN hammer will land on my account at some point in the near
future. I ended up resorting to Gmod, and whatever
premade workshop maps I could get my hands on.
WOW! This… actually looks quite impressive. But what’s it doing, exactly? Obviously,
this is not full, proper raytracing. This is getting what’s visible on-screen, which
it then fires rays out of, painting where they land with the colour and brightness from
whence they came. This is Global Illumination! If there’s
a red surface, it will make the area around it glow ‘red’. If an area’s lit up in
sunlight, it will light the parts around it with that light. In other words, it illuminates
stuff, globally. Or at least, screen-spacely. Check out this pillar on Overpass- it looks
so warm and lit up by the sunlight it’s receiving from the ground in front of it.
Of course, this is all ruined the moment I move my view up, since the ground is no longer
visible and therefore no longer shoots rays up to the pillar, meaning it returns back
to its cold original colours. This is impressive, given that it’s got
nothing to go on other than the depth buffer and… I dunno, some directional information.
It’s not like it’s got full-engine access and support to whatever information it needs,
like proper raytraced implementations no doubt have. So yes, try to see past the limitations
here and appreciate it for what it is, rather than what it isn’t.
Let’s hop on over to safehouse, which gmod supports quite well. This is it without raytracing…
and this is it, WITH. You can spot more realistic shading in the corners, like where the roof
intersects with the walls, and how the interior is made darker because fewer rays are reaching
it than the rest of the scene. But the most noticeable difference has to be to the colours.
Notice how the warm-coloured wooden walls are reflecting onto these chimney stones,
or onto these dark coloured roofing tiles here. The walkway around the base now looks
very nicely lit up and welcoming. Returning to the non-raytraced version is a wake-up
call to how boringly lit Source maps are by default!
Another example is this red room. Notice how the walls are all their own colours. They
keep to their own… which isn’t bad? But enabling raytraced global illumination allows
for the stronger colours to bleed out onto the surrounding areas. The chimney is made
red where it connects with the walls. And this red wall is made to look orangey, thanks
to the yellow wall next to it. And again, you can see it more accurately shades the
darker corners, like behind the bookshelves, tables or plants. My criticism of this scene
would be that the effect is too strong, but then that’s on me because I dialed it up
just to show you what it does. It is, after all, lighting being added to existing lighting,
but I feel after seeing this, the original Source version’s unenthusiastic light bounces
leave much to be desired. Raytracing makes this yellow room yellower
and darkens the patches above the lights because they aren’t exposed to the ground. In this
example in particular, I think it does a great job of shading above the cabinets, which the
baked in lighting found in source fails to accurately simulate. It just looks fullbright.
The white doors in this scene light up the ground around them, and any surfaces facing
them, and cast shadows across the ceiling. Obviously, the effect in reality wouldn’t
be so pronounced unless the doors emitted their own light, or were lit up by a particularly
powerful spotlight. But it’s a pleasing effect.
And for the last example on Safehouse is this outdoor shot, where the light green grass
casts and greeny-yellow light onto the walls and the underside of the slide. I started
with the raytraced example this time, because sometimes I think it looks so ‘right’
that you forget how wrong the non raytraced example looks! Which I’ll show… HERE.
Urgh.
Another great example is on this version of Dust2. Yes, I know it’s an old version.
AND YES I CAN SEE THE ERROR MESSAGES. But these are PERFECT for demonstrating the raytraced
global illumination- the red, as it gets brighter, shines more onto the walls around it. Again,
this effect stops the moment the red error sign is no longer visible in the first place.
But I think this is the most convincing example I’ve seen to demonstrate what raytraced
global illumination could bring to the game. That being lots of bright lights and error
messages. In Tides, a map I think is CRIMINALLY underrated,
I couldn’t even notice the effect, because all surfaces were so dark in colour. BUT WE
CAN SOON CHANGE THAT! By upping the bounce lighting, the map practically glows, and creeping
through the tulips transforms the screen into a disco. So I wonder, what happens if I disable
the lighting? Can this global illumination hope to replace the baked in lighting that
Counter-Strike currently relies upon? …No. It appears global illumination is heavily
reliant on the map already receiving realistic lighting.
Don’t get me wrong- this raytraced illumination does a whole lot of good. It’s great for
darkening areas that wouldn’t receive much lighting, like down the side of this car here.
It’s also great at lighting the wall up with the flames from the car! All this, again,
disappears as the car moves off the side of the screen.
In conclusion: YES, you can get ‘raytracing’ for ‘Counter Strike’, but it isn’t what
you think it is. In some parts I will admit that it looks quite convincing, but you only
have to move a bit, or to turn slightly for the illusion to break. Because although this
reshade plugin is doing the best it can, it’s got very limited resources to work with here.
It’s incredible it can do this much using just a depth buffer honestly. But in a way,
you end up with the worst of both worlds, being the framerate impact of lots of rays,
but without the consistent, good-quality results. And you might also get VAC banned. Let’s
move on for now.
A better example of the difference global illumination can make would be in Metro Exodus.
That game has a much more robust implementation of global illumination, it supports infinite
light bounces, and the result is super soft shadows and convincingly lit and coloured
environments which are far more stable in nature than the one seen in gmod.
But it does contain lots of horrid jump-scares, so I’ll leave it to 2kliksphilip to endure
the delights of that particular title. IORAOHG But global illumination is just one aspect
of raytracing! Another would be the reflections, which I don’t think I need to explain the
benefit of- it’s quite straight-forward already. CS:GO already has reflections. But
it goes about it the brute-force way: it creates ANOTHER MAP inside the one you’re playing
to represent what’s seen in the reflection. That reflection is not a reflection. It’s
another place.
Doing reflections this way obviously comes with a hefty framerate impact itself, plus
it’s limited to just one reflection at a time. Unlike with raytracing, which I can
easily calculate 2, 3 or 100 mirrors all pointing in different directions, CS:GO can only do
1. And any more than that breaks it. So that’s the benefit of raytraced reflections: sure,
it slows your PC down to have them. But after you’ve sustained that hit, it doesn’t
really matter how many different-angled reflections you see at a time. Not unless you point two
mirrors at each other, forcing the computer to calculate INFINITE LIGHT BOUNCES!!!
So in CS:GO, raytraced reflections would mean that sniper scopes could actually reflect
the environment behind you! Right now, these scope ‘reflections’ are simply pre-drawn
cubemapped images from the rough area of the map that you’re in. But with a dynamic,
raytraced reflection, you’d be able to see enemies creeping up in your sniper scope,
or to break a window and to use its shards to grant you fragmented vision of the environment
around you. That stupidly large knife you spent a fortune on could become pay-to-win
by acting as an effective mirror, or optiwand to let you see around corners without revealing
your body at all. That would be cool. And failing that, a fallen player’s visor could
serve as a make-shift reflective surface, if you had a scope powerful enough to see
it, and had they remembered to polish their gear that morning.
And raytracing isn’t just about graphics. It can be used to simulate the sound, too.
If you think about it, sound bounces about the place just like light does- by calculating
how long it takes to reach you (and from which direction) CS:GO’s directional sound would
finally be good enough to work! It would be like Rainbow Six Siege.
And it would help mappers, too. You know when I changed the colour of the sky? Well, the
thousand or so of you who bothered to click the video will. The fog can easily be changed,
but every time the world’s lighting changes it requires a lengthy render of the whole
map. Believe it or not, CS:GO already uses raytracing to calculate the lighting in-game!
It’s just that it’s done in advance, and takes hours and hours to do. That’s why
places have shadows, and convincingly shaded interiors. But it’s baked in, and unable
to change in realtime. If you throw a Molotov, smoke or flash bang,
then it SHOULD greatly alter the brightness of an area- each of these in different ways.
A Molotov would light the whole area up with extremely soft, dancing shadows with changing
colours. A flash bang would be a temporary flash of brilliant light, casting very sharp
shadows all over the place. From the shadows it casts, you’d be able to see exactly where
it’s gone off, even from around corners. You’d even be able to make out players who
are stood between it and the walls. You could use flash bangs as make-shift sonar!
And smoke grenades, if tossed into a doorway, could plunge the interior into darkness. And
if we’re going to the lengths to calculate raytracing, we might as well throw proper
volumetric smoke and fluid dynamics in as well, so the smoke would pour out convincingly
in all directions.
So that’s what Global Offensive could be, with raytracing, in a magical world where
everybody has hardware capable of running it without slowdown. But we have to ask ourselves:
is this REALLY what Counter-Strike’s about? Is it really what we play the game for? If
we wanted destructible environments, would Counter-Strike be the right game for it, or
would a separate title, like Rainbow Six Siege be a better option instead?
So yeah, raytracing in Global Offensive is but a dream. But Source 2, that’s a thing!
I’ve yet to see it support raytracing, but there are improvements and optimisations made
in the likes of DOTA 2 and Half Life Alyx which might better suit the demands of CS:GO’s
playerbase any way. But who knows? One day, the Counter-Strike series may eventually join
the raytraced bandwagon.