Wednesday, July 31, 2019

Hedera and brief notes on ivy aesthetics

This actually happened weeks ago, but I just realized I never posted anything here about it: I built a 3D ivy painting tool called Hedera. Each time you paint ivy, the Hedera "AI" will grow and simulate an approximation of real-life ivy behavior, clinging to surfaces and climbing towards the sun. It's pretty magical to watch in action.

Much of the core technique is based on Thomas Luft's C++ code from 2006 and a much more recent C# port from 2016 by Weng Xiao Yi, but I found both of their implementations to be very bare-bones proof of concepts intended more for engineers and less for artists, with little concern for workflow or usability. Most of my work focused on front-end user experience stuff -- making the simulation more predictable, conceptualizing a layer-like planting system, optimizing the procedural mesh generation, and getting it to play nice with the Unity Editor's arcane IMGUI and file serialization rules. I definitely learned a lot about tool-making.

ivy mesh wireframes / process from "Crysis 3 - Ivy" by Tom Deerberg
3D ivy meshes, like most video game foliage, were traditionally a very expensive photorealistic detail intended to evoke high production value and thus skilled craftsmanship. It is my hope that my tool lowers the barrier for covering 3D worlds in detailed ivy, thus decimating this value system in game art. Let ivy be worthless!

Perhaps when we stop oohing-and-aahing at the fidelity of game ivy and demystify its creation, then we can finally appreciate a more subtle and artistic use of ivy. As I've argued before, many indie game devs often have a (misguided) knee-jerk reaction against realism, but I think realist aesthetics have an important role to play in any visual culture.