Artist friendly procgen

One of the big barriers to entry into the procgen world is the complexity and steep learning curve.

How have you dealt with that in the past?

In Starlink: Battle for Atlas we built 7 (and then some) circumnavigable planets. And even though we kept the surface area of the planets super small (160km2) it was still a lot of ground to cover (pun intended).

Building the planets was a combination of multiple different techniques, a layered approach to asset placement, strict guidelines, etc.

It took a long time to get everyone into the same procedural creation mindset, and ultimately we came up with a compromise that worked for the project.

For an Artist, it was faster and easier to hand-build things from a concept, and recreating that concept with pure logic was an extremely daunting task.

We couldn’t simply place down copies, of the same template (something akin to a blueprint or prefab) as the repetition would be super obvious.

In comes in the Diorama, a procedural variation building technique.

1 . An Artist would build an original Diorama, from the concept. A diorama was a combination of assets in an aesthetically pleasing, artist-built asset.
For example: A Big Tree, small Trees, rocks, and some shrubbery.

The following is an example of a Diorama, well all of the small clumps are small dioramas, combined

Andrey Chernykh (Level Artist at UbiToronto)

Let’s say that the big tree is the “centerpiece” of the diorama. Instead of working out the rules of how shrubs and rocks were placed around trees and how the grass grows around all of it, an artist would actually manually create the original diorama, by hand.

That template then ran through logic that would modify the diorama, scaling, rotating, replacing with variants, deleting assets, translating. and therefore creating variations of that same diorama. Seeded by their world position.

Dioramas could be nested into larger ones, which would become biome pieces.

The placement of the dioramas would follow rulesets based on the Terrain, slope, splatmaps, etc.

Each asset would be snapped to the ground, with a parameterized alignment to the terrain normal.

This was a very fun project with huge ambition and a relatively small team that was able to pump out a lot of great quality content.

1 Like

It is hard to marry the technical analysis and codifying of such creations into algorithms, with the creative freedom of concept art and hand built design. I think you took the right approach in reaching a compromise as it’s always going to come down to the skills you have in your team. If it’s art-heavy then favour hand building/concepting with some procedural tools to help. If it’s tech-heavy then you can invest in deeper and more pervasive procedural approaches. Of course, if you have the luxury of building up your team then you can favour whatever you want.

I think that for problems like you describe if you could pair up art/design/concept team members with tech-art/code/engine team members to tackle the creation of a hybrid then you can have the best of both. Art can drive the vision and provide concept reference, tech can build the algorithms that codify the designs, and together they can iterate on it and extract the essence of what makes the design what it is. I think a lot of cases can be codified to allow huge variety in a creation whilst keeping the look and feel of a concept. The process you describe wouldn’t need to be taken much further to have much larger procedural ‘brushes’ to paint the flora you describe over larger/arbitrary areas.

Fundamentally this is a technical approach to building visual scenes. It’s hard to get away from the logical and code-like nature of thinking about how to break down a creation into a process, in the same way that it’s hard to get away from the rich, organic, and visual nature of what you are trying to represent. Collaboration and a bit of compromise seem to be important here, but it’s still down to what you are trying to leverage; do you want huge and varied environments and vistas to explore that need machines to make viable, or do you want the intricate uniqueness that hand crafting can bring? At the moment it’s hard to do both completely.

Sounds like it was an interesting project full of enticing problems to solve. :slight_smile: