Modular compromise on the Art Pipeline

I like working within constraints. I often hear “work outside the box” and “think big” advice, but I like that box. I like exploring the inner regions of it, finding the walls and figuring out the corners so I don’t end up stuck in “Austin Powers” three-point turns. I find my strengths by exploring my constraints. And I find my weaknesses.

Compromises always occur, but as Indie developers we get to choose where to compromise, so we can be non-compromising elsewhere.

Awareon is an ambitious project. I call it “a game of stealth & intrigue” but while stealth will be front and center, “a game of exploration, stealth & intrigue” would be more accurate in order of scale. Exploration implies a world to explore. A lot of environmental content. We lucked out a bit with the character art we’ve commissioned, because I feel we have plenty of wiggle-room to match & contrast with our environmental art style. Kudos to our skilled freelancers.

After a ton of prototyping, I think we’re approaching our environment art style. I’d say we’re more than halfway there at least. A lot of my assumptions going in were wrong. None of us on the Awareon project are trained professional artists, but I’ve absorbed a fair bit of technical knowledge from around the games industry. That’s come in handy, but sometimes my assumptions push us into those corners I mentioned.

I have to constantly remind myself that we have very specific requirements in our environments. It’s easy and comfortable to look for blueprints from the pros, but “Always do this!” does not always match our needs.

Awareon’s Needs:

Awareon takes place onboard a generational starship (the “Norship”). There are no outdoor areas. We have very few long distance views within the game and they’re all viewports (IE: looking out a window into outer-space). We have connected rooms and hallways, almost old-school “corridor” level design. As such, most of the art disciplines connected to levels-of-detail and instancing do not apply (much) to our project.

This was very hard to escape from. A key pivot is modular design, which is commonplace throughout most sci-fi environments. It’s a good discipline, but it doesn’t afford us the same cost-reductions (in time, effort & game performance) as it would most projects. Maybe this should have been obvious. I’ve certainly been thinking about it the entire time, but it wasn’t until we actually started prototyping environments that it became clear: Our approach to modular design should be different. It’s an area where we can compromise for strength.

Our new approach: We work with modular parts in the creation of assets, but we don’t hold modularity sacred for final assets in-game.

This way we can kitbash during 3D modelling, for quick creations and consistency (tiling floors, matching walls, etc.) but assets in the game engine do not need to depend on instancing. We will still prefab everything in Unity3D, because there’s no sense throwing away the automatic optimizations, but overall the benefits of optimizing batches to the GPU are not as great when we’re loading room-by-room as limited (occluding) spaces.

That gives us some nifty advantages. We can sculpt out unique room shapes if we wish. We can bake custom full-room ambient occlusion into default diffuse textures without having to create a lightmap-blended solution. I wanted to do that anyway (my AO fetish needs to be fulfilled), but it won’t require a ton of extra effort or too much compromise on texture space or quality.

We also intend to compromise on texture maps / materials / shaders, and that’s significant for our art style– but I’ll leave those specifics to another post. Especially since I don’t have pretty art results to demonstrate right now.

Hopefully I can get the shader stuff sorted out soon so I can show off some nice art. Once that’s done, we’ll be at an exciting point in Awareon’s development: Moving from pipeline prototypes to art production.