High End Procedural Systems (Procedural Trip Report)

By Denis Kozlov (Website,Website,Twitter)



My background is in commercial CGI — Mostly film VFX and advertisement; gamedev, television and even a touch of DTP too. I’ve been attracted to proceduralism for most of the career, using it bit-by-bit in everyday work, and constantly pondering of bigger, higher level systems. Finally I’ve taken the last four years to explore the possibilities for such systems and would like to share some results with you.

One aspect which I feel might be interesting to the community (and one in which my approach seems different from many projects presented here) is the choice of tools: Houdini as the main platform and Fusion for supplementary 2/2.5D work. Both are high level and high end node-based DCC packages. This gives me tons of freedom and allows to convert existing knowledge and understanding of computer graphics into the code most seamlessly. I’ve covered the approach in more detail here http://www.the-working-man.org/2017/04/procedural-content-creation-faq-project.html — the same article also discusses my first seriously big result — Project Aero.


Project Aero is a procedural aircraft design toolkit — a CAD system I developed in early 2015 as a proof of concept; an exercise in applying procedural approach to a less typical task than a landscape or city generator. The system allows a new, highly-detailed 3D model to be created in a couple of hours from scratch; no data is sampled from disk — every piece of geometry and textures are synthesized to fit the particular design. All models come out pre-rigged and ready to render, with parametric aging, non-identical symmetry, and unique copies on a button.

Though it had started as a tech demo, Aero has proven to be production-ready and served as the core technology behind Flight Immunity — an aircraft concept art project currently counting over 50 original designs and otherwise hardly possible within the same time frame.

While this first project has aimed to prove that such procedural enterprise was at all possible, the second one was meant to show that everything is. I’ve been intentionally seeking to make it as different from Aero as possible — in subject, techniques and any other aspect. Kozinarium is a creature generator; a true generator this time: a new creature can be created in one click (though CAD functionality is still there and every design parameter can be overridden manually). Several seeds can completely define both the shapes and animation for a new animal; a rig is generated procedurally too. Models are created with volumetric representations, animation largely relies on Finite Elements Model dynamics, and most of the shapes and motion paths are literally drawn with mathematical functions. I’ve covered Kozinarium as well as some more exciting stuff here http://www.the-working-man.org/2018/04/procedural-bestiary-and-next-generation.html.


These, and other endeavors of the last years, have left me with two outtakes which I’d like to share. One is that visual art is formalizable and can be expressed algorithmically to a much higher degree than it’s commonly considered. This is the message going throughout all my procedural work. It takes a lot of knowledge, it takes a lot of effort and devotion, it does take a vision, but it is formalizable. I found that while designing procedural systems I think in altogether different terms than ‘pixels’, ‘polygons’, or ‘UVs’. Translation into this technical language of CGI happens quite late in the process, but is already being done to some extent for each project. What’s needed is to generalize it.

For example, the basic notions like point, curve and surface can all be redefined at a higher abstraction levels, so that particular CG implementations like NURBS or polygons, raster or vector should become secondary and be derived from those. This in turn can form a backbone for a much more content-aware design system, “the generator of generators”. As a third and final project, I have actually conceptualized a point-based solution for this new system — a universal high level framework for procedural content creation. It’s sitting there as a set of notes in the drawer waiting for the proper funding.


The second outtake I’ve got from the journey looks a bit less optimistic — I’m observing exciting procedural things happening simultaneously across several different fields of knowledge, yet these fields seem to show little interest towards each other, each living in their own bubble. Film vs games, artists vs programmers, academia vs practitioners — only a few camps that quickly come to mind, each being involved with proceduralism in its own way but with a clear lack of dialogue in between. Hope this text might become a part of the change.

More words and pictures are available at www.kozlove.net