Almost forgot. Had to finish up the series of
Substance posts. My head always flies in all directions. Programming A.I. in
Tower22 on Monday, overwork on Tuesday, making shampoo bottles in 3D on
Wednesday, beating Red Alert on Thursday, saving the world on Friday, playing
as architect for our new house on Saturday, and fooling around with Substance
Painter on Sunday. It's not necessarily that I'm a busy man, I just forget what
I did today, and start somewhere completely else tomorrow. Like my
great-grandmother.
That makes it hard to *finish* things for once. Being
a programmer, my whole life feels a bit unfinished anyway, as software/code is
typically never done. Not at work, not for Tower22. How nice would it be to do
something, finish it, then sit down and treat yourself with a beer? Not for me,
there is always some work that needs attention. This Never Ending Story makes
me restless. Good thing that I forget and switch tasks though, otherwise it
would feel as a very, very long, dreadful trip.
So usually my 3D assets would feel half-finished as
well. Starting a room or 3D shampoo bottle with a fresh spirit, but then
quickly rushing it the next day as mountains of other work are still waiting as
well. Making a model is usually not that hard (for architecture or basic
shapes). But the devil is in details - texturing details mostly.
So much work... For a patch of rust.
Stupid textures
When I started hobbying with 3D, somewhere around
2002, you could get away with a MS Paint drawing. Or as I did, print the UV-map
lines on paper, then paint literally on paper, and scan them back in. And that
was that, kick-ass. Ok, the seams sucked a bit, but who cared. A 256 x 256 resolution
would "mask" such buggers anyway.
But then bumpMaps came. And specular or glossMaps
(till this day I still don't know what the exact difference is). Generating
such a bumpMap *correctly* would mean loads of extra work, as you either need
to make the same model in super-detail first, or draw heightMaps carefully and
convert them. Yes I could "draw" bumpMaps, and having the illusion of
extra detail was kinda cool, but often the quality was poor and lacking time to
put all that extra effort in a fucking 3D shampoo bottle, I usually skipped
them.
And then it got even worse, with PBR - Physically
Based Rendering. Well, not worse maybe as the industry standardized all those
crazy tricks and shading hacks into a more universal set of textures, giving
measurable results with input data based on actual numbers. But... how the hell
do I know the exact albedo and roughness values for a sewer-sludge texture? Got
to grab the physics books and calculate the IOR (Index of Reflection) for foamy
slime and turds with peanuts.
Needless to say, I didn't do that. Resulting in PIR -
Physical Incorrect Rendering. God, where are those good old days of just
drawing something on paper? For one of my first more serious (2D) games, I made
photos of clay animated figures! Quick results & a lot of fun. And look at
me now. Stuck somewhere between the PBR world, and the Dark Pixelated Side of
Indy games that just say "Screw it. Throw away all fancy graphics and join
the Pixel".
Now I'm very curious what you boys & girls think
about the picture above. Because T22 is basically tumbling on a graphics edge;
if I want to stick with "High-Def" graphics, I need a lot of help
from expert artists... The alternative is to simplify (not necessarily uglify)
the graphics, which allows "lesser-quality assets" to join the game.
Obviously a far more realistic path, but it feels so unnatural to spend a
billion man-hours into advanced graphics, and then just drop it. Then again, as
a wise man named Marcellus Wallace once said: Fuck pride.
I'm still undecided. BUT, at least the Good
Graphics(tm) side sent in some reinforcements; Substance Painter. A 3D Painting
program.
Substance Painter
The concept of 3D painting is nothing new. I remember
doing that back in the print & scan oil-painted texture days. Also remember
I wasn't very pleased with it. Yes the edge problem was sort of solved, and
what you see is what you get. But the painting tools were very primitive,
compared with programs like Photoshop. It... it... it just sucked.
10+ years I'm trying again, and with an inner smile
this time. First of all, the navigation, brushes and painting tools all feel
much better. I felt something I didn't feel for quite a while, wrestling with
old fashioned tools to create unfinished C-rated quality assets. I felt FUN. It
was nice to doodle, and see pretty darn good results right away.
The most importance trick that Substance Painter has
in its sleeve, is that it generates multiple textures simultaneously, with PBR
parameters if you like. If you paint gold, you really paint gold. Not just some
brown-yellow colour, but also the corresponding "Metalness" value,
Roughness/Smoothess, and eventually a micro structure that represents gold. Now
gold is smooth typically, but you could also draw concrete or denim-cotton. As
you paint, also the height- and/or normalMaps take over the exact same
patterns. This leads to *correct* textures, without too much extra effort.
A lot to click, and I'm unpatient when it comes to learning new things. But it works pretty simple, and otherwise there are tons of tutorials, like the (Spanish) one above.
Besides the "Substance Share", where you can
download/upload loads of extra brushes, materials, presets and effects, there
is not too much else I can tell about it, as my trial version expired and the
package is just what it is - a 3D painter. But as said, a very nice one. What
matters in the end are the results. Without too much effort, I created a
texture that was better than anything else I tried before, the old-skool way
(in my even older Paint Shop Pro version 5). Including a proper roughness and
normalMap. And a baby-smile on my face. Priceless.
Being able to generate higher quality stuff myself
once again, pulls me a bit back towards the "Advanced Graphics" side,
as T22 was once intended. Whether a horror game like this truly needs tiny rusty
speckles and 2048k textures for a bucket of vomit is another discussion though.