Sprite Engine Operations

Something that has been on my mind recently has been how to efficiently manage sprites (or layers, really).

I thought I would have a post compiling some historical approaches as well as more modern uses of layers.

What are sprites?

Sprites in the classical sense are bitmaps that can be used to display content.

Usually sprites are individually addressable and can be positioned on a screen independently. There is usually some sprite manager or engine that takes care of composing sprites to assemble the output to a display.

So, a smidge more interesting than simple bitmaps, but usually a reasonably thin abstraction on top.

What are they good for?

The two main uses for sprites or layers are in 2D game scenarios, where you might have multiple enemies

What can you do with them?

Other than lifecycle things like loading, configuring or unloading sprites, the basic operation is the blit, basically copying the sprite contents somewhere.

But because there are a number of tweaks you can do with them, this is where you can get some interesting effects.

Where do you find them today?

Here are some systems that use layers explicitly and where you can find similar concepts.

Classic Sprites

Layers

Here are some examples, I'm sure you can find more.

Happy sprites!

References

Tags:  graphics

Home