Last year, we made our first Twitter bot, Clitoscope. What started as a side project led us down the rabbit hole of the bot building community. From presenting at Algorithmic Art to helping run bot hackathons, it’s been quite an adventure!
While teaching people how to build bots, we discovered the magic of Glitch. It’s such a friendly place to learn and teach code, with remixable projects and an incredible library of templates. Messing about with the A-Frame project, we imported a few 3D models we had handy. And we had an idea…
Remember Where’s Wally? (Or Where’s Waldo, in the US!) Ever played Hidden Folks? How much fun would those games be in virtual reality?! Codename “Where’s Clito?”, we started building a simple WebVR game where an object is hidden in an immersive environment.
The first stage was figuring out the basic mechanics of the game. Is it a 3D shape hidden amongst lots of other 3D shapes? That might be too heavy to render quickly on a mobile browser. How can we generate a 360 degree background, a surface with a pattern to fill the field of view? We already had 500 beautiful botanical illustrations from Clitoris Vulgaris: how could we turn those 2D files into a 3D environment?
We made a sphere and pinned a few images to the surface, perpendicular to the radius. Clusters of fruit helped to anchor the viewer in space, and give a sense of scale and distance. Filling the sphere manually was going to take a lot of work, so we looked at processes for automating it. We made a Python script run in Blender to place fruits at random on the surface of the sphere, but the script didn’t recognise the edges of the fruits, resulting in intersecting planes — frankenfruit!
To look more natural, we wanted to put similar fruits together, as if they were growing in a garden. To automate the collage process, a tool would need to recognise fruit types. We experimented with a pre-trained neural network to analyse characteristics of the fruits, and then mapped them across two dimensions using t-SNE.
Not bad, huh? The grapes are mostly with grapes, round fruits next to round fruits. However, it didn’t solve the problem of how to tesselate the shapes pleasingly without leaving gaps, so eventually we decided to place the images manually. Having failed to teach the machine to do the job, we had to do the work ourselves! Painstakingly collaging fruits, a convincing cornucopia gradually emerged.
With our habitat in place, how to make the clitoris hide? We thought of camouflaging the clit in a botanical texture, but to do that we would have to tile a pattern around the shape. Perhaps we could use a glassy substance for the object, which would allow light to pass through it? Like the invisible monsters in Doom, but with a clitoris. Testing shaders, we compared reflective/refractive materials to see which worked best.
We chose a reflective material, with a smooth, semi-metallic surface, to help the clit blend in with its surroundings.
Our camera position is fixed, so the user can’t move around inside the sphere, but they can look in all directions. Now to position the 3D shape relative to the viewer and the background. If the clit was too close, finding it would be too easy, and if it was too far away, it would be impossibly hard! With the “horizon” of our sphere fixed 10km away, we settled on a placement radius of around 100m. Randomly assigning coordinates at that distance, the clit could appear anywhere in the field of view, but always the same size. To increase the difficulty, she moves every ten seconds, so you need to be fast to catch her!
So how do you know if she’s behind you? Good question. We thought it might be fun to add some sound clues. If the clit is making noises, you can use your ears to help locate her! What kind of noises? Happy noises! It’s surprisingly hard to find ethically sourced pleasure noises on the internet these days. Most orgasmic sound files are too, well, porny. We were looking for something a bit more Jane Birkin. Finally we found some decent stock audio files on Pond5. It was tempting to use Resonance Audio SDK to provide spatial audio, but that would only work with headphones connected. As most phones only have one speaker, the surround sound effect would be lost. Instead, the volume gets louder as you turn towards the clit, like playing hotter/colder.
When the clit comes into view, how do you “catch” it? In WebVR, once you’re using a headset, you have no buttons and no mouse to click, so the only way to select an option is to stare at it. We used a ring to serve as a focal point, with an animation that triggers once you have gazed at the object for just over a second. The clit shape then rotates, giving a little victory twirl.
Once we had completed one level, we needed to figure out how to navigate into and out of the game levels. From our research on splash screens, we knew that we couldn’t just throw players into the game with no warning. We needed a splash screen, a start button, and a intro scene. We also needed some kind of basic story arc. Thinking of games like Journey, we wondered what kind of fallen civilization might leave behind a giant spherical fertility temple. So we conjured up a mysterious, barren desert, with an intriguing papaya-shaped portal, like a mirage that might just be the oasis you’ve been searching for. The first scene has a threefold purpose:
- Enough landscape that the user acclimatizes to the VR environment
- The portal is obvious enough to lead users directly into the first level
- Staring at the portal triggers the selection animation, so players already know how to play by the time they get inside
Players get through the intro scene in about thirty seconds, and usually spend a couple of minutes inside each level. But how does it end? What’s the payoff? How do you get out of the sphere? A few friends suggested it should be some sort of thinly veiled orgasm metaphor. Fountains, perhaps? Too obvious. Going back to the origin of the Clitoris Vulgaris project, the main goal was to show off the shape, and revel in the beauty of it. So the finale is, quite simply, an opportunity to gaze on the wondrous curves in all their glory, at epic scale. (And giant text saying FIN. Show’s over folks, go home. Take off the headset.)
Help us playtest! You can try it out at Glitch, and even remix your own game! The game is playable on desktop/mobile in 2D, but for the full experience, you’ll need a Google Cardboard, Daydream, or other VR viewer. We’d love to get your feedback, so go ahead and let us know — how was it for you? 😘