Blog-gallery

Byte-Sized Tech Review — Procedural Algorithms and Art

 

Procedural generation of content: letting algorithms generate infinite content to keep systems fresh and interesting.

No Man’s Sky: Released 2016

No Man’s Sky: Released 2016

The best example I could find of procedural generation in the modern era is the 2016 game No Man’s Sky. Its creation and ultimate failure relates to a larger discussion about the greater problems with generative art and design.

For No Man’s Sky, the promise was an infinite number of procedurally generated worlds. The game developers promised one hundred billion explorable earth-sized planets with an amazing array of unique fauna and flora to discover and share with your friends. Intriguing right? 

…well it wasn't. The game was a commercial and critical failure. After the first hour of the game, people realized that the worlds, while on the surface were beautiful, lacked substance. People put the game down in hours and spent the rest of their time leaving scathing reviews.

When I look at No Man’s Sky, I feel the same way as when I look at the completely generative designs that companies that Autodesk are hailing as the ‘future of design’: Wildly disappointed. Aesthetically and spiritually, these algorithmic pieces do not speak to me like handcrafted artwork does.

As a computer scientist, these failures keep me up at night. I was taught technology could solve anything given enough time and effort.  

What I’ve come to realize as I look at generative design is that creating beautiful and interesting things is one of the most difficult technical problems that has existed. What an artistic algorithm must capture in its lines of code are something that artists learn over the decades of mastering their craft: how to use shape, line, color, motion, and composition to evoke a feeling of beauty in the eye of the viewer. I think the computer scientists and product managers seeking to automate this process are vastly overestimating how easy this is to do: what I think they don’t appreciate is the sheer amount of thought, feeling, and personal sacrifice that goes into art. I’m not sure you can capture that in an algorithm.

That being said, there are still places in which generative algorithms can be used to great effect. When computer scientists and artists work collaboratively on tools and code to supplement the artistic process: that’s when the magic happens. Code is powerful in the sense that it automates small things and can generate complexity that would take an artist hundreds of years to do by hand, and mixing this ability with the creativity and aesthetic skill of artists can lead to incredible things.

Where No Man’s Sky failed in completely procedurally generating worlds, is where a game like Subnautica succeeded. Released in 2014, this game is an example of how combining artists’ sense of aesthetics with programmed complexity can succeed. The entire world is not procedurally generated, rather every structure was built and placed by artists. Where the generative aspect of code was used to great effect in this game was by giving the creatures that populate this world intelligent behavior. This resulted in a world that felt believable and interesting, and drove players to explore the meticulously crafted world that artists had made. It still remains one of the highest rated games on Steam.

Subnautica, Released 2014

Subnautica, Released 2014

Al Bahr Towers, UAE, Completed 2012

Al Bahr Towers, UAE, Completed 2012

This principle of combining code with the aesthetic sense of artists can be seen in many other fields as well.

In architecture, an example of artist and machine working together in tandem is a tool like Rhino: which has parametric modeling tools that puts the power of code into the hands of trained artists.

This is also the philosophy we take at the LAB when we set out to build good generative systems: instead of trying to automate the creative process, we seek to design systems that can be handed to artists so they can leverage the power of code in their art.

By Brian Aronowitz, LAB Technologist

 
Guest User