Child (documenting a 2014 art game)
As Christmas is almost here, yesterday I decided to try to document an art game called "Child" that I made over Christmas in 2014, and that has long-since deprecated in both hardware and software. 

The flat version still works though, which you can play here: vihart.github.io/child

During my years as a VR Principal Investigator, we usually took the time to document our work as we went. Hardware and software move fast and we couldn't count on an experiment that works today to work ever again. Archiving old versions of software works in theory, but beyond the headache and the technical difficulty there's the added complication that much of our work was for webVR, running in experimental browsers. As security exploits and bugs get discovered, it just isn't safe or possible to return to things as they were before. Which is why a lot of software auto-updates and doesn't allow using old versions.

But I never did more than take screenshots of Child, because it was made for fun over Christmas in 2014 and was more about art than about furthering our research goals at the time. (I've since learned from brilliant art-based researchers like M Eifler and Evelyn Eastmond, who I had the honor of working with, the skills and techniques to gain research insight from art practice. But in 2014 I was foolish and did not document the thing and within months both hardware and software had moved past it.)

By using an old machine with an old version of an experimental webVR browser, and an old headset devkit, and carefully not allowing either to update or connect to the internet, and carefully moving files by hand and modifying some of the code, and using a pile of additional hardware and software so that I could capture both the visuals and sound, and many hours massaging it all together, I got the thing working.

There's a couple other reasons I thought of this game and wanted to document it:

1. The snowflake particle is actually made from a screenshot of the starflake in the video Snowflakes, Starflakes, and Swirlflakes, which I revisited while working on Hexaflexaflakes. 

I chose that image I needed a snowflake particle image, but I also wanted it to be star-like for when you "catch" the light and the particles turn yellow and stop flurrying and start falling like shooting stars. 5-fold symmetry was also the right choice to echo the pentagonal sides of the dodecahedra which make up the snow mounds.

2. I'm working on musical projects, and also thinking about Twelve Tones, and the sounds used in Child draw from 12-tone material. The game is called "Child" after the Christmas traditional "What Child is This", which I 12-tonified into this trio: https://soundcloud.com/vihartvihart/what-child-is-this-12-tone-trio

I love that trio and could not get the 12-tone melody out of my head for weeks after I wrote it. It's also pretty clever if I do say so myself... the first phrases are a trio where each voice sings a different 12-tone row, and in the 2nd phrases each voice sings the inversion, retrograde, and retrograde-inversion of the first phrase melody. I wanted to slow it down and linger on it and have an atmospheric dark and deep snowy landscape where one could explore different elements of the music, where the symmetry and completeness of the music were echoed by symmetric elements in the game.

The snowy landscape is dodecahedral, just as the atmospheric music features the dodecaphonic "What Child is This" melody line at moments. When you catch the light it plays the inversion/retrograde/retrograde-inversion harmonization of that melody, but with a slow wandering lingering feel, much like the light (which is as a lost child).

The light-following mechanic was the first gameplay element I added. When you enter the light, it plays the theme and wanders to a random new location, and by following it you can stay within the warmth and light and 3-part harmonies, with warm smoothed-out particle effects instead of jittery flurries, for as long as you can before returning to the dark.

There's also 12 cubes and each plays one of 12 tones. When you enter them, they play the tone and expand to one of 12 heights. When you leave, they start retracting slowly, boinging their tone. They're randomly clustered into different groups at the edges of the world. They are cities, skyscrapers, buildings.

Ok here's more about what's going on in the game:

I wanted to include all the platonic solids for a 12-tone-like completeness. There's a spinning icosahedron that collects progress on finding different things in the world, which are all randomly placed or moving on random paths in each instance of the game.

The "Flocktahedra" are a flock of Octahedra that wander on random paths, and if you follow them long enough the sky and snow start to turn blue and swirl around. Follow them briefly, and the Win Icosahedron's edges turn light blue. Follow them long enough and the edges turn a thick dark blue as the sky deepens and swirls. 

The Flocktahedra are a school of flying fish, and have fish-noise sound effects because I was excited about being able to make those sound-effects myself, having had recently been taught the skill and being very proud of my fish-noise abilities. For more on my fish-noise journey see: https://twitter.com/PatrickRothfuss/status/523378151498743808

Most objects have a glow associated with them, to make them easier to find among the randomly-placed snowdecahedra. The Bounce-tetrahedron represents fire, as is traditional, and it has a red glow. Like a hand leaping back from a hot stove, touching the tetrahedron bounces you backwards. This was possible at a time when VR headsets had rotational, but not positional, tracking.

The Win Icosahedron shows the bouncing of the tetrahedron by adding tetrahedral spikes on each face. I remember feeling pretty clever about how to set each vertex of each tetrahedron to get the right geometry.

Ah, and to go back to the light, after you find the light for the first time the Win Icosahedron starts sucking in nearby particles. As the game progresses the center becomes brighter and brighter with the jiggling mass of trapped light.

Aside from the landscape of non-interactive snowdecahedra, there is a Dodecahome, a warm bright cozy space, the only dodecahedron with an inside. It has shining vertical particles of light, music set in a tonal major key, and protects from the snow falling overhead.

It's also randomly placed, but can be detected by the snow that dances across the outside, unable to enter, tracing the outline.

Entering the dodecahome is reflected in the Win Icosahedron as an increase in size. Oh, and each cube you enter is represented by one of 12 cubes at the vertices of the Win Icosahedron. So if you've found and done everything, the Win Icosahedron will be big, blue, have cube corners, tetrahedra at each face, and be full of light.

To "win" the game, all that remains is to go to the center of the Win Icosahedron. The ending music plays, the icosahedron slowly rises up, the sky dims, the snowdecahedra slowly drift away.

I made this game just for myself, and didn't expect anyone to ever find all the things and figure out there's a "win-state". But now that it's been years and will probably never be played again, I figured I'd share all the secrets!

Ok I'm going to take a couple days off now, merry Christmas and a happy holiday!

Vi

P.S. Oh and the soundscape music is here, public domain if you want it: https://soundcloud.com/vihartvihart/child

P.P.S. I guess I have one more thought to add... one of the things I like about this game, especially in retrospect, is how hand-crafted it is. The hand of the author is everywhere, and I remember all the little details, and what a cozy relaxing Christmas vacation I had, snuggling in bed with my laptop and headset and no responsibilities or demands over the holiday.

I remember lovingly adding each sine wave to create just the right motions, writing all the collision algorithms to have just the right feel, recording and editing sounds as I went. Every sound comes from my voice, my teeth, my lips, and the only non-geometric visual is a starflake made from physical paper. The kind of time and attention and tweaking that you'd never put into something meant for the public (especially as I knew it would all break soon enough, or on a slightly different setup, and there's a reason people use game engines). No expectations of answering emails or doing paperwork or work responsibilities. When you can spend that kind of time and attention, long hours of absolutely absorbing creation, it feels pretty good.

Also, forgot to mention, the end-music "Teeth and Clicks" is also on soundcloud: https://soundcloud.com/vihartvihart/teeth-and-clicks

P.P.P.S. Oh goodness, as long as I'm mentioning weird 2014 VR Christmas art, I should point you towards Twelve, a collaboration with mathematician Henry Segerman.  The playable web version is here: http://playing.hypernom.com/twelve

Video documentation is here: https://www.youtube.com/watch?v=ioF07-EjXxc

It combines a 12-tone version of "The Twelve Days of Christmas" (one tone for each day) with a hyperbolic space, a tiling of dodecahedra created out of 12 sets of non-intersecting planes, each of which has a design representing one of the days of Christmas.

You can make your own 12-days dodecahedron with this dodecahedron craft: http://vihart.github.io/webVR-playing-with/media/12_days_of_xmas_dodec_craft.pdf

P.P.P.P.S. I went ahead and made a page collecting all the Christmas and Winter Holiday-themed things I've made: http://vihart.com/christmas/

P.P.P.P.P.S. Ok so I totally lied about taking off now, after putting together the Christmas page I went ahead and took some video documentation of a different VR Christmas project, Snowplace, and then posted about it on my old research website elevr.com and also added it to the Christmas page and anyway here's that: https://youtu.be/zvHsS6oT7Es 

But it was much easier because I just used the browser version and there's no in-game sound and... anyway. Now I'm off for Christmas for a couple days, REALLY!