I found a short video about how the engineers and the programmers dealt with the cost of the colors, and limited computer memory. It also briefly explains about what sprite is and how it works in the computer language. Just like cell is the small unit building up the living body, pixel is the smaller unit building up the images. Pixel holds a binary code that represents the color. Sprites is a generic term for images which can be placed into a larger scene. Originally sprites were images that could be inserted without disturbing the scene. In this sense, they are implemented with hardware. The smallest sprite is 8×8 pixels (8-bit). Most of games have characters around 16×16 pixels or even bigger; therefore, characters is drawn on a multiple 8×8-pixel tiles. On the screen, those multiple tiles are loaded together to form a single unit form. Here is the sprite sheet of Mario and Luigi. Their sizes are 16×16 or 16×32. The purpose of sprite is that you do not need to re-draw or change the color of main screen every time the characters moves, but instead you just need to paste these blocks of sprite on to the main screen. It is quicker for the computer operates, and it saves lot of memory RAM. The sprite is put independently onto the main screen, and has its own color palette; therefore, it does not get affected by the manipulation of the main screen. smb3_spritesheet

1 Comment

  1. In my classes at Georgia Tech, I myself had to deal with cost of colors and limited computer memory. Most notably I made an Atari game for LMC 2700, Intro to CM.
    I was tasked, along with a team of two others, to design and develop from concept to completion an Atari game. The main constraints we were dealing with were 128 bytes of RAM for run-time data, a 6 digit score, only two sprites, two 1-pixel “missiles”, one 1-pixel “ball”, the 40-pixel playfield, and only 4 colors (two sprites, background, playfield).
    To exploit Atari’s constraints, we came up with a single-player game and combined both sprites to make a single sprite capable of animation and having more than one color. The single sprite was a rocketship made up of two sprites that moved together. Kind of like how your video explains that Mario is actually 4 sprites. One sprite was the ship itself, and the other sprite was the flame that would “flicker” by either being drawn or not drawn. In the code (batari basic), the sprites looked like this:
    Rocket Sprite
    %00011000
    %00011000
    %00111100
    %00111100
    %00100100
    %00100100
    %11111111
    %10111101
    %10111101
    %10000001

    Flame Sprite
    %00011000
    %00011000
    %00001000
    %00000000
    %00000000
    %00000000
    %00000000
    %00000000
    The atari sprites could be any height, but could only be a max of 8 pixels wide. Because I combined two sprites to make one, I was able to use two colors: grey rocketship, orange flame.

    As the guy in part 2 of the video you shared, Atari uses CPU driven graphics. So it is possible to change the color palette before drawing the next line, and then change it back which will give you sprites of multiple colors, but that takes up a lot of CPU time that needs to be dedicated to gameplay. There is an example of this in a paper I wrote about the objectification of women in videogames, I noted how hard the designers of the atari game “Beat ‘Em & Eat ‘Em had to work to get their objectification of their female character just right. I quoted Ian Bogost’s How to Do Things with Videogames. “A close inspection of the screen reveals that the women have carefully detailed nipples and pubic hair, as well as blonde locks that wrap around their faces. This is not something the Atari can do without some coaxing. The body is one sprite, running the whole length of the character without color changes. The hair is the second sprite, horizontally positioned atop the first. To render the nipples, the second sprite is also used, but its color is changed in the lines after the end of the hair. Then it’s changed back to yellow on the following scan line”.

You must be logged in to leave a reply.