View Single Post
Old 01 November 2013, 13:02   #16
Mrs Beanbag
Glastonbridge Software
Mrs Beanbag's Avatar
Join Date: Jan 2012
Location: Edinburgh/Scotland
Posts: 2,202
Originally Posted by ImmortalA1000 View Post
Whereas the TI99/4A from the 70s does indeed have 16x16 pixel sprites with individual colour registers which pre-dates the Intellivision by 2 years.
But it is similar in that the background is divided into indexed blocks. It is not a full bitmap like the Amiga, therefore uses far less memory bandwidth. The Amiga's graphics system with its full bitmaps allows any image to displayed without block limitations, which is what ALLOWS the use of bobs at all, not to mention 3D vector graphics &c.

If the sprites can only take their colours from the background screen memory underneath
They don't. That doesn't even make any sense. They take them from the palette registers.

It is a very awkwardly implemented sprite system which most machines in the history of computing did not use and for a very good reason IMO.
Well Amiga sprites do have their shortcomings of course, and even the C64 sprite system can do things the Amiga can't but there are also very good reasons to prefer full bitmaps and sacrifice sprite functionality. On those old machines the hardware sprite limitations really were limitations. On the Amiga you have a choice of techniques to use, and there is no hard limit on the amount of moving action you can implement.

The fact you only have 16 colours on the C64 is neither here nor there, because the multicolour screens have only 3 universal colours and one user selectable colour per 4x8 pixel charblock like most early 80s micros and so having an extra 2 colours universally and 1 per sprite means your sprites are designed independently of the background with their own registers which can then be changed when multiplexing them including their colours. This therefore means you double the effective number of colours on screen.
But there is nothing there that the Amiga couldn't replicate exactly! At least mention something the C64 could do that the Amiga can't, like that you can scale them up by a factor of 2 in each direction. Or that the C64 can use monochrome sprites at 24 pixels wide.

The C64 can't even do colour palette cycling! So how can you say the Amiga sprites are more limiting than the C64 because they introduces some limitations on colour cycling, when the C64 and other machines can't even do it at all?

That was the whole point of sprites, that they are an independant hardware generated layer. If you can only put sprites on the screen that use the regular screen background colour registers then why would you use them and not BOBs?
Well as someone who has written a game that uses sprites, I'll tell you.

Sprites are an independent hardware generated layer. Unlike bobs that have to be copied into the screen buffer, they don't have any time overhead in terms of drawing, and you don't have to worry about replacing the background graphics when you move them. And if you are only using a 16 colour background screen (or you use Dual Playfield mode - another thing the old consoles couldn't do), they use a completely separate palette.

There are not "background colour registers". There are only 32 colour registers that the background may or may not happen to use. The sprites use colours 17-31 even if they are not used by the screen. If you are using a 16 colour screen or even a HAM screen, the upper half of the 32 colour palette is not used by the screen, only by the sprites.
Mrs Beanbag is offline  
Page generated in 0.04939 seconds with 11 queries