Creating Lucid Dreamscapes

Creating Lucid Dreamscapes

My art is a celebration of the act of creation. The process and product are one. The art that I make and the way that I make my art are connected. There is no clear division between the code, my actions, and the images. I’ve written my own software to allow me to perform animated worlds in real-time with the same freedom of a musician with her instrument. My focus has been on using gestural input to create worlds for live concert performance. My challenge has been to become one with my instrument.


When I started this project, I needed to write my software myself. Off-the-shelf game engines weren’t up to ​the task at that time. Everything runs in real-time (or near realtime if the scene is complicated!) My system has a C++ core for number-crunching fast, and it has an actor system and GUI written in Python. There’s over 200,000 lines of code that I’ve written by hand, plus some auto-generated code, and many libraries that I’ve included, such as the Bullet Physics library. (I don’t often count my lines of code, but it was easy for me to write something that does, so I did it for fun.) Because it’s my own software project, I’ve been able to make the system work in a wide variety of formats. I can render in stereoscopic 3D and 360 formats. I regularly perform in fulldome (planetarium) theaters, where my software runs mapped to a half-sphere. To achieve the high-resolution demanded by these theaters, I run my system in parallel across a cluster of CPU/GPUS, which all feed multiple video projectors to create one seamless high-resolution image. (I have performed on one system in Macao that has 48 computers in the cluster!) Each part of the cluster runs the same simulation, but renders a different viewport. The cluster is controlled and synchronized by another computer in my hands as I perform, including my animation guitar — the ANITAR!

In the 1980s, as I started to use computers for making movies, I embraced how computers can handle the tedious, repetitive, laborious tasks of making movies and allow each of us to spend more time on the creative aspects. Computers also opened for us new methods and modes of personal expression. Sadly, movie studios, including all animation studios, turned their backs on the auteur approach, and have opted to re-invent the studio assembly line system. That system allows only a handful of creative people, and an army of technical assistants. I’ve never been interested in that process. No art form needs to be done that way, movies included. The creative and technical aspects of art are intertwined, in whatever medium one chooses, whether its movie-making, painting, music, or even conceptual art. I’m inspired by art that has a personal vision, and I want to explore my own personal vision.

I’ve written software with a user-base of one: myself. It’s a lot of work, but I don’t have to do a lot of the work required for a professional software project. I don’t have to spend a lot of time making the system foolproof, so I can spend more time developing new ideas. Still, I can’t be too cavalier about my code. The software needs to be reliable. I need to document things, because I forget what I’ve written. I need to practice good revision control. I need to keep things organized. Especially in live performance, things occur that don’t happen in the studio, so I need to exorcise errant pointers and buffer overruns and anything else that might make the system crash.

The best thing about writing one’s own software is that the programmer gets to shape the software to any idea he or she wants. Digital technology is a blank slate. We get out of it whatever we put into it. Because of that, software embeds aesthetic. The art that is made with computers reflects what the art-making software is good at doing. A million decisions go into creating a complex piece of software, and the developer makes these decisions with the user in mind. Default settings, user interface, menu layout, etc. are among the things that assume what the user is going to do with a piece of software. I write my own software with my own aesthetic. I choose how my software is going to run, and I design the user interface. I choose what is important to be in the forefront.

The style that I employ is a loose style. It’s not a careful, precise style that animation is known for. Animators tend to pay attention to every detail in their scenes, going over each shot several times, looking to get the “perfect” move or camera view. We can do that with animation, since we’re creating our worlds from scratch. It’s one of the aspects that attracted me to animation. But I’d come to find that attention to detail too precious. Animated scenes started to look the same. The process becomes repetitive and predictable. I wanted to embrace the action of the moment — gesture. I want my work to have life, and to indicate the living process that creates it. I embrace improvisation in every aspect of what I do. Every step is another opportunity for discovery. I’m not looking for perfection; I’m looking for wonder!


Wonder can happen at any level of my work. I love creating inviting worlds; I could live in them for days! As I create these worlds, I find surprises in them. When I perform these worlds life, I share these surprises with my audience. I love the geometric underpinnings of the graphics. I love working with the colors and the forms. I love 3D. I love dynamic systems. I love weaving complex networks of objects into a world. I love encoding my thoughts into software. I love clean code that does more than I had planned. I love grooving to music while I create.Music adds another dimension to my creative process. I am a self-taught music producer and composer, and I’m proud of what I’ve achieved with my music. I’m able to produce music and visuals so that they work together. I go back and forth creating musically and visually. The ideas in each domain feed off each other. I borrow from whatever styles move me. As a result, my music is a bit quirky. Overall, my tracks don’t really fit into a particular genre, except maybe “movie music”.

The ideas I’m expressing in Lucid Dreamscapes come from a visual or musical place. The germ of the idea comes from a vague image in my mind, or a transformation idea I want to express. The idea develops as I work on the piece. I let the process shape the idea. Often, I don’t know what the piece is about until I’ve completed it. This is a different process from the standard approach toward movie-making. Movies are usually started with scripts, and often move through a storyboard stage. That’s a good process for collaborating on projects that require multiple teams of people, but that process tends to generate movies that focus on words. They are visually bland. I like to explore with imagery, the visual  and dimensional  form, the motion, the dynamics, the interactions, the environment. I like to allow discovery at every step of the process.

I focus on the overall experience, which includes the presentation of a variety of nonverbal ideas. Our physical world and our place within the universe is a recurring theme. More often, I focus on the creative act as essential to being alive and conscious. I know this can really sound arcane when I explain it this way, but these ideas are not uncommon. I’m gratified that people pick up on these ideas when they experience my art. People of all ages respond to what I do. I think I’m tapping into something universal. There’s a magic to being a creator. One’s creation reflects back to the creator and each becomes more.