Sign in

augustbelhaha.bsky.social

@augustbelhaha.bsky.social
200 followers 68 following 55 posts

Play Spirit Crossing on Steam, Free Beta is Open Now! store.steampowered.com/app/2321960/… Lead Character Tech Artist at Spry Fox working on Spirit Crossing! 🦊✨ 🏳️‍🌈 augustbelhumeur.com 🏳️‍⚧️ 🚫 All of my art is made without AI 🚫

PostsRepliesMedia
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 18/08/2026
I get hair reference from a *ton* of different places, but a few years ago, Dove put out a guide for black hair representation in 3D modeling and it's a great tool to have bookmarked in your arsenal of references - posting here to keep it circulating. 😊 www.dove.com/us/en/campai...
dove.com
000
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 18/07/2026
Thanks! 🥰
010
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 18/07/2026
(P.S. Call-back to my previous post about Anim Dynamics and how we give hairs their delightful little jiggle😆https://bsky.app/profile/augustbelhaha.bsky.social/post/3mfdbjdd2ak2b)
110
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 18/07/2026
There can never be enough hair haha. There's no number that is "enough" and we're adding more options all the time, as fast as we can with our small team.🤞But, my hope with this post is to give a bit of insight into how we set this up and why!
120
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 18/07/2026
Natural hair colors are all available from the beginning. Skin color and any customization that's critical for a player's identity is treated the same - free and with lots of options. But, fancy colors do mean you've got to craft the dye colors 😏
110
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 18/07/2026
The goal is for everyone to find different options they like that lets them have different hairs for different outfit vibes, to match how they're feeling that day and how they want to present - not just find one hair they like that feels enough like them. Honor the range of texture and style.
Three screenshots taken in Spirit Crossing are lined up in a horizontal row. In the far left screenshot, there's a dark skinned character sitting on a train station bench wearing baggy jeans, white skate sneakers, a yellow Henley shirt and puffer vest, glasses, and coiled hair twisted into a half-up / half-down style, with a couple of hair twists framing their face. The middle screenshots depicts a dark skinned character dancing on a stage, highlighted by pink lighting. They're wearing split-dye two-tone punk pants where one leg of the pant is orange and the other is tan. They also have on a black crop top shirt that has a pink 8-bit decal, brown and white ram horns on their head, and brown and orange dreadlocks twisted up into a high bun on top of their head. The last screenshot, on the far right, depicts a dark skinned character standing in a grassy field at sunset. They are wearing a flower petal dress in pink, yellow, and green with tiny blue flowers pinned along the belt and around their arms. They have a pink tulip backpack on and pink and yellow flowers stuck in their hair. The top half of their hair is styled in thick box braids pulled back into a bun with the lower part of their hair kept long and styled into twists laying over their right shoulder.
110
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 18/07/2026
Anyway - back to hair. We put hair into a graph - Hair is sorted into texture categories: Straight, Wavy, Curly, Coily. Each texture category has a subcategory for length: Cropped, Short, Medium, Long, and Special (Up-do's, etc.) Each combo bucket gets filled equally. None of it is gendered.
Screenshot of an empty graph with 4 rows and 5 columns. The rows are labeled "Type 1: Straight, Type 2: Wavy, Type 3: Curly, Type 4: Coily" and the columns are labeled "Cropped, Short, Medium, Long, Special / Up-Do / Unclear Length". The cells of the graph are empty, but there is diagonal text across the center that says "Fill each bucket equally! Nothing is gated by gender."
120
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 18/07/2026
Fashion in games is also, truly, Fashion Design. Yes you want your character to feel like it's you. But also, do the options look stylish and interesting? Can I make my character look hot? cute? devilish? 😎 Can I try on different identities and explore?
Screenshot taken in Spirit Crossing MMO. Shows a player character sitting on a public bench with their arms crossed in the Village. The character is dressed in a dark red outfit with a tuxedo vest, steam punk style pants with a prosthetic leg, long black hair, stubble beard, aviator sun glasses, and devil horns.
110
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 18/07/2026
Games often don't have enough hair options (many more recent games have done loads better!) But historically, this excluded options for bipoc folks. Or had binary gender choices, gating masc hairs behind a "Male" selection. The result feels like you aren't represented. The game's not for you.
Screenshot was taken in Spirit Crossing MMO. The character stands in the village square by a fountain. She is wearing peach colored overalls, yellow snow boots, and a yellow knit hat. She has a large hiking backpack on, with a bedroll tied on top of the bag. Her long, teal colored hair hangs over the front of her shoulders. The character has a big smile on her face, blushing, and her hands are raised up in a cheer.
120
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 18/07/2026
🧵Hair is so important for a player's identity in an MMO. Here's a thread about hair customization in #SpiritCrossing. ♥️🧡💛💚💙 #Art #GameArt #GameDev #CharacterArt @spryfox.bsky.social
3193
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 18/06/2026
#SpiritCrossing is now available to play for FREE on Steam, without a Netflix subscription! Join our open playtest and see what we've been working on! I'm so proud to be a part of this team 🫶 store.steampowered.com/app/2321960/... #IndieGameDev #GameArt #Steam #Demo
store.steampowered.com
Spirit Crossing on Steam
Rebuild the connection between worlds in Spirit Crossing, a collaborative life-sim MMO from the makers of "Cozy Grove." Explore distant mountaintop ruins, save lost spirits, befriend tiny be...
0123
Reposted by @augustbelhaha.bsky.social
Tanya 🙃 @follovver.bsky.social · 10/06/2026
Happy US Pride month 🏳️‍🌈 Screenshot taken from the game Spirit Crossing by @spryfox.bsky.social , which just launched its Open Beta phase on Steam!
Screenshot from the game Spirit Crossing. A conversation with an NPC named Tailor, who says: "What are you looking for today? Tops? Bottoms? I have a versatile selection."
0267
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 23/05/2026
Wishlist the #SpiritCrossing Steam Beta! This game is about building community together, helping each other, and weathering the storm together. It’s got all the building, customization, and creativity you crave - but it’s also just got a lot of heart. Please help us get it out to the world 🧡
0145
Reposted by @augustbelhaha.bsky.social
Emily C Taylor @pentapod.bsky.social · 21/01/2026
What @justinoaksford.bsky.social didn't mention was the IMMEDIATE reaction of the playerbase when this concept art was shared on the #SpiritCrossing discord 🤣
Screenshot of a conversation thread in Slack, in which our community manager at the time says "Welp, there you have it, @Justin" and appends an image from Discord. In the image, we can see the bottom half of the Amano concept art with the caption "what do you first think when you see this art? Inquiring artists want to know!"

The first response: "I LOVE HIM"
Second response "CONCEEEPTTT ARTTT, this is amazing... so wintery but cozy"
Third response: Daddy
(All three replies posted within the same minute)

Below the image, Justin replies "time to daddy was like... 44 seconds?

The community manager replies "If that"

And a third person chimes in to add *daddy achieved*

(to which 5 people reacted with the "achievement" emoji)

(Names in the screenshot have been redacted in the screenshot to protect the innocent ... which does not include Justin)
1122
Reposted by @augustbelhaha.bsky.social
Justin Oaksford @justinoaksford.bsky.social · 21/01/2026
A little char design thread: I haven't gotten to do much character design in my career so far, so it was quite fun to get to design a bunch of the NPCs who call Spirit Crossing home. One thing you learn is that sometimes after 20 different hairstyles, your original plan was not too bad after all
420642
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 22/05/2026
New update for #SpiritCrossing is out on mobile! There are a ton of features in this build (many of which are setting up some even bigger changes to come during our Steam Beta... 👀) But mostly you should play this build because new Frog Hat. 🐸💚 #Art #GameDev
0789
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 08/05/2026
Oh yay!!! I'm so glad you did! 🥰
010
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 07/05/2026
Turnip butts are a visual pillar of #SpiritCrossing. We are not taking questions at this time. 🧐
040
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 07/05/2026
Kudos to @justinoaksford.bsky.social for Marj's concept and the idea to bring violets into her tattoos! 💐 Any character is a collab with artists and writers - but her sass is curtesy of the writers. 😁
040
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 07/05/2026
This lets us live edit colors in Unreal, configuring colors with all shaders and lighting applied for better color accuracy. We preserve live editing, then color parameters get saved to a LUT texture for mobile rendering!
140
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 07/05/2026
The RGB channels are masked over set vertex colors to get more color channels than just three (I.e. Red Channel over PrimaryVertexColor is a different color than Red Channel over SecondaryVertColor), so the tattoo is R + B over SkinVertColor. We use this node chunk all over the place for textures.
120
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 07/05/2026
🧵A texture dive for the Game Devs in the room: We make textures with RGB color channels. We add a stroke and apply a step function in the material (see next image) to get a crisp edge in UE, even if the texture is lower resolution. The difference between step 0.7 and 0.1 = outline thickness.
130
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 07/05/2026
I was super excited to get to build Marj, one of our queer NPC's. There's one easter egg in #SpiritCrossing that I think has gone largely unnoticed and might be my favorite...the tattoo on her arm is Violets - Lesbian Violets, iconography that started with Sappho. 🥹🧡💛🤍🩷💜 #Art #CharacterArt #GameDev
2358
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 20/03/2026
I mean, common. They're floating alpacas. With hairstyles.🥹 #SpiritCrossing #Art #CharacterArt #IndieGameDev
0100
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 20/03/2026
This cinematic is one of my favorite moments - it helps welcome new players to the Crosslands by teasing some of the interesting things you'll discover in #SpiritCrossing! The Fluffalo mounts and Sky Whales were SO much fun to make. #GameDev #Art @spryfox.bsky.social
1204
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 10/03/2026
We're so excited to bring Camp Spirit to Steam! If the world is feeling overwhelming right now (understandably...) this game is a beautiful space to spend an hour a day to let your mind rest a bit. Also, look at @yuemi22.bsky.social's gorgeous art. 🤩 #IndieGameDev #Steam
0135
Reposted by @augustbelhaha.bsky.social
Spry Fox @spryfox.bsky.social · 06/03/2026
our friends over at @glowfroggames.bsky.social just launched Pieced Together, a cozy scrapbooking game where you decorate your scrapbook as you uncover parts of the story. 🧡 + you can grab Pieced Together in a bundle with Cozy Grove for 10% off both titles. 🐻 store.steampowered.com/bundle/69550...
a banner showing the key art for the games Cozy Grove and Pieced Together. to the left, the Cozy Grove key art shows a small human and a large bear sitting at a campfire together in front of a tent. to the right, the Pieced Together key art shows two women holding dinosaur plushies and smiling together in a photograph.
082
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 07/03/2026
I just think it's cool and fun to work on 😄 We can offer a lot of variation for player customization - in this case, for throwing rad cave raves with glow sticks and neon. Dream fulfilled.🤘 (Screenshot below was shared by a player in the Spirit Crossing Discord channel for showing off fashion!)
190
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 07/03/2026
It's a small chunk of nodes in the parent material, where the alpha of the LUT texture plugs into the one minus lerped with the emissive output of our custom lighting function that also gets the hue of that color parameter.
140
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 07/03/2026
The shader knows whether something should glow based on the Alpha channel. If Alpha = 1.0, then no glow. If Alpha = 0.0, it glows. Some dyes glow and some don't. You've only swapped out the lut texture.
120
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 07/03/2026
The reason I'm nerding out about this is because our color parameters get turned into LUTs (look up tables). Very cool tooling from one of our engineers makes this automatic. Then, our dyes are just a single texture getting swapped out on the material.
120
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 07/03/2026
The red vertex color value we've designated as "Metal" always gets the metallic shader effects. "Primary" is always the biggest swath of color. Etc. Now clothes have a designated "emissive" slot too! Standards help decide what color goes where on a mesh, so color swaps have predictable results.
120
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 07/03/2026
Clothing meshes use vertex colors for different color parameter slots that dyes affect. We use vertex colors all over for dyeing, color swapping, designating modular character slots, etc. Vertex colors are incredibly useful! I helped lead the set up for the design and art tooling. For example...
120
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 07/03/2026
A cool thing we added to Spirit Crossing recently is ✨emissive clothing ✨! All in game clothing is dye-able (with the exception of a few very special items), but there's a set of Mythic dyes that give your outfit glowing neon details and it's been really fun to see players be creative with it!
1349
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 20/02/2026
I'm super curious - do you have different strategies for hair? Different strategies for secondary motion? I want to see all of the juicy secondary motion clips :D
010
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 20/02/2026
It requires dynamic elements to be skinned to bone chains, with pretty decent control for setting limits on the rotation of the bones. For performance, it's easy to LOD out or bypass dynamics in quality settings or on specific character ABP's as needed.
250
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 20/02/2026
I personally like using it for hair (or any dangling or floating elements, really, is quite fun) - it allows for dynamic secondary motion, saving time for animators and also reacting to procedural systems, like the hair of this spirit that's following the position of the player.
110
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 20/02/2026
Looking to achieve the ultimate sassy hair flip? ✨Enter: Anim dynamics ✨ #Art #CharacterArt #GameDev #SpiritCrossing
18116
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 13/02/2026
🥦I live by the rule that geometry should be influencing the form in some way or there for deformation. If edge loops are arbitrary, target weld them down. Geometry isn't usually the biggest bottleneck/concern if you remember your foundations and keep within a decided vert count.
040
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 13/02/2026
This is a simple one! There's flashier stuff to show, but sometimes you must eat your vegetables.🥦 For characters, a solid foundation includes clean edge flow and understanding how you want it to deform. This is my fav method for joints (from Spirit Crossing character documentation).
2312
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 13/02/2026
In documentation, I create a table for each texture on each character to help animation see the options. It's not always 4x4, might be 6x6, etc. depending on the needs of the character. Combining eyes+mouths gets more variation than you'd think from a 4x4. (+ we don't need viseme shapes on players)
A 4x4 table where each grid of the table has a photo of an eye expression labeled with the coordinates of the corresponding UV offset in Unreal.
040
Reposted by @augustbelhaha.bsky.social
Spry Fox @spryfox.bsky.social · 13/02/2026
Spirit Crossing 14.7 is now live! 🧡 we've got.. 🌳 big tree changes 🏙️ new decor and hairstyles 🚂 fluffalo train ride boosts 🎨 art changes & improvements + requested Quality of Life updates! available now on Android and iOS (via Testflight) + more details here. ↓ spryfox.com/spirit-cross...
spryfox.com
Spirit Crossing | Patch Notes for Version 14.7
Greetings, wanderers! Spry Fox is turning 16 years old today! 🥳And we have even more reason to celebrate, with the release of the 14.7 update that brings with it balancing changes to waystation tre…
1327
Reposted by @augustbelhaha.bsky.social
Spry Fox @spryfox.bsky.social · 04/02/2026
we now have a subreddit for Spirit Crossing! this is a great place to share longer videos, write expressive fan lore, ask the community questions, or discuss the large knife strapped to Marj's back that you all discovered using camera mode. just normal stuff. reddit.com/r/SpiritCrossing/
a screenshot from the game Spirit Crossing by the studio Spry Fox. the screenshot takes place inside a teahouse owned by a character named Marj who is standing behind a counter. four player-characters look at her from the other side of the counter, one holding their head in confusion with a question mark in a thought bubble.
1144
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 04/02/2026
(The real kicker is that Unreal and Maya see 0,0 as different locations on the UV grid, so the texture coordinate numbers in Maya on the texture sheet are always reversed on the V axis, but the attribute buttons and values on the bones match what Unreal wants.🙃Ridiculous lol)
140
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 04/02/2026
If you're curious, here's what the custom attributes look like in Maya. The attribute changes the UV values of the texture sheet, but also adds the values to the bones when keyframed so it gets included in the FBX export.
240
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 03/02/2026
Making players for a mobile MMO means performance is top of mind! 100 players at a dance party cannot require loading hundreds of face textures, so face textures are shared, loading the same ones for everyone. There are always trade-offs and choices to make in this regard!
260
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 03/02/2026
And players have a choice of different textures to add to their face, like blush, freckles, age lines, etc. NPC's use similar textures to communicate story (are they older? sick? tired?) They all have subtle shadows on their noses, which is purely a stylistic choice!
140
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 03/02/2026
Faces have all kinds of small details, like texture sheets next to modeled eyebrows that add creases and furrows to let us push expressions further. Angry *feels* more angry with the extra tension lines. 😡
160
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 03/02/2026
👁️👄👁️ Eyes and mouths are on individual geometry planes skinned to eye/mouth bones, allowing animators to translate/scale (and squash/stretch) face elements for more expression. Our characters are emotive and cartoony in ways that we also accentuate with VFX!
150
augustbelhaha.bsky.social @augustbelhaha.bsky.social · 03/02/2026
The faces themselves are 2D texture grids that get keyframed using custom attributes on the rig that change the UV coordinate values of the texture. The values export on face bones and become curves in each animation in UE5 that changes the corresponding parameter in the material instance.
1204