Also, an important thing to mention was the resolution we were using back then. On something like the Crash Bandicoot clip you showed in the beginning, there's a noticeable low resolution, and also a lot of the things I feel a lot of developers get wrong is that they're focused on making things look "crappy" and not really thinking like a 90's, early 2000's developer trying to push the limits of what was available back then. Instead of trying to make a the game look dated, they should probably more look about how they tried to make dated games look good despite the limitations at the time.
@@garbaj Vampire survivors is a good example. That game is so good/addictive that most of the achievements (even one's that take quite some time) are around 70-90% done by all players). You won't see anything flashy, the game looks pretty garbage tbh, but holy hel is it fun. It does use newer ideas, technology and peformance of modern day hardware under the hood.
"they should probably more look about how they tried to make dated games look good" - Like old 2D console devs using the effects of CRT TVs and monitors to dither the sprites.
They also all used Gouraud shading, which is where the surface normal is only calculated per vertex, and smoothed across the polygon. Modern gaming engines use per pixel shading which was basically impossible to do on hardware back then. this alleviated the flat look of just basic ambient lightning, as it's very fast, but it isn't accurate.
In some cases, Goraud was still too expensive, there were many debates of pros of higher poly flat shading (vector games come to mind vs lower poly Goraud. Sometimes it was all done in prebaked textures. When Phong was introduced, most of the hardware at the time was unable to process that much data smoothly (if I remember correctly it quadrupled memory bandwidth requirements for shading, while looking only marginally better, especially on low poly models). Introduction of shaders and explosive growth of computational capability of GPUs that came with it was truly refreshing!
@@Vatharian Yea, I grew up on voodoo2's and as a kid playe with glidegl. You had limited light sources and I don't think hardware shadows. Its funny how thats now unlimited all dependent on raw gpu resources.
@@warlockd at 13 I got my first PC, some HP Pavilion in like 1998, which wasn't exactly for gaming. One of the things my friend and I upgraded it with was a Voodoo3 (i remember it being the fancy version of the voodoo3 card, but not what it was called). The card alone was super expensive, and I'm pretty sure the PC was like $3,000. That thing kept me playing PC games and emulation for a while. There were some interesting ways that games were working back then. Shadows were becoming a more common in 3d pc gaming, but they could really tax the system.
One thing I’ve noticed that’s missing in a lot of PS1-styled games is the lack of pre-rendered CGI sprites and billboards. Of course the low-poly environments and characters are a major part of the iconography of the 5th generation of gaming, but I feel like people seriously overlook the amount of pre-rendered CGI that was shoved into literally every game of the era. From Crash’s Wumpa Fruit, to Resident Evil’s backgrounds, pre-rendered CGI through billboards or sprites are an integral part of the PS1 aesthetic, and I feel a lot of games stray away from authenticity when there’s absolutely 0 pre-rendered CGI to be found. Something as simple as pre-rendered item icons or character heads for the HUD would do so much to immerse yourself into believing the game was made when developers were desperate to make their games look as 3D as possible.
And most often - including in 3D platformers on the N64 like Mario, DK64 and Banjo - the collectibles that lie around on the 3D map are flat pre-rendered pixels themselves.
This. This drives me craycray in games like that. I still make building sprites for SimCity4, and in order to do that I need to reate the buildings in 3D Studio Max, and then make a sprite from each corner perspective. I also nearly the same process to get any other sprite that I use in the game. Always pre-rendered in 3DSM. I used to prefer to use Blender, but it doesn't play nice with the old software for creating SimCity4 content. But I love getting these pre-rendered sprites, as well as the process of making them.
The other thing you didn't mention is that directional lighting makes low polygons count more noticeable, by highlighting the hard edges of the models where light reflects at different angles of incidence. It's particularly noticeable at 2:35 where you can see how D.Va's face looks like an origami, whereas as soon as you switch to flat lighting, the angles suddenly vanish into a much more uniform and smooth shape. Directional lighting doesn't only hurt a retro game's aesthetic because it looks more graphically demanding, it also actively hurts the illusion of low-poly models from looking more detailed than they actually are. Low poly models rely entirely on a flat lighting in order to work, whereas directional lighting needs a higher polygon count to round up hard edges in order to not look ugly.
this is true, but it can be mitigated by using smooth shading which would hide these effects pretty well even on low poly models. that said, it wouldn't help selling the retro style so it's not really relevant
like h0ppip mentioned, smooth shading fixes that issue very easily. Directional lighting WAS used back then, just not as often as it it used now, and smooth shading was required to avoid that exact issue you mentioned
Great post, it kind of reminds me of how you can pre-render 3d models as sprites, but instead, the flat lighting lets you "pre-render" lighting as textures.
Don't forget to turn off mip-maps (unless going for N64). The PS1 rarely had mip-maps so you were often staring at a lot of aliased pixels in the distance.
That's more specific stuff you do to make stuff look more authentic, this video covered the biggest factors to make it look retro, just paying attention to the low poly models and fake lighting makes it look pretty good already, like an insane hd remaster or something, but stuff like mip-maps and Z buffer are a must if you don't want to settle for just an HD general retro esthetic, and want a game that actually looks straight out of the PS1.
I wanted to add something that was used in most ps1 games : Dithering. The console stored 24 bits textures but rendered them on the screen in 15 bits. It was meant to give the illusion of increasing the the amount of colors with a shading effect, once again for Old crt tvs. It was smoothed because of the way our old analog signals worked : Basically it blurred and softened the picture. It prevented you from noticing the image flickering too. The final output was nice and smooth, you could not notice anything.
It's very funny that simulating this look requires adding in dithering and then applying a complex CRT filter on top of that so the dithering looks "correct." Essentially adding it in and then hiding it!
The other factor, is that oldschool video games were designed for CRT screens - and used shortcuts to make use of the blurring effect on CRT to make the image better. It's why ports of say Sonic & Knuckles look blocky on modern screens. Because on a CRT, the TVs natural limitations actually added a smoothing effect
@@uhhh_adam Kind of, but crt tv's are really their own beast, not only do they have a natural dither effect, but they also have district black scan lines and "cells" that really help sell texture and distance in a way that's hard to do even in a photo on high definition screens.
I have heard about this, always tho it's like "was your old favorite game always this ugly?" and always the person is like "ya look how blocky it is" but only a few actually bring up that the games were made for the technology of the time and played into screens looking the way they did.. modern screens are just showing retro games how they weren't meant to be shown
I spent countless days on PS1 games while growing up and almost all of it has been burned into my brain. As a result, I can't help but notice 90% or more of these "demakes" fall short of really hitting the mark. Your video is a good step along those dev's journey to accuracy, thank you.
Yeah they don't get it perfect, probably because game engines like unity & unreal don't allow them complete control over the rendering pipeline. If they developed their own game engine they could get it to look exactly the same. Especially when it comes to the ps1. You could probably do n64 graphics in modern game engines.
Turning off anti aliasing also helps, as well as taking down the resolution. I still think that's not enough because the displays we had back then (CRT TVs) worked very differently than the monitors we use today, so some people apply post processing shaders that try to replicate some side effects of CRT TVs.
I imagine aiming to make your thing look good for a CRT display would probably be good for getting the feel down of that both for CRT users and for what someone using an LCD would see playing a game designed for a CRT. Kinda like how pixel art made to take advantage of composite blurring or not-square-pixel pixel aspect ratios is gonna have different vibes than pixel art designed for LCDs (like handheld games) or just to hit that "pixel art" aesthetic.
@@RAFMnBgaming If you make it look good on an LCD screen with low resolution (very important), on a CRT display it will look phenomenal. I've been playing some newer games on an LG CRT display, and they look absolutely amazing. Ace Combat 7 for instance, looks like a fucking movie. I believe it's also the reason why old graphics (really anything from before the year 2000) don't really "hold up" on modern displays. They were meant from the ground up to look the best on a 640x480 (perhaps higher) CRT screen, with all the quirks of the technology.
I personally like the look of low res + ~high~ antialiasing for retro style low-poly games. I know it isn't authentic but I feel like it makes a nicer image than low-res without AA and helps hide the "origami" look you get with too high of res. Its similar to the way blurry CRTs smoothed out games back in the day, but with better detail.
I'm not sure about the PS1, but the N64 did support anti-aliasing alongside its strange trilinear texture filtering. So if you're going more for an N64 look there you go.
I would like to add a couple tricks about lighting. Since this video seems a bit more skewed towards the PS1 look than the N64 look (they are quite different), I've been doing some research to emulate the lighting and appearance of N64 games, but very specifically how Majora's Masked worked in order to get that moody lighting. You can still use directional lights to light your scenes, however there are two things to take into consideration. The more obvious one would be to disable the directional shadows. The second, and I think most convincing one to get that N64 feel, is to use Vertex Lighting. Not so much painting the lighting on the vertex colors (although this can also be used for further effect and combined with Vertex Lighting), but modern engines will calculate lights per-pixel, instead of per-vertex. While I don't know the specifics of how to achieve this effect in other engines, you seem to use Godot more, which is where I've been doing said research. This has to be set up on the materials, in one of their Flags, to enable Vertex Lighting. Doing so for every material in the game can be time consuming though, but fortunately there's an option in Project Settings > Quality > Force Vertex Shading that forces this option on all materials. Combining a rather low ambient light color to have at least a base color for shadows (seriously this is something those annoying unreal engine videos seem to just forget exists, pure black shadows are horrible), you can then add color with a couple of directional lights. There's generally always a white-ish one, and then one or two colored fill lights.
In godot it seems like you can have your cake and eat it too when it comes it comes to vertex lighting, you can paint on or render on the static lighting then in game you can use dynamic vertex lighting for specific areas that need it
@@eduardopupucon The rigging is not exacly correct. You do still need to create rigs. While some early games had mainly segmented body parts, it was not exclusive. They ocasionally combined both deformations and segments even in the same model.
I've been doing the same research in UE4 for Oculus Quest VR development research. I ported over ocarina of time 3ds and majoras mask 3ds and have a really REALLY good look out of it. Vertex lighting is possible, just need to vertex interpolate the data so it doesn't go through pixel shader. Also, the vertex colors channels don't properly convert to srgb color space, so you need to do some additional math to extract it properly. Then you need to multiply the result by 2 before adding it on top of your diffuse. I use the dot product of a fake directional light vector against the direction of the mesh faces to determine the brightness of the colors. This lets me have a full day night cycle and even do dynamic fake point and spotlights. It's such a great addition to the original art style. Adds a ton of depth to the original look and doesn't detract from the style. Planning on making a video about it at some point. would love to compare notes with you :) I have lots of pictures and video of the project here discord.gg/5vsuBkj
There's also the fact that these games were played on CRT monitors with much lower resolution which not only was made it easier to get away with worse graphics it was often intentionally used and games were specifically made with those kinds of screens in mind, so when you take it onto a much higher resolution monitor it's not having those same kind of filters applied and is going to look different.
The TVs we used back in the day also played a part in the way things looked. You can boot up an emulator on a modern monitor and it will look nothing like the game used to.
That's more the case for games with pixel art, less so 3d games. But yes, the bleeding between "pixels" and lines from CRTs could give the artists access to more apparent colors than you can see in emulators where they just slap the sprite on the screen.
I think it's also important to note that the original PlayStation in particular didn't use floating point numbers in it's coordinates (if I'm remembering that right), and it also had built-in dithering.
Yes - the biggest effect of which was that it didn't do something called perspective texture correction, which is why changing the orientation of a quad would seemingly warp the texture in weird ways.
There's something fascinating about the "Between Times." You know. The era of 2002-2005ish. Look at Doom 3. Everything is almost a Claymation like effect. Or Splinter Cell, with its insanely high detail look, the Xbox version somehow still standing up to this day... I'd say Crysis in 2007 ended this era of retro-but-not-so-retro 3D graphics.
F.E.A.R i feel had some of the best graphics of that era. The lighting and shadows in that game were truly next level and brought my machine to a crippling halt at max settings.
I disagree, I would say Half Life 2 and the Source Engine ended that era. In my opinion HL2 is the first "modern" game. I remember being so blown away by the textures and physics when it came out. I know this is a cliche, but it looked real. I think what also separates HL2 from the other games you mentioned is that it still holds up almost 20 years later. Honestly, who's playing Doom 3 or Crysis 1 in 2022? They were glorified tech demos whereas Valve managed to apply their groundbreaking tech and build a classic game out of it.
I’m not sure how I found your channel, I’m no game developer but I love watching how you explain things! Keep it up and when you do get your game going I will play it!
Something I feel like a lot of people miss (even in the big industries) is the fact that old graphics weren't *just* 'low-poly'. It's incredibly noticeable in character designs like 'retro Crash Bandicoot' in the N.Sane Trilogy and related games. They show a really low poly Crash model, but he looks nothing like the real old Crash looked like, as a lot of it was done with a sort of squash-and-stretch approach rather than just low poly counts (as well as the fact that the Naughty Dog tried to fit as many polygons as they could onto the screen at once).
you also need to disable texture filtering if you're aiming for the PS1 look, and depends heavily on vertex colors when faking light sources. i'm working on a game heavily inspired by Medal of Honor 1999 and Medal of Honor: Underground and i was able to get a convincing PS1 look that REALLY ties itself together
@@lifeartstudios6207 hah, i have a VERY barebones demo that simply showcases a still work in progress level. unfortunately i'm not good with programming and scripting at all so i have this big jank mess that just happens to resemble Medal of Honor. but yes!! VR compatibility was planned because i want to feel the environment around me to relive the good old memories just as i remember them
@@lifeartstudios6207 Godot, i figured it's still new and promising, being completely free and all of that. besides, it gives me a good foundation on retro looks for some reason. Unity has this "stock unity" look that is really standard, i didn't like it. and UE looks oversaturated with lots of post processing and i'm like... why all the horsepower for such a simple game?
@@lukabrasi001 you can disable all of that stuff with unreal. I find unity a lot harder to tune. Personally I would love to go to Godot but there's so many things missing from there that it would be very hard for me to learn and or do stuff from the ground up
mgs2 was one of the best textured games ever made, even to this day. they had wall textures that were "fully 3d" in that they showed very detailed elements like pipes and the shadows they cast on other parts of the wall. all of it was entirely textured
@@hppvitor I mean like Dying Light 2 but on PS1. Shenmue had a lot of neat world detail, but it's gameplay was still super limited. I wanna see animators make a block ass character move smoothly through a highly detailed environment.
As you touched on briefly, the PS1 was limited to only be able to do graphical calculations using whole integer numbers instead of floating point values (numbers with a decimal) so often you would see pixels jump back and forth in whole movements instead of smoothly/with aliasing
Another important thing to note is that UV seams and especially sharply shaded edges were often avoided because, to the GPU, a vertex can only have one normal, one UV, etc. So to pass that information to the GPU you'd (and still do) have to duplicate any vertex with more than one UV or normal on it. This is why almost no games that are *actually* old use flat shading. It's very expensive.
on the ps1 the point about duplication being slower isn't entirely true, since the GPU only takes in a list of 2d primitives (quads or triangles), that each contain a set of 3/4 vertices, so for the GPU to draw them the vertices have to be duplicated regardless. it's true that flat shading can be more expensive though. if the amount of vertices is less than the amount of faces, then smooth shading will naturally require less lighting calculations.
That general principle is true of a lot of things actually. The legit 'retro' way is actually harder in many ways. Progress was often about making it easier on the devs. I remember when games switched from sprites to 3D models and went from 5 or 6 CDs back down to 1 or 2, yet had substantially more game content.
You forgot to mention CRT interlacing and other features of that type of display those cannot be (sort of) emulated or recreated on LCD displays, like natural anti-aliasing as the effect of luminophorous screen layer not going to black instantly. Also dittering everywhere.
Admittedly, some people (I'm one of those people) are more interested in emulation of the raw output than the full experience. I'd love to make a game that would look identically to if someone plugged a PS1 into a modern-day monitor, vs. trying to look like what people remembered PS1s to look like on CRTs.
Can anyone please explain to me why light effects were so different between the PS1 and N64? This question has been on my mind for a long time. Light effects on the PS1 for things like lasers, fire, and explosions actually looked more like emitted light. The were bright, intense, and full of color. On the other hand, N64 light effects were sometimes barely there at all, and seemed more like flat, painted expressions of a flame, laser, or explosion and were often dull and boring in comparison. Of course, first-party and Rare games often did a little better in that area.
They also used baked lighting, albeit low resolution. And in my opinion, even this low resolution form of light baking looks more pleasing than some games today that have dynamic lighting and shadows simply because light baking/mapping is more accurate.
A big reason why Luigi’s Mansion was a launch title for the GameCube, the console generation after the N64 and PS1, was to highlight dynamic lighting with its spooky low light atmosphere. So prominent was it that the introduction of dynamic lighting was considered such a big deal as to warrant a launch game to highlight it.
There's also the fact that 64 bits consoles used Gauraud Shading, while more modern engines use phong shading, env mapping, antialias and render much more polygons than the ps1 / n64 / saturn..
You make a really good point. I work with an open-source derivative of older Game Maker versions and have dabbled a bit in the 3D side of things, using my own software to create the models. It seems like it would be fairly easy to create something with an N64 aesthetic given the lack of getting all those frills you mention out of the box, although I lean more towards a classic DOOM aesthetic. I have only used Unreal Engine briefly and never Unity. Now here's the crazy point I'm getting to: if there's a bunch of extra stuff you have to disable to develop low-poly in Unity and/or UE, does the lack of these features in Game Maker or at least older versions of it make it worthwhile to use over these newer and more advanced engines?
@@lineriderrulz i'd say using unity or godot still makes sense, since the effort required to write a few custom shaders that emulate these old consoles' graphics is still far less than the effort required to essentially write your own 3d rendering code from scratch. although unreal engine would probably require you to reverse engineer the entire thing and swap out the renderer for a literal ps1 emulator, so at that point you might aswell write your own game engine. as a side note, what's this open-source derivative of game maker you mentioned? sounds interesting.
@@henkle1610 Thanks so much for your opinion on the matter. I think what you say makes a lot of sense. Game Maker does have 3D support out of the box, and even shader support, but the features to make the most out of it at least in the versions I know of are limited. If you want a perfect 3D collision detection, resolution, wall sliding system, you would have to roll your own or reuse someone else's work, and then you lose the benefits of rolling your own. I've faced such a challenge for a while, and as someone that sucks at matrices, trigonometry and honestly just maths in general, it's a nightmare. There's plenty of literature out there on how games have achieved it, but all of it is too complex and mathy for my little brain. The open-source derivative of Game Maker I'm using is called ENIGMA, it stands for Extensible Non-Interpreted Game Maker Augmentation. It converts code written in its own language to C++, then compiles it. The performance gain is great, while keeping most of the simplicity of GML (it's supposed to be backwards-compatible). A couple of warnings if you do want to try it: first the syntax is based on old Game Maker versions from before GMS 2, and second it can get a pain to get from nothing to running a game if you're using Windows - you may have to mess around a lot with installing and uninstalling different Java and MSYS2 versions as well as checking out different branches and revisions to find one that will actually work in Windows.
@@lineriderrulz yeah I've done a bit of 3D in GMS2 (which doesn't sound much different from the version you're using) and the thing is that you basically lose out on all the engine's features. there's no 3D scene preview, no LODs or frustum/occlusion culling, so complex scenes are a no-go, no collision detection or physics like you mentioned. at that point all the engine provides is the scripting language, a window to render your 3D objects in, and a way to get user input. if you're making a 3d retro style game and you *really* want maximum authenticity in both gameplay and graphics, it might actually be a good thing since you can create the stuff like collision detection and rendering optimizations from scratch to closely match how they did it on the original consoles. but if you're making something that just looks retro minus the gameplay jank of the time, or just any other type of 3D game i can recommend Godot. it's got a steeper initial learning curve than something like game maker, but it makes up for it by just giving you so many tools and features so you can focus entirely on making your game without having to create your own physics or UI or pathfinding or whatever systems. it has its own python-inspired scripting language called GDScript, but it also supports C# and has a C api meaning any language that can interface with C can (and probably will) have bindings available for it. that also means that if you're felling particularly unhinged you could probably jerry rig the ENIGMA language & compiler to be compatible with godot. also, it's free and open source and runs well on every platform
Ah cool; I wanted to make something with that ps1 retro look. Good tips. I'd also add that it looked like the model's vertex normals were copies of the face vertex normals (making them look flat). You can average the normals of the faces surrounding each vertex to make a smoother shaded version which also resembles results of fake lighting.
What I like to do is use shaders to make my characters fullbright with vertex wobbling and all that while leaving the environment traditionally lit and solid (still with sharp pixely textures though). Not only does it improve readability by having the enemies pop out from the environment but it also has a cool stylistic look.
Checklist of stuff that I know should be used : Low-poly, No lighting, shadow baked into textures, No anti-aliasing, 256x224 resolution or 640x480 interlaced, either A: Resize/upscale to modern resolution without """improvements""" IE Pixel perfect, or B: CRT blur & rainbow banding as a post-process if you're feeling fancy. Frame rate was usually 60fps Buuuut that includes interlaced resolution meaning odd and even pixel rows updated on different frames, which looks super jank today. Honestly, I wanna see how you would do old-school CRT Interlaced video, followed by the blurring of how CRT handled raster graphics without true pixels, and the application of rainbow-banding.. That's what I really wanna see.
I feel the need to point out that 60fps only ever really happened with interlaced video at full res, meaning half the resolution updates, then the other half. which today we might interpret as being 30fps with full resolution, or 60fps with the half resolution, which was tiny. Interlacing breaks the modern conception of "frames" Also, many PS1 games did still hit that 60FPS mark, including FF7, and anything that had pre-rendered environments with 3d models, or anything with fixed camera angles (to hide what was and wasn't pre-rendered.) At least, that's my understanding of it
@@therealquade "displays resolutions from 256×224 to 640×480" that's from, not either or. in practice very few games would have been 256x224 unless they were again, SNES ports or really trying to save frames. there are several "In between" resolutions as well. 320x240 was the most common resolution. Some of the 2D games like fighter ran in one of the inbetween resolutions.
I admire the determination of developers looking to recreate the look and feel of a console generation. Although retro+ (idk what people would call it, retrowave is taken by music) where they mimic the look and use modern tech to enhance it can create some cool results. A lot of these games look amazing with just a few tweaks, and like in the video, it's mostly lighting, shadows and some anti-aliasing. Soul Reaver on the PS1 is an amazing game, then you take the dreamcast version, spruce it up a hair, and it looks like an HD remake, or at least how my brain remembers it when I was younger.
Hey Garbaj! Just wanted to let you know, this video showed up briefly on the Film Theorists channel at 15:50. It was brief but you were still there! I recognized this video, and it also showed your channel name. Keep up these amazing videos!
@Facepalm Full O' Napalm it's harder to emulate the ps2 style because there's no "magic bullet" for it like the ps1. ps2 games basically just look like crappier versions of modern games, while the ps1 has such a distinct style that anyone can turn off texture filtering and toss on the first google result for "funny vertex jitter shader" and everyone will immediately cream their pants and scream "PLAY STATION 1!!!!!" even though an actual ps1 would just evaporate if you tried to run those graphics on it. information about the ps2's limitations is all you need. if you design your graphics from the ground up to fit within those limtations it'll look like something from that era. if you exceed them though it'll quickly just become "haha game with bad graphic"
@@henkle1610 Yeah, no. This is just plain ignorance. PS2 games have a very distinct look. If you see a picture of one you know it is (unless it's the 2008 later half type.) Even people who never played those games know it's from that era. Think of Shadow of the Collussus, Silent Hill 2-4, Resident Evil 4, Bully, Metal Gear Solid 3, Psychonauts, God of War, list goes on. They all have that look that screams early 2000. To call them crappier versions of modern games is a disservice because all of these games I mentioned still hold up beautifully today (especially Shadow of the Collussus). The distinct look is Phong Shading, Grey or brown color filters, mid poly models, low resolutions, lots of bloom, fog, mostly pre-baked lighting, vertex lighting. It all comes down to the texturing work though. Textures make or break the PS2 aesthetic. Mostly Photobashed with handpainting over it, especially shadows.
@@dylanroemmele906 by "worse" i meant worse fidelity, not worse "look." you're right that games from that era look very distinct (my comment initially mentioned that but i cut out some parts cause it was becoming a novel whoops), but.. variations of phong shading are still used today. grey or brown color filters are still used today. lots of bloom is still used today. pre-baked lighting is still used today. vertex lighting is still used today (probably not in the big budget photorealistic AAA games, but still). what i meant by "crappier versions of modern games" is just that that generation of consoles was really where a lot of the technologies & effects games still use to this day began. my whole point was that for people to recognize your game as emulating the ps2 look, you need to actually emulate the ps2 look, because there's no single effect the ps2 did that immediately makes people go "yeah that's ps2 alright," you need the whole package. meanwhile most "ps1 style" games really only turn off texture filtering and add a funky vertex jitter shader (bonus points if they actually get *that* right). if they're feeling real fancy they may turn off perspective correction on textures, without implementing the techniques used at the time to prevent excessive warping. everything else the ps1 did can just be ignored and people will still recognize the style. you can't get away with that for ps2 style graphics.
@@henkle1610 Ok I understand what you mean now sorry for the misunderstanding. Just want to point out though, an engine like UE4 and Unity don’t come with Phong shading and vertex lighting right out the box. I forgot to mention that NPC player models not being affected by lighting (Unlit) hence why you never see those dark shadows on their face you would otherwise see in a modern game.
How would someone recreate Mode7 in modern game engines? For people who don't know Mode7 was used in the SNES days to create 2D sprites that could be calculated in such a way that they looked 3D. For example Mario Kart SNES or Star Fox.
Somethings you forgot to do, bake the ground's lighting, you only drew shadows on the walls, gotta do the ground and cieling too, add a circular sprite that always gets drawn on the ground unter the character, the character needs their own shadow, and a low rez circular transparent black circle drop shadow, is what you see in most games, sprites are cheap, go nuts, if it's one of the closer LOD models, draw the little circle shadow. Last thing, you shown PlayStation look, it's pretty cool, but you forgot N64 look, remove the worble and posterization effect, blur the fuck out of the texture, add a bit of antic anti aliasing, You now moved from PS1 style look, to N64 style look. Gotta blur these textures and smudge these jaggies. PS: Also, old PC games, limited colors, low framerate animations, no worble, no anti aliasing, no texture bluring, crusty AF bilinear anisotropic, no interpolation, funny screen borders so the game is sent to the screen in native resolution, but 3D scene is lower to gain some frames back and sweet sweet early Direct X... I mean, Direct 3D and early OpenGL effects.
I still have hard time believing that the Playstation does all of its 3D using only fixed-point 16-bit integers. Floating point math is an extravagant luxury that we take for granted
Based on all of the information I've absorbed about video games over the years I've learned that lighting is probably the most impactful single factor when it comes to graphics.
I feel like now, in modern days, retro graphics from yesteryear feel more like an art style to me than the "standard". Given our grand advancements of technology, we can make our games look like most things we want, either super realistic or, in this case, like ps1 graphics. One game that I enjoy that does this this style in a bit more modernized way is ULTRAKILL. It has many characteristics of ps1 or late 90's 3d game graphics but also has the joys of things like dynamic lighting, which is done to fit in a lot more with the games aesthetic. Though maybe the game resembles more of quake, it obviously has features that let you play in a ps1 style so I think it leans a bit more to that side as well. All in all, I believe you can do a bit more with the ps1 "look" as long as it blends in nicely with your game's aesthetic and doesnt look jarring. Though if you are aiming for accuracy, then Im not the kind of guy to stop people from doing what they want and enjoy :)
In the n64 era, lots of games faked hard shadows by cutting polygons and shading them or by putting alpha textures with shadows drawed. Rare games does this extensively, the best example is the first level in perfect dark.
I would also think a lower resolution would help with making the models look more "authentic", as well as the positioning of the camera. Zooming up close in 1080p, and the video being really crisp instead of blurry emphasises the low poly nature of the models, whereas if it was 480p blown up, it could look more like the original. Also they could change the models on the fly based on the camera (sm64 used this) where it was basically unnoticeable to the player.
In fact it's possible to make internal rendering resolution low (like 250p, 360p or 480p up to 800 x 600 to 1024 x 768 of old PC aesthetic) while keeping overall screen res higher. Most emulators function like that, and some PC ports (Metal Gear Solid 2 comes to mind) had separate sliders. So having a pixelated lower res can be done without forcing modern displays to switch and screw up desktop and apps like Discord or Steam.
Check out the recent "Powerslave Exhumed" release by Nightdive, or at least the Digital Foundry video on it. They've done a great job at reproducing a weird combination of the PlayStation and Saturn original version, and a good deal of it is the rather unique subtractive lighting system that game had on Saturn giving it a really strong, high contrast look. It also has options to reproduce CRT effects, affine texture warp and fixed point transform vertex wobble, which are all mostly really good and work well together to make it feel a lot more like playing the games in that era, and not like coming back to a modern port of an old game (it doesn't have an option for 20 FPS with drops, though, like the Bloodborne demake!) It helps it's just a great game too: like a way before it's time Metroid Prime.
Please keep these up! I'd be down to have a super fun, yet accessible PS1 graphical tutorial series done by you! (maybe one specifically on how to model characters, construct them and texture them in-depth: a bit more in detail than the old one)
1:05 I remember importing KH2 models into unreal for fun for the first time, it was horrifying! XD I'm still wondering how they made all their hand-painted stuff look so good, faking all the shadows, lights, etc. for characters on PS2, like, was painting directly on the model a thing back then?
I have no knowledge of coding or game modeling, so I am quite surprised that this trick of mimicking lighting is not a common knowledge among those who do graphic works.
Actually really interesting, I don't know why I hadn't thought of lighting before, now it seems really obvious. It would also be kinda cool to check out the weird era for 3d graphics that was the early 90's, by that i mean Jaguar 3DO and 32x
I'd like to see how someone would recreate Unreal Tournament 2003/'04 style graphics. Dynamic lighting was still used in every map, if I'm not remembering incorrectly?
IIRC it was still baked, even up to UT3. In the editor you were moving lights around and they'd update in realtime, but you'd bake everything before you test the map, it wasn't generating shadows in real-time during play. A benefit is that it would simulate bounce lighting while baking so you could get much nicer lighting than why dynamic could offer at the time, the downside is that often the preview lighting you'd see before baking wouldn't match perfectly. Characters and first person models were lit by light probes I think, so sort of dynamic, I don't full understand light probes but it's some witchcraft again. Used to map for UT99/2004/3 so baking lighting is embedded in my brain, alongside having to make a second set of UV's for the lightmap bake. I don't miss that part
Thank you. Can you show how to animate the facial textures? Also, I'd love to see GC era, such as Custom Robo, Megaman X Command Mission, Pokemon Coliseum, and Tales Of Symphonia.
Old 3D consoles did use pre-rendered shadows on textures to simulate lighting and shading to save machine performance to perform other tasks like focused lightining (actual ambient lights, sparks, fire, spells, Navi in OoT etc). If you'd look into game files, no texture has a base contrast like on modern games where every tiny lightining and shading detail is handled by the engine in turn with normals and specular maps (i.e. DooM 2016 and Eternal). Not like the PS1 isn't capable of doing this or something like this (full scene shading). Just performance would be bad, really bad (tomb Raider). Then you have Fear Effect.
I recently got into Blender, wanting to use it to do some concept art work, and I find that videos like these, even if I'm not looking to make game assets, are so interesting and fascinating. A different side of the work that I love.
I love your tutorials! You made my introduction to Godot very very easy! I would appriciate if you could make a tutorial about sliding that goes with your fps controler! Thanks!
Real time lighting was actually in a few games from the time, Conker's Bad Fur Day used it expensively throughout the entire game, Conker himself having a dynamic filtered shadow which reacted to light sources stretching and projecting over the environment
I'm a fan o retro style games, but I normaly only use the low poly models, low res textures and fake lighting, because I like mix of modern style and retro style, and two things that I'm a big fan of are animated textures and 3d sprites
I love this, it's so cool! I remember reading a post by an engineer once, explaining that the reasons pixelated games like the original final fantasy games, looked more detailed was also due to the CRT monitors and their different refresh rate technology, on top of the low resolution. developers had to be creative and crafty to achieve their vision with such limited technology, you can definitely tell which games were made with passion in that sense
I played tons of the Crash Bandicoots when i was a kid, 1, 2, 3, that racing game and Crash Bash.... Good old days before internet. Wild to think that my generation was the last one to live a childhood without it's influence, 1995
Another part of this is that games back then were meant to be displayed through a crt monitor. The pixels on screen were basically tiny light bulbs displaying one color. This created the signature low resolution, but they also used various visual modeling techniques like texture hashes and proto OLED techniques of leaving some pixels black to create the illusion of depth and detail. That's why older games look flat and jagged on newer monitors, you weren't supposed to see the game in that much detail. It's also the reason the crt filter exists for most emulators.
My pet peeve is when games with PS1 style also purposefully include the worst aspects of it such as texture warping that cause terrible motion sickness for many people. If you are going to include something that causes motion sickness in many people, at least put a toggle for it like PuppetCombo started doing in their later games.
Very informative. I learned recently about the dithering the system did by default. It was a clever way to sorta blend colors to trick your brain into seeing smoother graphics.
Especially on a CRT with interlaced screen draw and color artifacts from using a composite connection. All kinds of stuff that turns dither and to gradients and transparency.
yeah Unreal Engine 1 had a lightpass, so you added lights into the map, and when you "built" or "compiled" the level, it would calculate the lightmap and bake in the appropriate lighting. If you moved lightsources you had to rebuild the map or the shadows would be wrong. I'm sure pretty much every 3D engine since Quake 1 did this, apart from perhaps Jedi Knights engine which had very strange flat lighting. Pretty impressive even Quake 1 had this considering it was the first real 3D texturemapped engine
You're missing a big point about PS1 graphics, just like everyone else. Limited color space!!! Like come on, your D.va texture uses at least a 1000 colors, not even 256. In reality, PS1 supports only 16 colors per face/polygon. So in order to make a car for gran turismo with more than 16 colors, devs used palettes. you get 16 colored texture about 256x256 resolution max, and divide it in different parts like windiws, car body, lights, that would use different palletes to make up for more colors. So in reality, there's like 16 colors x 16 palettes = 256 colors, but not all at once. That makes your D.va model obsolete and unfitting with the restrictions and artstyle of PS1. You can only have 16 colors per polygon. Multiple polygons can share the same sets of palettes for the same texture, but you can't just have a 256 color texture on PS1.
I think its smart what you did, create a ps1 model of a trendy modern-day video game character and explain how lighting masks the polygon shape in a manner that gives it the retro look. Great work! A new meta format for videos looking great
I feel like another more theoretical concept to making a game feel like a ps1 game is that many of these devs tries to stuff in high quality handmade textures into limited hardware and tried to maximize the most of limited tech while hiding its drawbacks, I feel like Silent Hill 1 is an amazing example where yes it’s a low Res game but you can see and feel the effort put into it, I don’t know the name but someone made a silent hill 1 inspired game that perfectly would pass as a ps1 game of the era
When I saw the thumbnail, I was thinking it was going to be like an SFM SMG4 sort of deal, but no it's an actual serious conversation that is actually pretty strong.
Also gotta remember that we lack some tools today that artists had back then, like it was common to bake something akin to a directional light into vertex color data using tools, not just manually painting (although it always required some amount of manual painting) and plenty of games used dynamic vertex lighting too, which unity kind of supports but not very well, and unreal doesn't support at all (idk about Godot sorry) and that's just like one thing there's a million technical aspects to consider when making retro graphics
@@jlewwis1995 that's true but it's not really practical to do for a big level you could make in a modern game engine which would need to be broken up into a ton of different meshes and all those meshes are probably reused several times in the scene and need to be reused in other scenes as well. On the PS2 they had tools specifically for game levels and I'm sure they were common for other studios and consoles. I think people in the Haunted PSX community do use blenders baking features occasionally though if their level supports it
@@morganlak4337 well it depends, if it's in outdoor level you probably want most of it statically lit anyway unless you want a day night cycle so the rendering feature would be really useful there, if it's a mix of indoor and outdoor you could bake the outdoor part and place dynamic lights for the indoor area in places that need it and bake the colors in areas that dont need it, that's one of the benefits of using vertex colors vs lightmaps, mixing static and dynamic vertex lighting is extremely easy
Also, an important thing to mention was the resolution we were using back then. On something like the Crash Bandicoot clip you showed in the beginning, there's a noticeable low resolution, and also a lot of the things I feel a lot of developers get wrong is that they're focused on making things look "crappy" and not really thinking like a 90's, early 2000's developer trying to push the limits of what was available back then. Instead of trying to make a the game look dated, they should probably more look about how they tried to make dated games look good despite the limitations at the time.
lots of small developers are making retro inspired games that take advantage of modern tech and the results are really cool
@@garbaj Vampire survivors is a good example. That game is so good/addictive that most of the achievements (even one's that take quite some time) are around 70-90% done by all players). You won't see anything flashy, the game looks pretty garbage tbh, but holy hel is it fun. It does use newer ideas, technology and peformance of modern day hardware under the hood.
I agree, many developers try to look janky on purpose. Especially artificial texture warping, it never looks like psx's lack of z-buffer effect.
"they should probably more look about how they tried to make dated games look good" - Like old 2D console devs using the effects of CRT TVs and monitors to dither the sprites.
Don't forget the aspect ratio!
Garbaj is the only video game tech guy that can say “boob” without any jokes or other implication and have a reason to do so.
agreed
'Should of just use 'breast' but ok.
@@GoofierClock or “chest”
Garbaj is no normie
2:04
never thought i'd see a low poly dva in my life
there's already a bunch of "other" fan made models of Dva out there, so a low poly one doesn't seem too crazy
@@garbaj please no you brought back an awful memory
@@NicknamingName Sure, "awful".
@@NicknamingName omg!!! Lewd content1!1!1!1!1! How shocking!!!
@@garbaj yeah…. Other……..
They also all used Gouraud shading, which is where the surface normal is only calculated per vertex, and smoothed across the polygon. Modern gaming engines use per pixel shading which was basically impossible to do on hardware back then. this alleviated the flat look of just basic ambient lightning, as it's very fast, but it isn't accurate.
just brought this up in another comment, love you for knowing about this
In some cases, Goraud was still too expensive, there were many debates of pros of higher poly flat shading (vector games come to mind vs lower poly Goraud. Sometimes it was all done in prebaked textures. When Phong was introduced, most of the hardware at the time was unable to process that much data smoothly (if I remember correctly it quadrupled memory bandwidth requirements for shading, while looking only marginally better, especially on low poly models). Introduction of shaders and explosive growth of computational capability of GPUs that came with it was truly refreshing!
@@Vatharian Yea, I grew up on voodoo2's and as a kid playe with glidegl. You had limited light sources and I don't think hardware shadows. Its funny how thats now unlimited all dependent on raw gpu resources.
@@Vatharian so using today's modern hardware do you think goraud would be a better approach some cases
@@warlockd at 13 I got my first PC, some HP Pavilion in like 1998, which wasn't exactly for gaming. One of the things my friend and I upgraded it with was a Voodoo3 (i remember it being the fancy version of the voodoo3 card, but not what it was called). The card alone was super expensive, and I'm pretty sure the PC was like $3,000. That thing kept me playing PC games and emulation for a while. There were some interesting ways that games were working back then. Shadows were becoming a more common in 3d pc gaming, but they could really tax the system.
One thing I’ve noticed that’s missing in a lot of PS1-styled games is the lack of pre-rendered CGI sprites and billboards. Of course the low-poly environments and characters are a major part of the iconography of the 5th generation of gaming, but I feel like people seriously overlook the amount of pre-rendered CGI that was shoved into literally every game of the era.
From Crash’s Wumpa Fruit, to Resident Evil’s backgrounds, pre-rendered CGI through billboards or sprites are an integral part of the PS1 aesthetic, and I feel a lot of games stray away from authenticity when there’s absolutely 0 pre-rendered CGI to be found. Something as simple as pre-rendered item icons or character heads for the HUD would do so much to immerse yourself into believing the game was made when developers were desperate to make their games look as 3D as possible.
And most often - including in 3D platformers on the N64 like Mario, DK64 and Banjo - the collectibles that lie around on the 3D map are flat pre-rendered pixels themselves.
Yeah back then there was not much choice to add detail in a scene, also round objects could just use sprite instead of a 3d mesh.
Your not wrong. Humm I bet you can get ps1's compresson effect though a well programed shader and do a "high poly" cgi render of a cutsceen.
This. This drives me craycray in games like that. I still make building sprites for SimCity4, and in order to do that I need to reate the buildings in 3D Studio Max, and then make a sprite from each corner perspective. I also nearly the same process to get any other sprite that I use in the game. Always pre-rendered in 3DSM. I used to prefer to use Blender, but it doesn't play nice with the old software for creating SimCity4 content. But I love getting these pre-rendered sprites, as well as the process of making them.
the prerendered backgrounds in final fantasy are incredible and I agree, it's something I feel that gets over looked when doing the PS1 aesthetic.
The other thing you didn't mention is that directional lighting makes low polygons count more noticeable, by highlighting the hard edges of the models where light reflects at different angles of incidence. It's particularly noticeable at 2:35 where you can see how D.Va's face looks like an origami, whereas as soon as you switch to flat lighting, the angles suddenly vanish into a much more uniform and smooth shape.
Directional lighting doesn't only hurt a retro game's aesthetic because it looks more graphically demanding, it also actively hurts the illusion of low-poly models from looking more detailed than they actually are. Low poly models rely entirely on a flat lighting in order to work, whereas directional lighting needs a higher polygon count to round up hard edges in order to not look ugly.
this is true, but it can be mitigated by using smooth shading which would hide these effects pretty well even on low poly models. that said, it wouldn't help selling the retro style so it's not really relevant
like h0ppip mentioned, smooth shading fixes that issue very easily. Directional lighting WAS used back then, just not as often as it it used now, and smooth shading was required to avoid that exact issue you mentioned
To me, it kind of looks like he had left the model with flat shading too instead of smooth shade, making those edges stand out more.
Great post, it kind of reminds me of how you can pre-render 3d models as sprites, but instead, the flat lighting lets you "pre-render" lighting as textures.
@@garbaj Smooth shading is also cheaper to render - sharp edges require duplication of vertex data when sending it to the GPU.
Don't forget to turn off mip-maps (unless going for N64). The PS1 rarely had mip-maps so you were often staring at a lot of aliased pixels in the distance.
That's more specific stuff you do to make stuff look more authentic, this video covered the biggest factors to make it look retro, just paying attention to the low poly models and fake lighting makes it look pretty good already, like an insane hd remaster or something, but stuff like mip-maps and Z buffer are a must if you don't want to settle for just an HD general retro esthetic, and want a game that actually looks straight out of the PS1.
@@ginogatash4030 I still think those are pretty obvious things to disable.
Which-whats?
@@lrgogo1517 Mipmaps. Lower-res textures used when something is too small on the screen (far away) to avoid aliasing.
Aliasing... like, the opposite of "anti-aliasing"? Not sure what that means outside of the context of digital drawings... @@kimapr3817
I wanted to add something that was used in most ps1 games : Dithering.
The console stored 24 bits textures but rendered them on the screen in 15 bits. It was meant to give the illusion of increasing the the amount of colors with a shading effect, once again for Old crt tvs. It was smoothed because of the way our old analog signals worked : Basically it blurred and softened the picture. It prevented you from noticing the image flickering too. The final output was nice and smooth, you could not notice anything.
It's very funny that simulating this look requires adding in dithering and then applying a complex CRT filter on top of that so the dithering looks "correct." Essentially adding it in and then hiding it!
The other factor, is that oldschool video games were designed for CRT screens - and used shortcuts to make use of the blurring effect on CRT to make the image better. It's why ports of say Sonic & Knuckles look blocky on modern screens. Because on a CRT, the TVs natural limitations actually added a smoothing effect
GBA on Wii U Virtual Console. Those games were never meant to be seen on a 70 inch oled 1080P display.
Dithering. PS1 used it alot
@@uhhh_adam Kind of, but crt tv's are really their own beast, not only do they have a natural dither effect, but they also have district black scan lines and "cells" that really help sell texture and distance in a way that's hard to do even in a photo on high definition screens.
I have heard about this, always tho it's like "was your old favorite game always this ugly?" and always the person is like "ya look how blocky it is" but only a few actually bring up that the games were made for the technology of the time and played into screens looking the way they did.. modern screens are just showing retro games how they weren't meant to be shown
Yup, that specific kind of blur and pixels that aren't proper rectangles but dots that blend into each other.
I spent countless days on PS1 games while growing up and almost all of it has been burned into my brain. As a result, I can't help but notice 90% or more of these "demakes" fall short of really hitting the mark. Your video is a good step along those dev's journey to accuracy, thank you.
What did you think of BBPSX?
Yeah they don't get it perfect, probably because game engines like unity & unreal don't allow them complete control over the rendering pipeline.
If they developed their own game engine they could get it to look exactly the same. Especially when it comes to the ps1. You could probably do n64 graphics in modern game engines.
They all miss the dithering which is the most important part
@@IrvineTheHunternot even close to what an actual PS1 game would look like
Its because of cathode ray tubes and scan lines.
I wish more indie devs paid attention to this aspect of retro graphics.
@@jacobwhite7106 megadie?
great, exactly what we need: more crappy faux low poly garbage clogging Steam and other platforms
Pseudoregalia dev did.
Turning off anti aliasing also helps, as well as taking down the resolution. I still think that's not enough because the displays we had back then (CRT TVs) worked very differently than the monitors we use today, so some people apply post processing shaders that try to replicate some side effects of CRT TVs.
I imagine aiming to make your thing look good for a CRT display would probably be good for getting the feel down of that both for CRT users and for what someone using an LCD would see playing a game designed for a CRT.
Kinda like how pixel art made to take advantage of composite blurring or not-square-pixel pixel aspect ratios is gonna have different vibes than pixel art designed for LCDs (like handheld games) or just to hit that "pixel art" aesthetic.
Needs dithering
@@RAFMnBgaming If you make it look good on an LCD screen with low resolution (very important), on a CRT display it will look phenomenal. I've been playing some newer games on an LG CRT display, and they look absolutely amazing. Ace Combat 7 for instance, looks like a fucking movie.
I believe it's also the reason why old graphics (really anything from before the year 2000) don't really "hold up" on modern displays. They were meant from the ground up to look the best on a 640x480 (perhaps higher) CRT screen, with all the quirks of the technology.
I personally like the look of low res + ~high~ antialiasing for retro style low-poly games. I know it isn't authentic but I feel like it makes a nicer image than low-res without AA and helps hide the "origami" look you get with too high of res. Its similar to the way blurry CRTs smoothed out games back in the day, but with better detail.
I'm not sure about the PS1, but the N64 did support anti-aliasing alongside its strange trilinear texture filtering. So if you're going more for an N64 look there you go.
I would like to add a couple tricks about lighting. Since this video seems a bit more skewed towards the PS1 look than the N64 look (they are quite different), I've been doing some research to emulate the lighting and appearance of N64 games, but very specifically how Majora's Masked worked in order to get that moody lighting.
You can still use directional lights to light your scenes, however there are two things to take into consideration. The more obvious one would be to disable the directional shadows. The second, and I think most convincing one to get that N64 feel, is to use Vertex Lighting. Not so much painting the lighting on the vertex colors (although this can also be used for further effect and combined with Vertex Lighting), but modern engines will calculate lights per-pixel, instead of per-vertex.
While I don't know the specifics of how to achieve this effect in other engines, you seem to use Godot more, which is where I've been doing said research. This has to be set up on the materials, in one of their Flags, to enable Vertex Lighting. Doing so for every material in the game can be time consuming though, but fortunately there's an option in Project Settings > Quality > Force Vertex Shading that forces this option on all materials.
Combining a rather low ambient light color to have at least a base color for shadows (seriously this is something those annoying unreal engine videos seem to just forget exists, pure black shadows are horrible), you can then add color with a couple of directional lights. There's generally always a white-ish one, and then one or two colored fill lights.
In godot it seems like you can have your cake and eat it too when it comes it comes to vertex lighting, you can paint on or render on the static lighting then in game you can use dynamic vertex lighting for specific areas that need it
you also need to crank the bilinear filtering on textures for the n64 look, and no rigging, each body part is it's own model
@@eduardopupucon The rigging is not exacly correct. You do still need to create rigs. While some early games had mainly segmented body parts, it was not exclusive. They ocasionally combined both deformations and segments even in the same model.
@@eduardopupucon Some N64 games did have rigged models though
I've been doing the same research in UE4 for Oculus Quest VR development research. I ported over ocarina of time 3ds and majoras mask 3ds and have a really REALLY good look out of it.
Vertex lighting is possible, just need to vertex interpolate the data so it doesn't go through pixel shader. Also, the vertex colors channels don't properly convert to srgb color space, so you need to do some additional math to extract it properly. Then you need to multiply the result by 2 before adding it on top of your diffuse.
I use the dot product of a fake directional light vector against the direction of the mesh faces to determine the brightness of the colors. This lets me have a full day night cycle and even do dynamic fake point and spotlights. It's such a great addition to the original art style. Adds a ton of depth to the original look and doesn't detract from the style. Planning on making a video about it at some point.
would love to compare notes with you :) I have lots of pictures and video of the project here discord.gg/5vsuBkj
I just realized how much of a child I am 🤣 I laughed so hard when he said boobs
Same
Same, I don't know why I found it so funny
it's a funny word
The way he said it like lmao
Sa.e
There's also the fact that these games were played on CRT monitors with much lower resolution which not only was made it easier to get away with worse graphics it was often intentionally used and games were specifically made with those kinds of screens in mind, so when you take it onto a much higher resolution monitor it's not having those same kind of filters applied and is going to look different.
The TVs we used back in the day also played a part in the way things looked. You can boot up an emulator on a modern monitor and it will look nothing like the game used to.
That's more the case for games with pixel art, less so 3d games. But yes, the bleeding between "pixels" and lines from CRTs could give the artists access to more apparent colors than you can see in emulators where they just slap the sprite on the screen.
You can get the same look with very sophisticated post processing effects like CRT Royale. The thing you CAN'T get is the motion clarity of a CRT.
@@KingBobXVI It's the biggest difference with the N64 IMO. The anti aliasing looks horrible on an LCD.
I think it's also important to note that the original PlayStation in particular didn't use floating point numbers in it's coordinates (if I'm remembering that right), and it also had built-in dithering.
The PlayStation in general had no floating point math capability whatsoever. So everything was based on integers.
@@Berniebud Not just integers, the GTE used fixed point types.
That's right. It used 16bit fixed point words in all of the vector based math.
Yes - the biggest effect of which was that it didn't do something called perspective texture correction, which is why changing the orientation of a quad would seemingly warp the texture in weird ways.
@@Berniebud I thought it was just that 32 bit float wasn't precise enough, but good to know
There's something fascinating about the "Between Times."
You know. The era of 2002-2005ish. Look at Doom 3. Everything is almost a Claymation like effect.
Or Splinter Cell, with its insanely high detail look, the Xbox version somehow still standing up to this day...
I'd say Crysis in 2007 ended this era of retro-but-not-so-retro 3D graphics.
F.E.A.R i feel had some of the best graphics of that era. The lighting and shadows in that game were truly next level and brought my machine to a crippling halt at max settings.
Or look at Manhunt 1 or GTA 3, they are basically doing the samething many PS1 games did, but doesn't look like shit, unlike Manhunt 2
I disagree, I would say Half Life 2 and the Source Engine ended that era. In my opinion HL2 is the first "modern" game. I remember being so blown away by the textures and physics when it came out. I know this is a cliche, but it looked real. I think what also separates HL2 from the other games you mentioned is that it still holds up almost 20 years later. Honestly, who's playing Doom 3 or Crysis 1 in 2022? They were glorified tech demos whereas Valve managed to apply their groundbreaking tech and build a classic game out of it.
@@eXiLe824 I agree Half Life 2 had beautiful physics, but the world is actually extremely low poly and actually quite empty.
I’m not sure how I found your channel, I’m no game developer but I love watching how you explain things! Keep it up and when you do get your game going I will play it!
Something I feel like a lot of people miss (even in the big industries) is the fact that old graphics weren't *just* 'low-poly'. It's incredibly noticeable in character designs like 'retro Crash Bandicoot' in the N.Sane Trilogy and related games. They show a really low poly Crash model, but he looks nothing like the real old Crash looked like, as a lot of it was done with a sort of squash-and-stretch approach rather than just low poly counts (as well as the fact that the Naughty Dog tried to fit as many polygons as they could onto the screen at once).
you also need to disable texture filtering if you're aiming for the PS1 look, and depends heavily on vertex colors when faking light sources. i'm working on a game heavily inspired by Medal of Honor 1999 and Medal of Honor: Underground and i was able to get a convincing PS1 look that REALLY ties itself together
should make it vr compatible. would be perfect for oculus quest vr standalone. Can help you out with figuring that out if you want
@@lifeartstudios6207 hah, i have a VERY barebones demo that simply showcases a still work in progress level. unfortunately i'm not good with programming and scripting at all so i have this big jank mess that just happens to resemble Medal of Honor. but yes!! VR compatibility was planned because i want to feel the environment around me to relive the good old memories just as i remember them
@@lukabrasi001 what game engine are you using?
@@lifeartstudios6207 Godot, i figured it's still new and promising, being completely free and all of that. besides, it gives me a good foundation on retro looks for some reason. Unity has this "stock unity" look that is really standard, i didn't like it. and UE looks oversaturated with lots of post processing and i'm like... why all the horsepower for such a simple game?
@@lukabrasi001 you can disable all of that stuff with unreal. I find unity a lot harder to tune.
Personally I would love to go to Godot but there's so many things missing from there that it would be very hard for me to learn and or do stuff from the ground up
mgs2 was one of the best textured games ever made, even to this day. they had wall textures that were "fully 3d" in that they showed very detailed elements like pipes and the shadows they cast on other parts of the wall. all of it was entirely textured
There goes my "Delusional Kojima Fan" alarm.
@@satsubatsu347 lol.
The time when bump mapping got big.
I remember reading reviews of Doom 3 and was amazing over how good it was.
I wanna see a fully detailed world that has modern design sensibilities but is done completely in faithful PS1 style graphics.
We might've had something close to it if they went through with the original plan of releasing Shenmue on the Saturn instead of Dreamcast.
@@hppvitor I mean like Dying Light 2 but on PS1.
Shenmue had a lot of neat world detail, but it's gameplay was still super limited. I wanna see animators make a block ass character move smoothly through a highly detailed environment.
Design sensibilities like holding a button instead of bumping into the wall to activate a door?
Project Zomboid kinda does that
Look at the Bloodborne Psx demake
2:05 top 10 moments
Her chin, BOOBS, and hair
"Boobs" 💀💀
As you touched on briefly, the PS1 was limited to only be able to do graphical calculations using whole integer numbers instead of floating point values (numbers with a decimal) so often you would see pixels jump back and forth in whole movements instead of smoothly/with aliasing
Another important thing to note is that UV seams and especially sharply shaded edges were often avoided because, to the GPU, a vertex can only have one normal, one UV, etc. So to pass that information to the GPU you'd (and still do) have to duplicate any vertex with more than one UV or normal on it. This is why almost no games that are *actually* old use flat shading. It's very expensive.
on the ps1 the point about duplication being slower isn't entirely true, since the GPU only takes in a list of 2d primitives (quads or triangles), that each contain a set of 3/4 vertices, so for the GPU to draw them the vertices have to be duplicated regardless.
it's true that flat shading can be more expensive though. if the amount of vertices is less than the amount of faces, then smooth shading will naturally require less lighting calculations.
That general principle is true of a lot of things actually. The legit 'retro' way is actually harder in many ways. Progress was often about making it easier on the devs.
I remember when games switched from sprites to 3D models and went from 5 or 6 CDs back down to 1 or 2, yet had substantially more game content.
2:05 peak game development
it was so unexpected lol
@@sock7481 we were all thinking it but he just went and said it
he Isn't dirty minded and he thinks saying it is normal lmao
You forgot to mention CRT interlacing and other features of that type of display those cannot be (sort of) emulated or recreated on LCD displays, like natural anti-aliasing as the effect of luminophorous screen layer not going to black instantly. Also dittering everywhere.
Alex K.
He stated he wanted to keep it simply "leaving" those out.
Admittedly, some people (I'm one of those people) are more interested in emulation of the raw output than the full experience. I'd love to make a game that would look identically to if someone plugged a PS1 into a modern-day monitor, vs. trying to look like what people remembered PS1s to look like on CRTs.
So including line doubling to make it even run on a modern screen?
I love it when retro aesthetics are still being applied even to today in small indie projects or otherwise.
It was really common back in the day to shade polygons based on their angle to the camera
This has all the components of an amazing tutorial:
- Short
- Demonstrative
- Before & After
- Examples
- Live Editing
- Simplifed
- Good explanation
First time I'm instantly subscribing :)
Can anyone please explain to me why light effects were so different between the PS1 and N64? This question has been on my mind for a long time. Light effects on the PS1 for things like lasers, fire, and explosions actually looked more like emitted light. The were bright, intense, and full of color. On the other hand, N64 light effects were sometimes barely there at all, and seemed more like flat, painted expressions of a flame, laser, or explosion and were often dull and boring in comparison. Of course, first-party and Rare games often did a little better in that area.
Me in 2002: Can't wait for the future to play games so realistics.
Me in 2022: Bruh i love my modern games with ps1 graphics.
They also used baked lighting, albeit low resolution. And in my opinion, even this low resolution form of light baking looks more pleasing than some games today that have dynamic lighting and shadows simply because light baking/mapping is more accurate.
I always wanna hear Garbaj say "And as always, have a nice day. Thank you." the way LockPickingLawyer says it :D
Every time the video ends...
A big reason why Luigi’s Mansion was a launch title for the GameCube, the console generation after the N64 and PS1, was to highlight dynamic lighting with its spooky low light atmosphere. So prominent was it that the introduction of dynamic lighting was considered such a big deal as to warrant a launch game to highlight it.
There's also the fact that 64 bits consoles used Gauraud Shading, while more modern engines use phong shading, env mapping, antialias and render much more polygons than the ps1 / n64 / saturn..
You make a really good point. I work with an open-source derivative of older Game Maker versions and have dabbled a bit in the 3D side of things, using my own software to create the models. It seems like it would be fairly easy to create something with an N64 aesthetic given the lack of getting all those frills you mention out of the box, although I lean more towards a classic DOOM aesthetic. I have only used Unreal Engine briefly and never Unity.
Now here's the crazy point I'm getting to: if there's a bunch of extra stuff you have to disable to develop low-poly in Unity and/or UE, does the lack of these features in Game Maker or at least older versions of it make it worthwhile to use over these newer and more advanced engines?
@@lineriderrulz i'd say using unity or godot still makes sense, since the effort required to write a few custom shaders that emulate these old consoles' graphics is still far less than the effort required to essentially write your own 3d rendering code from scratch. although unreal engine would probably require you to reverse engineer the entire thing and swap out the renderer for a literal ps1 emulator, so at that point you might aswell write your own game engine.
as a side note, what's this open-source derivative of game maker you mentioned? sounds interesting.
@@henkle1610 Thanks so much for your opinion on the matter. I think what you say makes a lot of sense. Game Maker does have 3D support out of the box, and even shader support, but the features to make the most out of it at least in the versions I know of are limited. If you want a perfect 3D collision detection, resolution, wall sliding system, you would have to roll your own or reuse someone else's work, and then you lose the benefits of rolling your own. I've faced such a challenge for a while, and as someone that sucks at matrices, trigonometry and honestly just maths in general, it's a nightmare. There's plenty of literature out there on how games have achieved it, but all of it is too complex and mathy for my little brain.
The open-source derivative of Game Maker I'm using is called ENIGMA, it stands for Extensible Non-Interpreted Game Maker Augmentation. It converts code written in its own language to C++, then compiles it. The performance gain is great, while keeping most of the simplicity of GML (it's supposed to be backwards-compatible). A couple of warnings if you do want to try it: first the syntax is based on old Game Maker versions from before GMS 2, and second it can get a pain to get from nothing to running a game if you're using Windows - you may have to mess around a lot with installing and uninstalling different Java and MSYS2 versions as well as checking out different branches and revisions to find one that will actually work in Windows.
@@lineriderrulz yeah I've done a bit of 3D in GMS2 (which doesn't sound much different from the version you're using) and the thing is that you basically lose out on all the engine's features. there's no 3D scene preview, no LODs or frustum/occlusion culling, so complex scenes are a no-go, no collision detection or physics like you mentioned. at that point all the engine provides is the scripting language, a window to render your 3D objects in, and a way to get user input. if you're making a 3d retro style game and you *really* want maximum authenticity in both gameplay and graphics, it might actually be a good thing since you can create the stuff like collision detection and rendering optimizations from scratch to closely match how they did it on the original consoles.
but if you're making something that just looks retro minus the gameplay jank of the time, or just any other type of 3D game i can recommend Godot. it's got a steeper initial learning curve than something like game maker, but it makes up for it by just giving you so many tools and features so you can focus entirely on making your game without having to create your own physics or UI or pathfinding or whatever systems. it has its own python-inspired scripting language called GDScript, but it also supports C# and has a C api meaning any language that can interface with C can (and probably will) have bindings available for it. that also means that if you're felling particularly unhinged you could probably jerry rig the ENIGMA language & compiler to be compatible with godot.
also, it's free and open source and runs well on every platform
Ah cool; I wanted to make something with that ps1 retro look. Good tips.
I'd also add that it looked like the model's vertex normals were copies of the face vertex normals (making them look flat). You can average the normals of the faces surrounding each vertex to make a smoother shaded version which also resembles results of fake lighting.
What I like to do is use shaders to make my characters fullbright with vertex wobbling and all that while leaving the environment traditionally lit and solid (still with sharp pixely textures though). Not only does it improve readability by having the enemies pop out from the environment but it also has a cool stylistic look.
bro you got in a Film Theory vid
Checklist of stuff that I know should be used : Low-poly, No lighting, shadow baked into textures, No anti-aliasing, 256x224 resolution or 640x480 interlaced, either A: Resize/upscale to modern resolution without """improvements""" IE Pixel perfect, or B: CRT blur & rainbow banding as a post-process if you're feeling fancy. Frame rate was usually 60fps Buuuut that includes interlaced resolution meaning odd and even pixel rows updated on different frames, which looks super jank today. Honestly, I wanna see how you would do old-school CRT Interlaced video, followed by the blurring of how CRT handled raster graphics without true pixels, and the application of rainbow-banding.. That's what I really wanna see.
Many games for ps1 never hit 60 out of over ambition. Hard to rec-create, essential for authenticity if you create very busy scenes.
I feel the need to point out that 60fps only ever really happened with interlaced video at full res, meaning half the resolution updates, then the other half. which today we might interpret as being 30fps with full resolution, or 60fps with the half resolution, which was tiny. Interlacing breaks the modern conception of "frames" Also, many PS1 games did still hit that 60FPS mark, including FF7, and anything that had pre-rendered environments with 3d models, or anything with fixed camera angles (to hide what was and wasn't pre-rendered.)
At least, that's my understanding of it
320x240(or 224), not 256, that's SNES resolution
@@SisterRose tell that to wikipedia
@@therealquade "displays resolutions from 256×224 to 640×480"
that's from, not either or. in practice very few games would have been 256x224 unless they were again, SNES ports or really trying to save frames. there are several "In between" resolutions as well. 320x240 was the most common resolution. Some of the 2D games like fighter ran in one of the inbetween resolutions.
Place a round dark grey circle in the ground where the character is standing and you have everything.
i cannot belive he sayd "boobs" instead of "honkers. a real set of badonkers. big dobonhonkeros. massive dohoonkabhankoloos. giant tonhongerekoogers"
I admire the determination of developers looking to recreate the look and feel of a console generation. Although retro+ (idk what people would call it, retrowave is taken by music) where they mimic the look and use modern tech to enhance it can create some cool results. A lot of these games look amazing with just a few tweaks, and like in the video, it's mostly lighting, shadows and some anti-aliasing.
Soul Reaver on the PS1 is an amazing game, then you take the dreamcast version, spruce it up a hair, and it looks like an HD remake, or at least how my brain remembers it when I was younger.
Hey Garbaj! Just wanted to let you know, this video showed up briefly on the Film Theorists channel at 15:50. It was brief but you were still there! I recognized this video, and it also showed your channel name. Keep up these amazing videos!
I would like the ps2 and the hd 2d graphics explained. People tend to jump from ps1/n64 to ray tracing.
Agreed, either that or OG Xbox or Gamecube would be cool to have explained
@Facepalm Full O' Napalm it's harder to emulate the ps2 style because there's no "magic bullet" for it like the ps1. ps2 games basically just look like crappier versions of modern games, while the ps1 has such a distinct style that anyone can turn off texture filtering and toss on the first google result for "funny vertex jitter shader" and everyone will immediately cream their pants and scream "PLAY STATION 1!!!!!" even though an actual ps1 would just evaporate if you tried to run those graphics on it.
information about the ps2's limitations is all you need. if you design your graphics from the ground up to fit within those limtations it'll look like something from that era. if you exceed them though it'll quickly just become "haha game with bad graphic"
@@henkle1610 Yeah, no. This is just plain ignorance. PS2 games have a very distinct look. If you see a picture of one you know it is (unless it's the 2008 later half type.) Even people who never played those games know it's from that era. Think of Shadow of the Collussus, Silent Hill 2-4, Resident Evil 4, Bully, Metal Gear Solid 3, Psychonauts, God of War, list goes on. They all have that look that screams early 2000. To call them crappier versions of modern games is a disservice because all of these games I mentioned still hold up beautifully today (especially Shadow of the Collussus).
The distinct look is Phong Shading, Grey or brown color filters, mid poly models, low resolutions, lots of bloom, fog, mostly pre-baked lighting, vertex lighting. It all comes down to the texturing work though. Textures make or break the PS2 aesthetic. Mostly Photobashed with handpainting over it, especially shadows.
@@dylanroemmele906 by "worse" i meant worse fidelity, not worse "look." you're right that games from that era look very distinct (my comment initially mentioned that but i cut out some parts cause it was becoming a novel whoops), but..
variations of phong shading are still used today. grey or brown color filters are still used today. lots of bloom is still used today. pre-baked lighting is still used today. vertex lighting is still used today (probably not in the big budget photorealistic AAA games, but still).
what i meant by "crappier versions of modern games" is just that that generation of consoles was really where a lot of the technologies & effects games still use to this day began.
my whole point was that for people to recognize your game as emulating the ps2 look, you need to actually emulate the ps2 look, because there's no single effect the ps2 did that immediately makes people go "yeah that's ps2 alright," you need the whole package.
meanwhile most "ps1 style" games really only turn off texture filtering and add a funky vertex jitter shader (bonus points if they actually get *that* right). if they're feeling real fancy they may turn off perspective correction on textures, without implementing the techniques used at the time to prevent excessive warping. everything else the ps1 did can just be ignored and people will still recognize the style. you can't get away with that for ps2 style graphics.
@@henkle1610 Ok I understand what you mean now sorry for the misunderstanding. Just want to point out though, an engine like UE4 and Unity don’t come with Phong shading and vertex lighting right out the box. I forgot to mention that NPC player models not being affected by lighting (Unlit) hence why you never see those dark shadows on their face you would otherwise see in a modern game.
How would someone recreate Mode7 in modern game engines?
For people who don't know Mode7 was used in the SNES days to create 2D sprites that could be calculated in such a way that they looked 3D.
For example Mario Kart SNES or Star Fox.
I'd say even these recreated examples don't look perfectly like old PS1 graphics. It looks like an imitation.
Like that vhs filter they put over videos.
Somethings you forgot to do, bake the ground's lighting, you only drew shadows on the walls, gotta do the ground and cieling too, add a circular sprite that always gets drawn on the ground unter the character, the character needs their own shadow, and a low rez circular transparent black circle drop shadow, is what you see in most games, sprites are cheap, go nuts, if it's one of the closer LOD models, draw the little circle shadow. Last thing, you shown PlayStation look, it's pretty cool, but you forgot N64 look, remove the worble and posterization effect, blur the fuck out of the texture, add a bit of antic anti aliasing, You now moved from PS1 style look, to N64 style look. Gotta blur these textures and smudge these jaggies.
PS: Also, old PC games, limited colors, low framerate animations, no worble, no anti aliasing, no texture bluring, crusty AF bilinear anisotropic, no interpolation, funny screen borders so the game is sent to the screen in native resolution, but 3D scene is lower to gain some frames back and sweet sweet early Direct X... I mean, Direct 3D and early OpenGL effects.
I still have hard time believing that the Playstation does all of its 3D using only fixed-point 16-bit integers. Floating point math is an extravagant luxury that we take for granted
the fixed point integers is why the poly's wobbled too isn't it? from bouncing between those rounded numbers?
And then for even more accuracy, you need to put a filter over it so it simulates the blurriness of a CRT TV
It's interesting how far so many of us are in our understanding of how video games work. I'm just now learning about the N64/PS1 games of my youth.
Based on all of the information I've absorbed about video games over the years I've learned that lighting is probably the most impactful single factor when it comes to graphics.
Garbaj, where is your Godot networking tutorial?!
Manually drawing shadows into texture, ahh the old days...
You missed the two biggest factors. The low resolution and floating point errors which were specific to the PS1.
I feel like now, in modern days, retro graphics from yesteryear feel more like an art style to me than the "standard". Given our grand advancements of technology, we can make our games look like most things we want, either super realistic or, in this case, like ps1 graphics. One game that I enjoy that does this this style in a bit more modernized way is ULTRAKILL. It has many characteristics of ps1 or late 90's 3d game graphics but also has the joys of things like dynamic lighting, which is done to fit in a lot more with the games aesthetic. Though maybe the game resembles more of quake, it obviously has features that let you play in a ps1 style so I think it leans a bit more to that side as well.
All in all, I believe you can do a bit more with the ps1 "look" as long as it blends in nicely with your game's aesthetic and doesnt look jarring.
Though if you are aiming for accuracy, then Im not the kind of guy to stop people from doing what they want and enjoy :)
2:05 the what?
tha hugehongerpalucker
the melons
are you 5
@@CosmizEveyesrerday
pogu
In the n64 era, lots of games faked hard shadows by cutting polygons and shading them or by putting alpha textures with shadows drawed. Rare games does this extensively, the best example is the first level in perfect dark.
quick and to the point. I liked the info dump you told me what I wanted without padding or filler. thank you.
subscribed.
I would also think a lower resolution would help with making the models look more "authentic", as well as the positioning of the camera. Zooming up close in 1080p, and the video being really crisp instead of blurry emphasises the low poly nature of the models, whereas if it was 480p blown up, it could look more like the original. Also they could change the models on the fly based on the camera (sm64 used this) where it was basically unnoticeable to the player.
In fact it's possible to make internal rendering resolution low (like 250p, 360p or 480p up to 800 x 600 to 1024 x 768 of old PC aesthetic) while keeping overall screen res higher. Most emulators function like that, and some PC ports (Metal Gear Solid 2 comes to mind) had separate sliders. So having a pixelated lower res can be done without forcing modern displays to switch and screw up desktop and apps like Discord or Steam.
A good CRT filter can take advantage of the higher resolution you're upscaling to as well!
Check out the recent "Powerslave Exhumed" release by Nightdive, or at least the Digital Foundry video on it. They've done a great job at reproducing a weird combination of the PlayStation and Saturn original version, and a good deal of it is the rather unique subtractive lighting system that game had on Saturn giving it a really strong, high contrast look. It also has options to reproduce CRT effects, affine texture warp and fixed point transform vertex wobble, which are all mostly really good and work well together to make it feel a lot more like playing the games in that era, and not like coming back to a modern port of an old game (it doesn't have an option for 20 FPS with drops, though, like the Bloodborne demake!)
It helps it's just a great game too: like a way before it's time Metroid Prime.
Baked lighting is much much easier to process. Dynamic lighting calls so much process power it makes sense early days that they would go baked/unlit
Please keep these up!
I'd be down to have a super fun, yet accessible PS1 graphical tutorial series done by you! (maybe one specifically on how to model characters, construct them and texture them in-depth: a bit more in detail than the old one)
1:05 I remember importing KH2 models into unreal for fun for the first time, it was horrifying! XD
I'm still wondering how they made all their hand-painted stuff look so good, faking all the shadows, lights, etc. for characters on PS2, like, was painting directly on the model a thing back then?
I have no knowledge of coding or game modeling, so I am quite surprised that this trick of mimicking lighting is not a common knowledge among those who do graphic works.
Actually really interesting, I don't know why I hadn't thought of lighting before, now it seems really obvious. It would also be kinda cool to check out the weird era for 3d graphics that was the early 90's, by that i mean Jaguar 3DO and 32x
There's a lot of beauty in all video games from beginning. Each has it's own charm.
I'd like to see how someone would recreate Unreal Tournament 2003/'04 style graphics. Dynamic lighting was still used in every map, if I'm not remembering incorrectly?
IIRC it was still baked, even up to UT3. In the editor you were moving lights around and they'd update in realtime, but you'd bake everything before you test the map, it wasn't generating shadows in real-time during play. A benefit is that it would simulate bounce lighting while baking so you could get much nicer lighting than why dynamic could offer at the time, the downside is that often the preview lighting you'd see before baking wouldn't match perfectly. Characters and first person models were lit by light probes I think, so sort of dynamic, I don't full understand light probes but it's some witchcraft again.
Used to map for UT99/2004/3 so baking lighting is embedded in my brain, alongside having to make a second set of UV's for the lightmap bake. I don't miss that part
Hey man!
I have a video idea for you: Why is the first person view in GTA 5 so bad?
“Vertex wobbling” triggers my childhood nostalgia so hard
What a fascinating channel. Glad I found you.
I liked your social credits video
Low poly dva gives me life
I always loved the ps1 graphics. I don't know why but they just look so appealing to me.
Stuff on how more modern games like borderlands and genshin's shaders being key to their look would be cool
For me the most iconic thing about that era was the PS1's floating point vertex imprecision wobble
Thank you.
Can you show how to animate the facial textures?
Also, I'd love to see GC era, such as Custom Robo, Megaman X Command Mission, Pokemon Coliseum, and Tales Of Symphonia.
PS1 graphics was the GOAT
Old 3D consoles did use pre-rendered shadows on textures to simulate lighting and shading to save machine performance to perform other tasks like focused lightining (actual ambient lights, sparks, fire, spells, Navi in OoT etc). If you'd look into game files, no texture has a base contrast like on modern games where every tiny lightining and shading detail is handled by the engine in turn with normals and specular maps (i.e. DooM 2016 and Eternal). Not like the PS1 isn't capable of doing this or something like this (full scene shading). Just performance would be bad, really bad (tomb Raider). Then you have Fear Effect.
I recently got into Blender, wanting to use it to do some concept art work, and I find that videos like these, even if I'm not looking to make game assets, are so interesting and fascinating. A different side of the work that I love.
I love ps1 graphics. They remind me of the golden age of gaming.
I love your tutorials! You made my introduction to Godot very very easy! I would appriciate if you could make a tutorial about sliding that goes with your fps controler! Thanks!
Real time lighting was actually in a few games from the time, Conker's Bad Fur Day used it expensively throughout the entire game, Conker himself having a dynamic filtered shadow which reacted to light sources stretching and projecting over the environment
I'm a fan o retro style games, but I normaly only use the low poly models, low res textures and fake lighting, because I like mix of modern style and retro style, and two things that I'm a big fan of are animated textures and 3d sprites
Honestly you kinda nailed the explanation
I hope you have a great day.
I love this, it's so cool! I remember reading a post by an engineer once, explaining that the reasons pixelated games like the original final fantasy games, looked more detailed was also due to the CRT monitors and their different refresh rate technology, on top of the low resolution. developers had to be creative and crafty to achieve their vision with such limited technology, you can definitely tell which games were made with passion in that sense
I played tons of the Crash Bandicoots when i was a kid, 1, 2, 3, that racing game and Crash Bash.... Good old days before internet. Wild to think that my generation was the last one to live a childhood without it's influence, 1995
Another part of this is that games back then were meant to be displayed through a crt monitor. The pixels on screen were basically tiny light bulbs displaying one color. This created the signature low resolution, but they also used various visual modeling techniques like texture hashes and proto OLED techniques of leaving some pixels black to create the illusion of depth and detail. That's why older games look flat and jagged on newer monitors, you weren't supposed to see the game in that much detail. It's also the reason the crt filter exists for most emulators.
My pet peeve is when games with PS1 style also purposefully include the worst aspects of it such as texture warping that cause terrible motion sickness for many people. If you are going to include something that causes motion sickness in many people, at least put a toggle for it like PuppetCombo started doing in their later games.
Very informative. I learned recently about the dithering the system did by default. It was a clever way to sorta blend colors to trick your brain into seeing smoother graphics.
Especially on a CRT with interlaced screen draw and color artifacts from using a composite connection. All kinds of stuff that turns dither and to gradients and transparency.
>paint shadows on
This would have been baked, at least in competent engines back then. Even today you can bake lighting in.
yeah Unreal Engine 1 had a lightpass, so you added lights into the map, and when you "built" or "compiled" the level, it would calculate the lightmap and bake in the appropriate lighting. If you moved lightsources you had to rebuild the map or the shadows would be wrong. I'm sure pretty much every 3D engine since Quake 1 did this, apart from perhaps Jedi Knights engine which had very strange flat lighting. Pretty impressive even Quake 1 had this considering it was the first real 3D texturemapped engine
Yes
I commented on a comment
You're missing a big point about PS1 graphics, just like everyone else. Limited color space!!!
Like come on, your D.va texture uses at least a 1000 colors, not even 256. In reality, PS1 supports only 16 colors per face/polygon.
So in order to make a car for gran turismo with more than 16 colors, devs used palettes. you get 16 colored texture about 256x256 resolution max, and divide it in different parts like windiws, car body, lights, that would use different palletes to make up for more colors.
So in reality, there's like 16 colors x 16 palettes = 256 colors, but not all at once. That makes your D.va model obsolete and unfitting with the restrictions and artstyle of PS1. You can only have 16 colors per polygon. Multiple polygons can share the same sets of palettes for the same texture, but you can't just have a 256 color texture on PS1.
I think its smart what you did, create a ps1 model of a trendy modern-day video game character and explain how lighting masks the polygon shape in a manner that gives it the retro look.
Great work! A new meta format for videos looking great
I really like how with these advancements in technology old "PS1 Graphics" still retain their charm.
I feel like another more theoretical concept to making a game feel like a ps1 game is that many of these devs tries to stuff in high quality handmade textures into limited hardware and tried to maximize the most of limited tech while hiding its drawbacks, I feel like Silent Hill 1 is an amazing example where yes it’s a low Res game but you can see and feel the effort put into it, I don’t know the name but someone made a silent hill 1 inspired game that perfectly would pass as a ps1 game of the era
That's actually really interesting, hope indie dev's learn from this and make some cool looking PS1/N64 throwback games.
When I saw the thumbnail, I was thinking it was going to be like an SFM SMG4 sort of deal, but no it's an actual serious conversation that is actually pretty strong.
Also gotta remember that we lack some tools today that artists had back then, like it was common to bake something akin to a directional light into vertex color data using tools, not just manually painting (although it always required some amount of manual painting) and plenty of games used dynamic vertex lighting too, which unity kind of supports but not very well, and unreal doesn't support at all (idk about Godot sorry) and that's just like one thing there's a million technical aspects to consider when making retro graphics
In blender there is a bake to vertex color feature that seems to work pretty well so you can bake lighting to vertex colors in it
@@jlewwis1995 that's true but it's not really practical to do for a big level you could make in a modern game engine which would need to be broken up into a ton of different meshes and all those meshes are probably reused several times in the scene and need to be reused in other scenes as well. On the PS2 they had tools specifically for game levels and I'm sure they were common for other studios and consoles. I think people in the Haunted PSX community do use blenders baking features occasionally though if their level supports it
@@morganlak4337 well it depends, if it's in outdoor level you probably want most of it statically lit anyway unless you want a day night cycle so the rendering feature would be really useful there, if it's a mix of indoor and outdoor you could bake the outdoor part and place dynamic lights for the indoor area in places that need it and bake the colors in areas that dont need it, that's one of the benefits of using vertex colors vs lightmaps, mixing static and dynamic vertex lighting is extremely easy