Today's #gamedev tip is for hand painted textures.
I have seen a lot of tutorials online where the artist starts painting each part bit by bit.
They will color the skirt, paint on it, then move onto the face, then hair then eyes. And... yunno, you do this. It does work.
But
A much better way is to start by creating a greyscale lighting pass on everything first.
This is like an "underpainting" in real world painting. A fast way to lay down the values and shading, work the composition and get a unified feel.
A modern way to do this (though we used to do something like this back in the early days) is using a high resolution model to bake lighting, cavity and ambient occlusion onto the game model.
Even if you aren't going to use PBR or normal maps, a bake model gets you great shading.
In the olden days we would make high res renders for bits of the model and copy pasta them into our hand painted textures.
Later we baked lighting and ao, but it was a while before we had model to model bakes.
Nowadays, you can bake mesh maps in substance painter and use them to bake fake lights onto your diffuse map.
You can then refine and hand paint over this to finalise the look.
It ain't cheating it gets the job done.
Here is an example of a hand painted model I made for a rapid game prototyping in 3DSMax demo at GDC. She is olds school as heck, but her shading was done entirely in greyscale, then parts where coloured using gradient maps and overlays.
So if I take out the color using twitters photo filters, you can see the values and shading still read against each other.
The shadows and ambient occlusion are consistent across materials. It keeps things unified, but also easy to read.
Likewise on my work on Unreal Tournament 2004, note the values are brightest around the focus point and gradually get darker as you go down to the legs.
This focuses the player's attention where it matters most, and fakes ambient light.
Underpainting strengthens your hand painted textures.
One thing people need to understand about human biology is that your DNA carries all the instructions to make a human of any sex.
Most humans have 48 chromosomes- 23 pairs called autosomes and the two which you know called the sex chromosomes- X and Y.
Typically an XX develops into a woman, the XY into a man. So you may think that the "dude" instructions are all in the Y.
Actually, no.
The Y chromosome normally has a region called 'SRY'.
The SRY is like the order form for a boy. It just says "yo, gonads... make testes".
If you don't rock the SRY gene region, your gonads will shrug and keep on rocking- eventually developing into ovaries.
So by default, you get ovaries unless that SRY region show up.
I don't think people are aware of just how much dicking around is required to do things in game development.
To get something to work you may have to dick around with the model, the shader code, the scripting, back to the model, then tweaking the material and repeat.
There is a lot of technical stuff that means a straightforward change may be... and this is a term you learn early on in your career... "non trivial".
One example is the client asked for a character to have much longer legs the day before a demo shipped.
No. No you can't.
Because that one change will require reauthoring of the animations, the model, the rig, the run speed, slowing and acceleration values, the collision...