I could always tell how this was done even back when this game and others came out (I've still never been able to make it to this screen in Puggsy to this day, only seeing it in the demo I think). I like how some games like Gunstar Heroes will slowly mask off the left-most column on the screen right before the effect begins. Don't think I didn't notice that, Treasure! Thing is I would notice it a lot more if they didn't do that thanks to the weird corruption. You can always tell something fancy is about to happen with the vertical scroll registers when the left side is blanked out. They even had to do that on the Master System simply to scroll the screen horizontally.
Dynamite Headdy does this, I revisited it recently and noticed one stage section started with the side masked which gave away the visual surprise about to happen. So much smoke and mirrors back then...and we loved it.
@@sails9311 IMO Dynamite Headdy is the most impressive game visually on the Genesis. So many crazy techniques going on, all of those devs that pushed the system to its limits, amazing. Jon included!
There's also a hardware bug, the leftmost column won't tilt and show garbage (forgot which). This was fixed in a hardware revision but that was way way down the line, like in 1996 or so. Some games got around this bug by only tilting the middle of the screen, or even going as far as having black bars to cover up the left side. I think Castlevania is guilty of both. And I always wondered how it would look if you pushed the values way up, so cheers for the video.
@@tech34756 Which hardware bugs did the MD3 fix, that games utilized? AFAIK it only fixed some broken 68k instructions which affected, like, one game (Gargoyles?). And that was on the 68k side, not the VDP side.
@@zyrobs I don’t know the exact details, so I just looked it up and found this on a site called ‘Nerdly Pleasures’: “TAS Bug The TAS bug is an issue between the 68000 CPU and the Video Display Processor (VDP) in the Genesis. "TAS" refers to a CPU instruction called Test and Set which functions slightly differently than other CPU instructions. The discrete VDPs found in the Genesis Model 1s and most of the Model 2s do not account for the instruction's behavior properly and a few games require the incorrect behavior to function. When Sega integrated all the Genesis components into a single chip to cut down on costs, it fixed the VDP so that it does function properly when the TAS instruction is executed. This will cause issues or break certain games. The Genesis 3 VA2 motherboard revision suffers from this issue, but the VA1 is fine. The only game which is confirmed beyond dispute to have issues with a proper TAS implementation is Gargoyles. Other games which may exhibit the issue include Bubba 'N' Stix, Cliffhanger (highly likely), Ex-Mutants, Adventures of Mighty Max, Turrican, X-perts and one of the Batman games.”
There is a Mega Drive game that I never understood how they put a rotating sprite, that game is the "Mega Turrican". The Same also has very well done scaling effects.
Can you explain how you handle collisions with the boat? I know it might not appeal to everyone but as a hobby programmer, I struggle to figure out how to make those types of rotating platforms in my platformers.
@@ahirunakamura9592 In an old dev diary someone at id Software said they implemented per-polygon collision detection in Doom 3 instead of relying on simplified bounding boxes, and suddenly they thought hit detection was broken because everyone kept missing.
I'd think giving every column an invisible moving platform that aligns its y-coord with the column's every frame would work. I've not seen too much of this game though so I don't know how moving platforms work in it.
Since the scroll registers effect the display output, the collsion detection is just unaware of the rotation. (So the collsion detection is done the same as if the boat wasnt moving, since the deck if the ship is still located at the same position as far as game logic is concerned.)
Your channel is an absolute goldmine of information. As a gamer who grew up in the 80's and experienced the final the result of your coding wizardry first-hand, thank you for the games and the videos.
I love these videos, overcoming the technological limitations of the time is an incredible art form and led to such wonderful visual effects, it's such a shame that we will likely never see such innovation again. Even indie games that mimic the art style of older games will never have clever tricks like this that give birth to charming aesthetics.
Who is overcoming anything here? This only shows how Sega went with the bitplanes of Amiga and thus could only do very coarse tilt, while Nintendo used chunked memory like on PC or Archimedes with far better results.
@@ArneChristianRosenfeldt I'm not claiming that this technique of shifting rows and columns to simulate rotation is new for the games shown in this video. It is a technological limitation that was overcome at some point in time. Instead of just waiting for computers to be powerful enough to handle true rotation, they came up with this wonderful effects that look great in their own right.
@@DocBees-g4l But the genesis has dedicated hardware for this. Who was waiting for what? Genesis uses the scanline render algorithm, while zx spectrum and C16 and PCs use painters algorithm. Some people love transparency and parallaxe so much that they want bitplanes. Others like sprites, scrolling and rotation and want chunks.
@@ArneChristianRosenfeldt and your point is? I don't know why you're so primed to disagree with me that you're willing to waste your time trying to convince me that dedicated hardware to fake an effect isn't an impressive feat overcoming a technological limitation that led to unique visuals. Go be pedantic and wrong somewhere else.
I have actually seen this effect done on a SNES without using mode 7. The SNES has 3 modes (modes 2, 4 and 6) that support changing the vertical and horizontal offset of every tile on a tilemap, which is very similar to the Mega Drive's column scrolling capabilities. This would be done because the SNES' mode 7 only has a single layer, and modes 2 and 4 have 2 layers, so you can have a background on the same scanlines as the rotation effect without using up sprites.
Yeah, I remember seeing something similar in Tiny Toons- Buster Busts Loose on the train level where they made one of the carriages look like it was going up a slope.
That’s pretty clever, instead of using the single background layer of mode 7, you can just use background 2& 4 to do horizonlal & vertical line scrolling atonce to simulate the same effect as mode 7 without taxiing on the main proccesor😁
Super NES mode 2 (two 4bpp layers, column scrolling) is the closest in capability among Super NES background modes to the Genesis mode 5 (standard mode).
@@DamianYerrick Yeah, basically. Modes 4 and 6 should be looked into as well, the former because of layer 1 having 8BPP, and the latter because 512px mode(though tiles take up more space now).
Another SNES example is Prehistorik Man, the icebergs in Stage 21 tilt in the water. The effect even arguably looks a bit better than the one in Puggsy, possibly because the manipulation seems to be done using smaller tiles than Genesis. It's interesting that this effect wasn't used more often on SNES. I know it's because SNES had actual mode7 and developers were more eager to show that off. But while this tile manipulation method doesn't support full rotation, it lets you put actual detailed background layers behind the effect. Instead of a basic color or gradient, or relying on the sprite layer. Take the chandelier in Super Castlevania 4, it uses mode7 and only has a blank background that swaps between black and red. It only rotates about as far as this pirate ship, or the icebergs in Prehistorik Man. This tile manipulation method would have likely looked better/smoother and allowed for another detailed background behind it too.
Another CS episode and another Puggsy episode to boot? SWEET! I always wondered the specific reason for why the boat had to segment like that to get the rotation effect, now it makes more sense, hope to see an episode on Total Object Interaction (TOI) someday because that element is the core that ties everything together and is what truly set Puggsy apart from other platformers of the time.
I really wish more 8- and 16-bit emulators included GOOD CRT filter simulations. Games like this just weren't intended to be played with ultra-sharp pixels and resolution. It's particularly a problem with Genesis\MegaDrive games, since developers used dithering effects all the time that frequently look awful if you can actually see the individual pixels.
@@jasonblalock4429 Amen. Even with best RGB cables, a CRT TV is way better in displaying these games. Most effects stay true to their design and do not fall apart like they do in a flat panel without filtering. This was a feature contained in emulators since the late 90s.
Anyone has a save file or a way to reach that area directly ? I do not have a Megadrive at hand but I can definitely output an emulator to a PVM to test it out and record.
The Boss AI is scripted to land on a box collider. If he removed the box collider the boss and puggsy would fall into the void or maybe wrap around the screen depending on how he had that part coded. Since he has a death zone for puggsy he would die definitely.
There's a strong chance the collision and boat graphics have nothing to do with each other, so most likely Jon just left the collision alone for his experiment. On tile-based graphics hardware like the Genesis it's much easier to treat the screen as "write-only" rather than trying to read it to figure out collision etc.
@@NobodyAtAll420 that’s just a unity thing. Not at all related to whatever physics system TT made from the ground up for the little microprocessor inside the Sega genesis.
this made me realize what im missing in todays retro games, such effects because engines just let the pixels rotate perfectly - sure it looks prettier but it kinda loses some charm :D
Always love to see puggsy in a video. The adventure vibes it gave me as a kid, thanks for that :). And awesome you just seem to compile the game with different rotation settings.
He just pushes the graphical trick in the game past the point where it looks good, it's not a demo; the game itself is where he keeps it safe and sane. Did you watch the video?
@@nixneato LOL! A Let'sPlay is also a demonstration, that doesn't make it a demo. Demo refers specifically to technical demonstration unrelated to an actual game; either a prototype or a standalone program. Showing the coding tricks to a game is not the same thing.
Awesome video. It never ceases to amaze me what the Sega Genesis was able to do with clever programming tricks. I consider this effect more like a tilt than a rotation. Gunstar Heroes used this effect also. Red zone and Sonic the Hedgehog simulated what I consider full screen rotation.
I never thought I would see the day that someone would talk about the game Puggsy on RUclips. Puggsy is such an underrated game with a banger of a soundtrack.
And who else than the programmer of the game himself to talk about it ? ;) He has made other videos explaining other things in Puggsy too, BTW (on his main account GameHut though, I think). I agree it's an underrated game. I think people mistaking it for a platformer by its looks, while it's more like a puzzle game, is one reason. The soundtrack is excellent indeed, as it is often the case with Matt Furniss' work.
I guess streets of rage 2 pirate ship background rotation is the same effect. A pity the vertical scroll was limited to blocks of 16 pixels, it would be great if it allowed to do 1 pixel scroll like the horizontal one.
When i was little i remember finding something very curious in one of Puggsy's levels. In the second Star Fall Lake level there is a secret you can access with the scissors you find at the top right side of the level. You can use them to cut some camouflaged weeds in the pool to get an extra life which raises up to the surface on top of a balloon. Now if you grab this balloon and float all the way to the top right of the screen until you hit the ceiling and then fall down to the level the sky gets very corrupted, becoming a mess of sprites in small squares. Why does that happen? P.S. I really adored your game ever since i was little. It is a true gem!
I'll admit to never playing Pugsy, but I remember seeing it in Sega Visions and other magazines as a kid and I credit it in no small part to my fascination with surrealism today. Screenshots of this game made all kinds of indecipherable things happen in my mind. And I loved it.
So I saw a listing of a sega cd version of puggsy and thought of how awesome the tricks used in the game were. So I’m thinking about picking it up. Decades later and this game still getting interest is astonishing to me.
Simple video describing something technically simple, but achieving something much more spectacular. If I was playing the game, I doubt I would have noticed the stair-step effect had it not been pointed out.
What's impressive about this technique is unlike the SNES when in Mode 7, there's a lot of additional background imagery on display in tandem with the rotating element, including parallax layers.
The funniest thing about the extreme scrolling to me is how the little fish suddenly achieves terminal velocity when you sometimes stepped on it. Damn can that boy go fast
Back in the mists of time I did a game on the Megadrive ( sprites) the programmer did that on an enemy boss helicopter and I remember being very very impressed. And yeah we pushed the tilt only so far before it became obvious.
You could theoretically use Apple's trig code to move each pixel and generate new sprites in a circular motion. Apple did a lot of work on circles on the 68000 in the early Mac days. You'd need a lot of cartridge memory but it would probably work.
I am extremely new to programming, but I have been hardcore into playing Genesis games since I was a little kid. I am 26 now and I am finally going to make at least something that runs on genesis hardware that isn't just a hello world program written in C.
I feel the more extreme examples could be utilized for different weather environments; the second degree for a ramping storm, and then the extreme values (with some blocking out of the top, and possibly bottom, of the screen) during a severe storm to really sell the "cinematic climax" of the scenario. Regardless, amazing how some minor effects can be used to create incredible results.
I think the first time that the SNES used rotating sprites was in "Super Mario World", during the boss battles against Iggy and Larry. Those boss rooms have big platforms that tilt left and right in a very noticeable manner at regular intervals, and those animations definitely look like Mode 7 to me.
I remember someone applied this trick to Sonic 1 so the game world would rotate around sonic. If you think this effect breaks down at 45 degrees, imagine how vile it looks when you run through a loop
You could probably reduce the strip effect by switching/swapping the tiles after a the mid angle. This would require more memory but allow to rotate further and/or to improve the look.
I think the fact that the galleon looks a little roughshod anyway (stylistically) means you could get away with it fragmenting a little when it "rotates". It's not the tiles being misaligned - it's the boat falling apart when the waves hit it.
Note that for example *Star Fox* (*Star Wing* for us Europeans... :P) does it for its background... on the SNES! Here's why: SNES PPU Mode 7 only has a single background, but *Star Fox* needs it for the SuperFX-drawn things (sprites/objects are used for the purely 2D elements). So instead, they use Mode 2 (two backgrounds and "offset-per-tile" on one), and this technique to rotate the background layer (otherwise static). The foreground layer is drawn onto by the SuperFX, producing the 3D ship, shots, etc.
I would also really love to know how you guys achieved the floor and ceiling rotation effect in that 3D level of Toy Story... I know I know you already had a video explaining how the super optimized walls in that level worked... but I'm still curious in that other factor
After they draw the walls and simultaneously clear the floor/ceiling with background colour, they go in and paint in the floor/ceiling lines likely with Bresenham. Raster interrupt palette changes implement the depth fog effect on the floor and ceiling.
@@chunye215 The floor and ceiling pattern is not a texture, not an image. Instead they just have a bunch of lines in world coordinates, as a repeating pattern. They just have to transform the ends of the lines into screen coordinates, and since they connect, it's one transform per line (amortised) and draw them in, as lines.
I think on the SNES, you'd end up doing something similar with mode 2's offset-per-tile to recreate that screen. Mode 7 could of course do a proper rotation, but you only get one layer, and if you fill the entire screen with objects, you have a maximum of 16 pixels per line of sprite left - not enough for the characters. or you can use an expensive addon chip, of course.
the ben hack of sega coding ... offtopic: all my life i thought i solder like sh1t - but then i saw you 2 way more genius dudes soldering even worse. anyways: you both rock! PS. lemme do music for you (for free)
This is very interesting on why you couldn't go past those bounds. However, it makes me think that given a slower animation that it could work. Essentially you're trying to stretch and skew it into place with some fixed update to the screen. I'm sure you had some sort of coordinate transform math on it to adjust at least the horizontal scroll amounts dynamically to get that effect. I would imagine that the center of a Sprite would be the reference point.
To add on, I imagine that the center would have had to rotate slower than the edges. You would almost have to break the Sprite up into different regions of rotation speed.
Hint, the transformation is going to involve, x(t)=amplitude*cos(t), y(t)=amplitude*sin(t). From that you can extract the starting position and the slope for each skews.
I love that you spend as much time as you need to explain things, and no more. I could imagine a less honest creator stretching this video to 10 minutes just for ad money.
It looks like about 15 to 20 degrees rotation back and forth. Funny how the illusion works for small angles but not big ones. Also I see nothing wrong with using the SEGA CD's extra hardware to make the effect even better, but not everyone had this add-on back then, but now thanks to the everdrive flash carts we can get that extra hardware without having the CD add-on.
Still think you should tackle the screen rotation in Brian the Lion by Psygnosis and the copper effect tunnel rotations in the later levels, be good to see you tackle some of the better Amiga stuff and whether or not any of the principles of the Amiga effects could be translated to Megadrive.
Many effects that were used on the Amiga were effective on the Mega Drive and vice versa. In fact, if I recall reading, a lot of these kinds of effects, originated on the Amiga with the demo scene, which were coming up with all sorts of crazy effects in their demos, many of which could be translated into games in limited ways, rotation being one of them which was used in a few games on the Amiga and Mega Drive.
The most mindblowing effect on Puggsy for me is the hidden ending with the polygons rotating and having a different background with also different scrolling inside them. Do you plan to do a video about that in a future?
It could be even cooler if you pushed the "rotation" of the ship just a bit further when a character jumps and lands on the ship to make it look like they're pushing the ship down.
Seems there's always been some effort to show other consoles of the era trying to do things the SNES could do as standard, which is still the case even today. I guess it's kinda cool that the SNES was/is the system others wanted to mimick, which clearly goes to how cool and impressive some of those built-in effects obviously were. Interestingly though, this faux version of rotation is something that SNES can do too as a feature of background modes 2, 4 and 6, using both column and line scrolling combined just like Genesis, except the SNES version is actually slightly better, as the SNES can column scroll 8 pixel wide strips rather than the 16 pixels the Genesis column scrolling is limited to, so the rotation effect looks smoother on SNES (and presumably could also rotate even further without distortion too). You can actually see this pretty clearly if you compare the helicopter rotation effect in Time Trax on both SNES and Genesis: ruclips.net/video/nhTBFQpID2o/видео.html (SNES) vs ruclips.net/video/eItzCNaYuTc/видео.html (Genesis) Now, can you make the Genesis show this many full screen overlapping backgrounds at once, especially without using any sprites (I updated it to most current version since I was here): ruclips.net/video/Rse4ItsnC2A/видео.html
The first boss of Contra III really pushes mode 2. He tilt his body vertically, makes his neck long and following the player (no sprites, just BG layer). Is really impressive. That boss would look super weird on Genesis because of the 16 pixels wide limitation.
the boat impressed me, but im still absolutely in love with those water effects. they are just simple horizontal scrolls, but it just looks so good.
Я всё время смотрел на корабль и не заметил такую потрясающую воду!
Genesis releases got so good towards the end 93 and 94 were amazing years for the library.
I could always tell how this was done even back when this game and others came out (I've still never been able to make it to this screen in Puggsy to this day, only seeing it in the demo I think). I like how some games like Gunstar Heroes will slowly mask off the left-most column on the screen right before the effect begins. Don't think I didn't notice that, Treasure! Thing is I would notice it a lot more if they didn't do that thanks to the weird corruption. You can always tell something fancy is about to happen with the vertical scroll registers when the left side is blanked out. They even had to do that on the Master System simply to scroll the screen horizontally.
Dynamite Headdy does this, I revisited it recently and noticed one stage section started with the side masked which gave away the visual surprise about to happen. So much smoke and mirrors back then...and we loved it.
Trump Won!
Hey Joe and Dave nice to see you here.
@@sails9311 IMO Dynamite Headdy is the most impressive game visually on the Genesis. So many crazy techniques going on, all of those devs that pushed the system to its limits, amazing. Jon included!
@@Skellotronix I think the Vectorman games are more impressive
There's also a hardware bug, the leftmost column won't tilt and show garbage (forgot which). This was fixed in a hardware revision but that was way way down the line, like in 1996 or so. Some games got around this bug by only tilting the middle of the screen, or even going as far as having black bars to cover up the left side. I think Castlevania is guilty of both.
And I always wondered how it would look if you pushed the values way up, so cheers for the video.
I just made sure the ship graphic didn’t use that column. That’s why it’s slightly off centre
The irony of fixing the hardware bugs (IIRC the MD/Gen3 did) is that it broke some games which actually utilised them.
@King of The Zinger yes. "how?" is the real question. my guess it might be trivial with a shader (like many questions)
@@tech34756 Which hardware bugs did the MD3 fix, that games utilized? AFAIK it only fixed some broken 68k instructions which affected, like, one game (Gargoyles?). And that was on the 68k side, not the VDP side.
@@zyrobs I don’t know the exact details, so I just looked it up and found this on a site called ‘Nerdly Pleasures’:
“TAS Bug
The TAS bug is an issue between the 68000 CPU and the Video Display Processor (VDP) in the Genesis. "TAS" refers to a CPU instruction called Test and Set which functions slightly differently than other CPU instructions. The discrete VDPs found in the Genesis Model 1s and most of the Model 2s do not account for the instruction's behavior properly and a few games require the incorrect behavior to function.
When Sega integrated all the Genesis components into a single chip to cut down on costs, it fixed the VDP so that it does function properly when the TAS instruction is executed. This will cause issues or break certain games. The Genesis 3 VA2 motherboard revision suffers from this issue, but the VA1 is fine.
The only game which is confirmed beyond dispute to have issues with a proper TAS implementation is Gargoyles. Other games which may exhibit the issue include Bubba 'N' Stix, Cliffhanger (highly likely), Ex-Mutants, Adventures of Mighty Max, Turrican, X-perts and one of the Batman games.”
There is a Mega Drive game that I never understood how they put a rotating sprite, that game is the "Mega Turrican". The Same also has very well done scaling effects.
Can you explain how you handle collisions with the boat? I know it might not appeal to everyone but as a hobby programmer, I struggle to figure out how to make those types of rotating platforms in my platformers.
This ^^
Rotation is easy nowadays with plenty of resources and automation... but dynamic close-to-perfect collisions still haunt hobby programmers 😖
@@ahirunakamura9592 In an old dev diary someone at id Software said they implemented per-polygon collision detection in Doom 3 instead of relying on simplified bounding boxes, and suddenly they thought hit detection was broken because everyone kept missing.
I'd think giving every column an invisible moving platform that aligns its y-coord with the column's every frame would work. I've not seen too much of this game though so I don't know how moving platforms work in it.
Since the scroll registers effect the display output, the collsion detection is just unaware of the rotation. (So the collsion detection is done the same as if the boat wasnt moving, since the deck if the ship is still located at the same position as far as game logic is concerned.)
Your channel is an absolute goldmine of information. As a gamer who grew up in the 80's and experienced the final the result of your coding wizardry first-hand, thank you for the games and the videos.
Looks so sick. Love hearing this straight from the source… very fun and interesting to watch.
I love these videos, overcoming the technological limitations of the time is an incredible art form and led to such wonderful visual effects, it's such a shame that we will likely never see such innovation again. Even indie games that mimic the art style of older games will never have clever tricks like this that give birth to charming aesthetics.
Who is overcoming anything here? This only shows how Sega went with the bitplanes of Amiga and thus could only do very coarse tilt, while Nintendo used chunked memory like on PC or Archimedes with far better results.
@@ArneChristianRosenfeldt I'm not claiming that this technique of shifting rows and columns to simulate rotation is new for the games shown in this video. It is a technological limitation that was overcome at some point in time. Instead of just waiting for computers to be powerful enough to handle true rotation, they came up with this wonderful effects that look great in their own right.
@@DocBees-g4l But the genesis has dedicated hardware for this. Who was waiting for what? Genesis uses the scanline render algorithm, while zx spectrum and C16 and PCs use painters algorithm.
Some people love transparency and parallaxe so much that they want bitplanes. Others like sprites, scrolling and rotation and want chunks.
@@ArneChristianRosenfeldt and your point is? I don't know why you're so primed to disagree with me that you're willing to waste your time trying to convince me that dedicated hardware to fake an effect isn't an impressive feat overcoming a technological limitation that led to unique visuals. Go be pedantic and wrong somewhere else.
@@ArneChristianRosenfeldt backwards. snes used bitplanes and sega chunked.
I've always really loved the waves at the bottom of the boat and in the foreground/background in this scene.
I have actually seen this effect done on a SNES without using mode 7.
The SNES has 3 modes (modes 2, 4 and 6) that support changing the vertical and horizontal offset of every tile on a tilemap, which is very similar to the Mega Drive's column scrolling capabilities.
This would be done because the SNES' mode 7 only has a single layer, and modes 2 and 4 have 2 layers, so you can have a background on the same scanlines as the rotation effect without using up sprites.
Yeah, I remember seeing something similar in Tiny Toons- Buster Busts Loose on the train level where they made one of the carriages look like it was going up a slope.
That’s pretty clever, instead of using the single background layer of mode 7, you can just use background 2& 4 to do horizonlal & vertical line scrolling atonce to simulate the same effect as mode 7 without taxiing on the main proccesor😁
Super NES mode 2 (two 4bpp layers, column scrolling) is the closest in capability among Super NES background modes to the Genesis mode 5 (standard mode).
@@DamianYerrick Yeah, basically.
Modes 4 and 6 should be looked into as well, the former because of layer 1 having 8BPP, and the latter because 512px mode(though tiles take up more space now).
Another SNES example is Prehistorik Man, the icebergs in Stage 21 tilt in the water. The effect even arguably looks a bit better than the one in Puggsy, possibly because the manipulation seems to be done using smaller tiles than Genesis.
It's interesting that this effect wasn't used more often on SNES. I know it's because SNES had actual mode7 and developers were more eager to show that off. But while this tile manipulation method doesn't support full rotation, it lets you put actual detailed background layers behind the effect. Instead of a basic color or gradient, or relying on the sprite layer. Take the chandelier in Super Castlevania 4, it uses mode7 and only has a blank background that swaps between black and red. It only rotates about as far as this pirate ship, or the icebergs in Prehistorik Man. This tile manipulation method would have likely looked better/smoother and allowed for another detailed background behind it too.
Another CS episode and another Puggsy episode to boot? SWEET! I always wondered the specific reason for why the boat had to segment like that to get the rotation effect, now it makes more sense, hope to see an episode on Total Object Interaction (TOI) someday because that element is the core that ties everything together and is what truly set Puggsy apart from other platformers of the time.
That boat has some mickey mania feel to it.
epic insights of my childhood most favourite games this is so epic, thank you for existing and for making the great games you did!!!
It would be very interesting to see it being displayed on a CRT. Sure enough it would smooth things up just a little bit more ...
Depends on the output. s-video and SCART/RGB would be too clear, but composite or RF would probably do the trick.
It would definitely minimize the tearing in the vertical axis.
I really wish more 8- and 16-bit emulators included GOOD CRT filter simulations. Games like this just weren't intended to be played with ultra-sharp pixels and resolution. It's particularly a problem with Genesis\MegaDrive games, since developers used dithering effects all the time that frequently look awful if you can actually see the individual pixels.
@@jasonblalock4429 Amen. Even with best RGB cables, a CRT TV is way better in displaying these games. Most effects stay true to their design and do not fall apart like they do in a flat panel without filtering. This was a feature contained in emulators since the late 90s.
Anyone has a save file or a way to reach that area directly ? I do not have a Megadrive at hand but I can definitely output an emulator to a PVM to test it out and record.
What a great video! Pushing the effect further and show its limits was really great! Thanks!!
Just found your channel, awesome! Such a pleasure to watch videos from you, thanks!
Another great video. I like how you modified and compiled Puggsy just to demonstrate this =)
I think it's great that the boss AI still works even with the crazy new changes you made
The Boss AI is scripted to land on a box collider. If he removed the box collider the boss and puggsy would fall into the void or maybe wrap around the screen depending on how he had that part coded. Since he has a death zone for puggsy he would die definitely.
There's a strong chance the collision and boat graphics have nothing to do with each other, so most likely Jon just left the collision alone for his experiment. On tile-based graphics hardware like the Genesis it's much easier to treat the screen as "write-only" rather than trying to read it to figure out collision etc.
@@NobodyAtAll420 that’s just a unity thing. Not at all related to whatever physics system TT made from the ground up for the little microprocessor inside the Sega genesis.
Good episode. Enjoyed watching you push it over its limit in gameplay. Interesting to watch
Please continue to release videos about programming that do not contain a single line of code. Brilliant.
2 cell vertical scroll is very cool to play with.
this made me realize what im missing in todays retro games, such effects because engines just let the pixels rotate perfectly - sure it looks prettier but it kinda loses some charm :D
Always love to see puggsy in a video. The adventure vibes it gave me as a kid, thanks for that :). And awesome you just seem to compile the game with different rotation settings.
How amazing to have these demos of what could have been so many years later. Amazing video(s)
This channel shows actual classic games, not demos.
@@ostiariusalpha Watch the video bro :)
He just pushes the graphical trick in the game past the point where it looks good, it's not a demo; the game itself is where he keeps it safe and sane. Did you watch the video?
@@ostiariusalpha A demo is a demonstration. Which we get plenty of here.
@@nixneato LOL! A Let'sPlay is also a demonstration, that doesn't make it a demo. Demo refers specifically to technical demonstration unrelated to an actual game; either a prototype or a standalone program. Showing the coding tricks to a game is not the same thing.
Awesome video. It never ceases to amaze me what the Sega Genesis was able to do with clever programming tricks. I consider this effect more like a tilt than a rotation. Gunstar Heroes used this effect also. Red zone and Sonic the Hedgehog simulated what I consider full screen rotation.
you are very inspiring in your videos. It makes me realize that we can achieve great things with few power
NICE! I always wondered how allot of the effects in Contra Hard Corps where achieved... they have it on bosses, environments and what not.
Really awesome to learn how this things were done!
I’m glad you’re uploading a bit more frequently now.
Your channel never stops to amaze me 👍 👏
Mind blowing to see this done on the Genesis. Looks like a Sega CD game.
I never thought I would see the day that someone would talk about the game Puggsy on RUclips. Puggsy is such an underrated game with a banger of a soundtrack.
And who else than the programmer of the game himself to talk about it ? ;) He has made other videos explaining other things in Puggsy too, BTW (on his main account GameHut though, I think).
I agree it's an underrated game. I think people mistaking it for a platformer by its looks, while it's more like a puzzle game, is one reason.
The soundtrack is excellent indeed, as it is often the case with Matt Furniss' work.
@@Shyning77 I'll definitely check it out. Puggsy was my jam as a kid.
I guess streets of rage 2 pirate ship background rotation is the same effect. A pity the vertical scroll was limited to blocks of 16 pixels, it would be great if it allowed to do 1 pixel scroll like the horizontal one.
When i was little i remember finding something very curious in one of Puggsy's levels. In the second Star Fall Lake level there is a secret you can access with the scissors you find at the top right side of the level. You can use them to cut some camouflaged weeds in the pool to get an extra life which raises up to the surface on top of a balloon.
Now if you grab this balloon and float all the way to the top right of the screen until you hit the ceiling and then fall down to the level the sky gets very corrupted, becoming a mess of sprites in small squares.
Why does that happen?
P.S. I really adored your game ever since i was little. It is a true gem!
I love this channel. Im not a coder so 99% of what you say makes no sense to me, but still, I find it fascinating how ingenious your solutions were.
I'll admit to never playing Pugsy, but I remember seeing it in Sega Visions and other magazines as a kid and I credit it in no small part to my fascination with surrealism today. Screenshots of this game made all kinds of indecipherable things happen in my mind. And I loved it.
Pugsy just standing there with a smile that says "What the fuck is going on with the ship, dude?!"
So I saw a listing of a sega cd version of puggsy and thought of how awesome the tricks used in the game were. So I’m thinking about picking it up. Decades later and this game still getting interest is astonishing to me.
A childhood game i finally completed last summer. Thanks!
So happy I found your channel.
Congrats on the subscribers! Been watching since game hut and love your channel.
Simple video describing something technically simple, but achieving something much more spectacular. If I was playing the game, I doubt I would have noticed the stair-step effect had it not been pointed out.
What's impressive about this technique is unlike the SNES when in Mode 7, there's a lot of additional background imagery on display in tandem with the rotating element, including parallax layers.
@Lucas. Yes you are correct, it's an offset per tile technique :)
Vertical small objects like the mast keep looking pretty convincing.
You could just pre-animate the whole ship and make it look amazing with no extra coding work :)
We even had some overflow going on.
NOW IT'S TIME TO PUSH IT EVEN FURTHER!!!
The bird boss was cool but nothing will ever beat that dragon walk animation.
Its Fire breath looked good.
You are breaking the car, Samir
Now that's what I like to see indepth examples.
Great video as always. Glad to see you are still up to making them after the whole Ratchet and Clank PS3=PS5 controversy.
Woah, I remember this subject being in a poll you ran AGES ago!
This technique was used in Sonic 3 for when angel Island is floating
Amazing! Thank for sharing this 👍
The funniest thing about the extreme scrolling to me is how the little fish suddenly achieves terminal velocity when you sometimes stepped on it. Damn can that boy go fast
In my recommended. Great video. Subscription added
2:24
POV: You're on a cruise and the boat starts rotating violently and separating every few meters.
Back in the mists of time I did a game on the Megadrive ( sprites) the programmer did that on an enemy boss helicopter and I remember being very very impressed. And yeah we pushed the tilt only so far before it became obvious.
You could theoretically use Apple's trig code to move each pixel and generate new sprites in a circular motion. Apple did a lot of work on circles on the 68000 in the early Mac days. You'd need a lot of cartridge memory but it would probably work.
I am extremely new to programming, but I have been hardcore into playing Genesis games since I was a little kid. I am 26 now and I am finally going to make at least something that runs on genesis hardware that isn't just a hello world program written in C.
I feel the more extreme examples could be utilized for different weather environments; the second degree for a ramping storm, and then the extreme values (with some blocking out of the top, and possibly bottom, of the screen) during a severe storm to really sell the "cinematic climax" of the scenario. Regardless, amazing how some minor effects can be used to create incredible results.
I think the first time that the SNES used rotating sprites was in "Super Mario World", during the boss battles against Iggy and Larry.
Those boss rooms have big platforms that tilt left and right in a very noticeable manner at regular intervals, and those animations definitely look like Mode 7 to me.
Puggsy was one of my favourite megadrive games. Thank you
HOLY SHIT! You made a video without saying "impossible" in the title or thumbnail..
RUclips recommend your channel. Love it
I remember someone applied this trick to Sonic 1 so the game world would rotate around sonic. If you think this effect breaks down at 45 degrees, imagine how vile it looks when you run through a loop
You could probably reduce the strip effect by switching/swapping the tiles after a the mid angle. This would require more memory but allow to rotate further and/or to improve the look.
Contra Hardcorps used this kind of rotation too, but it looked a lot less convincing. Maybe they went a little overboard?
I'm glad you're back....
Love this channel!
It looks quite similar to how Angel Island rotates in the background toward the end of Sonic & Knuckles so I imagine this is what's going on there
I think the fact that the galleon looks a little roughshod anyway (stylistically) means you could get away with it fragmenting a little when it "rotates".
It's not the tiles being misaligned - it's the boat falling apart when the waves hit it.
Note that for example *Star Fox* (*Star Wing* for us Europeans... :P) does it for its background... on the SNES!
Here's why: SNES PPU Mode 7 only has a single background, but *Star Fox* needs it for the SuperFX-drawn things (sprites/objects are used for the purely 2D elements).
So instead, they use Mode 2 (two backgrounds and "offset-per-tile" on one), and this technique to rotate the background layer (otherwise static). The foreground layer is drawn onto by the SuperFX, producing the 3D ship, shots, etc.
The final result is what matters! So great to see it :-)
Add in the visual quality loss of composite/CRT back in the day and these effect look even better.
Two of my favourite games from that period were Puggsy & Wiz n Liz. Would love to see both titles resurrected.
That's quite interesting
You absolute madman! =D
you absolute madman for actually not saying first
@@markusTegelane I have to ruin their obnoxious idea of fun when I can... and, you know, recreating hardware tricks in software is neat, too.
I would also really love to know how you guys achieved the floor and ceiling rotation effect in that 3D level of Toy Story... I know I know you already had a video explaining how the super optimized walls in that level worked... but I'm still curious in that other factor
After they draw the walls and simultaneously clear the floor/ceiling with background colour, they go in and paint in the floor/ceiling lines likely with Bresenham. Raster interrupt palette changes implement the depth fog effect on the floor and ceiling.
I was wondering that too. It was like "oh ok so the walls are actually quite easy, but then how tf do you rotate/project the floor texture?"
@@chunye215 The floor and ceiling pattern is not a texture, not an image. Instead they just have a bunch of lines in world coordinates, as a repeating pattern. They just have to transform the ends of the lines into screen coordinates, and since they connect, it's one transform per line (amortised) and draw them in, as lines.
@@SianaGearz oh, that's clever. I think it would still make for a good video, with visualization of the concept etc.
This kinda reminds me of the sonic mania rotation.
Interesting.
Chuck Rock 2 has also the effect. At the Dino floating at water weawhile a bird zooming at you and saves from the sinking Dino.
I think on the SNES, you'd end up doing something similar with mode 2's offset-per-tile to recreate that screen. Mode 7 could of course do a proper rotation, but you only get one layer, and if you fill the entire screen with objects, you have a maximum of 16 pixels per line of sprite left - not enough for the characters.
or you can use an expensive addon chip, of course.
I love this channel so much
the ben hack of sega coding ... offtopic: all my life i thought i solder like sh1t - but then i saw you 2 way more genius dudes soldering even worse. anyways: you both rock! PS. lemme do music for you (for free)
I had enjoyed this great video
I appreciate the knowledge
Great video
This is very interesting on why you couldn't go past those bounds. However, it makes me think that given a slower animation that it could work. Essentially you're trying to stretch and skew it into place with some fixed update to the screen. I'm sure you had some sort of coordinate transform math on it to adjust at least the horizontal scroll amounts dynamically to get that effect. I would imagine that the center of a Sprite would be the reference point.
To add on, I imagine that the center would have had to rotate slower than the edges. You would almost have to break the Sprite up into different regions of rotation speed.
Hint, the transformation is going to involve, x(t)=amplitude*cos(t), y(t)=amplitude*sin(t). From that you can extract the starting position and the slope for each skews.
I'd love to see you tackle Panorama Cotton in the future, that game is incredible
I love that you spend as much time as you need to explain things, and no more. I could imagine a less honest creator stretching this video to 10 minutes just for ad money.
Shhh lol
It looks like about 15 to 20 degrees rotation back and forth. Funny how the illusion works for small angles but not big ones. Also I see nothing wrong with using the SEGA CD's extra hardware to make the effect even better, but not everyone had this add-on back then, but now thanks to the everdrive flash carts we can get that extra hardware without having the CD add-on.
Still think you should tackle the screen rotation in Brian the Lion by Psygnosis and the copper effect tunnel rotations in the later levels, be good to see you tackle some of the better Amiga stuff and whether or not any of the principles of the Amiga effects could be translated to Megadrive.
Many effects that were used on the Amiga were effective on the Mega Drive and vice versa.
In fact, if I recall reading, a lot of these kinds of effects, originated on the Amiga with the demo scene, which were coming up with all sorts of crazy effects in their demos, many of which could be translated into games in limited ways, rotation being one of them which was used in a few games on the Amiga and Mega Drive.
There’s no coincidence that this works only for small rotation angles: once sin(x) ~ x no longer holds true, the results start looking unconvincing.
Thanks for sharing
The most mindblowing effect on Puggsy for me is the hidden ending with the polygons rotating and having a different background with also different scrolling inside them. Do you plan to do a video about that in a future?
Awesome content.
It could be even cooler if you pushed the "rotation" of the ship just a bit further when a character jumps and lands on the ship to make it look like they're pushing the ship down.
That would probably be a lot of extra hard work.
I believe the SEGA CD added scaling and rotation with a dedicated ASIC. Did you ever code a game on the CD add on?
Had Sega somehow been savvy enough to add color along with the other cool hardware found on Sega CD, they would have had one more buyer.
This game looks cool. I never had it on the genesis. I'll have to play it some day.
I really enjoyed Puggsy when it came out. Great game!
Seems there's always been some effort to show other consoles of the era trying to do things the SNES could do as standard, which is still the case even today. I guess it's kinda cool that the SNES was/is the system others wanted to mimick, which clearly goes to how cool and impressive some of those built-in effects obviously were.
Interestingly though, this faux version of rotation is something that SNES can do too as a feature of background modes 2, 4 and 6, using both column and line scrolling combined just like Genesis, except the SNES version is actually slightly better, as the SNES can column scroll 8 pixel wide strips rather than the 16 pixels the Genesis column scrolling is limited to, so the rotation effect looks smoother on SNES (and presumably could also rotate even further without distortion too).
You can actually see this pretty clearly if you compare the helicopter rotation effect in Time Trax on both SNES and Genesis:
ruclips.net/video/nhTBFQpID2o/видео.html (SNES)
vs
ruclips.net/video/eItzCNaYuTc/видео.html (Genesis)
Now, can you make the Genesis show this many full screen overlapping backgrounds at once, especially without using any sprites (I updated it to most current version since I was here): ruclips.net/video/Rse4ItsnC2A/видео.html
Nope. But also pretty much irrelevant. Gaining a 4th BG is not worth the huge color loss. Not even close to being worth it.
@@TurboXray that guy inceptional is delusional the snes graphics are chunky and stretched.
The first boss of Contra III really pushes mode 2. He tilt his body vertically, makes his neck long and following the player (no sprites, just BG layer). Is really impressive.
That boss would look super weird on Genesis because of the 16 pixels wide limitation.
At the end it all depends on how you use this. Contra Hard Corps on Genesis looks, plays and sounds better than Contra III on SNES after all.
I see zero irony