This analysis elegantly captures the era when developers treated hardware limitations as a creative challenge rather than a barrier. It is a masterclass in how the "art of the hack" pushed 16-bit architecture to its absolute aesthetic limits.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
How Amiga Games Work - Episode 55 - Apano Sin (300 Colors without HAM)
Added:If anyone in your life ever doubts the Amigga's technical prowess, show them this screen. Colors 280. Visible area 336x 273 frames per second, 50 frames per second. Besides a few ham action games, I think this has more colors than any other OCS ECS Amigga game at one time on the screen. Here it is in action. Look at the color counter at the bottom right there. And yep, over 200 for this whole area.
Okay, it's me checking in from the future for a second. I've been playing this game a whole bunch after I finished the video and I found a spot with over 300 colors. 301 colors right here. And let me tell you, this game is lots of fun. It's super intense, but with the incredible sound effects and everything, it's quite the experience. So, I've been using save states cuz I'm not that good.
But this is becoming one of my favorite Omega shooters. And I also discovered that later on I talk about obstacles to avoid, but actually you don't have to avoid them like the satellites and stuff. So that makes things a little bit easier. So over 300 colors. Wow. Okay.
Sorry. Back to your regular scheduled programming. So how did they manage all these colors? It's copper magic. So with the pallet visualizer on, I'll play that section of the game again and pay attention to the second half of the pallet here and all the copper color changes.
Look at that. They're just constant.
So this game upon Sin was supposed to come out in 1993, but there was a dispute between the developer and the publisher. So it didn't actually come out until the year 2000. So it's a dual playfield game. So only seven colors in the foreground and eight colors in the background. So right here, if we just have bites 0, two, and four, it's just the enemy layer.
And then bit plane one, three, and five make up the background. There it is moving.
So with the copper visualizer on you can see that this half of the pallet gets changed by the copper over here. So color 9 10 11 all the way up to 15. And it changes dynamically. So if I press play here then look the color changing all the time. Look at that. And all of them changing changing. So pretty amazing. Obviously, they coded a utility of some sort to do this because it would be impossible to do it all by hand.
Probably something like the Spack system that the the pointand-click game universe that had up to 256 colors on screen that were changed by the copper.
I made a video on that game, too, if you want to check that out. It's kind of cool if you put the copper block on because right now it's blocking all of the copper and it just looks like a normal dual playfield game, but as you scroll this down, it shows all the new colors as you go down.
And if you try the copper block in game, you get the same effect. As you go down, you get the new colors. It's a little glitchy right here because it's above the copper split that's used for buffers and scrolling, but when you get down below it, then it gets a little smoother of the changing of the colors. And look at that all the way down. We've also got lots of hardware sprites in this game.
So, if you take the bit planes off, here's all the hardware sprites. So, sprite zero and one right here make up half of the 15 color player ship. And then one of the three color shots. Then sprite two has three more shots and these are vertically multipplexed.
Sprite three, lots more shots. So you can pretty much do an infinite amount up the screen. You just need to have a line in between them vertically. Sprite four and five aren't used here. Sprites six and seven are some of the obstacles 15 color attached and they're also vertically multipplexed. So with the sprite visualizer on, you can see that all of these obstacle sprites are attached six and seven, but it's also changing what the sprite is from time to time because like this shape is different than this shape. So there's sprite six data A and sprite six data B.
So that's what graphics make up sprite six and sprite seven data A, sprite seven data B, what graphics make up sprite seven. So those are also dynamically changing as the screen scrolls. So, if I let it go right now, it's doing that and then it changes every time it gets to a new one. Boom.
So, there's also something different about the sprites. You can see when I move side to side that the sprites actually move with me too horizontally.
So, I'm not sure if that was done for a technical reason or if they just like the way that looked. And the backgrounds are not just industrial. Right here, you've got an asteroid belt with all different colors.
Now, I discovered what sprite four is used for. So, if you take all the sprites off, sprite four is a powerup.
So, with this asteroid belt, again, it's the copper that's doing all the color changes. If I put the pallet visualizer on, then look at all that crazy amount of color changes with the copper. With the blitter visualizer on, you can see it blitz in all of the enemies and all of the enemy shots, but it doesn't seem to blit in the screen.
So, it must be just one big bit map in memory. So, it's not just sprites actually that are affected by horizontal movements. You can see these are bobs and when I move it changes their direction and also their speed a bit.
So, it's an interesting quirk. Um, I'm not sure why why it does this. It's interesting too that even for a simple texture in the background instead of just drawing it normally, they also did it with the copper. So, with the pallet visualizer on and yeah, they changed all these to create this pattern. And right here to create a parallax effect.
They've done some interesting things. If I pause it, you can see that all these stars are actually sprites. I take it off and they're all sprites six and seven. Again, I just realized that another reason why they might be inserting sprite six and seven with the copper is because of the resolution.
It's 336 across. And usually at 320, you lose some sprites. And I haven't come across sprite five anywhere yet. So maybe they lost sprite five, six, and seven with the wide horizontal resolution. And sprite five they just said forget about. And sprite six and seven they inserted with the copper manually. And the other thing is that this big red and brown section here is actually being blit. So if I put on the blitter visualizer, check this out.
That's a whole huge blit. There's even two of them here to avoid. And it's all still 50 frames per second. If you see any lag, it's just this emulator I think is having some problem because there's so much copper work. But yeah, still 50 frames per second. Speaking of big objects and 50 frames per second. Yeah, look at all this action. And yeah, never drops below 50.
So here it is frame by frame for example. Frame frame to frame to frame to frame to frame to frame frame. So you have 50 frames per second, 100 to 280 colors, a huge overcan area. It really is a technical tour to force and it's a fun game, too. It's very difficult. You can even shoot backwards if you want.
So, it's got some cool mechanics. It's too bad it never came out in 1993. It would have been quite a smash, I think.
But glad that we got to eventually get the whole game. So, hope you enjoyed this video. Please like and subscribe and comment if you haven't. Thanks so much for watching. Till next time, take
Related Videos

TOP 15 Data compression Interview Questions and Answers 2019 Part-2 | Data compression | Wisdom jobs
wisdomjobs
281 views•2019-06-28

CTS 158: 802.11w Management Frame Protection
ClearToSend
4K views•2019-02-04

NDSS 2019 Send Hardest Problems My Way: Probabilistic Path Prioritization for Hybrid Fuzzing
NDSSSymposium
496 views•2019-04-02

How realistic is Cities: Skylines?
CityBeautiful
159K views•2019-02-14

GUIs & TUIs: Choosing a User Interface for Your Python Project | Real Python Podcast
realpython
2K views•2025-04-04

The OSI Model - Explained by Example
hnasr
225K views•2019-05-12

Cloud Computing - Introduction
elithecomputerguy
98K views•2019-10-07

From Traveler's Dilemma to Dynamic Routing | Demystifying Networking
IITBombayJuly
5K views•2019-08-04
Trending

WOW! Judge TURNS THE TABLES on Trump in His OWN $10B LAWSUIT!!!
MeidasTouch
197K views•2026-07-23

Playstation NO DISC/NO BUY Fight Is Over...
DavidJaffeGames
4K views•2026-07-23

Steam and Xbox Just Dropped The Hammer On PlayStation
OhNoItsAlexx
9K views•2026-07-23

Americans Confused in Australia for 17 Minutes Straight
IWrocker
17K views•2026-07-23