Zdog, A Clever And Easy To Use Renderer For Browsers, Is A Joy To Behold

By Mathew Olson

We're at a point now where it seems like any media imaginable can be delivered via a modern web browser, but it's always cool when the wonders of the web don't require beefy graphics processors or the aid of a streaming server farm. Zdog, developer Dave DeSandro's pseudo-3D renderer built in Javascript, is a perfect example.


DeSandro, whose other plugin work you'd probably recognize from a half dozen websites or more, has spent over a year working on Zdog — even though he's calling it "a beta-release, of sorts," the time and quality of that work shows. It's not merely a first pass at a renderer, as it already has built-in solutions for moving rendered objects around and making complex curves. The charming-as-hell demos DeSandro has whipped up, ranging from cute (and sometimes quite recognizable) characters to chill interactive geometric animations rivaling the most mesmerizing GIFs out there, prove that Zdog has plenty of potential to mine.


One the artists DeSandro cites as inspiration for his Zdog demos is Robin Davey. "Davey created a series of 3D GIFs years ago in his style of flat color and geometric shapes," DeSandro said. "Apparently they were created in Flash — I had no idea how he pulled these off, but the idea in my head to replicate the effect lingered for years."

DeSandro started building the engine that became Zdog because he wanted to make a game, which could still happen someday. "Making a game is the dream, but it's such a huge undertaking," said DeSandro. Zdog's name is derived from the game "Dogz," which employed similar pseudo 3D techniques in its graphics and led to the beloved-by-modders "Petz" series. On top of "Dogz" and other popular uses of pseudo-3D in games, DeSandro drew artistic inspiration from Greg Wohlwend, the illustrator whose bright art enlivened the games "Threes" (DeSandro is proud to be one of the few to have ever seen the game's penultimate tile, Volleo) and "TumbleSeed."

As for where Zdog can go next, it helps that it's already ridiculously well-documented and intuitively constructed. Relative beginners should be able to follow along with DeSandro's clear writing. Rendering objects takes just a few simple lines in the API, and beyond that you'll be mostly constrained by your imagination and time (we could show off a Zdog version of Digg's logo here, but bloggers gotta blog). "I see an immediate opportunity in web design," said DeSandro, "and I hope novice developers who have been scared off of illustration or 3D will give it a try."

You can find Zdog at GitHub and report bugs or request new features here. More of DeSandro's work can be found at Metafizzy. He's also on Twitter, where you can scroll through a timeline of all his Zdog demos.