I've seen some retro games that replicated some of these issues and wasn't sure why. I grew up with an N64 rather than a Playstation, so I wasn't familiar these graphical quirks. It's cool to see how they bent the rules to accommodate their hardware limitations. 1 MB of video RAM is almost nothing these days; minimalism is a lost art and devs these days are horribly inefficient because our systems have an overabundance of resources. It's so wasteful, and performance could be so much better if games were properly optimized. Maybe you could do a video on N64 graphics and what makes a distinct N64 look?
I grew up with a PS1 and when i looked at a n64 game it was more colorful but a lot more blocky. I think the ps1 had this unwanted effect of making the worlds less blocky and more realistic.
@@Cyclon32289 From what I understand, the N64 was the more technically advanced hardware, but the PS1 was generally more popular and had a lot more games. IIRC, the PS1 was released first and initially competed with the SNES (and was primarily a 2D system; the PS1's 3D capabilities were likely seen as a massive improvement over the SNES's mode 7, rather than something built specifically for fully 3D games), so while it was less technically impressive it had a head start. Optimization was also a factor, I'm sure, and the PS1's head start meant that developers were more experienced developing optimized games for the PS1 than they were for the N64. I know there's a substantial improvement between early N64 games and late N64 games, so I assume the same holds true for the PS1. Personally, I find the N64 has more charm, but that's likely just because it's what I grew up with. But I can't deny the success of the PS1, and how impressive it is despite the inferior specs. The N64 was mostly propped up by first party titles, something that's been a recurring theme for Nintendo. Seeing how Nintendo treats their customers, I wouldn't be surprised if the big N has PR problems with third party devs, too.
Reminds me of games like Ratchet & Clank that had an unprecedented level of optimization in order to run properly on the PS2 Meanwhile games nowadays can crash, glitch, corrupt & when it comes to optimizing they don't bother doing it for anything other than top of the line hardware, so if you're playing on outdated systems have fun with sub-25 FPS
When it came down to 3d rendering capabilities, th n64 surpassed the ps1, it was able to do a lot more calculations per cycle. The thing is, a lot of people might blame cd vs cartridges for the n64 more "blocky" textures, but the main culprit was, the n64 had, after rendering all its 3d triangles on screen, only 4kb of texture to fill them up. That was a major problem if you wanted to have nice textures. The ps1 had a lot of drawbacks as well, but it's always nice to see their differences visually. It was a great time to be alive.
@@Greywander87 Not really. The "Play Station" was designed as an improved SNES, yes, back when Sony and Nintendo were working together. But when Nintendo balked at the contract, Sony ditched the 2D side in favor of drastically improving the 3D capabilities. Sega, on the other hand, *had* taken the 'hybrid' approach you suggest: Instead of texture-mapped triangles, the Saturn was capable of applying 3D transformations to sprites, letting them almost act like quadrilateral polygons. Except that every 'quad' was mapped to a square texture, regardless of its actual proportions. The N64, meanwhile, suffered from a very small texture cache, an overcrowded memory bus, and a very complex 3D rendering engine that required is own microcode to operate. The first two remained a constant thorn in software design, but over time, developers were able to use, and even program, their own rendering microcode, which provided a massive leap in efficiency and capabilities.
I figured the lack of floating point caused all the jankiness. The Z-fighting was also somewhat obvious. But I never realized how much the lack of depth buffer contributed to the jankiness, as well! Thanks for the explanation!
Same here! Thought the lack of floating point operations is the culprit. Also... lols for "jankiness" and "z-fighting". You must have a thing with words :)
Translation: I heard it on other videos that it was lack of floating point and now I'll make a comment about it like I came up with it myself so I sound smart.
You missed maybe the biggest point of all: lack of sub-pixel accuracy in polygon rendering: It's not dependent on floating points as some hardware have used integers to present each pixels for example as 4x4 or 16x16 sub pixels. When the polygon edges are calculated in that way, the polygons seem to smoothly slide on the screen, instead of jumping and jittering around horribly, like on PS1. Lack of subpixel accuracy in polygon edges destroys the texturing also in an irreversible way.
No the biggest thing he missed is the fact that the Playstation 1 used affine texture mapping and was not perspective correct. This has nothing to do with lack of floating point which is the only thing mentioned when it comes to texture mapping.
@@FluffyAnvil You can get quite good results by subdividing the surfaces into smaller triangles/rectangles. That method was used to fix the lack of perspective corrected texture mapping. But trust me that the lack of subpixel accuracy in the scan conversion / rasterization has a huge impact on what the results look and feel like. Especially in that low screen resolution.
@@FluffyAnvil Sure, not many racing games took advantage of the subdividing of surfaces approach because there was not enough memory to have several times more geometry in the memory. That's probably the biggest reason for not doing it in racing games. Too much surface area to cover.
@@FluffyAnvil Well, he didn't really missed it, however he somehow combined it with the lack of a depth buffer, even though it's completely unrelated and a much bigger issue as you said. The lack of a depth buffer can be worked around by level / object design and some crude depth sorting which should work for most cases. In the end most games didn't have that many polygons. So they simply tried to avoid certain overlaps or problematic alignments. Yes, perspective correct texture mapping is one of the biggest things besides the lack of texture filtering.
I gotta say some of the limitations were pretty noticeable on a CRT TV. The affine texture mapping was really noticeable, and it didn't happen in the Nintendo 64 or PC. Same thing with the polygons overlapping each other, and the vertex position resolution. However I totally agree on the dithering and unfiltered textures not being a big issue. You could notice up close the difference between N64 textures ans PSX textures, but N64 textures were so low res they became a big blur while the PSX ones looked sharp and more detailed, and gave a crispier look. To put it in perspective for those who were not around back then, I don't remember me of my friends being impressed by PSX or N64 3D graphics. We had pretty looking 2D games back then, pretty looking pseudo-3D FPS and racing games and some 3D arcades that looked pretty good. The crude 3D of the PSX and N64 kinda felt like a step back aesthetically, but it presented a whole new universe of gameplay. Many 3D environments still presented impressive environments despite the blockiness, as any minecraft player can attest. I think the first time I was really impressed by a games graphics was when I brought Hitman 2: Silent Assasing (2002) home. There is a scene in Sicily during the intro were you see some crops and 47 picks a bucket. There was something about the textures and the lighting that looked so real. It probably looks like crap if I google it today but it definitely felt like 3D was finally looking good.
This! For the longest time after the introduction of 3D graphics, pre-rendered 2D still looks loads better. Of course, 2D had a ton of limitations compared to 3D, but in terms of pure graphical quality, 2D looked better.
@@praystation sorry I forgot to timestamp my comment. I'm replying to the authors claim that the limitations were not noticeable on a CRT TV by saying that some were indeed hidden by the way those TVs worked while others we just tolerated.
A lot of people cite "CRT TV" for things that are actually concealed by low-quality cable formats like RF and composite. Using SCART or Y/Pb/Pr would usually make flaws more apparent.
The 4th problem is actually two different problems. You can calculate a perspective corrected polygon without any depth buffer, and vice versa. It just so happens that they both share one division so one is rarely seen without the other. But it happens, I have seen it. I had a PC where perspective correction didn't work but depth buffers did. I don't know if it was the driver or hardware limitations, though.
A few more PS1/PSX characteristics is the lack of true alpha transparency (textures can have alpha transparent holes cut into them but never have gradients/anti-aliasing), the usage of decreasing the gamma output to simulate fading out to black instead of using an overlay (you can notice this in a lot of games where the brightest parts of a scene fade to black last), and a hard limit of ~10k polygons on any one frame for a 30 FPS game (double the framerate and you halve your polygon budget - few games ran at 60 FPS). Thanks for the video!
i kind of consider it a super power to have grown up on Playstation and Sega Saturn games. When modern games drop to 30fps, I have no problems, while younger gamers freak out. i only notice it if I spend a lot of time playing a game with a high frame rate, and then play a game that runs slower. but after a few hours, i get used to it.
@@PoorMuttski same i still don’t understand the big deal about 60 fps. the standard for animation and movies has always been 24 fps, i feel like there’s not much reason for games to go any higher than 30 fps unless there’s lots of very fast animations happening.
@@stinky59 I kind of agree. It is a bit like real-time reflections in games: beautiful and impressive when you have it, but hardly noticed when it is gone. I have played a few games where it adds a lot to the sense of realism, though mostly in games with cartoony graphics. It is just nice.
@@stinky59 Film and animation have drastic cuts in frame rate out of practical necessity: For cinematic film, every extra frame is another inch of film stock *per second* the camera is rolling, along with reduced exposure time and faster physical speed of the film through the gate. Likewise, with animation, every extra frame is another physical picture an artist must paint. Animating on 2s and 3s became pretty common just as a means of reducing the amount of artwork needed. But make no mistake: These were not artistic statements or genius insights on the nature of vision. It's practical necessities necessitating a 'good enough' approach. The human visual system can see, and react to, events *far* faster than the 15fps fusion rate suggests. And in games where that reaction time does matter, frame rates of up to 240 fps can actually produce notable improvements in a person's gameplay.
Ken Kutaragi and his team were actually quite genius in cost-cutting. As you viewed a PS1 game on a low res CRT TV you might even not notice these artifacts, while 3D graphics were still mind-blowing in 1994.
Mmh, while dithering wouldnt be noticeable and in some cases could event be identical as the tv produced the missing colors with light bleeding from nearby sub pixels. (Many older systems relied on this). The rest of the flaws were visible and sometimes distracting like the z sorting making vertexes pop around like crazy in some games. Color banding was also terrible if the gradient had too much contrast between light and dark but fine in other situations.
Part of the lack of floating point precision is also the position of the vertices themselves. While this is mostly an issue with emulation, the lack of subpixel precision for vertex positioning does show a bit at the original resolution (though I believe it rarely does show on a CRT screen, would warrant some testing) and does give a very slight wobble to edges when cameras are moving. It's very subtle but still there a bit.
@@nugget6635 yup same, to me ps1 was always the wobbly jank console while n64 was "smooth" though ps1 obviously had sharper textures, they came at the price of wobble.
@@devilblackdeath The edges of polygons however looked a lot smoother and not as aliased as in emulators. 2D Sprites looked perfect. CRTs have this smoothing effect but the wobble was still noticeable.
@@80n3y4rd The thing about CRT tvs is also the fact that the PS1 outputs at their native resolution no need for scaling and well it looked quite good because basically the CRT tv can display the PS1's output with minimum distortion.
I’d say while CRTs paper over some of these flaws, I think it’s more that at the time, these graphics were new and cool and looked amazing compared to what we had before, so we put up with the imperfections.
we were also playing over RF or composite, on top of the softening glow of the CRT. but yes, mostly it was a matter of comparison and the benchmarks were greatly moving forward for home console.
What may be difficult to imagine now is that at the time, these graphics were excellent, the very first time you could have a 3D games console in your home! We didn’t even notice all these flaws, other than large pixels when objects were too close.
All the technical limitations in older consoles made developers being creative and use brain rather than just throwing all the textures into the game rom. That's why some of those games are so awesome and have so much attention to details.
Yeah I remember texture filtering was one graphics advantage the n64 had over the PS1. Side note, the NDS doesn't have texture filtering, so the n64 ports/remakes on the NDS look way different than the original without it, almost looking like they came from the PS1.
I will say, back in the day, the polygon z fighting and walking textures certainly bothered me, despite using a crt. Then again, I was a big Nintendo fanboy, despite the flaws n64 had.
Depth buffer is only used for discarding far fragments, it is not used for correct interpolation. You can create OpenGL/Vulkan Surface without Depth Buffer or turn it off, and you still will have correct interpolation. Depth Buffer is separate buffer from Color Buffer. It stores only the nearest fragment depth (by default). However you are right about correcting interpolation by using z coordinate.
In fact, Quake had wobbly textures for the characters (affine mapping, If I'm not mistaken), but not for the level geometry and used z-buffer for it, while only writing to it when rendering the levels (using perspective correct mapping). All this while also using floats. Carmack figured out he could perform certain instructions in parallel while floats where sent down one if the pipelines inside the CPU).
The expression is “add insult to injury” not “add salt to injury” at 5:44 seconds. Great video 👍 i just got a chuckle out of that so I thought I would mention
Great video! PlayStation graphics are indeed charming and can is like beautiful stain glass art at its best. I lust love the style of games like Medievil or Vagrant Story and genuinely continue to be more impressed with older graphics that modern.
OH MY GODDDD THAT OPENING CLIP, YOU JUST UNLOCKED THIS HUGE MEMORIES OF ME PLAYING FUTURE COP IN MY OLD PS1 WHEN I WAS LIKE 6!!! I DIDN'T EVEN REMEMBER THAT GAME!!!!
Even as a little kid who knew nothing of "texture mapping" or "3d models" or anything I noticed some of the weird graphical oddities. I was obsessed with Spyro the Dragon and often noticed things like the bottom of characters' mouths being visible through the top, etc. and always wondered what caused it. It's so great to have a better understanding of it now, almost a quarter century later 😄 imo it gives PS1 games such a unique charm, I can hardly even see it as a "flaw"
i think this is why I preferred 3D characters on rendered backgrounds. I like Final fantasy, and Resident evil more than Silent Hill and Tomb Raider for example.
I've been looking for a way to write a shader (compatible with Redshift Render) that will fuck up my UVs per each tri based on camera proximity to simulate PS1's texture mapping. I've already figured out quantizing geometry to integer values accordingly to the camera position so that I don't have to do my own camera math and transform the matrix of the whole scene. It's also important to mention that the PlayStation used something akin to Gouraud specular shading based on coloring vertices to achieve lighting.
This TH-cam channel will become very big, very soon. Glad to be here in the beginning. + Now I know what to look out for when replicating this look in my own games, thanks!
Lol. When you said “easiest to understand” or whatever, I would have said the floating point stuff. That’s extremely straight forward and extremely obvious. If numbers have to be rounded, things are going to “flutter” and shift around. Anyways, cool video.
I finally understood why playing ported PSX game or playing on emulator with texture filtering feels so different. all those smooth texture make what I remember in my childhood and what I see now feel uncanny.
Good video, but some more information regarding the relation between the GTE and GPU would help explain a few things: 1) The GPU (rasterizer) doesn't understand 3D coordinates at all, it only uses X and Y coordinates. The programmer must tell the GTE to do perspective transformation from true 3D coordinates to 2D coordinates after being done with manipulating all the geometry. This is the main reason why affine texture mapping had to be used, Z is lost in rasterization. 2) While the fixed point precision of the GTE isn't the highest in the world, it's not as bad as one might think. To render a polygon, the PlayStation has to map vertices to a pixel in the framebuffer. This has the effect of increasing vertex precision as resolution goes up. You can see this in games like Tekken 3 and the arcade version of Soul Calibur when they run in higher resolution modes.
Great video, you should really continue your channel. Back then, when we were kids, we discussed why PSone had those graphic disortions and N64 not. But at the end we loved to play both systems. N64 for it's great stable graphics and PS1 for the unique story telling and cinematic renderings and voice acting 🙂.
Fun-fact : The Game Boy Advance have similar limitations when it runs 3D games. And the GBA even lacks hardware support for 3D graphics, it's all software rendered.
I never thought the warping textures was bad, but one thing that I did not like was the dithering!. I could only see that pattern all over the sky in racing game etc. it was like it was burnt into the crt :)
It's worth noting that whilst the GPU can display 24-bit colour images, it can only actually render 15-bit colour images. 24-bit true colour images have to be uploaded from the CPU and are primarily used for full motion videos or title screens.
The lack of floating point wouln't be much of a issue for the 3D math if it was using 32bit integers, but it is not. The GTE does all it's math in 16bit, which cause the rough jumps between the possible 3D coordinates.
I do love how a brand's game consoles reflect the philosophies of the companies that make them though. Sony in patticular has always felt like a souped up piece of hi-fi or entertainment kit, being simple and too the point for beginners while packed with bells and whistles for the informed user.
Having played the original Wipeout and Twisted Metal when they first came out in the 90s, I can definitely say I noticed the wobble, even on a little 13" CRT (what else would a college student have!?) TV. 😉
Alpha blend were calculation expensive in the era, and they use the CRT property to make it cheap, which look bad on todays display. Flickering and dotted pattern, that is why having a CRT for retro game is a good investment.
Implying that there's inaccuracies with integers over floating point is inaccurate itself. Floating point and integers are both inaccurate. The only difference is that floating point has high resolution in the origin and low resolution further out, while integers has constant resolution. With a 32-bit variable, with a resolution of 1 mm, you can define a position up to 2147 km from the origin. Floating point working in metre would have a resolution of 2 mm after moving 16 km out from the origin of the world, meaning that the integer at 1 mm has higher resolution and therefore higher accuracy from 16 km up to 2147 km from the origin, while floating point has a higher resolution and accuracy within 1 km from the origin. But most game worlds aren't this large. The largest non-procedurally generated map I could find is Guild Wars Nightfall at 197 km wide and tall. So you can reduce the size of the steps for a higher resolution with a smaller world: 100 µm for 215 km from origin, higher accuracy beyond 1 km compared to float. 10 µm for 21 km from origin, higher accuracy beyond 128 m compared to float. 1 µm for 2 km from origin, higher accuracy beyond 16 m compared to float. So if you don't need a map that is larger than 4 km x 4 km, and you're going to be outside the area of 16 m from the world origin, an integer in steps of 1 µm gives you higher accuracy than float calculating metres.
Back in the day, I did not have a PS but I emulated it using Bleem or Virtual Game Station instead. These flaws were the very first thing I noticed and could not get my eye out of them.
Was obsessed with gaming since the atari 2600 so i stayed away from any ps system till the fourth, i couldn't handle gaming on those consoles it just felt rough.
Were untexturized polygons used in ponderable quantities of games? From a Amiga perspective I remember that the 3D games of this time period mostly based on vector graphics.
I loved the way that playstation looked at the time. But remember this was basically my introductionary era to 3d. Before this most games accessible to kids were all 2d
thanks, with all this information, could you compare the sega saturn techbology to the playstation? they had very similar grafics. would be interesting analyzing it based on a 3d game released on both systems like Alien Trilogy for example. It also got a PC release.
Do Dreamcast vs. PS2 vs. XBOX please. Can you explain why the Dreamcast graphics looked so much sharper and more 'vibrant' compared to the other two comparable and later released consoles?
You don't need depth buffering for perspective correct textures. Perspective correct texturing was often used in pc software renderers with no depth buffers like in doom and Wolfenstein 3d and other 2.5d engines. Quake had a depth buffer to depth sort 3d objects but it wasn't needed to render the level geometery or perspective correct textures.
@@MonochromeWench Exactly! Hence why you don't need a depth bit there. Upon re-reading your comment, I think we're in agreement here -- apologies for the intrusion & have a nice day!
I'm so glad features like PGXP fixed the depth issues of the PS1 and the dithering has been solved for decades. I never grew up with the PS1 so whenever I wanted to play a game that was on it the graphical querks always took a lot away from the experience for me
I wonder if it would be possible, through emulation and a home-brew PlayStation game, to see how PlayStations games could have looked if the PlayStation were built without these flaws. I imagine it would be pretty easy to add depth buffering, more video RAM, etc. in emulation, but it would take a home-brew game built to be able to take advantage of these things, similar to how some N64 games could be toggled to make use of the RAM pack if you had one, to showcase the difference.
Would it be interesting to talk about how modern emulators solve these problems with texture filtering (look at a few common algorithms) and PXGP correction? Im aware of this problem and I can turn PXGP on to solve it, but I have no idea how that actually works.
I've seen some retro games that replicated some of these issues and wasn't sure why. I grew up with an N64 rather than a Playstation, so I wasn't familiar these graphical quirks. It's cool to see how they bent the rules to accommodate their hardware limitations. 1 MB of video RAM is almost nothing these days; minimalism is a lost art and devs these days are horribly inefficient because our systems have an overabundance of resources. It's so wasteful, and performance could be so much better if games were properly optimized.
Maybe you could do a video on N64 graphics and what makes a distinct N64 look?
I grew up with a PS1 and when i looked at a n64 game it was more colorful but a lot more blocky. I think the ps1 had this unwanted effect of making the worlds less blocky and more realistic.
@@Cyclon32289 From what I understand, the N64 was the more technically advanced hardware, but the PS1 was generally more popular and had a lot more games. IIRC, the PS1 was released first and initially competed with the SNES (and was primarily a 2D system; the PS1's 3D capabilities were likely seen as a massive improvement over the SNES's mode 7, rather than something built specifically for fully 3D games), so while it was less technically impressive it had a head start. Optimization was also a factor, I'm sure, and the PS1's head start meant that developers were more experienced developing optimized games for the PS1 than they were for the N64. I know there's a substantial improvement between early N64 games and late N64 games, so I assume the same holds true for the PS1.
Personally, I find the N64 has more charm, but that's likely just because it's what I grew up with. But I can't deny the success of the PS1, and how impressive it is despite the inferior specs. The N64 was mostly propped up by first party titles, something that's been a recurring theme for Nintendo. Seeing how Nintendo treats their customers, I wouldn't be surprised if the big N has PR problems with third party devs, too.
Reminds me of games like Ratchet & Clank that had an unprecedented level of optimization in order to run properly on the PS2
Meanwhile games nowadays can crash, glitch, corrupt & when it comes to optimizing they don't bother doing it for anything other than top of the line hardware, so if you're playing on outdated systems have fun with sub-25 FPS
When it came down to 3d rendering capabilities, th n64 surpassed the ps1, it was able to do a lot more calculations per cycle. The thing is, a lot of people might blame cd vs cartridges for the n64 more "blocky" textures, but the main culprit was, the n64 had, after rendering all its 3d triangles on screen, only 4kb of texture to fill them up. That was a major problem if you wanted to have nice textures.
The ps1 had a lot of drawbacks as well, but it's always nice to see their differences visually.
It was a great time to be alive.
@@Greywander87 Not really. The "Play Station" was designed as an improved SNES, yes, back when Sony and Nintendo were working together. But when Nintendo balked at the contract, Sony ditched the 2D side in favor of drastically improving the 3D capabilities. Sega, on the other hand, *had* taken the 'hybrid' approach you suggest: Instead of texture-mapped triangles, the Saturn was capable of applying 3D transformations to sprites, letting them almost act like quadrilateral polygons. Except that every 'quad' was mapped to a square texture, regardless of its actual proportions.
The N64, meanwhile, suffered from a very small texture cache, an overcrowded memory bus, and a very complex 3D rendering engine that required is own microcode to operate. The first two remained a constant thorn in software design, but over time, developers were able to use, and even program, their own rendering microcode, which provided a massive leap in efficiency and capabilities.
I figured the lack of floating point caused all the jankiness. The Z-fighting was also somewhat obvious. But I never realized how much the lack of depth buffer contributed to the jankiness, as well!
Thanks for the explanation!
Same here! Thought the lack of floating point operations is the culprit. Also... lols for "jankiness" and "z-fighting". You must have a thing with words :)
Translation: I heard it on other videos that it was lack of floating point and now I'll make a comment about it like I came up with it myself so I sound smart.
@@PhocaCPH Those are technical terms! ...right? 🙂
@@themonsterunderyourbed9408 Don't z-fight guys!
This is what happens when normies watch technical videos. Nobody understands the words and instead of researching they just laugh and say nerd.
You missed maybe the biggest point of all: lack of sub-pixel accuracy in polygon rendering: It's not dependent on floating points as some hardware have used integers to present each pixels for example as 4x4 or 16x16 sub pixels. When the polygon edges are calculated in that way, the polygons seem to smoothly slide on the screen, instead of jumping and jittering around horribly, like on PS1. Lack of subpixel accuracy in polygon edges destroys the texturing also in an irreversible way.
No the biggest thing he missed is the fact that the Playstation 1 used affine texture mapping and was not perspective correct. This has nothing to do with lack of floating point which is the only thing mentioned when it comes to texture mapping.
@@FluffyAnvil You can get quite good results by subdividing the surfaces into smaller triangles/rectangles. That method was used to fix the lack of perspective corrected texture mapping. But trust me that the lack of subpixel accuracy in the scan conversion / rasterization has a huge impact on what the results look and feel like. Especially in that low screen resolution.
@@krakulandia The affine texture mapping is at least to me a tell tale sign that is plain right obvious in most racing games of the era.
@@FluffyAnvil Sure, not many racing games took advantage of the subdividing of surfaces approach because there was not enough memory to have several times more geometry in the memory. That's probably the biggest reason for not doing it in racing games. Too much surface area to cover.
@@FluffyAnvil Well, he didn't really missed it, however he somehow combined it with the lack of a depth buffer, even though it's completely unrelated and a much bigger issue as you said. The lack of a depth buffer can be worked around by level / object design and some crude depth sorting which should work for most cases. In the end most games didn't have that many polygons. So they simply tried to avoid certain overlaps or problematic alignments. Yes, perspective correct texture mapping is one of the biggest things besides the lack of texture filtering.
I gotta say some of the limitations were pretty noticeable on a CRT TV. The affine texture mapping was really noticeable, and it didn't happen in the Nintendo 64 or PC. Same thing with the polygons overlapping each other, and the vertex position resolution. However I totally agree on the dithering and unfiltered textures not being a big issue. You could notice up close the difference between N64 textures ans PSX textures, but N64 textures were so low res they became a big blur while the PSX ones looked sharp and more detailed, and gave a crispier look.
To put it in perspective for those who were not around back then, I don't remember me of my friends being impressed by PSX or N64 3D graphics. We had pretty looking 2D games back then, pretty looking pseudo-3D FPS and racing games and some 3D arcades that looked pretty good. The crude 3D of the PSX and N64 kinda felt like a step back aesthetically, but it presented a whole new universe of gameplay. Many 3D environments still presented impressive environments despite the blockiness, as any minecraft player can attest.
I think the first time I was really impressed by a games graphics was when I brought Hitman 2: Silent Assasing (2002) home. There is a scene in Sicily during the intro were you see some crops and 47 picks a bucket. There was something about the textures and the lighting that looked so real. It probably looks like crap if I google it today but it definitely felt like 3D was finally looking good.
it's not because of the crt tv. it's because ps1 lacked z buffer that is needed for "perspective correction."
This! For the longest time after the introduction of 3D graphics, pre-rendered 2D still looks loads better. Of course, 2D had a ton of limitations compared to 3D, but in terms of pure graphical quality, 2D looked better.
@@praystation sorry I forgot to timestamp my comment. I'm replying to the authors claim that the limitations were not noticeable on a CRT TV by saying that some were indeed hidden by the way those TVs worked while others we just tolerated.
A lot of people cite "CRT TV" for things that are actually concealed by low-quality cable formats like RF and composite. Using SCART or Y/Pb/Pr would usually make flaws more apparent.
You weren't impressed by Mario 64 in 1996? The metal cap mario? The multi-texturing effects? Now now. I don't believe you.
The 4th problem is actually two different problems. You can calculate a perspective corrected polygon without any depth buffer, and vice versa. It just so happens that they both share one division so one is rarely seen without the other. But it happens, I have seen it. I had a PC where perspective correction didn't work but depth buffers did. I don't know if it was the driver or hardware limitations, though.
A few more PS1/PSX characteristics is the lack of true alpha transparency (textures can have alpha transparent holes cut into them but never have gradients/anti-aliasing), the usage of decreasing the gamma output to simulate fading out to black instead of using an overlay (you can notice this in a lot of games where the brightest parts of a scene fade to black last), and a hard limit of ~10k polygons on any one frame for a 30 FPS game (double the framerate and you halve your polygon budget - few games ran at 60 FPS). Thanks for the video!
i kind of consider it a super power to have grown up on Playstation and Sega Saturn games. When modern games drop to 30fps, I have no problems, while younger gamers freak out. i only notice it if I spend a lot of time playing a game with a high frame rate, and then play a game that runs slower. but after a few hours, i get used to it.
@@PoorMuttski same i still don’t understand the big deal about 60 fps. the standard for animation and movies has always been 24 fps, i feel like there’s not much reason for games to go any higher than 30 fps unless there’s lots of very fast animations happening.
@@stinky59 I kind of agree. It is a bit like real-time reflections in games: beautiful and impressive when you have it, but hardly noticed when it is gone. I have played a few games where it adds a lot to the sense of realism, though mostly in games with cartoony graphics. It is just nice.
@@stinky59 Film and animation have drastic cuts in frame rate out of practical necessity: For cinematic film, every extra frame is another inch of film stock *per second* the camera is rolling, along with reduced exposure time and faster physical speed of the film through the gate. Likewise, with animation, every extra frame is another physical picture an artist must paint. Animating on 2s and 3s became pretty common just as a means of reducing the amount of artwork needed.
But make no mistake: These were not artistic statements or genius insights on the nature of vision. It's practical necessities necessitating a 'good enough' approach. The human visual system can see, and react to, events *far* faster than the 15fps fusion rate suggests. And in games where that reaction time does matter, frame rates of up to 240 fps can actually produce notable improvements in a person's gameplay.
Despite it's flaws, it's those flaws that makes me nostalgic.
Is there any chance you could break down the Binary Space Partition concept from the original Doom? Your breakdowns are so great.
Oh yes, I would love to hear that breakdown from this guy.
Good idea.
I want a video on BSP as well!
Yes. Do this please. 🤟😎🤟 Subbed.
you want hear sugars voice don't ya?
Ken Kutaragi and his team were actually quite genius in cost-cutting. As you viewed a PS1 game on a low res CRT TV you might even not notice these artifacts, while 3D graphics were still mind-blowing in 1994.
They still looked better than Saturn and some games even more beautiful than N64 ones, so the rest is history.
Yeah it's a real art form to know what to cut and what not to cut
Mmh, while dithering wouldnt be noticeable and in some cases could event be identical as the tv produced the missing colors with light bleeding from nearby sub pixels. (Many older systems relied on this).
The rest of the flaws were visible and sometimes distracting like the z sorting making vertexes pop around like crazy in some games. Color banding was also terrible if the gradient had too much contrast between light and dark but fine in other situations.
Depends on the games art style so i can't disagree.
Part of the lack of floating point precision is also the position of the vertices themselves. While this is mostly an issue with emulation, the lack of subpixel precision for vertex positioning does show a bit at the original resolution (though I believe it rarely does show on a CRT screen, would warrant some testing) and does give a very slight wobble to edges when cameras are moving. It's very subtle but still there a bit.
I was able to spot the wobble even as a kid seeing this on a CRT Tv
@@nugget6635 Well glad to know it was still noticzable on CRTs ;) Thanks for the confirmation !
@@nugget6635 yup same, to me ps1 was always the wobbly jank console while n64 was "smooth" though ps1 obviously had sharper textures, they came at the price of wobble.
@@devilblackdeath The edges of polygons however looked a lot smoother and not as aliased as in emulators. 2D Sprites looked perfect. CRTs have this smoothing effect but the wobble was still noticeable.
@@80n3y4rd The thing about CRT tvs is also the fact that the PS1 outputs at their native resolution no need for scaling and well it looked quite good because basically the CRT tv can display the PS1's output with minimum distortion.
thank you for being the only one who actually explained how these work lol
I’d say while CRTs paper over some of these flaws, I think it’s more that at the time, these graphics were new and cool and looked amazing compared to what we had before, so we put up with the imperfections.
we were also playing over RF or composite, on top of the softening glow of the CRT. but yes, mostly it was a matter of comparison and the benchmarks were greatly moving forward for home console.
exactly that sir
What may be difficult to imagine now is that at the time, these graphics were excellent, the very first time you could have a 3D games console in your home! We didn’t even notice all these flaws, other than large pixels when objects were too close.
and every system has that. Actually no, N64 has bilinear, but it looks just as bad. Hyrule Field has like a , single 32x32 texture stretched out!
Lack of Floating Point is what I came for. Always wondered why rigid polygons and textures should need to wobble around like that.
All the technical limitations in older consoles made developers being creative and use brain rather than just throwing all the textures into the game rom. That's why some of those games are so awesome and have so much attention to details.
Yeah I remember texture filtering was one graphics advantage the n64 had over the PS1. Side note, the NDS doesn't have texture filtering, so the n64 ports/remakes on the NDS look way different than the original without it, almost looking like they came from the PS1.
I guess The ps1 gpu is more powerful than the ds gpu, at least on practical terms ps1 3D games look better than the 3d games on DS
I will say, back in the day, the polygon z fighting and walking textures certainly bothered me, despite using a crt. Then again, I was a big Nintendo fanboy, despite the flaws n64 had.
Wow, this is not only the best explaination I've seen so far, why the PlayStation has it's original style, but also for rasterizing in games at all.
Depth buffer is only used for discarding far fragments, it is not used for correct interpolation. You can create OpenGL/Vulkan Surface without Depth Buffer or turn it off, and you still will have correct interpolation. Depth Buffer is separate buffer from Color Buffer. It stores only the nearest fragment depth (by default). However you are right about correcting interpolation by using z coordinate.
In fact, Quake had wobbly textures for the characters (affine mapping, If I'm not mistaken), but not for the level geometry and used z-buffer for it, while only writing to it when rendering the levels (using perspective correct mapping).
All this while also using floats. Carmack figured out he could perform certain instructions in parallel while floats where sent down one if the pipelines inside the CPU).
The expression is “add insult to injury” not “add salt to injury” at 5:44 seconds. Great video 👍 i just got a chuckle out of that so I thought I would mention
Great video! PlayStation graphics are indeed charming and can is like beautiful stain glass art at its best. I lust love the style of games like Medievil or Vagrant Story and genuinely continue to be more impressed with older graphics that modern.
So many technical limitations and still one of the best consoles ever maded!
Thanks! Now I know why the graphics looked so different. I understood half of what you said, but know more than before 😅
This is one of the most fantastic explanations of basic rasterisation I think I've ever seen on TH-cam. Well done
Wow, I found a rare gem with your TH-cam channel, it's surprisingly unknown, keep it up amigo!
Thanks for giving a good summary of the "issues". You managed to make each one very understandable :D
God, that bootup sound takes me back! So many awesome memories.
This was amazingly informative. Well done!!!
OH MY GODDDD THAT OPENING CLIP, YOU JUST UNLOCKED THIS HUGE MEMORIES OF ME PLAYING FUTURE COP IN MY OLD PS1 WHEN I WAS LIKE 6!!! I DIDN'T EVEN REMEMBER THAT GAME!!!!
been doing 3d programming and modelling for 20 years
I never knew the answer to this
thanks mate
Even as a little kid who knew nothing of "texture mapping" or "3d models" or anything I noticed some of the weird graphical oddities. I was obsessed with Spyro the Dragon and often noticed things like the bottom of characters' mouths being visible through the top, etc. and always wondered what caused it. It's so great to have a better understanding of it now, almost a quarter century later 😄 imo it gives PS1 games such a unique charm, I can hardly even see it as a "flaw"
Great explanation. I'd heard that ps one had no z depth before, and that n64 did, which is why it looked cleaner. This explained pretty well. Thanks.
I learned some things, thank you :) You conflated the phrases 'rub salt in to the wound' and 'add insult to injury' around 5:45 btw
I get chills every time i hear the ps1 load screen...
i think this is why I preferred 3D characters on rendered backgrounds.
I like Final fantasy, and Resident evil more than Silent Hill and Tomb Raider for example.
Perfectly said! Thank you! :)
I've been looking for a way to write a shader (compatible with Redshift Render) that will fuck up my UVs per each tri based on camera proximity to simulate PS1's texture mapping. I've already figured out quantizing geometry to integer values accordingly to the camera position so that I don't have to do my own camera math and transform the matrix of the whole scene. It's also important to mention that the PlayStation used something akin to Gouraud specular shading based on coloring vertices to achieve lighting.
This TH-cam channel will become very big, very soon. Glad to be here in the beginning.
+ Now I know what to look out for when replicating this look in my own games, thanks!
Lol. When you said “easiest to understand” or whatever, I would have said the floating point stuff. That’s extremely straight forward and extremely obvious. If numbers have to be rounded, things are going to “flutter” and shift around. Anyways, cool video.
Wow saw Futurecop when I went to Comic Con San Diego for the first time back in the 90s, I loved this game as a kid
I finally understood why playing ported PSX game or playing on emulator with texture filtering feels so different.
all those smooth texture make what I remember in my childhood and what I see now feel uncanny.
Great video!!
Thank you for sharing your knowledge!😃
So interesting, and I also love that you used future cop lapd... now Im just wondering what was the racing game
Why youtube didn't recommend you before.. this video is awesome.
this was a great exploration of the topic, good work
I prefer how PS1 looked to the absurdly low resolution muddy textures of the N64.
Thank you! This is the best explanation for wobbly textures on PS1 that I've come across.
I'm shocked you have very little views, you are clearly underrated, I loved the explanation, you deserve more views and likes
glad that i have found your channel, hope your channel grows more and more in the future!
All these years, I wondered if the textures worked like a beefed up DOOM. My mind is blown now that this is how it works.
Love your content!
Very nice explanation of the techincal details.
This was great content, nice explanations and great visual examples to go with them. I appreciate your effort!
Good video, but some more information regarding the relation between the GTE and GPU would help explain a few things:
1) The GPU (rasterizer) doesn't understand 3D coordinates at all, it only uses X and Y coordinates. The programmer must tell the GTE to do perspective transformation from true 3D coordinates to 2D coordinates after being done with manipulating all the geometry. This is the main reason why affine texture mapping had to be used, Z is lost in rasterization.
2) While the fixed point precision of the GTE isn't the highest in the world, it's not as bad as one might think. To render a polygon, the PlayStation has to map vertices to a pixel in the framebuffer. This has the effect of increasing vertex precision as resolution goes up. You can see this in games like Tekken 3 and the arcade version of Soul Calibur when they run in higher resolution modes.
This is the best explanation I’ve seen. Thank you!
I subscribed. Very good, i always wondered why ps1 looked different. I never knew there's more dithering
That was really interesting, thanks for the video.
I absolutely love the shimmery aesthetic of the original PlayStation.
PS1 is my favorite console and the graphics give the charm.
The look is so unique and charming, that I never use any filters when emulating PS1 games.
Great video, you should really continue your channel. Back then, when we were kids, we discussed why PSone had those graphic disortions and N64 not. But at the end we loved to play both systems. N64 for it's great stable graphics and PS1 for the unique story telling and cinematic renderings and voice acting 🙂.
Fun-fact : The Game Boy Advance have similar limitations when it runs 3D games.
And the GBA even lacks hardware support for 3D graphics, it's all software rendered.
I am still trying to pick my jaw from the floor. Kudos mate, great job and incredible knowledge.
nice video and clear information!
Damn dude, great video and great channel.
Fantastic video, loved it
I never thought the warping textures was bad, but one thing that I did not like was the dithering!. I could only see that pattern all over the sky in racing game etc. it was like it was burnt into the crt :)
Subbed for small but great youtubers.
It's worth noting that whilst the GPU can display 24-bit colour images, it can only actually render 15-bit colour images. 24-bit true colour images have to be uploaded from the CPU and are primarily used for full motion videos or title screens.
While these are flaws the artifacts give PS1 games their nostalgic look and have a fun feel to me. Great video!
The lack of floating point wouln't be much of a issue for the 3D math if it was using 32bit integers, but it is not.
The GTE does all it's math in 16bit, which cause the rough jumps between the possible 3D coordinates.
I do love how a brand's game consoles reflect the philosophies of the companies that make them though. Sony in patticular has always felt like a souped up piece of hi-fi or entertainment kit, being simple and too the point for beginners while packed with bells and whistles for the informed user.
Super interesting, thanks 👍🏽
Having played the original Wipeout and Twisted Metal when they first came out in the 90s, I can definitely say I noticed the wobble, even on a little 13" CRT (what else would a college student have!?) TV. 😉
Alpha blend were calculation expensive in the era, and they use the CRT property to make it cheap, which look bad on todays display. Flickering and dotted pattern, that is why having a CRT for retro game is a good investment.
Implying that there's inaccuracies with integers over floating point is inaccurate itself. Floating point and integers are both inaccurate. The only difference is that floating point has high resolution in the origin and low resolution further out, while integers has constant resolution. With a 32-bit variable, with a resolution of 1 mm, you can define a position up to 2147 km from the origin.
Floating point working in metre would have a resolution of 2 mm after moving 16 km out from the origin of the world, meaning that the integer at 1 mm has higher resolution and therefore higher accuracy from 16 km up to 2147 km from the origin, while floating point has a higher resolution and accuracy within 1 km from the origin.
But most game worlds aren't this large. The largest non-procedurally generated map I could find is Guild Wars Nightfall at 197 km wide and tall. So you can reduce the size of the steps for a higher resolution with a smaller world:
100 µm for 215 km from origin, higher accuracy beyond 1 km compared to float.
10 µm for 21 km from origin, higher accuracy beyond 128 m compared to float.
1 µm for 2 km from origin, higher accuracy beyond 16 m compared to float.
So if you don't need a map that is larger than 4 km x 4 km, and you're going to be outside the area of 16 m from the world origin, an integer in steps of 1 µm gives you higher accuracy than float calculating metres.
Back in the day, I did not have a PS but I emulated it using Bleem or Virtual Game Station instead. These flaws were the very first thing I noticed and could not get my eye out of them.
Even as a child i wondered why playstation had the wonky looking walls. Thanks for breaking it down
Was obsessed with gaming since the atari 2600 so i stayed away from any ps system till the fourth, i couldn't handle gaming on those consoles it just felt rough.
Were untexturized polygons used in ponderable quantities of games? From a Amiga perspective I remember that the 3D games of this time period mostly based on vector graphics.
Lovely video!
Very informative :)
thank you for such a clear breakdown!
I loved the way that playstation looked at the time. But remember this was basically my introductionary era to 3d. Before this most games accessible to kids were all 2d
thanks, with all this information, could you compare the sega saturn techbology to the playstation? they had very similar grafics. would be interesting analyzing it based on a 3d game released on both systems like Alien Trilogy for example. It also got a PC release.
amazing video!!!
Do Dreamcast vs. PS2 vs. XBOX please. Can you explain why the Dreamcast graphics looked so much sharper and more 'vibrant' compared to the other two comparable and later released consoles?
Might be to do with the VGA cable option which was a DC exclusive iirc.
This video is incredible!
Cool stuff, I’d love to see a video of how the original Sony PlayStation renders 2D games like the Street Fighter Alpha series.
Is AI upscaling able to compensate for that, tho?
Great video, learned a lot!
This is how I felt in class. All words. No idea what you are talking about 😢❤
You don't need depth buffering for perspective correct textures. Perspective correct texturing was often used in pc software renderers with no depth buffers like in doom and Wolfenstein 3d and other 2.5d engines. Quake had a depth buffer to depth sort 3d objects but it wasn't needed to render the level geometery or perspective correct textures.
?? How does Doom or Wolfenstein have intersecting polygons? In those systems you always know which to render first, no?
@@ditmarvanbelle1061 Those games did not use polygons and intersections in level geometery was impossible.
@@MonochromeWench Exactly! Hence why you don't need a depth bit there. Upon re-reading your comment, I think we're in agreement here -- apologies for the intrusion & have a nice day!
4:58 i guess you'll talk about this in the depth buffer part, but the guy's neck renders in front of the robe lol
CALLED IT
Also another thing but not uncommon is the lack of AA. For comparison the n64 has very aggressive AA.
I'm so glad features like PGXP fixed the depth issues of the PS1 and the dithering has been solved for decades. I never grew up with the PS1 so whenever I wanted to play a game that was on it the graphical querks always took a lot away from the experience for me
I wonder if it would be possible, through emulation and a home-brew PlayStation game, to see how PlayStations games could have looked if the PlayStation were built without these flaws. I imagine it would be pretty easy to add depth buffering, more video RAM, etc. in emulation, but it would take a home-brew game built to be able to take advantage of these things, similar to how some N64 games could be toggled to make use of the RAM pack if you had one, to showcase the difference.
I really think you should do lectures on graphics programming since you know how to explain it well
Sega Saturn use a unique way of rendering polygons (quads) and it is closer to a line rendering engine, but I don't know much about it.
For me, the ps1 is unique and amazing even with it's flaws
Would it be interesting to talk about how modern emulators solve these problems with texture filtering (look at a few common algorithms) and PXGP correction? Im aware of this problem and I can turn PXGP on to solve it, but I have no idea how that actually works.