English Amiga Board


Go Back   English Amiga Board > Main > Nostalgia & memories

 
 
Thread Tools
Old 09 January 2020, 11:53   #1
Foebane
Registered User
 
Join Date: Sep 2011
Location: Cardiff, UK
Age: 47
Posts: 1,917
Sprites are the weakest part of the Amiga specification (DEBUNKED)

As far as I can see, with only eight 3-colour sprites and 4 15-colour ones, with unlimited height but only 16 pixels wide, you really can see why the consoles wipe the floor with the Amiga OCS/ECS sprites.

I heard that AGA sprites were as much as 64 pixels wide, but in only 1 colour. If anything, I've noticed, after watching hundreds of high-end Amiga AGA demos, that the main use of the sprites is for titles and captions over HAM8 animations, because that's the only way to display moving text on that mode, although I've seen rotating coloured cubes using sprites on OCS, which were quite impressive. But most of the time, the sprite overlays will be simply white and just moving across or up and down or even "shaking", some trend of the time, I suppose.

The Amiga is the natural successor to the Atari 8-bit family, and that system's sprites worked the exact same way, and even the C64 sprites were superior. I think it's most likely that Jay Miner never regarded hardware sprites that highly, which is probably why the Blitter was added.

Is there any great specific sprite demos? If my info is wrong, feel free to correct me. It's hard to tell the sprites in games vs bobs, etc.

Last edited by Foebane; 10 January 2020 at 22:07.
Foebane is offline  
Old 09 January 2020, 12:06   #2
Steril707
Tigerskunk!

Steril707's Avatar
 
Join Date: Sep 2016
Location: Amiga Island
Posts: 1,254
On OCS you can do some nice things with sprites, like those parallax backgrounds.
And when used with a multiplexer, you get a good amount of sprites on screen.
Very useful with for instance games where you need many small objects, like bullets.

And they don't have 1 colour, but 3 or 15 (but then you only have 4 sprites available)

I think you just need to view sprites on OCS (and maybe AGA as well) a bit differently. They are not the "bug game objects pusher". They are more in the vein of "little helpers" that you use here and there..

Last edited by Steril707; 09 January 2020 at 12:18.
Steril707 is offline  
Old 09 January 2020, 12:22   #3
malko
Ex nihilo nihil

malko's Avatar
 
Join Date: Oct 2017
Location: CH
Posts: 2,594
^ I may be wrong, but isn't it what ross has done on the Ziriax - Ultimate Edition's cracktro ?
malko is offline  
Old 09 January 2020, 12:44   #4
roondar
Registered User

 
Join Date: Jul 2015
Location: The Netherlands
Posts: 1,608
Sprites are deceptive on the Amiga. The hardware allows for very easy multiplexing (it's literally baked in the hardware), which means that you can get quite a few objects out of those 8 (or 4) sprite channels.

Which has resulted in there being quite a few Amiga games that show a pretty large amount of objects using the sprite hardware. Hybris uses sprites for all enemies, SWIV shows around 30 or so player bullets using just sprites, St. Dragon shows up to 20 player bullets with sprites. The rain effect in Agony was created using just 2 sprites. Etc.

There's also games that use the sprite hardware to create their background layers, which is a neat way of getting a Parallax background without needing Dual Playfield mode. If you push this, you can actually have a totally free-form background layer which doesn't care about sprite width (http://powerprograms.nl/amiga/spr-layer.html)*, though that is more of a trick than anything useful for games.

However, all of these uses require some thought. It's nowhere near as easy to push tons of objects with Amiga sprites as it is using say console hardware. If you can manage to think it through though, you can have some pretty impressive results for hardware that seemingly allows very little.

As for AGA: sprites are effectively identical to OCS sprites, except they can now be up to 64 pixels wide instead of 16. There are no additional colour limitations. This does change things a bit because that width is enough to cover quite a few pixels. AFAIK there's at least one AGA game that has a massive boss that is just sprites.

A good example of AGA sprites in use is Rygar AGA, which does a lot with sprites. IIRC all (or at least most) enemies are actually hardware sprites. As I understand it, Reshoot and Reshoot-R create all the enemy bullets with sprites - apparently up to 100 of them.

*) yeah, shameless plug alert

Last edited by roondar; 09 January 2020 at 12:51. Reason: Clarified some things a bit
roondar is offline  
Old 09 January 2020, 12:59   #5
Foebane
Registered User
 
Join Date: Sep 2011
Location: Cardiff, UK
Age: 47
Posts: 1,917
Thanks, Roondar, I'll check out those games.
Foebane is offline  
Old 09 January 2020, 13:01   #6
ross
Per aspera ad astra

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 49
Posts: 2,425
Quote:
Originally Posted by malko View Post
^ I may be wrong, but isn't it what ross has done on the Ziriax - Ultimate Edition's cracktro ?
Yep, all moving objects are sprites and are probably >300, with negligible CPU usage.
But I've also written other interesting effects using sprites (sine scroll, glenz vectors, parallax animated background..).

C64 sprites are not x-multiplexable, on Amiga yes. So in the end they are not that bad
ross is offline  
Old 09 January 2020, 13:13   #7
sokolovic
Registered User

sokolovic's Avatar
 
Join Date: Aug 2013
Location: Marseille / France
Posts: 244
At least Amiga got hardware sprites, which wasn't the case on Atari ST, MacIntosh or PCs that were the direct rivals of the Amiga when it was released (mid 1985).
And don't forget, as said, that the sprite theorical limitation could be surpassed using multiplexing or Bobs which weren't limitated in size, colors or number but only by memory.
I don't know why the addition of Bobs shoudn't be considered as an advantage the Amiga had over other system at that time.

If sprite for you is a moving object on screen, then the Amiga got, in my opinion, a pretty decent system with all the tricks that could be used to outpass the strict 8-objects-moving-on-screen-at-the-same-time limitations (and many many games obviously don't stick to the 8 eight HW sprite to animate many objects on screen on the Amiga)

Last edited by sokolovic; 09 January 2020 at 14:55.
sokolovic is offline  
Old 09 January 2020, 13:22   #8
ross
Per aspera ad astra

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 49
Posts: 2,425
Some sprites on AGA:
https://www.pouet.net/prod.php?which=72407

ross is offline  
Old 09 January 2020, 13:26   #9
Daedalus
Registered User

Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 4,446
Indeed, AGA sprites can be 3 or 15 colours deep in exactly the same was as OCS/ECS sprites, but up to 64 pixels wide. This means that they're wide enough for 5 sprites to cover an entire low-res screen, an effect that was often used for adding extra layers of parallax. Not sure where you got the 1-bit deep thing - even if you only use one colour in a sprite, it's still at least 3 colours deep. In addition, AGA sprites have more palette freedom, not being tied to pens 16-31 as their OCS/ECS counterparts are, which allows more direct, non-copper colours on screen, and allow sub-pixel positioning, which gives a supersmooth scrolling capability for a sprite background layer.

They do show their Atari 8-bit heritage in their implementation, but are far more advanced and accomplished than the old 8-bit sprites were. For a start, the old 8-bits didn't have a vertical position, meaning tricks were needed to move a sprite up and down. The Amiga fixes that issue, along with the issue of multicolour sprite palette handling and multiplexing.
Daedalus is offline  
Old 09 January 2020, 19:21   #10
Foebane
Registered User
 
Join Date: Sep 2011
Location: Cardiff, UK
Age: 47
Posts: 1,917
Quote:
Originally Posted by ross View Post
Yes, I've seen that demo, or at least I think I have. I mean, it seems to glitch on WinUAE, and there's no video to show how it should run. But it looks nice, all the same. I'll try it again now, to remind myself.

Quote:
Originally Posted by Daedalus View Post
Indeed, AGA sprites can be 3 or 15 colours deep in exactly the same was as OCS/ECS sprites, but up to 64 pixels wide. This means that they're wide enough for 5 sprites to cover an entire low-res screen, an effect that was often used for adding extra layers of parallax.
Did the Shadow of the Beast games, namely 2 and 3, use sprites for this purpose? I always got the impression it did, which resulted in the smooth motion.

Quote:
Not sure where you got the 1-bit deep thing - even if you only use one colour in a sprite, it's still at least 3 colours deep.
Yes, I think they are 3 colours, as the overlays in the demos I mentioned usually have a single-pixel border around the white text, and probably have subtle anti-aliasing with a single colour as well.

Like this example:
[ Show youtube player ]
All the captions and little graphics over the HAM8 stuff is all sprites, I gather.

Quote:
In addition, AGA sprites have more palette freedom, not being tied to pens 16-31 as their OCS/ECS counterparts are, which allows more direct, non-copper colours on screen, and allow sub-pixel positioning, which gives a supersmooth scrolling capability for a sprite background layer.
Not to mention Super HiRes sprites, as I've seen at least one demo use for an end-credits scroller. And most demos, I've noticed, use sprites for text scrollers anyway.

Like this example:
[ Show youtube player ]
The superhires sprite is used for the scroll on the left at 4:26, but it seems that the YouTube videos can't capture such a high resolution, or was emulated that way. I have the same issue in WinUAE, unless I use the SuperHires option. But it's still cool!

So how are the colours chosen in AGA sprites?

Quote:
They do show their Atari 8-bit heritage in their implementation, but are far more advanced and accomplished than the old 8-bit sprites were. For a start, the old 8-bits didn't have a vertical position, meaning tricks were needed to move a sprite up and down.
Oh GOD, tell me about it. Speaking as someone who mainly programmed in BASIC on the Atari 8-bit in the 1980s, I can personally attest to this difficulty, and it made sprite-based games in BASIC too slow for the most part.

Quote:
The Amiga fixes that issue, along with the issue of multicolour sprite palette handling and multiplexing.
GOOD! I'm starting to see the superiority of Amiga sprites now.
Foebane is offline  
Old 09 January 2020, 21:50   #11
jotd
This cat is no more
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 48
Posts: 3,530
even OCS sprites aren't so bad, when porting old arcade games, the characters are often 16-bit wide and have ... 3 colors. Examples: PacMan, Bagman, ... I'm exploring this area now.
jotd is offline  
Old 10 January 2020, 06:17   #12
Minuous
Coder/webmaster/gamer
Minuous's Avatar
 
Join Date: Oct 2001
Location: Canberra/Australia
Posts: 2,023
Quote:
Originally Posted by Foebane View Post
Did the Shadow of the Beast games, namely 2 and 3, use sprites for this purpose? I always got the impression it did, which resulted in the smooth motion.
Since they are OCS games, they wouldn't be using any AGA features.
Minuous is offline  
Old 10 January 2020, 10:01   #13
Foebane
Registered User
 
Join Date: Sep 2011
Location: Cardiff, UK
Age: 47
Posts: 1,917
Quote:
Originally Posted by Minuous View Post
Since they are OCS games, they wouldn't be using any AGA features.
Oops. Brain fart on my part.
Foebane is offline  
Old 10 January 2020, 11:04   #14
AmigaHope
Registered User
 
Join Date: Sep 2006
Location: New Sandusky
Posts: 468
The anemic number of hardware sprites has always been my big lament about the Amiga. It's why the Sharp X68000 could throw imagery around like crazy in a way the Amiga never could have hoped to.

Of course that system came out 2 years later. Still, the Amiga was so far ahead in 1985 in almost all respects, it's odd that its hardware sprites were on par (or SLIGHTLY better with hacks) with the 1982 Commodore 64, or comparable to the 1983 Famicom. If they'd just made the sprites 16 color by default (or allowed 16 4-color sprites per scanline), or just quadrupled the numbers, it would have made a big difference. A small 32k sprite cache to avoid constantly DMAing the sprites would have worked wonders (maybe allow sprites to DMA from chip memory or from cache, selectable)
AmigaHope is offline  
Old 10 January 2020, 11:07   #15
Daedalus
Registered User

Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 4,446
Quote:
Originally Posted by Foebane View Post
The superhires sprite is used for the scroll on the left at 4:26, but it seems that the YouTube videos can't capture such a high resolution, or was emulated that way. I have the same issue in WinUAE, unless I use the SuperHires option. But it's still cool!
Yeah, it's a nice effect alright. True, WinUAE will normally only render the high res pixels by default, you have to turn on super highres pixels to get all the detail and subtleties like quarter-pixel positioning.

Quote:
So how are the colours chosen in AGA sprites?
By default, they're the same as OCS/ECS sprites for compatibility with non-AGA software (pens 8-15 for 15-colour sprites, or split into 4 banks of 4 for each pair of 3-colour sprites, with the first pen of each sprite transparent). Under AGA however, you can switch that bank of 16 pens to another bank elsewhere, including beyond the colour range of the current screen (e.g. pens 0-31 for the bitmaps on a 32-colour screen, pens 32-47 for the sprites). Additionally, you can set a different bank of 16 colours for even and odd sprites, meaning effectively you can have a unique palette for all 8 3-colour sprites, and all independent of the bitmap graphics colours if you use 128 colours or fewer. All 15-colour sprites still have to share a single bank unfortunately, but at least that bank can still be anywhere in the 256 colour range.

Quote:
Oh GOD, tell me about it. Speaking as someone who mainly programmed in BASIC on the Atari 8-bit in the 1980s, I can personally attest to this difficulty, and it made sprite-based games in BASIC too slow for the most part.
Same here The standard Atari Basic was a little too slow for most things alright. I managed to build a decent Pong clone using sprites, but the diagonal movement of the ball jittered because it simply couldn't update the vertical position within the vertical blank interrupt.
Daedalus is offline  
Old 10 January 2020, 11:26   #16
Steril707
Tigerskunk!

Steril707's Avatar
 
Join Date: Sep 2016
Location: Amiga Island
Posts: 1,254
Quote:
Originally Posted by AmigaHope View Post
The anemic number of hardware sprites has always been my big lament about the Amiga. It's why the Sharp X68000 could throw imagery around like crazy in a way the Amiga never could have hoped to. Of course that system came out 2 years later.
Two years later, and a lot more expensive.

Quote:
Originally Posted by AmigaHope View Post
Still, the Amiga was so far ahead in 1985 in almost all respects, it's odd that its hardware sprites were on par (or SLIGHTLY better with hacks) with the 1982 Commodore 64, or comparable to the 1983 Famicom. If they'd just made the sprites 16 color by default (or allowed 16 4-color sprites per scanline), or just quadrupled the numbers, it would have made a big difference.
My only lament would be that the sprites are only 16px wide. 32px would have been awesome. The way it is now, you can only have 2 32px wide sprites with 16 colours, and that's too low, even when multiplexed.

With 4 per scanline, you can go a long way in most "normal" games.
Steril707 is offline  
Old 10 January 2020, 12:02   #17
Foebane
Registered User
 
Join Date: Sep 2011
Location: Cardiff, UK
Age: 47
Posts: 1,917
Quote:
Originally Posted by Daedalus View Post
The standard Atari Basic was a little too slow for most things alright. I managed to build a decent Pong clone using sprites, but the diagonal movement of the ball jittered because it simply couldn't update the vertical position within the vertical blank interrupt.
In the last several years, I investigated how the C64 managed sprite movement, and I was positively JEALOUS to find out how much simpler and more versatile it was to program a sprite and move it around on the C64 screen! In BASIC! No wonder it was so popular.

The C64 may have been limited in size (24x21 pixels hires 1-colour, 12x21 pixels lores 3-colour) but they were certainly more generous with the 3 bytes per scanline vs the Atari's 1 byte. I also wondered what the 21 pixel significance was, and that was so each of the 8 sprites could fit in exactly 64 bytes of memory. Nice and elegant, I thought.
Foebane is offline  
Old 10 January 2020, 12:23   #18
sokolovic
Registered User

sokolovic's Avatar
 
Join Date: Aug 2013
Location: Marseille / France
Posts: 244
Here we go again with pointless comparison with the X68000 that was at least 5 time more expensive than the Amiga (3000$ VS 700$ for the A500. Even the A1000 in 1985 was released 2 years before at a price that was twice inferior : 1 300$).

I just don't understand why this hudge difference seems to be completely obliterated by people constantly comparing the 2 systems. I don't know for other system but is there also people comparing the first Macintosh or the Macintosh plus with the X68000 ? Because the price range for the Mac is much more closer to the X68000. And the Atari ST ? Does people compare this machine and it inexistent hardware sprite abilities with the X68000 ?

For a system that was 5 time cheaper, keep being compared to the beast that was the X68000 maybe prove that the Amiga wasn't such a big shitty machine like we can read here and there.

Last edited by sokolovic; 10 January 2020 at 14:10.
sokolovic is offline  
Old 10 January 2020, 12:31   #19
Foebane
Registered User
 
Join Date: Sep 2011
Location: Cardiff, UK
Age: 47
Posts: 1,917
Agreed, Sokolovic.

EITHER these hardware oficionados just love to treat the X68000 as the Holy Grail of gaming hardware and compare it with everything else, despite it's lack of availability outside of Japan,

OR we had a lot of Western gamers back in the day making lots of frequent trips back and forth to Japan.

I think the former is much, much, much more likely.
Foebane is offline  
Old 10 January 2020, 12:47   #20
roondar
Registered User

 
Join Date: Jul 2015
Location: The Netherlands
Posts: 1,608
Quote:
Originally Posted by jotd View Post
even OCS sprites aren't so bad, when porting old arcade games, the characters are often 16-bit wide and have ... 3 colors. Examples: PacMan, Bagman, ... I'm exploring this area now.
OCS sprites are quite capable when used well. They'd rock for older stuff for sure. Hybris could be seen as an inspiration here, every enemy is a hardware sprite.
Quote:
Originally Posted by AmigaHope View Post
Still, the Amiga was so far ahead in 1985 in almost all respects, it's odd that its hardware sprites were on par (or SLIGHTLY better with hacks) with the 1982 Commodore 64, or comparable to the 1983 Famicom.
I feel some defense of the Amiga's sprites is in order, as I love them regardless of their many faults. So... Here goes

Amiga hardware sprites, for all their faults, are actually significantly better than either Master System or NES sprites in many ways. They cover more pixels horizontally (up to 128 vs 64) and can display more pixels without tricks (up to about 32768 vs 8192). They can also be horizontally multiplexed, which is something that none of the systems you name can do.

Similarly, Amiga sprites can actually cover way more pixels than the C64 sprites can - if no tricks are allowed. Depending on sprites being expanded or not, the Amiga can cover anywhere from 2x to 8x the number of pixels with sprites that the C64 can.

That said, if tricks are allowed C64 sprites do indeed become much better than Amiga sprites, certainly for the purpose of displaying game objects. However, don't forget the C64 relies almost exclusively on sprites for objects in games, while the Amiga does not. Sprites and the Blitter are meant to work together to make graphics, not just one or the other. With the Amiga, always consider all parts of the puzzle

Also... The C64 was pretty much the "outstanding outlier" in sprite abilities. No other 8 bit system of the early 1980's comes even close to what the C64 can do with sprites when well programmed. If it is pushed to extremes, it can actually pump out more sprite pixels in a frame than either the SNES or Mega Drive can without relying on trickery

(though I should mention that doing so would not be useful in the slightest for games )
Quote:
If they'd just made the sprites 16 color by default (or allowed 16 4-color sprites per scanline), or just quadrupled the numbers, it would have made a big difference. A small 32k sprite cache to avoid constantly DMAing the sprites would have worked wonders (maybe allow sprites to DMA from chip memory or from cache, selectable)
Better sprites would have been very nice (and I'd love to have seen some of the stuff you mention, or options such as size doubling, etc), but they do not exist in a vacuum

Edit:
Quote:
Originally Posted by sokolovic View Post
I just don't understand why this hudge difference seems to be completely obliterated by people constantly comparing the 2 systems.
...
For a system that was 5 time cheaper, keep being compared to the beast that was the X68000 maybe prove that the Amiga wasn't such a big shitty machine like we can read here and there.
+1

Last edited by roondar; 10 January 2020 at 12:51. Reason: Added my +1 to the whole X68000 discussion ;)
roondar is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Specification for A1200 Caps Lock LED? rikbliz support.Hardware 7 20 January 2013 01:59
A1200 mechanical specification whitebird support.Hardware 3 14 July 2011 01:46
resload_LoadFileDecrunch called with illegal file specification rare_j project.WHDLoad 4 25 November 2009 23:31
Specification/docs/example code for A-Max .amhd drivers? mark_k Coders. General 3 14 June 2007 18:52

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 03:09.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Page generated in 0.11720 seconds with 15 queries