Old School 8 bit Color Cycling with HTML5
Mark Ferrari explains art creation on 8bit systems in this video from GDC.
Color shifting was a technology often used in 8-bit video games in the 90’s, to achieve interesting visual effects by cycling (shifting) the color palette. Back then video cards could only render 256 colors at a time, so a palette of selected colors was used. But the programmer could change this palette at will, and all the onscreen colors would instantly change to match. It was fast, and took virtually no memory. Thus began the era of color cycling. Most games used the technique to animate water, fire or other environmental effects.
There was one graphic artist who took the technique to a whole new level, and produced absolutely breathtaking color cycling scenes. Mark J. Ferrari, who also illustrated all the original backgrounds for LucasArts Loom, and some for The Secret of Monkey Island, invented his own unique ways of using color cycling for envrironmental effects that you really have to see to believe. These include rain, snow, ocean waves, moving fog, clouds, smoke, waterfalls, streams, lakes, and more. And all these effects are achieved without any layers or alpha channels — just one single flat image with one 256 color palette.
Unfortunately the art of color cycling died out in the late 90s, giving way to newer technologies like 3D rendering and full 32-bit “true color” games. However, 2D pixel graphics of old are making a comeback in recent years, with mobile devices and web games.
You can check out a number of Mark’s demos at www.effectgames.com/demos/canvascycle/. These show a full 8-bit color cycling engine, rendered into an HTML5 Canvas in real-time. There are 35 original 640×480 pixel masterpieces which you can explore, with some ambient environmental soundtracks to match.
Mark has generously donated some of his time to answer the most popular questions on his color cycling artwork which you can read about at: Q & A with Mark J. Ferrari. The source code is free for you to use in your own projects at www.effectgames.com.