Asteroids, with LASERS!
June 10, 2017 3:28 PM   Subscribe

Short attention span, let's just jump to the good stuff: Asteroids, with LASERS! The whole video is pretty good though.

I dug this up after checking out Techmoan reviewing the LaserDock. I'm not digging any deeper at the moment, but holy crap!
posted by Chuckles (22 comments total) 11 users marked this as a favorite
 
I already know where to dig deeper 'cause I used to do DIY laser shows as a dirty little raver kid.

The scanning is handled by a pair of mirror galvanometers configured in an X-Y axis pair into a laser galvo scanner head.

The laser in question is probably a solid state psuedo full color laser using three different lasers for red, green and blue. The red laser is a single diode, while the green and blue lasers are likely DPSSL aka diode-pumped solid-state laser. These use a deep or near infrared diode laser to "pump" secondary lasing materials.

These three beams are combined using dichroic mirrors tuned to the wavelength being reflected or filtered. Color from the individual beamlines and the main combined beamline is modulated using high speed optical shutters. These shutters are required to do any dotted lines or to (metaphorically) pick up the pen between draws, as it were, by blanking out the laser fast enough for it to interact precisely with the geometric traces being scanned by the galvo scanner head.

This isn't really the tricky part to this demonstration. People have been using multiline full color or monochrome single line laser shows scanning vector graphics like this since at least the early to mid 1980s, if not earlier.

The really clever bit is that he's written or combined software to do real time rendering and optimizing the beam-trace path for graphical clarity and brightness. It's not a huge problem, but traditionally galvo-scanner enabled laser shows used to trace vector art like this have relied on pre-computed beamline paths because the whole process of figuring out how to route the path on the fly is pretty complicated. A bit more complicated than scanning vector graphics on a CRT tube, because you're dealing with electro-optical-mechanical parts that have limited frequencies and response times that are generally a lot slower than the magnetically deflected electron beam of a CRT.

In essence it's a lot like calculating the optimum vector path for cutting vinyl on a plotter except at however many frames per second, with a constantly and interactively changing set of vector art objects. Which is pretty clever.

Incidentally this is basically the exact same hardware you need to make a full color laser TV, but instead of scanning vector graphics it scans pixel lines and displays raster graphics, one frame at a time, just like a TV or old CRT video display.

And all of that being said, I just realized that I still have no idea how old video games did multi-color vector displays. In a traditional raster color CRT the colors are supplied by different phosphor pigments in the subpixel color cells, and AFAIK the same electron beam is used to scan all the colors. The color vector CRT displays didn't seem to use pixels and subpixels at all. There's no pixel mask or grid of subpixels to illuminate.
posted by loquacious at 4:12 PM on June 10 [19 favorites]


loquacious, color CRT's don't work by steering the beam to the right color phosphor. There are three physically separate electron guns, and there is a metal mask full of pinholes between the guns and the phosphors on the front glass which via parallax makes only the phosphors appropriate for each gun "visible" to that gun. So doing a vector color display really isn't any different from black and white, except that you have three Z-axis brightness controls instead of just one.

As for the earliest color vector game the ones that come to mind to me are Tempest and Star Castle. The first-person Star Wars flyer simulation was surely later because it also was doing the Battlezone first person thing on steroids.
posted by Bringer Tom at 4:25 PM on June 10 [5 favorites]


A bit late to add in edit, but Wikipedia explains the shadow mask.
posted by Bringer Tom at 4:34 PM on June 10


loquacious, color CRT's don't work by steering the beam to the right color phosphor. There are three physically separate electron guns, and there is a metal mask full of pinholes between the guns and the phosphors on the front glass which via parallax makes only the phosphors appropriate for each gun "visible" to that gun.

You're right, I forgot about that. Though indexed single beam color CRTs were a thing, that's not what I was thinking about.

A quick google reveals that color vector CRTs used either a shadowmask or a multi-layer phosphor technology that relied on beam strength and penetration to illuminate the different colored phosphers.

The last time I tried to look this up must have been well over ten years ago and I swear it wasn't so readily available.

Heh, Penetron. Band name? Sexbot name?
posted by loquacious at 4:43 PM on June 10 [2 favorites]


I just got back from falling down a serious YT hole starting from that Techmoan video.

I was actually going, to, like play a game or something.
posted by Samizdata at 5:02 PM on June 10


Battlezone had a black-and-white vector monitor with different color overlay filters so that the status information was in red and the playing field was in green.
posted by ckape at 5:55 PM on June 10 [1 favorite]


Several years ago, a buddy of mine built an RGB laser projector which I'm pretty sure is where the Wicked Laser guys got the idea to make theirs (realized it could now be done cheaply), since they tried to hire him, and some years later sent him a laserdock out of the blue.
posted by smcameron at 6:40 PM on June 10 [1 favorite]


Vector Monitors! Want to really go down the rabbit hole?

The Secret Life of XY Monitors
and The Secret Life of Vector Generators by ex-Atari engineer Jed Margolin will teach all you want to know about these things and more. It gets very technical but he makes it VERY easy to understand.

Now, think about this all being done on a 1Mhz 6502 processor with limited RAM and this hardware back in 1979.
posted by JoeZydeco at 6:54 PM on June 10 [4 favorites]


Was going to say came for the asteroids, but left because of the lack of sharks.

But then I came back for the tech geekery.
posted by Samizdata at 6:56 PM on June 10 [2 favorites]


I had an actual Battlezone machine of my own when I was in college in 1982. I talked my parents into going into it halves with me for a Christmas present. I got good enough at it that I could walk into any actual arcade and write my name vertically on the high score list for 25 cents a letter. I always wanted to hack it to do better things but fate left it with my parents when we became estranged, and eventually they dumped it.
posted by Bringer Tom at 7:32 PM on June 10 [1 favorite]


One more think to mention: Openlase, which is an open source framework for laser projectors. This is one of the things my buddy modified to support RGB laser projectors. It works (roughly speaking) by translating commands to move the laser from here to audio signals which are then sent to amplifiers driving the laser projector through sound cards. Left and right of one stereo channel correspond to x and y deflection, other channels are used for red, green and blue intensity. Here's a video from 2010 (before support for color): Marcan's openlase talk.
posted by smcameron at 9:38 PM on June 10 [1 favorite]


And to construct the path for the laser, it has to solve (or approximate) the Traveling Salesman problem? Nice.
posted by mbrubeck at 10:04 PM on June 10 [1 favorite]


To paraphrase, "It takes a hell of a lot f money and effort to look this cheap."
posted by happyroach at 11:36 PM on June 10 [1 favorite]


As for the earliest color vector game the ones that come to mind to me are Tempest and Star Castle.

As I remember it (possibly wrong which would be a shame considering the number of hours I spent playing) the color in Star Castle was just a overlay.
posted by Bovine Love at 4:53 AM on June 11


The traveling salesman problem (TSP), referred to in the video, asks the following question: "Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city?"
posted by fairmettle at 5:25 AM on June 11


Bovine Love is right, the colored rings were a fixed overlay, like the color masks in Battlezone.
posted by Bringer Tom at 6:32 AM on June 11


This is quite awesome & perfectly timed for me. I just received a 37-in-1 Arduino sensor kit that includes a laser emitter. I've started looking around for galvanometers & library source code to run them. This gives me both inspiration & pointers. Thanks!
posted by scalefree at 7:40 AM on June 11


This is quite awesome & perfectly timed for me. I just received a 37-in-1 Arduino sensor kit that includes a laser emitter. I've started looking around for galvanometers & library source code to run them. This gives me both inspiration & pointers. Thanks!

Holy crap, all of those sensors, I/O and emitters for less than a dollar a piece!? That's just nuts. That would be like thousands of dollars worth late 1980s Radio Shack parts, to frame it differently.

Apologies, I'm going to totally nerd out again.

You're likely going to want a higher powered laser for any scanned graphics. The dot will basically vanish except in dark rooms when using a class IIIa/3R laser that's 5mw and under, especially since cheaper laser diodes tend to be in the 640 nanometer range, which is less visible than, say, 632 as it's closer to near infrared.

My first laser show laser was a HeNe tube at 632.8 nm and 8-10 watts, which was barely usable for scanned projects and some basic beam effects, but this was in an era where visible laser diodes were like $500. My rather large tube laser also had the benefit of being brighter and more visible both due to the wavelength, tem00 beam mode and extremely narrow beam divergence, which put more concentrated light on a wall or target from a distance.

I used to set that laser up on a tripod in the driveway of my childhood home and aim it down the street, where it would pass entirely through a 10+ acre park and undeveloped brownfield to land on the farthest brick wall I could find a clear line-of-sight view, just so I could hike to the end of the beamline about 1500+ feet away and see what it looked like. At that distance it was a bright red circle about 3-4 feet in diameter, and it gave an amazing view of the beam profile, the rippled optical imperfections of the laser's mirrors and even a hazy blue outline of the metal fins of the electrodes inside of it from what I'm assuming is backscatter from the plasma in the tube.

It also looked cool as hell being able to look back up at the quarter mile long beamline at night, especially if it was foggy. No, I never watched Weird Science over and over as a kid, why do you ask?

Anyway, I also couldn't afford proper galvo scanners and drivers. Those things were in the 5-10k range for a good new head, amplifier board and ISA accessory controller.

What I did was make a "poor mans scanner" that is basically nothing more than a few cheap DC motors with mirrors glued on the end of the gear shaft, nearly perpendicular to the shaft, and then wired those up to one of those adjustable/universal wall wart radio shack DC power supplies and a few variable resistor knobs and switches for basic speed control.

The "nearly perpendicular" part is key, here. You actually want them to be a little off-axis. The end result is if you bounce a laser off the mirror while it's moving, you get a circle. Bounce it off two off axis mirrors, you get a spirograph - or Lissajous - pattern. Bounce it off of three rotating mirrors and it gets so complex it starts to look like Lorentz fractals and you can even make squares, triangles and sometimes static shapes and beam paths.

I tried for 4 motors at one point but getting the beam path properly aligned was a huge pain in the ass, and it made the beam trace move so fast it became pointless with my early low powered laser.

And three motors and mirrors was hard enough for my 17-18 year old self to manage with my tech and construction skills, which basically involved super glue, tape and random bits of metal from junked electronics and whatnot. Each mirror needs to be a little bigger than the first to account for the cone-shaped oscillating beam path, and then you ran into all kinds of alignment problems because the mirrors need to basically be as close as possible and facing each other in 3D space, but they still needed room for the beam to enter and the scanned, expanding beam to exit without hitting any of the mirrors or motors on the way out. And you wanted it on that wall over there, and you couldn't easily adjust the entering beamline because it's a big, hot glass, fragile tube nearly two and a half feet long.

I think I eventually ended up mounting the motors on little stone or marble blocks I dumpster-dived in an industrial park, using plasticine clay as the mount and adhesive because I could easily re-adjust the angles of the beam path for different venues.

You can also inject audio signals into this chain a number of ways, either directly modulating the voltage to the motors, or even by simply gluing a mirror to a small speaker or speaker coil, which is essentially a very crude, slow and low resolution galvo scanner.

Bolt all of this to a box or a board, throw in some beam splitters, bits of diffraction grating and other optics and you have a fun, passable if utterly manual laser show on a breadboard.

This is incidentally how I got involved in the dance/rave/underground scene so early in LA. I used to just show up to warehouse parties early and pretend I was crew so I could get in for free, and I learned the trick where if you show up at something with a milk crate full of weird looking wires and technical looking stuff you can get into all kinds of weird places.

Thankfully this never backfired. Almost every time the promoters would be like "Ok, who are you!?" or "I don't remember hiring a laser show, ok cool, but wtf!?" and they'd invariably want to make sure that not only did I get in for free but if I'd been properly, uh, sorted or not.

The only downside was when parties got busted, but that's also kind of why I liked keeping things super simple, cheap and independent of the promoters. I could break down in like 30 seconds and walk away since it was basically just a milk crate full of stuff and a fabric covered optics board about 2.5 feet long and 2 deep. In the worst case scenario I could rescue just the laser tube, power supply and pocket my best optics and ditch the surplus and cheaper junk and rebuild it, but thankfully it never came to that. (LAPD really liked seizing/smashing gear for a while in the 90s.))
posted by loquacious at 2:10 PM on June 11 [3 favorites]


Holy crap, all of those sensors, I/O and emitters for less than a dollar a piece!? That's just nuts.

I know, right? I'm getting used to how cheap Arduino prices are but I was kind of stunned at this deal so I snapped it right up.

Anyway, I also couldn't afford proper galvo scanners and drivers. Those things were in the 5-10k range for a good new head, amplifier board and ISA accessory controller.

It looks like entry price is about $100 now for a 10K PPS unit. Some even throw in an RGB laser tube (only about 3/4 watt for each color, I agree that's underpowered) for that price. I know, it's crazy.

If I ever get anywhere with it I'll be sure to post it to Projects.
posted by scalefree at 3:38 PM on June 11


Last year I hacked up MAME to output to real vector displays and gave a talk on vector hardware at CCC. Running the output of my 30 MHz DAC board into laser galvos "worked", but most games had far too much detail since the laser galvos are measured in KHz. Note that in the video there is no "Copyright 1979 Atari Inc" at the bottom and definitely not a high score screen.

Regarding the vector sorting -- you don't need to do a full TSP to greatly improve the results. A simplistic greedy algorithm that selects the next closest vector (and is allowed to reverse vectors) reduces the transit time dramatically, even if it is not optimal. This runs just fine on a Raspberry Pi. It's also important to note that most of the classic games used analog vector generators, which were open-loop on the beam control other than a "return-to-center", so there is a significant amount of transit time that can be eliminated with a closed loop voltage generator, too.

There are some new games being developed, too! Vec9 is a modern standup arcade cabinet and Space Rocks 2000 is my FPS update to the classic Asteroids.
posted by autopilot at 6:21 PM on June 11 [1 favorite]


From the analog vector generators link:
When we discharge the capacitor in our Integrator we want it really discharged. Some capacitors do better than others for reasons that are not clear.

Mylar Capacitors were used in BattleZone, but did not work very well in Star Wars, which had a faster drawing speed. The capacitors that worked the best for us in Star Wars were Polycarbonate Capacitors.

Polycarbonate is a clear and colorless amorphous thermoplastic notable for its high impact resistance. In addition to its use in capacitors it is used in glazing, safety shields, and CDs. (An excellent Web site for the properties of materials is http://www.goodfellow.com/.)

Polystyrene capacitors are also considered high quality capacitors but they worked poorly in the Integrator.

The properties of polystyrene are similar to polycarbonate but for reasons that are unknown the polystyrene capacitors exhibited problems that appear to be the result of charge redistribution.

Finally, the issues of Leakage, Inductance, and Series Resistance are not confined to the capacitor itself.

They can also be caused by circuit design and layout. The circuit layout can also screw things up if there is crosstalk from another signal trace.

It doesn't always end there, either. One time I was asked to look at a prototype AVG board for another project which was producing really nasty vectors. The digital circuitry had been checked and was ok. We ended up unsoldering all the parts in the Integrator and connecting them together off the board in the air. That fixed the problem and we concluded that the material used in the PC Board was contaminated. The next run of prototype boards was ok.
Heh :)
posted by Chuckles at 1:25 PM on June 12


Seb gave a talk at Render Conf this year where he went into the research behind his laser rig, and not only demoed Asteroids, but also Duck Hunt, and a crowd controlled version of Flappy Bird (yes, really).
posted by garrett at 4:47 AM on June 13


« Older “It’s no better since Anita Hill because we don’t...   |   The Girl In The Yellow Dress Newer »


This thread has been archived and is closed to new comments