Thursday, July 2, 2015

Lighting theory for 3D games, part 4: how to light a game world in a game engine


This is part of a series on how I approach game lighting, from a more general and conceptual perspective. I build most of my examples in Unity, but this is meant to be generally applicable to any 3D game engine, most of which have similar lighting tools.

We started by thinking about light from a cultural and conceptual lens in part one. In part two, we treated light more instrumentally in terms of level design and readability. Then in part three, we surveyed the three-point lighting method for use in games. But none of this theory matters if we can't actually achieve it within the semi-hard constraints of computer graphics.

Lighting is traditionally one of the slower or "expensive" things to calculate and render in a game engine. Consider the science of visible light: countless photons at different wavelengths bouncing around at unimaginable speeds that somehow enter your eye. To do any of this at a reasonable framerate, game engines must strategically simplify light calculations in specific ways, and then hope players don't notice the inconsistencies. It is "fridge logic" -- we want the player to nod along, as long as it "looks right."

Okay, so how do 3D game engines generally do lighting?

Thursday, June 25, 2015

"Immersion Phallicy" at Reverse Shot

Brendan Keogh did a lovely write-up of my recent work for Reverse Shot, an online magazine at the Museum of the Moving Image.
Yang, on the other hand, crafts characters that are so perfectly imperfect as to fall square into the uncanny valley, that space where the more realistic an animated character or robot looks, the more those slight imperfections stand out. Yang’s men are disturbing in their uncanniness. Visually, his games explore the visual depths of uncanny male bodies that other video games deliberately avoid. There’s the slight gut and unshaved snail-trail on the naked character in front of his bathroom mirror in Cobra Club. There’s the way the character of Stick Shift bites his bottom lip and lets his eyes roll back as he moves up his car’s shaft and through his car’s gears. It makes the games unsettling, uncomfortable, and disturbing on a very visceral and intimate level. It makes the games sexual without necessarily being sexy.
Read the full essay here. Thanks for the thoughtful words, Bren-Bren!

Monday, June 22, 2015

Stick Shift on Greenlight

I've put Stick Shift on Greenlight. Because why not? I thought it would be a good fit for Steam because it's probably the most game-y of my recent sex games, with the exception of Cobra Club -- though Cobra Club has been unilaterally banned from Twitch.TV so I doubt Steam will allow for dicks, unfortunately.

Please YES it if you want to help me wreck Steam. Thanks.

Friday, June 19, 2015

Videogames for Humans, edited by Merritt Kopas

The first reaction most people had was, "it's bigger than I expected." 575 pages to be exact. But that obfuscates the actual format of Videogames for Humans: 27 different close readings / commentaries on short stories.

What those most people actually meant was that they had no idea that 575 pages of thought on Twine was possible, that they're surprised Twine is this big or that it is worth preserving on a tree carcass.

Preserving! In order to preserve something, it has to be more or less "over", and Merritt Kopas has a lot of feelings and anxiety about how Twine will be remembered. In the introduction, she confesses, "late 2012 and early 2013 was an extraordinarily exciting period for me [...] the 'queer games scene' covered by videogame outlets might not have been as cohesive as some accounts supposed, but for a little under a year, it definitely felt real,"

... then later she argues, "but I don't want Videogames for Humans to be seen as the capstone of the 'Twine revolution,' a kind of historical record of some interesting work done in the early 2010s."

So then, this book is partly an attempt to correct or amend a prior history... but not with more history. It wants to break a cycle.

Wednesday, June 17, 2015

Queerness and Games Conference 2015, call for proposals, due by July 1


The good folks at QGCon at UC Berkeley need YOUR session proposals for their third year running. I participated in the first year it ran, 2013, and I enjoyed the mix of scholarly rigor and casual atmosphere, there a pleasant mix of academics and not-academics that's very refreshing.

You can be a super academic-y academic and present a paper, or you can talk about a game you made, or discuss a specific games community you're part of, or even relate your personal experience with games and/or run a workshop. They're pretty accommodating and welcoming and supportive, even if you've never given a talk before. It's also pretty unique, there's really no other conference on the circuit that even tries to approach these topics.

I highly recommend submitting a proposal by July 1st, especially if you live around the Bay Area or along the west coast, it's just a short trip over.

Here's an excerpt of the call:

Friday, June 12, 2015

Pain Festival


As a palette cleanser from the last four sex games, I've been remaking my favorite of Alan Hazelden's Puzzlescript suite, "Mirror Isles", with my own art and narrative. It's been refreshing to have the design of something already figured out, and for the past two weeks I've just been pumping out art and code.

The game has come together surprisingly quick. I'm not sure if it's commercial or anything yet, I guess me and Alan will have to talk about that at some point, but for now I'm enjoying this as a craft exercise void of any marketing concerns.

Thursday, June 4, 2015

Local level design, and a history / future of level design

Right-side modified from “Unscaping the Goat” (Ed Byrne, Level Design in a Day @ GDC 2011)
This is adapted from my GDC 2015 talk "Level Design Histories and Futures" and resembles a similar but much shorter talk I gave at Different Games 2015. By "level" it means "level in a 3D character-based game", which is what the industry means by the word.

The "level designer" is a AAA game industry invention, an artificial separation between "form" (game design) and "content" (level design). The idea is that your game is so big, and has so much stuff, that you need a dedicated person to think about the "content" like that, and pump it all out. This made level designers upset, since they were a chokepoint in the game production process and everyone blamed them if the game was shit. To try to bypass this scapegoating, level design has changed over the past decade or two, from something vague / loosely defined, to something fairly specific / hyperspecialized.

What is the shape of this level design, what did it used to be, and what else could it be in the future?

But first, let's talk about chairs.

Thursday, May 28, 2015

Cobra Club as ouroboros


This is a post detailing my process and intent in making Cobra Club. It has SPOILERS; if you care about that kind of thing, then you should probably play the game first.



(Again, SPOILER WARNING is in effect. Last chance!...)

Cobra Club is a photo studio game about taking dick pics. Ideally, lots of them. As you take dick pics, you also chat with NPCs and potentially share / swap dick pics. It breaks with my previous three gay sex games (Hurt Me Plenty, Succulent, Stick Shift) in that there's little control of the character himself, there's a complex interface, and there is no visual innuendo. In this game, a dick is a dick.

But it's not just a dick, it's your dick!... Well, kind of. To me, that ambiguity is what elevates it slightly above a mere dick pic generator.

Tuesday, May 12, 2015

Pardon the interruption

Haven't had time to write lately -- it's finals week here in New York City, so it's been pretty busy with grading and making sure students turn things in. If you happen to be in the area this month though, I encourage you to check out the student shows at two of the departments where I teach:
  • Parsons School for Design MFADT Show Reception. Monday, May 18 at 6 pm. 6 East 16th St, 12th Floor, around Union Square. Wide variety of technological / conceptual / commercial projects, from experimental VR installations to new apps to future fashion to performance.
  • NYU Game Center Student Show. Thursday, May 21 at 6 PM. 2 Metrotech Center, 8th Floor, around Downtown Brooklyn. All kinds of board games / physical games / digital games, mostly by the MFA students, but with a few undergraduate projects on display too.
See you around maybe.

Sunday, May 3, 2015

Lighting theory for 3D games, part 3: the heresy of three-point lighting


This is part of a series on how I approach game lighting. Part 1 was about light fixtures, and part 2 is about light as a formal material.

In part one, we began by thinking about light culturally -- light has meant different things to different people across history, and you must consider that meaning when lighting your spaces. But in part two, we observed that much of our everyday relationship to light is more immediate and less intellectualized, that we often use light to help us do things. Theoretical frameworks about light help us articulate what we think the light is doing.

One of the most common theoretical frameworks for lighting is the three-point lighting system, used mainly in photography and film. As I argued in part 2, one of light's most important jobs is to allow you to read the surface or topology of an object. The three point system helps us formalize light source in terms of how to "read" an object. (I also argue that it has some serious weaknesses for 3D video games, but we'll get to that in a minute.)

It's called "three point" because there's at least three light sources involved:

Friday, April 24, 2015

"Succulent" technical overview / behind the scenes


This is a high level discussion of how I achieved certain effects in Succulent using Unity. It spoils the game, so I recommend you play it and/or read my artist's statement.

To the game engine, the popsicle (or "ice lolly" or corn dog) in Succulent is the main director for the entire scene. It is essentially a psychic telekinetic popsicle that dictates music playback, effects, and character animations... The popsicle is god. Love the popsicle.

To many developers, the most obvious straightforward way to achieve this popsicle-sucking interaction would've been to create a hand / arm controller, and then parent the popsicle to the dude's hand. But this "direct" way would've been the wrong way; this game is about popsicles, not about hands. Tuning the hand and arm movements necessary to pilot it into his mouth -- it would've been painful and unnecessary. (This is why it's important to have a fairly solid concept before you start coding something. The concept and design will affect how you code it!)

Friday, April 17, 2015

Embarrassed silence

I'm stealing the first three paragraphs of Pippin Barr's lovely post: (see also -- Emily Short's take)
A post called Minimum Sustainable Success by Dan Cook has been doing the rounds on Twitter recently and so I read it because people were saying it was good. And it is pretty good, especially if you’re a bit games+money minded – as I am not. It’s a hard look at how you might address and perhaps even mitigate some of the enormous risks and problems involved in getting into the making-a-living end of our beloved videogames.

In there, Dan brings up the “supportive spouse or family” category of game developers and points out that people don’t often “admit” to being in this one, with the idea being that it’s a bit embarrassing, and that it should be talked about more to add perspective to this crazy thing called “how the hell am I supposed to make the games I love and also live at the same time?”

Fortunately I have no shame, and so I’m writing this to represent one data point of the “supportive spouse” crew. Are we legion? I don’t know. I’m definitely one of us, anyway. Hi, here’s my life story (of privilege).
Like Pippin, I have a very supportive and awesome spouse. His name is Eddie.

In addition to currently making more money than I could ever hope to make as a part-time adjunct academic, he is a better Unity programmer than me and taught me a lot of what I know today. He also has really good design instincts; he had the idea to make the cooldown in Hurt Me Plenty go into several weeks, and he also picked-out the music used in Stick Shift. And right now, I'm making him write the server code for my upcoming dick pic game because I don't feel like doing it. (LOL.)

Friday, April 10, 2015

"Stick Shift" technical tricks / backstage Unity peek


This is a high level discussion of how I achieved certain effects in Stick Shift. It spoils the game, so I recommend you play it and/or read my artist's statement.

The "car" in Stick Shift is actually (a) two different cars, one for each camera, and (b) neither car actually moves, ever.

When you want to create an illusion of motion, or at least have something read as motion, then you generally have two options in games: move the object around the world, or move the world around the object. Because I wanted to focus on the gestures in the drivers seat, it didn't make sense to actually simulate a road. A scrolling panoramic image of a city street, blurred and stretched horizontally, would give enough of an impression of motion.

Friday, April 3, 2015

"Stick Shift" as activist autoerotica


This is a post detailing my process and intent in making Stick Shift. It has SPOILERS; if you care about that kind of thing, then you should probably play the game first.



(Again, SPOILER WARNING is in effect. Last chance!)

Stick Shift is an autoerotic night-driving game about pleasuring your gay car. It is the last of my recent erotic gay sex game trilogy, alongside its sisters Hurt Me Plenty and Succulent. I also feel like it is a fitting book-end to the past two games, incorporating themes and ideas from both.

Over the past two months, the game has changed quite a bit. Originally, I started from Paolo Pedercini's suggestion to riff off Andy Warhol's film Blow Job (1964).

Saturday, March 28, 2015

Implementing real-world real-time stamina / energy cooldown timers in Unity C#

In Hurt Me Plenty, I implemented "real-world" cooldown timers, which persist even if the player restarts the program. The cooldown period elapses in "real world" time, not in game time.

This resembles stamina delays in many popular free-to-play games, but it also connects with the design tradition of using real world system clocks to dictate game logic -- maybe certain Pokemon emerge at real world night, or you witness events that correspond with real world holidays, or perhaps you can even kill a boss NPC by setting your console's system clock forward by a week.

Much like the implementations referenced above, mine is quite weak and vulnerable to circumvention and cheating: I simply save a system timestamp in the game's PlayerPrefs, and then check that saved timestamp upon loading the game. If the difference between the current system time and the saved timestamp is less than zero, then the time has fully elapsed and the game continues.