Boris Smus

interaction engineering

Evogami: evolution meets origami

In my latest side project, I borrow a couple of ideas from evolution and apply them to origami. Starting from a blank square apply a random crease, then again, and again, and again. The result is completely new, never before seen origami model! To make the process less random, pick your favorite next step from a set of possibilities. Try it out and see what you can come up with.


Here are a couple of resulting folds, presented in the viewer. See it live.


I'm looking forward to folding some of the best Evogamis out of real paper!

Constraints breed creativity

Modern origami practitioners discourage the use of cuts, glue, or markings on the paper. This leads to the abstract aesthetic of simple origami models.

Evogami is even more constrained than normal origami. We only allow one type of fold, the humble valley fold. No pleats, rabbit ears, reverse folds, crimps, squashes, sinks, or petal folds. Furthermore, this fold is done across a line, which means that multiple disjoint segments of the current shape will be folded. Constraints breed creativity!

Evogami evolution details

The evolver starts with a blank sheet of paper. Next, we alternate a sequence of mutation and selection steps. Mutation is done randomly by the computer, and selection is done by a human, based on their taste. It goes something like this:

  1. Begin with a blank sheet of paper.
  2. Mutate: make 12 random creases.
  3. Select: the person picks an interesting direction of those presented.
  4. Mutate: the computer makes 11 new random creases on top of the selected direction.
  5. Select: the person selects the next step, or they can decide that they are satisfied and save this design.

Unexpected power use in the browser

The evolver is minimal but powerful, especially in conjunction with a few built-in browser primitives. Some judo moves:

  • Tap again: unsatisfied with your set of next evogami choices? Just tap the same design again to re-generate the grid.
  • Back button: return to the previous step in your design. Easily undo this by tapping the browser's forward button.
  • Reload button: the page regenerates a set of 12 new random evogami with the same number of folds as the current generation.

Inspiration and thanks

I recently read Why Greatness Cannot Be Planned, which uses Picbreeder to make many of its profound arguments. Picbreeder is an evolution-inspired image generator that uses a complex gene-like encoding called NEAT. I wanted to play around with open-endedness too, but found the mapping from the NEAT DNA to images to be unintuitive. In a sense, Evogami is a simpler version of Picbreeder, with the great advantage that the resulting output can be folded using real paper.

This project would have taken far longer without the impressive Rabbit Ear, a powerful JavaScript library for doing origami design on the web. Big thanks to Robby, the maintainer!

I'm fascinated by the interplay between ancient art and modern technology. Go players have had their minds blown by unexpected and insightful moves produced by AlphaGo. Computational approaches applied to origami created new art pioneered by folks like Robert J. Lang.

Can this approach yield original origami models that inspire the paper folding world? 🗅

â–ª