Zora is one of the two main characters in our second game,Ā In the Valley of Gods. Quite a few people remarked on Zoraās character design, in particular her hair, when they saw our announcement trailer. Indeed, creating Zoraās hair is a challenging problem for intertwined technical and cultural reasons. I would like to talk about our explorations and aspirations so far, and why itās important to us we get it right by the time we ship.Ā
In 2015, Evan Narcisse wrote an important essayĀ on natural hair and blackness in video games. You should read it. It was the first time Iāve really thought critically about hair and representation in video games, and the yearning in the piece struck me.
Hair is very personal. As an immigrant woman of Chinese descent with atypically frizzy wavy hair, my hair is, to an extent, an outward expression of my struggle with who I am and where I belong (or donāt). I want to love my hair the way it naturally is, but itās never quite simple as that.
So when I first saw the character design for Zora, I had an understanding of what task lays before us as a team. None of us hasĀ Type 4 hair, characterized by tight coils and common among black women. In fact, none of us have even made video game hair before, but we are committed to giving Zora the hair she loves, the way she chooses to wear it, with all the care and effort we can.
Building Zoraās hair will be a continual effort that lasts the whole project. Our first milestone for the hair was getting it in shape for our announcement trailer, when Zora was first introduced to the public. Ā
As a small team without a dedicated character modeler, we hired a couple of specialists to do Zoraās character sculpt. Their task included sculpting a static version of her asymmetric bob so we could evaluate the scale and silhouette of her whole body. We knew the static sculpt would serve only as a placeholder and reference while we figured out a longer term hair solution.
Hair is a complicated combination of geometry, shader work, and texturing, and it requires a very tight and frequent iteration loop to get right. It made sense for us to do it in house even if we havenāt created hair before. The task of modeling āgood enough, first passā real-time hair for the trailer fell to me; the shading and rendering work to our graphics programmer Pete; and the copious texture and oversight work to our art director Claire. We started by investigating what other developers have done.
Real-time hair geometry, as far as I can tell, falls into two broad categories: āhair helmetsā and āhair cards.ā A hair helmet is what I call completely opaque geometry, as one would see on a plastic action figure or Lego figurineāthink Princess Zeldaās hair in The Legend of Zelda: Breath of the Wild. Hair cards, on the other hand, use many sheets of hair strands to portray more free-flowing hair āthink many characters in Uncharted 4. That approach is well suited to hair types that can be abstracted into sheets, which works well for any length of straight hair. There are also hybrid approaches, such as this wonderful tutorial of a game-ready afro by Baj Singh.Ā
Claire designed Zoraās Type 4 coily hair to have a lot of texture and volume, but it also has a ābig-chunky-tubesā structure allowing fluid āfloppyā movement. Neither of the two previous approaches is ideal for Zoraās hair.Ā Ā
The closest in-game hair reference I found isĀ Nadine Ross from Uncharted 4, but on closer inspection Nadine has Type 3 hair with very defined curls, quite different from Zoraās tighter Type 4.
Sometimes the only way to solve a problem is⦠just by making something, even if it sucks in the beginning. So I started off with a variant of the hair cards approach by making ābig tubesā of three cross-cards to follow the shape and flow of Zoraās hair helmet sculpted by Ted Lockwood. It was important to have some geometry that remotely resembles what we will ultimately create, to test the shader Pete has been writing.Ā Ā
I would work on the hair for a few days at a time whenever I wanted a break from creating the trailerās environments. After two months of wrangling various placements of polygon tubes, flat cards, and cross-cards, as well as bending all their normals as if her hair were a shrub, we had the following result as of October 2017.
Part of the challenge of all this is that not only are we making Type 4 hair, we are making stylized Type 4 hair that evokes Claireās distinct style. It became clear very early that the way Zoraās hair interacts with light would be a key part of the shader work.
Iām not able to go into the technical details of the shader in this post, but we ended up adding individual controls for each type of lighting we wanted the hair to respond to, based on Claireās specific concept art: for instance, light striking from the back, from the side, ambiently, and so on. This got finicky, but taught us a lot and provided enough variation to create the trailer.Ā It will take much more experimentation and iteration for the hair to behave according to the style guide under all necessary lighting conditions, but making the trailer gave us a lot of direction for our next steps.
Right now, we have an intensely stylized back-scatter effect in the hair when backlit, but we still lack the ability to do high-quality rim lighting without relying heavily on post-processing.
We are currently only using alpha-cutouts for the hair cards (alpha sorting is a whole different topic outside the scope of this post) and Iāve been advised by character artists that some number of alpha blend cards for flyaway hairs usually works well.
For the trailer, James rigged Zoraās hair and hand animated the movement, but we plan on applying physics simulation to the hair rig for the shipping game.
There is a long way to go before weāre truly happy with Zoraās hair, but this is a good first step. As the rest of the gameās visuals become more solidified, it will become more clear what we need to tackle next.
some of our early work on Zoraās hair! That painting at the top is still one of my faves that Iāve done/
Iād been wanting to bring Mom to a comics convention for a long time. I wanted to show her what I do, and the community Iāve helped build; and to share parts of my life that usually donāt intersect with my family. I wanted her to get to see stuff I knew sheād think was cool.
And I really, really wanted to dress her up as Cable; for reasons that I assume are obvious to anyone whoās now seen her in the costume, plus the fact that Second Coming-era Cable is basically Momās own aesthetic dialed up to eleven.
Mom was super nervous about it at firstāin particular, she was worried that she was too old or too short or too fat or would generally look silly or like an interloper. We talked a lot about cosplay, and why people do it; and found some photos of women of roughly her build cosplaying Cable and killing it. (As for āold,ā Iām pretty sure a 62-year-old is closer to Cableās canon age than are most people who cosplay him.)
Also, I promised her that if sheād go as Cable, Iād do the heavy-construction parts of her costume and go with her as Rule-63 Hope.
So, Saturday morning, we met up early, got dressed, painted on her scar, and headed to the convention center. I snapped and tweeted a couple photos of her while we were waiting for the elevator. And then thishappened. Josh Brolin, eat your heart out.
A few notes WRT common responses and frequently-asked questions, since at this point there are too many for me to reply individually:
-The response has been overwhelmingly positive, which is awesome. I know the InternetāI work on the Internetāand itās been very cool (and a huge relief) seeing yāall turn out to tell my mom how rad she is.
-Yes, she is that badass IRL: she is a biker and teaches at an alternative middle school, and would generally be a pretty good pick to keep a kid safe in a dystopian future.
-She had an awesome time at ECCC. Iām pretty sure she got photos of every cosplayer she saw; and I got a ton of Good Son points for introducing her to Ryan North, which absolutely made her weekend.
-If you want to send her a note, I will (probably) be happy to pass it along. Donāt be creepy.
-We would fucking love to see fan art of this.
– @teaberryblueā and I made the arm; itās aluminum tape over foam, weathered with acrylic paint. I made the gun (modded from this), along with both cloaks and my Hope costume. Mom brought her own impeccable Cable glower.
-Both costumes are from Second Coming. Momās is pretty much page-accurate; mine is significantly redesigned.
-To the roughly infinite people who tried to be funny and original by posting variations on āLOL is she cosplaying a Florida teacherā: She is actually a teacher in Florida, and, like most Florida teachers, emphatically pro-gun control. Youāre not funny. Fuck off.
-To everyone who kinda wants to cosplay but thinks theyāre not the right age/build/gender/whatever: Do it anyway, and fuck the haters. ā¤
I subscribe to authors who write for my fandom as well as other fandoms and itās not a problem for me. Readers can also subscribe to individual stories if they donāt want to get everything from a particular author. Itās not that hard to skim an email and decide not to click for the fic, though – at least not for me.Ā
Some authors like to have separate accounts for separate fandoms, too. Iām only writing for Agents of SHIELD right now, but I used to write for other fandoms. I only had maybe 4 stories on AO3 that werenāt SHIELD, so I just moved them over to my FFN page and left it at that. They werenāt huge fan favourites or anything, anyway.Ā
If you want to manage multiple accounts in order to keep things separated you can certainly do that, but also know that your readers might overlap fandoms with you. You could have a built-in reader base that you didnāt even know about š
I tend to follow authours to new fandoms, or at least try, so I prefer if you write everything in one account. But fans can be jerks, and I know that some people get entitled readers demanding they write more fics in their earlier fandom and insulting their present work. So I understand making a new account.
Iāve had several authours I LOVED who moved to new fandoms I had no interest in. It took months of seeing content for this new fandom for me to finally get attached enough to read their new fic regularly. That doesnāt happen if you change accounts. Even if they had linked their new account, I would have had to have SOME interest in the fandom to start following.
Also, itās harder to get readers who archive trawl that way. (Archive trawl – find an authour and read through everything theyāve ever written.) If I find that one of my favourite authours bookmarked a story, I might read it even if it isnāt from a favourite fandom. If itās good, Iāll check the other things written by this new authour. Iāll read them and if any are from fandoms I like, Iāll start following.
Iām not sure if anyone would be bothered by a writer being happy about a comment and not taking it seriously enough. But some readers have trouble noticing humour, or arenāt native speakers, so if your joke could be interpreted as negative it might help to add explanation, or a sign that youāre happy.
big fear: witnessing a crime and having to describe the criminal when I canāt even describe someone I had a conversation with 5 minutes ago
I sometimes look at family members and realize my head version isnāt actually accurate. I donāt look at faces, okay! And Iām constantly seeing strangers and wondering if theyāre people I know. Faces are hard.
Bobby knows his role.Ā This comic is, as is usual for Wednesdayās comics, chosen by my Patrons. Speaking ofā¦Check my Patreon out if youād like to support the comic, even a little bit helps. Or just to check out the reward tiers, I tried to make them fun: https://www.patreon.com/waitingforthet
[Image is a four panel comic showing Iceman and Wolverine (Logan) talking to each other. Text:
Logan: Bobby, Iām glad you decided to come with me to start a new school, but I think youāre not –Ā
Bobby: – living up to my potential?
Logan: Yes. Youāre one of the most powerful –
Bobby: – mutants on earth, but I keep hiding behind a goofy facade?
āBobby isnāt embracing his true potentialā is basically the only story I ever get, but if I get too powerful, it becomes impossible to write stories around me.
Think of me as the X-Menās backup dancer. I may be better than you in every way, but my job is to make you look like youāre not the overexposed, overhyped drunken mess you are.