Brian Crick

Yay, I Get to Fill Out Forms!

Over the weekend, I tried to do some level planning for Tinselfly, which mostly revolved around creating a form I can fill out for every scene in the game (I hesitate to use the word level, as locations will be re-used from scene to scene). Currently the form looks like this:

form-empty

The bulk of this form is a grid showing all the locations the player can ever visit in the game. The idea here is that, for each scene, I’ll write down what areas the player needs to go to, what areas they cannot go to, and any special redressing I need for my sets (like, I might say in this scene, Old Spaceport has been reduced to a pile of rubble).

Even though there’s no maps really, having this abstract list of places I can draw on has already helped me sort out my thoughts about where the characters need to go and how they relate to their environment.

I’ve decided the number of locations I’ll have will be exceptionally limited. I’m hoping that, by re-using these locations, I can save time modeling stuff, and I’ll have a more coherent narrative because you’ll see how these familiar locations change in response to the story.

The rest of the form is a bunch of questions I want to make sure I’m answering for each level. They all take pretty much the same form, pairs of things like ‘what do I want to express here?’ and ‘how am I expressing that through my game mechanics?’.

So here’s an example of a partially filled out form.

form-filled

That the form looks like something I’ve printed out and filled out by hand is important: I have to believe anything I write here is mutable, and that if I have a random idea I can just jot it down and worry about vetting it later. I have to believe these look like rough notes, and there’s a point at which I have to trick myself into seeing this form that way.

(Though I do like the idea that these are 8.5×11 and I could print them out for reference later on, if I wanted to.)

Anything having to do with a specific playable character is color coded. Robin is blue, Sam is green, Rachel is red. So I can quickly glance at my questions and see what I don’t have filled in, if one color is missing.

Unused locations are scribbled out, and I’ve got some vague arrows showing where the characters will be going on the locations that are used.

I’m sure I’ll be adding locations as I go, and that’s a good thing; hopefully, I’ll be able to just fill out these forms before doing too much modeling or coding, and then I’ll have this nice list of every location I need to model, and a vague sense of how the parts of each location should relate to each other.

And I’m sure I’ll be changing the layout of the form as I go; I might want more questions to answer, or just more space in which to answer them.

Self-Documenting Mesh

Over the last couple of weeks, I’ve been working on a character model for Tinselfly, and I’ve learned that it’s not enough to make a mesh that looks right. Just like classes in a computer program or layers in an Illustrator file, getting something to work is one thing; getting it to be sensible and maintainable is quite another.

So here are a few things I’ve learned lately.

torso-old

The torso above is functional, the way a hastily constructed computer program is functional. It has the right shape. There’s a neck and body and arms and some definition to the collarbones.

But from an organizational standpoint, it’s a complete mess. Compare that to this torso:

torso-new

Here, I’ve created a pretty strict grid. The overall shape is basically the same, but it’s easier to tell what’s going on. My mesh doesn’t just need to have a certain shape: it must also communicate to me, the modeler, what that shape is. Like well-named variables and functions, this mesh is self-documenting. I can look at these long, smooth curves on the grid and get a good sense of what those curves represent in three dimensions. I can’t really do that with the first torso; the lines, such as they are, are jumbled and jagged.

Working in this sort of way also makes editing easier. The modeling software I use has built-in tools to select whole lines or circuits on my grid, like the orange lines here:

torso-new-loop-select

I can also add detail to my mesh fairly easy. If I decide my character’s sides aren’t smooth enough, I can quickly add a loop cut, shown in purple here:

torso-new-loop-cut

Loop cutting breaks every square along the loop in half, so I can refine a specific area. And once cut, my mesh is still a nice, neat grid which can be further refined with more loop cuts.

torso-new-loop-cut-after

Just imposing a grid on the mesh isn’t enough, though. This face has a simple grid structure:

head-old

Trouble is, this grid isn’t structured that logically. I probably wouldn’t want to take a random cross-section of the face and move it, or scale it, or whatever.

head-old-loop-cut

If I want to add some detail to the eye sockets, I could add a loop cut, like I did with my torso. But this loop cut wouldn’t just affect the eyes: it would also add lots of unnecessary detail around the temples and back of the head.

So what I need to do here is change the way the grid works, just in one localized area. Like so:

head-new

Here, the area around the eyes is its own closed polar grid, while the rest of the face retains the square grid it started with. And now, if I want to add detail to the eye sockets, I can add a circular, eye-shaped cut, like this:

head-new-loop-cut

That loop makes sense to me. It represents an area of the model that I think of as one unit. And again, just seeing the polar grid around the eyes helps me understand the geometry of the eyes, more than the previous approach did.

One thing I’m struggling with here is this idea of adding pockets of detail. Suppose, for instance, I wanted to smooth out the contour of the eyelid. Right now, I’d have to add a loop cut like this:

eye-loop-cut

…Which will add extra smoothness around the eye, but will also add unnecessary geometry down the cheeks, and along the neck, and who knows where else. I’m trying to come up with simple, general-purpose strategies for adding detail, like this method of smoothly transitioning from a coarse grid to a finer one.

grid-resolution

That might work in some instances, though maybe not the eye specifically. I still have much to learn here.

Wider, Fatter, Stronger, Better

 

A stupidly long time ago, I posted these costume ideas for Tinselfly.

costumes

And somebody commented how it was funny how all those little people, boy or girl, young or old, kinda looked like me. The long, mouthless faces, the skinny bodies.

I am skinny.

Oh, sure, I’ve gained a slight belly in the last few years, and my mother pokes it whenever she sees me, but I probably still qualify as skinny to most people.

When I sit down to draw or model a a character, I think of myself as a baseline. If the character is described as thin, I’ll try to make them thinner than myself.

And then I wonder why they don’t look quite human.

I am a bad baseline. But just saying that doesn’t give me a tangible sense of what the baseline is. So let’s try to throw some numbers at this.

I’m 5’11” and barely reach 150 pounds most days. I know BMI is problematic, but that puts me right at ‘normal’ according to the CDC. And by ‘normal’ they mean ‘healthy’. Average for a an American is apparently like 50 pounds heavier than I am.

According to this handy figure drawing book I’ve got, an average male has a hip width/head height ratio between 1.5:1 and 2:1. I’m 1.4:1, below the bottom of that scale. Also, my shoulders are thinner than the book’s average, at around 1.5 heads to the book’s 2.

So I’m not just a bad baseline; I’m a really bad baseline, and I’d still be a really bad baseline if I gained lots of weight, because of the slightness of my frame. I guess I already kinda knew that, but the numbers help cement it. An ‘average’ adult male would have a wider frame than me, by several inches; and they would weigh significantly more. I’m not sure how weight translates to bulkier shapes when drawing, but it’s fair to say my characters should be a lot bulkier if I want them to look like average, ordinary people.

 

Sam is Pretty

 

I’m kicking off my more-natural-looking Tinselfly characters thing by not doing my lead. I’ll do a supporting, but playable character named Sam. He’s in the Navy, and will be wearing a uniform like the character on the left here:

uniforms-4-april-2013

This should be well within my abilities to model. Sam will probably have a shaved head, so I don’t have to worry about modeling hair. His uniform is neatly tailored, so I don’t have to worry about drapery or wrinkles. He’s tall and thin, so my current NPC model isn’t too far off from his body.

And he’s pretty.

Why does that matter? Because, from a certain point of view, pretty = less complicated. Smooth. Symmetric. Crisply defined.

Fewer polygons.

* * *

Part of modeling a character is getting to know the character–and I’m already starting to do that, having done nothing more than take the head on my old model and start to make it more natural looking. Which is good, because Sam is mostly defined in terms of being a foil for the lead.

sam-4-april-3013

So here’s what I’ve got so far: when I say ‘Sam is pretty’ I don’t mean that pretty is a thing that Sam naturally is. I mean to say that Sam puts work into being pretty; it is something he values. This is part of his character, not part of his appearance.

Sam looks quite dashing in his uniform, and knows it. But it’s not vanity so much as an obsession with neatness, and an aversion to things that are unorganized.

This works out well, because I’d planned on having a level where Sam is exploring the jumbled fragments of a destroyed, floating city, and having Sam try desperately to put part of the city back together in his head could make for interesting gameplay.

* * *

I also like starting with Sam because said exploration level is fairly self contained; I can just dive into it without worrying about how it ties in with other things. It would be a good starter level, and I desperately need one of those.

 

Fleshing Out

There are many, many things stopping me from working on Tinselfly right now, but I think the biggest one is my whole approach to character design. To recap, here’s what my lead currently looks like:

0005z21s

Or, at least, that’s what she looked like before I gutted everything and tried to write a totally generic system where you could define a character’s body shape and color and multiple, layered clothing items at runtime.

The character generating thing has been going terribly slowly. So I’ve decided to ditch it and just… make characters in Blender. If a zillion-dollar game like Bioshock: Infinite can have copy/pasted extras, so can I.

I also want more naturalistic characters. I mentioned in an earlier post that the skinny, porcelain look was supposed to tie into the themes of the story and that, while I might decide I’m wrong, this seemed to be they way to go.

Well, I’ve decided I was wrong.

I specifically want to call out the fact that this character is a little heavy, a little ambivalent about her appearance, a little ordinary looking. I specifically want an ordinary looking hero; I think we could use more of those.

I also need the human characters to mesh with these house-sized alien characters, who are kinda like… if you took people and scaled them up and added more detail, the way you’d take a chunky ship or prop design from an old sci fi show and added more detail for the new, rebooted movie version.

I don’t have to ditch everything I’ve got — working with my existing model, I should be able to give the character realistic proportions, and real facial features, and the messy, unstyled hair I always imagined the character would have if I met her in real life. When I first made this model, I didn’t have the modeling skills to do that. Now I’m pretty sure I do.

And the big benefit of doing this reworking is, it should be easier for me to think of the character as a real person, if she looks like a real person; and it will be easier to think of the story beats and whatnot. I need to believe the character is real if I’m going to make progress here.

Copyright © 2017 Brian Crick.