Amiga.org
Amiga computer related discussion => General chat about Amiga topics => Topic started by: ognix on April 10, 2010, 11:15:07 AM
-
Hello!
I hope I'm not asking for a stupid question, but I still wonder why, at this time, I never watched a smooth 2D scroll on a PC with xGHz processor and wonderful gfx card (I'm speaking of simple text/image scrolling), while I experienced great results on my old trusty Amiga 500 running at 7MHz with its old chipset.
I always saw frame skipping, jerky scrollings, small interruptions in the movements (eg. the classic screen blanker with text scrolling on Windows).
I understand the Amiga is well syncronized with video output (at PAL/NTSC frequencies) but so could be a PC (for VGA output).
The story changes if we go to 3D: in this case graphics on PCs are very smooth (generally speaking, not referring to screen resolution, FPS - depends on gfx card): in fact I think you can get a smooth 2D scroll by projecting just a face of a flat solid in a 3D environment.
Any precise answer?
Thanks and sorry once more if the question is dumb.
-
VBL beam synchronisation coupled with scrolling based on setting a bitplane offset, rather than the blitter approach as used in most old 2D PC gfx engines... modern gfx engines use the 3D hardware (via OGL or DX3D) which gives much superior results.
-
@bloodline
2D scrolling on any reasonable platform should be just a matter of setting the viewport offset in a larger bitmap than can be physically displayed.
Actually, wasn't the amiga hardware scrolling capable of "sub pixel" scroll precision by using high-res (or super high-res on later hardware) pixel timing with a low-res bitmap? Or did I just dream that one time when not very well?
-
2D scrolling on any reasonable platform should be just a matter of setting the viewport offset in a larger bitmap than can be physically displayed.
Not necessarily. VGA mode 0x13 is just a single screen of chunky pixels, and as you may know some really nice PC platformers use this mode smoothly and without jerkiness. The same goes for the C64. There is only 8-pixel scrolling and a lot of smooth platformers obviously run on this, too. No changing of viewports (well, on the C64 there actually is to some extent but only in terms of screens, not pixels), just copying new data into video RAM. These are both proven "reasonable" platforms for 2D scrolling.
There are a lot of smooth and technically superior platformers on modern PC's too. One problem is that it's hard to do everything in time when there are a bunch of other tasks running on the PC. It's not necessarily a problem if you have a fast enough computer, but since most classic Amiga games don't have to share resources with other tasks, looking at the good old, tightly coded DOS games is a lot more fair.
-
@bloodline
2D scrolling on any reasonable platform should be just a matter of setting the viewport offset in a larger bitmap than can be physically displayed.
Actually, wasn't the amiga hardware scrolling capable of "sub pixel" scroll precision by using high-res (or super high-res on later hardware) pixel timing with a low-res bitmap? Or did I just dream that one time when not very well?
i think thats what Scala did.
-
Not necessarily. VGA mode 0x13 is just a single screen of chunky pixels, and as you may know some really nice PC platformers use this mode smoothly and without jerkiness. The same goes for the C64. There is only 8-pixel scrolling and a lot of smooth platformers obviously run on this, too. No changing of viewports (well, on the C64 there actually is to some extent but only in terms of screens, not pixels), just copying new data into video RAM. These are both proven "reasonable" platforms for 2D scrolling.
There are a lot of smooth and technically superior platformers on modern PC's too. One problem is that it's hard to do everything in time when there are a bunch of other tasks running on the PC. It's not necessarily a problem if you have a fast enough computer, but since most classic Amiga games don't have to share resources with other tasks, looking at the good old, tightly coded DOS games is a lot more fair.
Very true. There was also the somewhat undocumented (320x240) VGA "Mode X" which allowed page flipping. Anything I wrote I used 0x13H because it was just simpler to deal with. Also 320x200 fits in 64K which worked out better with the PC's then horrible 64k segment/offset type architecture.
http://en.wikipedia.org/wiki/Mode_X
actually, if you'd like to check out a awesome modern platformer, check out Trine
http://trine-thegame.com/site/
I ended up getting both the PS3 and the PC version I liked it so much.
-
BUT....on a PC you are never in 100% control...Windows butts it's ugly fat face in whenever it feels like it. On the Amiga you can decide YOU are in 100% control of what happens when.
There are ways around it but everything in Windows land is basically a kludge.
-
Actually, wasn't the amiga hardware scrolling capable of "sub pixel" scroll precision by using high-res (or super high-res on later hardware) pixel timing with a low-res bitmap? Or did I just dream that one time when not very well?
You might have been dreaming, I don't know. Were you asleep at the time?
I can imagine that it might work for horizontal scrolling, I'm no expert on the coding there though, but Lo/Hi/SuperHi-res screens all have the same number of lines... (Lacing excepted, of course, but that just doubles them all, so again they're the same).
-
@bloodline
Actually, wasn't the amiga hardware scrolling capable of "sub pixel" scroll precision by using high-res (or super high-res on later hardware) pixel timing with a low-res bitmap?
Sure. With AGA at least.
-
The same goes for the C64. There is only 8-pixel scrolling and a lot of smooth platformers obviously run on this, too. No changing of viewports (well, on the C64 there actually is to some extent but only in terms of screens, not pixels), just copying new data into video RAM. These are both proven "reasonable" platforms for 2D scrolling.
Erm, what? You do know that the c64 is able to smoothly scroll the whole screen with pixel precision in hardware? (or is it maybe this you're referring to with 8-pixel scrolling?) So, it's nothing like chunky pixels.
-
Yeah, weren't the modulo registers used for that, providing the offset from the 16-bit value to enable single-bit precision.
-
Erm, what? You do know that the c64 is able to smoothly scroll the whole screen with pixel precision in hardware? (or is it maybe this you're referring to with 8-pixel scrolling?) So, it's nothing like chunky pixels.
I didn't say that it was anything like chunky pixels, but as far as I know the C64 is only able to scroll 8 pixels smoothly in hardware before having to copy the character blocks to move them further. I'm sorry if I was misinformed, and I'd be happy if you could explain the trick for scrolling the whole screen (or point me to a resource that explains it). I'm only dabbling in C64 coding, so 8 pixel scrolling is the only hardware scrolling I understand.
-
I didn't say that it was anything like chunky pixels, but as far as I know the C64 is only able to scroll 8 pixels smoothly in hardware before having to copy the character blocks to move them further. I'm sorry if I was misinformed, and I'd be happy if you could explain the trick for scrolling the whole screen (or point me to a resource that explains it). I'm only dabbling in C64 coding, so 8 pixel scrolling is the only hardware scrolling I understand.
Ok then, I kind of misunderstood you. But still, you actually kind of do the same on the amiga too to scroll smoothly horizontally (hardware scroll for 16 pixels and then move pointers). And there are some tricks on the c64 to "move" the screen without needing to copy all the memory around, but I'll leave you to find out more of that ;)
-
There are a lot of smooth scrolling games on PC as well... Seems like you haven't looked far enough.
And btw most perfect scrolling applications aren't OS-friendly apps: it's easier to have something perfect by disabling multitask... When in a multitask environment, the Amiga just becomes like any other multitask OS. There are often tasks interrupting the process.
-
Ok, it seems this argument is not that obvious after all... :)
And yes, maybe I've not tested/watched deeply in the PC/Windows software arena, but I think this Amiga hardware is better at this specific task (leaving the 3D solution, of course).
Thanks for all answers... maybe I raised the attention of some developers on this subject (for promoting nice/portable/system friendly scrolling routines... :D ).
-
Well, there's no doubt in 1985-9 the Amiga was a lot better than PC for any kind of arcade games... But the 386/486s and the Mode-X made perfect scrolling games possible on the PC as well. And by 93-94, a lot of PC arcade games had good scrolling, in addition to more colors than Amiga versions, no slowdowns and same module-based sound... And at the same time, any other games (3D, adventure) were a lot better on the PC (256 colors, more animations, voices,...).
-
@warpdesign
most of 93-94 games released for pc had both worse music and scrolling than amiga versions (we had quarter pixel scrolling on AGA and reaching that smooth scroll would have required that they opened 1280 width screens to do the same). Your pink memories aren't real: even thought it was technically possible to do smooth scrolling on PC most of PC coders forgot that and you had 256 colour sprites with big square pixels scrolling jerkily with metalic sound coming out from yogurt-like speakers.
3D games? IMHO first FPS shooters were boring as hell. The first entertaining FPS for me was half-life. The rest? I played Alone in the dark series on my amiga, just like Comanche, Duke Nukem, Dark Forces, Wolf3D and others.
-
Sure. With AGA at least.
Sweet. I didn't hallucinate it after all :-)
-
Scrolling 2D: why so good on Amiga?
Cuz Amiga r0xx0rz da sc3n3!
Because Jay Miner knew what he was doing.
[/B]
-
I remember wrath of the demon on my a500 and the same game on my friends 386dx (a good pc for this times) no words for the result, just my friend wanting another a500.