Amiga.org

Amiga computer related discussion => General chat about Amiga topics => Topic started by: ognix on April 10, 2010, 11:15:07 AM

Title: Scrolling 2D: why so good on Amiga?
Post 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.
Title: Re: Scrolling 2D: why so good on Amiga?
Post by: bloodline on April 10, 2010, 11:19:05 AM
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.
Title: Re: Scrolling 2D: why so good on Amiga?
Post by: Karlos on April 10, 2010, 12:37:10 PM
@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?
Title: Re: Scrolling 2D: why so good on Amiga?
Post by: Linde on April 10, 2010, 12:58:18 PM
Quote from: Karlos;552707
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.
Title: Re: Scrolling 2D: why so good on Amiga?
Post by: stefcep2 on April 11, 2010, 03:34:47 PM
Quote from: Karlos;552707
@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.
Title: Re: Scrolling 2D: why so good on Amiga?
Post by: bbond007 on April 11, 2010, 04:22:05 PM
Quote from: Linde;552711
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.
Title: Re: Scrolling 2D: why so good on Amiga?
Post by: Amiga_Nut on April 12, 2010, 01:29:49 AM
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.
Title: Re: Scrolling 2D: why so good on Amiga?
Post by: meega on April 12, 2010, 02:21:44 AM
Quote from: Karlos;552707
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).
Title: Re: Scrolling 2D: why so good on Amiga?
Post by: Piru on April 12, 2010, 03:10:58 AM
Quote from: Karlos;552707
@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.
Title: Re: Scrolling 2D: why so good on Amiga?
Post by: Britelite on April 12, 2010, 08:03:28 AM
Quote from: Linde;552711
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.
Title: Re: Scrolling 2D: why so good on Amiga?
Post by: Steady on April 12, 2010, 09:31:23 AM
Yeah, weren't the modulo registers used for that, providing the offset from the 16-bit value to enable single-bit precision.
Title: Re: Scrolling 2D: why so good on Amiga?
Post by: Linde on April 12, 2010, 10:32:10 AM
Quote from: Britelite;553100
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.
Title: Re: Scrolling 2D: why so good on Amiga?
Post by: Britelite on April 12, 2010, 11:39:15 AM
Quote from: Linde;553115
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 ;)
Title: Re: Scrolling 2D: why so good on Amiga?
Post by: warpdesign on April 12, 2010, 11:50:22 AM
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.
Title: Re: Scrolling 2D: why so good on Amiga?
Post by: ognix on April 12, 2010, 01:53:01 PM
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  ).
Title: Re: Scrolling 2D: why so good on Amiga?
Post by: warpdesign on April 12, 2010, 03:52:53 PM
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,...).
Title: Re: Scrolling 2D: why so good on Amiga?
Post by: Crumb on April 12, 2010, 06:31:22 PM
@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.
Title: Re: Scrolling 2D: why so good on Amiga?
Post by: Karlos on April 12, 2010, 07:15:11 PM
Quote from: Piru;553086
Sure. With AGA at least.


Sweet. I didn't hallucinate it after all :-)
Title: Re: Scrolling 2D: why so good on Amiga?
Post by: ChaosLord on April 12, 2010, 07:21:09 PM
Quote
Scrolling 2D: why so good on Amiga?

Cuz Amiga r0xx0rz da sc3n3!

Because Jay Miner knew what he was doing.
[/B]
Title: Re: Scrolling 2D: why so good on Amiga?
Post by: kickstart on April 12, 2010, 09:07:11 PM
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.