Welcome, Guest. Please login or register.

Author Topic: Scrolling 2D: why so good on Amiga?  (Read 6509 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline ognixTopic starter

  • Sr. Member
  • ****
  • Join Date: Oct 2004
  • Posts: 256
    • Show only replies by ognix
Scrolling 2D: why so good on Amiga?
« 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.
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12114
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Scrolling 2D: why so good on Amiga?
« Reply #1 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.

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Scrolling 2D: why so good on Amiga?
« Reply #2 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?
int p; // A
 

Offline Linde

  • Sr. Member
  • ****
  • Join Date: Mar 2004
  • Posts: 457
    • Show only replies by Linde
    • http://hata.zor.org/
Re: Scrolling 2D: why so good on Amiga?
« Reply #3 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.
 

Offline stefcep2

  • Hero Member
  • *****
  • Join Date: Sep 2007
  • Posts: 1467
    • Show only replies by stefcep2
Re: Scrolling 2D: why so good on Amiga?
« Reply #4 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.
 

Offline bbond007

  • Hero Member
  • *****
  • Join Date: Mar 2009
  • Posts: 1517
    • Show only replies by bbond007
Re: Scrolling 2D: why so good on Amiga?
« Reply #5 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.
 

Offline Amiga_Nut

  • Hero Member
  • *****
  • Join Date: Jan 2007
  • Posts: 926
    • Show only replies by Amiga_Nut
Re: Scrolling 2D: why so good on Amiga?
« Reply #6 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.
 

Offline meega

  • Hero Member
  • *****
  • Join Date: Jul 2006
  • Posts: 952
    • Show only replies by meega
Re: Scrolling 2D: why so good on Amiga?
« Reply #7 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).
:)
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: Scrolling 2D: why so good on Amiga?
« Reply #8 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.
 

Offline Britelite

  • Full Member
  • ***
  • Join Date: Jul 2003
  • Posts: 187
    • Show only replies by Britelite
    • http://www.dekadence64.org
Re: Scrolling 2D: why so good on Amiga?
« Reply #9 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.
 

Offline Steady

Re: Scrolling 2D: why so good on Amiga?
« Reply #10 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.
 

Offline Linde

  • Sr. Member
  • ****
  • Join Date: Mar 2004
  • Posts: 457
    • Show only replies by Linde
    • http://hata.zor.org/
Re: Scrolling 2D: why so good on Amiga?
« Reply #11 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.
« Last Edit: April 12, 2010, 10:39:17 AM by Linde »
 

Offline Britelite

  • Full Member
  • ***
  • Join Date: Jul 2003
  • Posts: 187
    • Show only replies by Britelite
    • http://www.dekadence64.org
Re: Scrolling 2D: why so good on Amiga?
« Reply #12 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 ;)
 

Offline warpdesign

  • Sr. Member
  • ****
  • Join Date: Feb 2008
  • Posts: 256
    • Show only replies by warpdesign
    • http://www.warpdesign.fr
Re: Scrolling 2D: why so good on Amiga?
« Reply #13 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.
 

Offline ognixTopic starter

  • Sr. Member
  • ****
  • Join Date: Oct 2004
  • Posts: 256
    • Show only replies by ognix
Re: Scrolling 2D: why so good on Amiga?
« Reply #14 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  ).