8-bit Vector line graphics

March 13, 2021

(above image from Alien – 1979)

According to the elders of the internet, there was a period of time when games mostly consisted of vector lines drawn by electron beams to cathode ray tubes (in something called XY mode, instead of scan-lines).

This was a completely normal thing until the early 80s, when advances in graphics replaced XY plotted beam vectors. So when was this “golden age” of flickering lines and was it any good? (and more importantly, can we recreate it?!)

Golden Age of Flickering Lines (Vector graphics): late 60’s ~ 1985

So, quite a while ago eh? Were they any good?

Vector Graphics are resolution independent, they are drawn with set of co-ordinates, instead of pixel data. This means the games that used them inhibit some kind of “retro future”, especially the ones that used 3D maths to make the XY plotting more interesting. As seen in classic movies like 2001 Space Odyssey, Tron, Alien and other movies released around the late 70s, early 80s.

Star Wars Arcade – 1983

Some notable 8-bit 3D games using Vector Graphics are Star Wars Arcade, Starglider, Elite, Tempest, X, Red Barron & Battle Zone. Not many!

Elite – 1984 (ZX Spectrum version shown)
Starglider – 1986

As cool as the 8-bit 3D look was, the vast majority of Vector Graphics games were 2D. They could be found in arcades and on a home console called the Vectrex (that used a special Cathode Ray Tube that drew in XY mode instead of scan lines).

Starglider, Elite, X and others on home consoles were not designed for Vector displays, rather they rasterised vectors to pixels (which is what we’ll be doing here)
Most games had a less than perfect frame rate – anything more than a few shapes would produce serious lag.

But we’re living in the future now, so lets make 8-bit Vector Graphics that don’t lag!

Step 1: realise there is no easy solution and you’ll be plotting a lot of vectors by hand with maths!

OK so these days we have fancy whizzbangs in game engines like Unity called post process shaders. This is a technique whereby we take all the polygon 3d data on the screen, pay a small child to scribble around it 60 times a second, fax it over as an interactive PDF and animate it.

Thats just plain cheating!

We’ll be using the arcane runes that most game engines run on, “GL”! GL simply stands for “Get a Life”, more information can be found here: Unity Docs on GL line drawing. Please note, theres no real examples on how to do anything but the very basics there.

A very good resource is this github repository, again theres no real instructions, but through trial and error it is possible to make your own scripts using this as a base.

And in true Blue Peter 80s style, heres one we made earlier!

For this to run in Unity, it’s necessary to understand a bit about plotting vectors with maths, but lots of modern Unity tricks are available, so compared to the old days, it’s a bit easier to do things like dot product positioning and hidden-line removal.

Long live the short lived vector line glory days!

(many thanks to DC for the ZX Spectrum suggestions)

Leave a Reply

Your email address will not be published. Required fields are marked *