Jared Andrews

Mad Libs, but with Pictures

I recently recovered the laptop I used during high school and college. While the harddrive had been cleared many times, I was able to access a bunch of projects from my final year of college. One I remembered, and had been hoping I would find, was "Mad Libs, but with Pictures" a project I created to complete my Humanities & Arts Requirement at WPI.

Click here to play "Mab Libs, but with Pictures"


The premise behind "Mad Libs, but with Pictures", is I think, self explanatory. At the time I was very interested in interactive art and storytelling. A big inspiration was Jib Jab which basically implements the same concept, at a much higher quality, without the "you don't really know what you are gonna get" feeling of Mad Libs. I was also in awe of Facade. While the player can influence the world of the game, a particular type of story is still shown to them, no matter what they do (I belive there are 30ish possible stories in facade).

In my initial concept for "Mad Libs, but with Pictures", I intended to have mutliple paths the story could go down. Unfortunately I hit my deadline before I could experiment with this idea. It would also be cool to have multiple paths in a story. I imagine a system that tries to recognise a player's drawing and modify the storyline based on elements of the players pictures.

"Mad Libs, but with Pictures" takes images that a player draws and drops them into a story about a robot rescuing his pet. Here is a quick playthrough:

How to Play

Much like Mad Libs, the player is asked a bunch of questions and their responses are used to tell a story later on. Unlike Mad Libs, instead of providing words, the player is prompted to create a number of pictures:

Can you draw a kickass vehicle?

Once all the pictures are drawn they are dropped into already created scenes:

Can you draw a kickass vehicle?

The drawing app I created is very primitive and I knew the player supplied drawings wouldn't be that good. When I created the scenes I used a disjointed mix of paper cut outs and pictures. I thought it would all blend together in a, uh, South Park like way.


When I wrote the code for this project I didn't own a smart phone, nor did I take the smart phone experience into account. I'm not even sure if smart phone browsers had sufficient support for canvas or javascript at the time. I added primitive mobile support before uploading to this site but I would strongly recommend you try it on a desktop or tablet.

This project was the first time I used Javascript in a non-trivial way. While the code isn't beautiful it was not as ridiculous as I expected it to be, updating it to include mobile support was actually pretty easy.

While the HTML canvas wasn't technically "new" at the time I wrote this code, it was just getting widespread support. This project uses very early versions of CreateJS's Easel and Tweening libraries. I was happy to see that they still work properly with modern browsers.


This project was very much a prototype and there are a number of things that could be improved. The drawing editor is very simple and could be improved, the art doesn't look that good and there is very little replay value. Sometimes the player drawings are super imposed in a way that doesn't look great:

Cat on robot action

Improving each one of these aspects could be a large project in and of itself.

I think the biggest is issue is that the humor of Mad Libs doesn't really translate that well to a visual experience. I had a hard time thinking of pictures that the player could draw that would be general enough to be funny but specific enough to fit into a visual scene. In Mad Libs, a single word can completely change the way a sentence comes off to the listener but still make sense. I couldn't really think of perfect visual equivalents for the adjectives or nouns of Mad Libs. With "Mad Libs, but with Pictures", a poorly drawn or inappropriate picture can make a scene just incomprehensible.

Can you draw a blunt object

Can you draw a blunt object

What is even happening right now?

Despite the flaws in this concept and execution it still sticks with me. If I had the time I would probably try to make a new and improved version or an engine that would allow me to experiment with different art and scenes.