Showing posts with label shaders. Show all posts
Showing posts with label shaders. Show all posts

Thursday, February 14, 2019

Thick skin: complexion, realism, and labor in games


In Dublin, I visited the Lucian Freud Project at IMMA.

If you're not familiar with painters (who is these days?) Lucian Freud is often held up as one of the greatest realist painters in the 20th century. And like many other artist men of the 20th century, his work also has a lot of racist and sexist baggage to deal with.

The IMMA curators figured out a pretty clever solution here -- they basically surrounded his stuff with women artists and intersectional feminist political theory. Instead of pretending to be a "neutral" celebration of a Great Male Painter, the curators did their job, and made an argument for real interpretation and criticism in the 21st century. It felt responsible and complicated.


The main basement gallery has two monitors in the middle of the room, running constant loops of John Berger's iconic feminist media studies primer Ways of Seeing. Specifically, it's Ways of Seeing episode 2, the one about the difference between nudity and nakedness, especially within the long history of European oil paintings depicting nude/naked women.

The second half of the episode is famous: the male narrator and host (Berger) shuts up and just listens to a panel of women critique patriarchy and art through their own experience. At first it seems like they're talking about the art shown in the film 30 years ago, but in the style of the Frankfurt School, they might as well be critiquing Freud's many paintings hanging on the walls today.

If you want to read more about the various artists and works, this Quietus post by Cathy Wade is a through walkthrough of it all. In this post, I'm just going to talk about one of the paintings and how I relate its form and politics to games:

For some reason, I gravitated towards a small painting hanging in the corner, a portrait simply called "Kai".

Monday, March 6, 2017

The melancholy of screen space in "Universal History of Light" by Stephen Lavelle


WARNING: This post somewhat "spoils" the 2014 game Universal History of Light.

Stephen "increpare" Lavelle's "Universal History of Light" is a highly symbolic "adventure" game released back in February 2014. Reviews at the time hinged on describing it as an "insane dog simulator" game, which doesn't really capture what the game does, so this is me trying to offer a more robust interpretation and understanding.

Universal History of Light begins with a short lecture about the dangers of using laser pointers with dogs. Because a small red laser dot is incorporeal and intangible, a dog can never actually "catch" it -- and they will never understand their inability to catch their "prey", which will supposedly haunt them and cause psychological damage for the rest of their lives.

You then play as the lecturer at the front of the lecture hall, and you point your laser pointer at a student's assistance dog / seeing-eye dog, thus inflicting catastrophic hallucinations upon the dog. The dog now enters the brilliant burst pictured above; what awaits the dog in a new dimension of pure light and knowledge?

Turns out, it is a world of monochrome trauma. In the distance, we see countless planes, searchlights, and anti-aircraft flak illuminate the night sky. As the dog, we are basically wandering the outskirts of London during the Blitz.

Monday, November 9, 2015

"Rinse and Repeat" technical post-partum / how to do over-complicated wet skin shower shader effects in Unity


This is a technical overview of how I built certain parts of Rinse and Repeat. It spoils the game, so you should probably play it first if you care about stuff like that.

Rinse and Repeat took about 1-2 months to make. For these sex games, my development process can basically be summarized as "art first" -- my very first in-engine prototypes are usually about establishing mood and texture, and setting up the character you'll be staring at, and these are by far the most important parts of the game.

Tuesday, April 8, 2014

"Get Better Soon" dev diary #3, skin and light iterations


This is a development diary series for "Get Better Soon", a commissioned game I'm making for Different Games 2014. If you want to see it and play it, then come hangout at Different Games next weekend in NYC!

Kris Hammes is finishing up the character. The 3D model geometry is basically "done" so now I'm just waiting for the last texture tweaks like chest hair. In the meantime, I've rigged the model with a standard "HumanIK" skeleton in Maya (so that I can easily re-target animations in Mecanim) and I've configured the shader so I can start figuring out how to implement these characters into the game.

Tuesday, September 10, 2013

Hacking blend transition masks into the Unity terrain shader.

It is a truth, universally acknowledged, that grass rarely fades linearly into dirt. Grass is often quite clumpy. I wasn't satisfied with the non-clumpiness of my grass in a certain project, so I hacked Unity's terrain shader to add some blend mask support. You could probably use this technique for cobblestones, bricks, debris, gold coins... whatever you want to remain clumpy when overlaid on top of another texture.

First, let's think a bit about how Unity's terrain system renders the textures you paint on it: