Nolan Nicholson

Bosconian (1981), in 3-D

Banner: Bosco-3D gameplay image

I made a 3-D version of the 1981 arcade game Bosconian. You can play it here.


When I was ten years old or so, my parents bought me one of these things from Bed Bath & Beyond:

Image: Jakks Namco Plug-and-Play Joystick

It had five games on it: Pac-Man, Galaxian, Dig-Dug, Rally-X, and Bosconian. I think we bought it just for Pac-Man and Galaxian, and I hadn’t even heard of the other three games. But I would end up spending more hours on Bosconian than the other four combined.

Bosconian is a top-down scrolling arcade shooter. The goal is to destroy enemy bases placed throughout each level, while avoiding obstacles and enemies. If you’ve never played it, here’s a video of some gameplay.

The game did not do great commercially: in fact, a lot of Bosconian cabinets were sent back to be converted into Galaga cabinets. But Bosconian had a few unique things about it. For one, the arcade version could play back real-life voice recordings, though the playback was choppy and distorted.

For another thing - and this is what hooked me: unlike Galaga, Gradius, and most other arcade spacey-shooty games, which carry you along a linear path, the levels in Bosconian are open worlds where you can fly in any direction. This made Bosconian feel more like a real, physical place than most other games I’ve played. It was an open-world game before that was really a thing!

So, in a love letter to Bosconian and its openness, I did the only thing I could do to make it even more open. I made a 3-D version.

JavaScript + WebGL

Instead of using a game engine or framework like Unity or Three.js, I decided to make this game “from scratch” in plain JavaScript, using WebGL for graphics.

I wanted the game to be widely accessible and easy to try, and WebGL is hard to beat for that: most web browsers can run it, so you don’t need to download a stand-alone app. (This accessibility could be a disadvantage if you are selling your game and concerned about piracy, but I’m obviously not selling this game any time soon!)

I also had some prior experience with WebGL - plus the benefit of WebGL2 Fundamentals, a fantastic set of WebGL tutorials.

Twitter Development Log

If you would like to see more detail on the development process, I kept a Twitter thread going along the way.

I hope you enjoy playing!