I understand the appreciation a lot of people have for the real thing, I also like inserting a cartridge/CD, pressing the power button, CRT TVs. I grew up with this and it's printed in my mind. Today, every enhancement like reduced or eliminated input lag that even real hardware has is something that I don't even think twice, the games just feel better, I played a lot of SMS/SNES/Genesis games and remember how they played, today they really feel more responsive. For 3D games, increased resolutions, widescreen fixes, perspective correction, higher/stabilized framerate, higher CPU clock speeds, elimination of loading times, even having the real games and hardware beside me, I'll always opt for the better experience. RPGs benefit a lot from fast-forward in repetitive battles, the list goes on and on. I hardly use save states and never used rewind in life, but states are great for games that use password. In other words, for me, emulation is the best thing that happened in gaming alongside fan patches/improvements beyond what was possible. Speaking of which, I played Shinobi III using the 6-button patch, allowing you to dedicate a button for blocking, melee, shuriken, magic, jump, using a PS4 gamepad (R1 for blocking, square for sword/melee, X for jump, circle for shuriken, triangle for magic), it's almost like this game was made to be played this way.
wonderfully thoughtful and constructed video! there's a lot of intrigue in just how relative a personal experience playing a game is. sometimes i forget just how old some early emulation software is lol.
Emulators are the stuff of legends. Gaming is at its core temporary because these pieces of software are bound by their original target plattform.(Even backwards-compatibility does not always help. You can still run old PC games on Windows 10 or 11, but the compatibility is a gamble) Fan efforts help make many games permanent.
My Game Boy emulator of choice around the turn of the millennium was No$GmB, back when you paid no cash for it--and I played it on an old laptop computer whose LCD picture suffered from as much motion blur as the Game Boy! So very authentic, except I always played with the Super Game Boy features on where available...
I swear the idea of emulation being evil or bad or something was started by video game collectors, who don't want to face their own stupidity for spending thousands on games they've likely never played or only played once, when they could have just downloaded some roms. Though collecting is fun in it's own right, there's never a good reason to do it over emulation unless you have the disposable income or just really want to have an 'authentic' experience but even then, playing a game via emulator is the exact same thing as playing on the original hardware, if not better cuz nowadays emulators have gotten so advanced that there's mods to improve the performance of the 30+ year old games! It's honestly amazing seeing games I grew up with no longer have lag or sprite flicking thanks to the work of dedicated fans, and said improvements are one of the main reasons I'll always emulate my games, despite me having Nintendo Online (which is good, but is seriously missing out on a lot of titles, like seriously the SNES app doesn't even have a single final fantasy game, or even fucking Chrono Trigger y'know one of the best games on the damn console, and I'm sure it's cuz of licensing stuff or whatever with SquareSoft, but still what's even the point of them providing official methods if most of the games I want to play aren't on there?!? I can only play Super Metroid or Mario All-Stars so many times before I wanna try out the rest of the console's library, but on switch you can't, heck even classics like the TMNT games aren't on NSO, which I know why they aren't, but that doesn't change the fact that they fucking deserve to be on there. It sucks having to pull out my old modded Wii just to play these old games cuz Nintendo is too cheap to get the licenses for some of their best releases. Same thing with the NES and SNES classic which aside from their artificial scarcity which was scummy as fuck were still lackluster due to the lack of some of their best titles, all due to Nintendo being too cheap or lazy to get the licenses for any games besides their own outside of rare-instances
I’ve said before the TH-cam retro community ruined retro gaming for everyone else. Like that that story of the one dad who posted on Facebook playing retro games with his two sons and the comments were vile and angry cause he used a clone console and HD tv. Cause god forbid they don’t want to spend thousands of dollars finding an original SNES and CRT TV. Yeah I still got my SNES. I love it, but it’s easier sometimes just to play on computer with a SNES USB controller.
I played Pokemon Red exclusively on am ice color Gameboy pocket. I'm sure it ruined my eyes. You're sending me on a trip down memory lane where my mom was at a gas station but it was very important I needed the car to keep running to charge my Gameboy on the cigarette lighter adapter because I was fighting my last surviving pokemon, a Geodude against a wild shelder and we had each done defense curl type moves 2 dozen times and running low on pp for tackle.
To be clear: The lack of a z-buffer is only one small part of the reason PS1 games have wobbling textures. The lack of hardware z-buffer means developers have to manually map textures on the software level. That's where 2 more problems arise: - The PlayStation GPU doesn't have a Floating Point Unit. Yep, Sony cheaped as much as possible for their first home gaming hardware to have an aggressive price tag. Position information is stored in integer vectors. No matter what position you calculate on the software side, the moment you pass it to the GPU, it must be rounded to integer numbers before rasterization process. When you see some pixels constantly snapping from one spot to the next and back again, that's the result of numbers with fractions constantly being rounded up, then down, then up, then down and repeating even though their actual values are only changing very slightly. Just imagine a change from 3.4999 to 3.5001 is enough to cause a pixel snap. - Doing real-time depth calculation on the software level is a performance killer on the PS1. The PS1 hardware is not powerful enough to do that kind of calculation. Not even modern CPUs do real-time depth calculation, we have z-buffer on modern GPUs to do that for us. So what are PS1 developers supposed to do when they are forced to map textures on the CPU with correct perspective? Well, they time-sliced that task across multiple frames. They spread the perspective correction task across n frames so that every nth frames, the calculation will be done for the new perspective and the textures will be remapped on that nth frame. This is why you see lines on a 3D surface of a PS1 games frequently "snap" in a different direction when in motion. You'll notice that this "snap" doesn't happen while staying still.
this is fascinating and helpful; thank you! I knew there was a lot more to it than my rudimentary explanation, but the details are always so interesting.
Technically speaking, the lack of a z-buffer has absolutely nothing to do with PS1 games having warped textures. In fact the z-buffer is primarily used to handle occlusion, ensuring distant objects are correctly hidden by nearer ones, it has nothing to do with texture mapping at all. The reason textures warp on the PS1's GPU is that it's only capable of affine texture mapping, not perspective correct mapping. The texture coordinates are always correct at the triangle corners but it interpolates linearly between them in 2D screen space when rasterising the pixels that make up the triangle, ignoring that the length of each edge should account for the distance into the screen. As shifting perspective changes the 2D shape of the projected triangle the incorrect affine mapping changes with it causing the swimming effect.
@@faustianblur1798 That's not entirely accurate either. Affine mapping means that you can scale, translate, and rotate the textures. That would be fine for orthographic projections, but because perspective projections scale with distance (i.e. the vanishing point), that sort of mapping can't be represented by an affine mapping. When you go by the math, the correct order of operations is something like U = (U0/Z + x*dU/Z)/(1/Z0 + x*d(1/Z)). That's the perspective divide. The Affine transform is U = U0 + x*dU. As the triangles get smaller though, or the Z variance over the triangle is smaller, the difference between the two mappings decreases - and why you don't see this effect for straight on triangles / walls, or on the characters as much. And yeah, the Z-buffer isn't needed for the most part. It pretty much allows you to do two things 1) not sort the triangles beforehand, 2) have interpenetrating triangles. Other than that, it won't affect the vertex positions. Floating-point is also not required to produce smooth looking graphics, but I believe the PSX did lack sub-pixel coordinates and would therefore lack sub-pixel correct. That will also result in some texture swimming. The N64 used sub-pixel coordinates which helped prevent the jumping triangle effect. As a side note, modern GPUs internally used fixed-point to map to the screen which is not floating point. There was one doc that I read where the Nvidia RTX30 series uses a 10-bit fraction with a 22-bit integer.
I was just like you. I didn't care what it looked like, if there was sound, or slowdown as long as I could play some NES or GB on my PC. Many users nowadays don't realize how good things have gotten with emulation and how slow it was at the beginning and what we felt was good at the time because there was no alternative. I kinda miss NESticle and Genevyst. 😀
I remember getting my hands on Pokemon Yellow with No$GB. It was so great. And then I got my first gameboy color, and Pokemon Gold, where I spent all my time for years...
I have been trying to get a PS1 emulator to play Twisted Metal 2 on my PC, it runs but it looks a lot choppier and blockier than the PS3 port of the game playing on a much larger screen. I don't know how to solve that, but meanwhile other people are getting emulators to do all the stuff you mentioned.
this is totally not uncommon! I have issues all the time with older emulators especially trying to use the right setting or reading documentation that's very out of date. a side effect of these all being community-driven projects I suppose...
I hear you -- this is a one-man operation so it's hard for me to get any subtitles at all up, much less translations. I've been working harder to try to get my scripts uploaded for TH-cam to convert to translations ahead of video releases, and am just now exploring using TH-cam to translate those subtitles; I know that's not ideal, but hopefully it helps!
I understand the appreciation a lot of people have for the real thing, I also like inserting a cartridge/CD, pressing the power button, CRT TVs. I grew up with this and it's printed in my mind.
Today, every enhancement like reduced or eliminated input lag that even real hardware has is something that I don't even think twice, the games just feel better, I played a lot of SMS/SNES/Genesis games and remember how they played, today they really feel more responsive. For 3D games, increased resolutions, widescreen fixes, perspective correction, higher/stabilized framerate, higher CPU clock speeds, elimination of loading times, even having the real games and hardware beside me, I'll always opt for the better experience. RPGs benefit a lot from fast-forward in repetitive battles, the list goes on and on.
I hardly use save states and never used rewind in life, but states are great for games that use password.
In other words, for me, emulation is the best thing that happened in gaming alongside fan patches/improvements beyond what was possible.
Speaking of which, I played Shinobi III using the 6-button patch, allowing you to dedicate a button for blocking, melee, shuriken, magic, jump, using a PS4 gamepad (R1 for blocking, square for sword/melee, X for jump, circle for shuriken, triangle for magic), it's almost like this game was made to be played this way.
This video deserves more views, you put a lot of effort into it and it shows.
wonderfully thoughtful and constructed video! there's a lot of intrigue in just how relative a personal experience playing a game is. sometimes i forget just how old some early emulation software is lol.
Emulators are the stuff of legends. Gaming is at its core temporary because these pieces of software are bound by their original target plattform.(Even backwards-compatibility does not always help. You can still run old PC games on Windows 10 or 11, but the compatibility is a gamble) Fan efforts help make many games permanent.
My Game Boy emulator of choice around the turn of the millennium was No$GmB, back when you paid no cash for it--and I played it on an old laptop computer whose LCD picture suffered from as much motion blur as the Game Boy! So very authentic, except I always played with the Super Game Boy features on where available...
I swear the idea of emulation being evil or bad or something was started by video game collectors, who don't want to face their own stupidity for spending thousands on games they've likely never played or only played once, when they could have just downloaded some roms. Though collecting is fun in it's own right, there's never a good reason to do it over emulation unless you have the disposable income or just really want to have an 'authentic' experience but even then, playing a game via emulator is the exact same thing as playing on the original hardware, if not better cuz nowadays emulators have gotten so advanced that there's mods to improve the performance of the 30+ year old games! It's honestly amazing seeing games I grew up with no longer have lag or sprite flicking thanks to the work of dedicated fans, and said improvements are one of the main reasons I'll always emulate my games, despite me having Nintendo Online (which is good, but is seriously missing out on a lot of titles, like seriously the SNES app doesn't even have a single final fantasy game, or even fucking Chrono Trigger y'know one of the best games on the damn console, and I'm sure it's cuz of licensing stuff or whatever with SquareSoft, but still what's even the point of them providing official methods if most of the games I want to play aren't on there?!? I can only play Super Metroid or Mario All-Stars so many times before I wanna try out the rest of the console's library, but on switch you can't, heck even classics like the TMNT games aren't on NSO, which I know why they aren't, but that doesn't change the fact that they fucking deserve to be on there. It sucks having to pull out my old modded Wii just to play these old games cuz Nintendo is too cheap to get the licenses for some of their best releases. Same thing with the NES and SNES classic which aside from their artificial scarcity which was scummy as fuck were still lackluster due to the lack of some of their best titles, all due to Nintendo being too cheap or lazy to get the licenses for any games besides their own outside of rare-instances
I’ve said before the TH-cam retro community ruined retro gaming for everyone else. Like that that story of the one dad who posted on Facebook playing retro games with his two sons and the comments were vile and angry cause he used a clone console and HD tv. Cause god forbid they don’t want to spend thousands of dollars finding an original SNES and CRT TV. Yeah I still got my SNES. I love it, but it’s easier sometimes just to play on computer with a SNES USB controller.
I played Pokemon Red exclusively on am ice color Gameboy pocket. I'm sure it ruined my eyes. You're sending me on a trip down memory lane where my mom was at a gas station but it was very important I needed the car to keep running to charge my Gameboy on the cigarette lighter adapter because I was fighting my last surviving pokemon, a Geodude against a wild shelder and we had each done defense curl type moves 2 dozen times and running low on pp for tackle.
For your bravery and dedication to that battle good sir, you get a like.😅
To be clear: The lack of a z-buffer is only one small part of the reason PS1 games have wobbling textures.
The lack of hardware z-buffer means developers have to manually map textures on the software level. That's where 2 more problems arise:
- The PlayStation GPU doesn't have a Floating Point Unit. Yep, Sony cheaped as much as possible for their first home gaming hardware to have an aggressive price tag. Position information is stored in integer vectors. No matter what position you calculate on the software side, the moment you pass it to the GPU, it must be rounded to integer numbers before rasterization process. When you see some pixels constantly snapping from one spot to the next and back again, that's the result of numbers with fractions constantly being rounded up, then down, then up, then down and repeating even though their actual values are only changing very slightly. Just imagine a change from 3.4999 to 3.5001 is enough to cause a pixel snap.
- Doing real-time depth calculation on the software level is a performance killer on the PS1. The PS1 hardware is not powerful enough to do that kind of calculation. Not even modern CPUs do real-time depth calculation, we have z-buffer on modern GPUs to do that for us. So what are PS1 developers supposed to do when they are forced to map textures on the CPU with correct perspective? Well, they time-sliced that task across multiple frames. They spread the perspective correction task across n frames so that every nth frames, the calculation will be done for the new perspective and the textures will be remapped on that nth frame. This is why you see lines on a 3D surface of a PS1 games frequently "snap" in a different direction when in motion. You'll notice that this "snap" doesn't happen while staying still.
this is fascinating and helpful; thank you! I knew there was a lot more to it than my rudimentary explanation, but the details are always so interesting.
Technically speaking, the lack of a z-buffer has absolutely nothing to do with PS1 games having warped textures. In fact the z-buffer is primarily used to handle occlusion, ensuring distant objects are correctly hidden by nearer ones, it has nothing to do with texture mapping at all.
The reason textures warp on the PS1's GPU is that it's only capable of affine texture mapping, not perspective correct mapping. The texture coordinates are always correct at the triangle corners but it interpolates linearly between them in 2D screen space when rasterising the pixels that make up the triangle, ignoring that the length of each edge should account for the distance into the screen. As shifting perspective changes the 2D shape of the projected triangle the incorrect affine mapping changes with it causing the swimming effect.
@@faustianblur1798 That's not entirely accurate either. Affine mapping means that you can scale, translate, and rotate the textures. That would be fine for orthographic projections, but because perspective projections scale with distance (i.e. the vanishing point), that sort of mapping can't be represented by an affine mapping. When you go by the math, the correct order of operations is something like U = (U0/Z + x*dU/Z)/(1/Z0 + x*d(1/Z)). That's the perspective divide. The Affine transform is U = U0 + x*dU.
As the triangles get smaller though, or the Z variance over the triangle is smaller, the difference between the two mappings decreases - and why you don't see this effect for straight on triangles / walls, or on the characters as much.
And yeah, the Z-buffer isn't needed for the most part. It pretty much allows you to do two things 1) not sort the triangles beforehand, 2) have interpenetrating triangles. Other than that, it won't affect the vertex positions.
Floating-point is also not required to produce smooth looking graphics, but I believe the PSX did lack sub-pixel coordinates and would therefore lack sub-pixel correct. That will also result in some texture swimming. The N64 used sub-pixel coordinates which helped prevent the jumping triangle effect. As a side note, modern GPUs internally used fixed-point to map to the screen which is not floating point. There was one doc that I read where the Nvidia RTX30 series uses a 10-bit fraction with a 22-bit integer.
I was just like you. I didn't care what it looked like, if there was sound, or slowdown as long as I could play some NES or GB on my PC. Many users nowadays don't realize how good things have gotten with emulation and how slow it was at the beginning and what we felt was good at the time because there was no alternative. I kinda miss NESticle and Genevyst. 😀
I remember getting my hands on Pokemon Yellow with No$GB. It was so great. And then I got my first gameboy color, and Pokemon Gold, where I spent all my time for years...
Downloading a car right now. 🤫
lol 'zee s n e s'
In the UK we pronounce it 'zed snes' we don't say the individual letters, we say snes as a word.
I go back and forth on saying "SNES" as a word vs spelling it out, so that one's just me vs. an America/UK thing!
I have been trying to get a PS1 emulator to play Twisted Metal 2 on my PC, it runs but it looks a lot choppier and blockier than the PS3 port of the game playing on a much larger screen. I don't know how to solve that, but meanwhile other people are getting emulators to do all the stuff you mentioned.
this is totally not uncommon! I have issues all the time with older emulators especially trying to use the right setting or reading documentation that's very out of date. a side effect of these all being community-driven projects I suppose...
now I can see why it's impossible to emulate n64 games because you have to deal with the sacrurty lock chip.
not subtitles... sad
I hear you -- this is a one-man operation so it's hard for me to get any subtitles at all up, much less translations. I've been working harder to try to get my scripts uploaded for TH-cam to convert to translations ahead of video releases, and am just now exploring using TH-cam to translate those subtitles; I know that's not ideal, but hopefully it helps!