Decision time: Depth of detail

As we near completion and launch of our upcoming game, my partner/love @AdjectiveBeaver and I face decisions about how much detail is not too much and not too little, but juuuuust right for each of our 3D assets.  By 3D assets I'm referring to models, textures, graphics, effects, audio, and interactive components for the game.  

As I blog about my experience as a 3D artist and designer on the project, I'm also faced with fewer and fewer snippets that I can share to the world without revealing key components of the game that we hope our players will discover and delight in, unspoiled.  For that reason, this may be the last post I write before we launch what we've tentatively titled "Stoven Universe."  

While preparing to write, I bemoaned to my partner that I don't know what to share because many of the finishing touches are super small and simple.  Not worthy of a whole blog post individually.  But he encouraged me to consider that what is simple to me, decades into my career, may be inspiring or educational to folks just starting out.  With that in mind, for my last pre-launch post, I want to share a bit about my approach to making these depth-of-detail decisions.  

One of the principles that guide me is to think more and more of the project as a whole, the farther along it progresses.  Whereas -- while we're creating specific components of the game, it is fine and even important to focus on minutia like developing a complex workflow for tackling a unique problem, or making sure this vertex snaps to that one -- at this point my mind is on ensuring that the whole experience is cohesive and polished, and that we don't delay or get bogged down by implementing every great new idea that comes to mind.

MY GOODNESS is that difficult.  My experience with scope creep though, is that it is a demoralizing motivation killer, which gives me the courage to choose which details to budget my attention for with confidence.  Published is better than perfect, to put a new spin on an old adage. 

So here I'd like to present a small example, where I chose simplicity and completion over depth of detail.  One of the key interactive pieces of our upcoming game is objects we are calling "scorables."  Without revealing the purpose of these objects, I can say that button pins, the kind with a metal safety-pin clasp that you attach to clothing, are one of my favorite of the scorables I modeled and textured because of how clever they are for marketing.  Yes!  That QR code to my Link.tree is scannable, and it will be in game too.

When I showed my colleague @MakerComet how I could (with her permission) add her logo to a pin in game, she was surprised at how fast I was able to put it all together.  Therin lies the beauty, in my opinion.  Above, you can see that I've set up my layers (in Substance Painter) so that I can swap in a variety of graphics for the button front.  I've already exported the Metallic/Smoothness and Normal maps for our Unity URP shader, and when I add a new image, I simply rename the Material in Painter and export a new Albedo to Unity.  This is an example of how I focused on the detail part in the early stages, so that now I can quickly create variations in the polish stage of our project.  Since players will be up close and personal with the scorables, I feel the initial time spent was justified.  (P.S. if you'd like me to create clever 3D marketing materials like this for you, you can reach me via LinkedIn here )

To give a contrasting example, as we fleshed out the 3D space (the nature of which I won't reveal until launch), we realized that some of the walls were a bit too bare.  So as a finishing touch, I quickly modeled and textured this 3D wall calendar.  This model is extremely simple.  It's only five planes. The top half is an image we picked from my partner's photos to match the humorous theme, featuring the real life version of his wooden manequin avatar Skip, feeding one of his friends and favorite creatures (the Curve-billed Thrasher) a peanut.

I used Adobe Illustrator to quickly design a "dollar store" graphic for the calendar part -- only bothering to make one month since the rest are almost completely obscured -- then I mapped the graphic and photo together on a single 2048x2048 texture, aligned the plane UVs with the image, triangulated the planes and bent them each a little for depth, and voilà!   The Material doesn't even need extra maps, because I can get away with an average Smoothness, and it's really not a big feature of the scene.  Just a finishing touch.

So that's it for this Work in Progress blog, until I'm sharing promotional material for the new space when it goes live!  Thank you so much for following along on my journey, and please stay tuned for our next adventure.


Modding Stock Models

Did you know that if you subscribe to Adobe's Substance products, you have access to stock 3D models in their asset library such as the base mesh I modified for this toaster?

Fair warning:  All of the Adobe Substance assets I have previewed so far are unnecessarily high poly, so using them may require lots of optimization, however even just reusing the vertices at the extremities of a shape (the corners of a cube, for instance) can give you a huge head start.

(Quick tip:  Flat faces on non-deforming meshes do not need subdivisions, and can usually be collapsed, such as on the front side of this toaster where I removed all the recessed buttons as shown below.)  

(Another quick tip:   Internal parts of props that are not meant to be viewed can also be removed to optimize a mesh, and even some of the details, such as the number of wire racks inside the toaster, can be reduced without noticably degrading a prop's appearance.)

Optimized version on the left, original on the right.

Optimized version on the left, original on the right.
Inspiration/reference toaster.

Stoven Nod to Spatial

Sneak peak at a special emissive map for the stoven, with a nod to Spatial, where we're building our next tiny chaos game!


Made a Grease Material

It works I guess?

Also made my partner a bit jealous.


Baking the Stoven

Yes, I'm baking the stoven, not baking IN it.  And yes, stoven, not stove or oven.  My partner called it stoven and I found that delightful so it stuck.  I don't care if you think I'm weird for liking every word that comes out of his mouth (he would claim that I don't), It's comedy gold and you can't tell me different.


Aligning Wood Grain

Just a pet peeve of mine, even though this will be (mostly) covered with a coat of paint, I need to have the underlying wood grain aligned the way real life wood structures would be built.  Wood grain tends to run parallel to the longer surface because trees are tall and there's more length to be had in that direction.  Some high end wood products may have more seamless wood grain, but this is meant to be a humble, comfy kitchen.

Three grain directions:  Horizontal front to back, Horizontal side to side, and Vertical.


Personal Project Progress

I have been working on a second personal project after the recent release of the first ever personal project that I have been able to develop exclusively with the love of my life @AdjectiveBeaver: Magical Capsule Critters.  That project was a small but delightful success.  It's an interactive 3D space on the incredible platform, which I have affectionately dubbed "MySpace for the Metaverse" because of the way it empowers creative folks to easily share and go live from public virtual spaces on the web.  

If you're a 3D content creator and you haven't checked out yet, you are missing out! has thoughtfully handled everything on the back end using the Unity game engine, allowing us to publish 3D and VR content to the browser that is immediately interactive without any of the headaches of coding and deploying the necessary infrastructure like player controls, interface, and save data.

I documented the wonderful reception we got from the Spatial team on their weekly Surfing Spatial live stream a week after our launch in my Patreon account here and now that we're working on our second personal project, I thought it might be cool to share some of the work in progress via a new ArtStation blog. 

At the moment, @AdjectiveBeaver is handling the functionality and level design, while I'm working on environment art.  This is a completely new experience for me:  Having the freedom to share what I'm working on, with my partner completely on board and not resistant to any of our secret sauce spilling out. So I'm going to go for it!  

For now, what follows is a dump of screenshots of the recent progress we've made on our upcoming second game.  Please stay tuned for updates.

Fitting base pieces to the greybox (wireframe)

Set pieces in place

Working out material assignments for optimal texture resolution

UV unwrapping done