Monday, May 4, 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:

Saturday, April 25, 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!)

Saturday, April 18, 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.)

Saturday, April 11, 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).

Sunday, March 29, 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.

Monday, March 23, 2015

Level With Me, vol. 1 re-release (v1.1)

I have updated my old experimental Portal 2 mod "Level With Me" to work with current versions of Portal 2. This mostly involved repackaging a menu file and rebuilding the sound cache. Assuming you have Portal 2 installed, you can download and play this collaborative interview / playable journalism project at the itch.io page.


  • Remember to feel free to stop playing the first chapter at any time.
  • Previous posts / notes are here.
  • Interview subjects were: Dan Pinchbeck (The Chinese Room), Jack Monahan (Stellar Jockeys), Brendon Chung (Blendo Games), Magnar Jenssen (Avalanche Studios / Valve), Davey Wreden (Galactic Cafe), Ed Key (Twisted Tree Games), Richard Perrin (Locked Door Puzzle)
TECHNICAL SOURCE ENGINE NERD NOTES: It was fun trying to figure out how to update everything; Valve updated every Source game to use .VPK v2, except Portal 2, so it was pretty much impossible to find the old VPK.exe compile utility. Luckily, I had a hunch that Alien Swarm hadn't been updated since forever, and I turned out to be correct. (For anyone who googles for this post, you can grab the one from the Alien Swarm SDK, or download the old v1 VPK.exe here. Make sure you place it in a \bin\ folder with a tier0.dll, and then you can just drag-and-drop folders onto it or a shortcut, etc.)

Friday, March 20, 2015

Lighting theory for 3D games, part 2: a formal approach to light design, and light as depth

Here's how I generally, theoretically, approach lighting in my games and game worlds. Part 2 is about light and function, mostly for level design.

In part 1, I talked about how different light sources have different connotations to the viewer, and these meanings are culturally constructed. In New York City today, an antique Edison bulb connotes trendy bourgeois expense, but 50 years ago it might've been merely eccentric, and 150 years ago it would've been a thrilling phenomenological novelty.

But people rarely intellectualize lighting this way, in, like, your own bedroom. In your daily middle class Western life you don't usually agonize over the existential quandaries of electricity, you just flip the light switch without looking. When in familiar places, we experience light as a resource or tool and take it for granted. So much of our everyday relationship with light concerns its functionality and what it enables us to do.

Tuesday, March 17, 2015

#altgames is the no-fault divorce that indie games needs

I'm cautious. I've been watching #altgames from a distance. Quite a few years ago, Jim Rossignol said I was supposed to be part of an "alt mod" scene, but by then I was tapering off most of my work as a modder so I'm not sure if such a community ever really materialized anyway. I generally don't like labels with "alt" in them since the alt-ernative can be said to be anything, but I do like what TJ Thomas said at Indiecade East, and I like a lot of games that are "altgames", and I think much of my work shares whatever those altgames sensibilities are... so there's probably some kind of consensus, we just have to keep articulating it?

In my GDC 2015 diary, I confessed I felt disconnected from fellow indies who were concerned with running small businesses and contract negotiations. No one wants a civil war over what "indie" really means, or a witch hunt over who is authentically "indie" or whatever. We all have different relationships with games and that's okay as long as you're not promoting hate speech or something. At the same time, it's ridiculous to pretend that I'm not bored out of my mind during countless GDC conversation(s) lingering on advertising revenues and Indie Fund deals and sales figures, and then people get visibly annoyed with me when I don't say anything and check my phone instead. Where is the way out?

This morning, Zoe Quinn's altgames manifesto at Offworld really crystallized this for me:

#altgames can be the no-fault divorce that we need where we don't blame each other, where we even stay friends with contemporary indie games. We can still have dinner parties and share custody of the kids! However, we also have very different goals and concerns, so let's try not being married anymore, and maybe we'll all be happier for it.

FAQ:

Sunday, March 15, 2015

"Local Level Design" at Different Games 2015, April 3-4 in Brooklyn, New York

"American Corinthian" via
Paolo Pedercini
In about 3 weeks at Different Games 2015 in Brooklyn, I'll be speaking about "local level design", a practice of level design that I setup in opposition to industrial AAA level design methods and procedural level design. Local level design is level design concerned with player community, sustainability, and context; it rejects a top-down formalism that demands game levels exist as territories with strategic affordances orchestrated by an architect, and it sidesteps a technological imperative to engineer and articulate a fixed grammar that a game engine must understand. Instead, local level design is highly conceptual, to the extent that few people actually play these levels at all.

If you'll be around the New York City area in the beginning of April, come hangout at Different Games, and perhaps see me talk! Or if you can't, but still want to support the conference, then know that they do accept donations.

Details and stuff (but no schedule yet) are at their website. See you there maybe!

Tuesday, March 10, 2015

GDC 2015 dispatches / minutiae

Here are some thoughts I thought during GDC 2015.
  • Virtual reality: I didn't get to try Valve's fancy new thing that requires everyone to clear out a mini-holodeck in their apartment, but I was pleasantly surprised by Google Cardboard. I tried it once before, and disliked it, but I tried it again and now I think it's not bad as a VR solution. I appreciate the transparency and "honesty of materials" -- it is basically a cardboard box that holds a phone to your face, it doesn't try to pretend to be something else, while still delivering on the all-important affordance of VR headset as elaborate blindfold.
  • Phony war: The big technical news of free engine access for Unity 5, Unreal 4, and Source 2 were inflated non-announcements. They've been practically giving away Unity and Unreal for a while now; 90% of Unity feature-set is free, and Unreal only required you to subscribe for a month and then you could cancel it and keep it... and the details and workflow for Source 2 aren't public yet, other than a requirement to offer first look rights to Valve or something? So again I think there's no real story here, other than positioning these engines as the new "big three" versus Unreal, CryEngine, and idTech trinities of yore. 
  • Generations: This year, quite a few NYU students attended GDC for the first time, and I felt some modicum of responsibility. For better or worse, a lot of young people invest GDC week with a lot of emotions, and it's really important that community elders (ugh, am I one of those? let's hope not) are there to help nurture their spirits. Things like the annual Wild Rumpus party or Lost Levels or Richard Lemarchand's GDC Feet tour are about articulating and performing considerate attitudes toward games and play, to imagine this culture as something shared and owned by everyone. A lot of teaching game development is about emotional education -- to deal with people saying difficult things about your work, the ability to absorb success or absorb your disappointment and not let it crush you... so please, I beg you, think of the children!
  • Biz-culture: In contrast to what I just said in the previous bullet, I also sensed an increasingly fractured community. There's a steadily widening gulf between a games space deeply concerned with sales figures and how to negotiate with platform holders, and a games space striving to reject the existing market system and formulate alternatives. We are increasingly talking past each other, so I think a lot of "indie love" politics is about plastering over these divides and avoiding difficult arguments that we probably can't avoid forever. Films like GameLoading are about doing the work of uniting disparate artistic approaches and communities as a movement, but sometimes it smells more like a possibly empty "Radio for Change" gesture, and I wonder when the coalitions will start dissolving and we all realize we actually don't have much in common. But maybe being a family means pretending everything is going to be ok? Let's do it for the kids.

Sunday, March 1, 2015

GDC 2015 dance card

Hello. Here's some of my GDC plans. See you blog readers at some of them! Don't be afraid to say hey.
  • MONDAY: I fly-in and arrive in San Francisco.
  • TUESDAY: Level Design In a Day track. I'll be on-duty in the panel all day, then I'm presenting my talk at the very end of the track at 5 PM
  • WEDNESDAY: I'll be spending much of my time at #LostLevels, and then hanging out at the annual Wild Rumpus party. This is pretty much the only time at GDC where I dance; everywhere else, the music is undanceable or the nerds refuse to dance.
  • THURSDAY: I'll probably visit Alcatraz; there's an Ai Weiwei exhibition currently going on. I'm also looking forward to the Adventure Design minitalks later that night.
  • FRIDAY: I'll go to a talk or two maybe? Also might flee Moscone and just take a nice walk around Land's End / Sutro Baths. I guess I'll see what I feel like.

Wednesday, February 25, 2015

Hurt Me Plenty, patched to RC5 + now with Linux build

I've updated my spanking game Hurt Me Plenty to version RC5... by removing the Leap Motion support which seemed to be crashing for certain users. Thanks to all the people who e-mailed me to report the crash / sorry for any inconvenience.

If you want to play the game with a Leap Motion, download version RC4; if you don't have a Leap Motion or you were having problems playing before, then download version RC5.

I also updated the in-game graphics with an actual mouse graphic, so it should also be easier to play / figure out what you're supposed to do. Oh and I finally did a Linux build, it's x86 / x86_64 universal.

Game is available for "pay what you want" here: http://radiatoryang.itch.io/hurt-me-plenty

Saturday, February 21, 2015

Radiator University, Fall 2015 catalog (excerpts)

CENG 395: ESCAPING A ROOM OF ONE'S OWN (STUDIO INTENSIVE)
In this class, we will analyze a variety of escape narratives, from stage magicians to US slave narratives to feminist memoirs to prison break films to the modern war refugee story, to articulate a robust "aesthetic of escape." When is escape possible and honorable, and when is escape futile or cowardly? From this cultural survey, we will conceptualize and construct a real-life "escape room" puzzle installation that attempts to invoke and honor this long and complex tradition of escapism in its materials, environmental storytelling, construction process, and puzzle design. (2 credits, Sao Paulo campus.)
Prerequisites: ARCH 211 History of Prisons, CENG 200 Intro to Plumbing Electrical and HVAC.

HTECH 201: HAMLET ON THE HOLODECK
Using a combination of 3D scanning, motion capture, and virtual reality technologies, we will literally attempt to recreate a scene from Hamlet on a "holodeck." In doing so, we will also critique the rhetoric of immersion that permeates popular fantasies about virtual reality and narrative, and align it with contemporary interpretations of Hamlet. For instance, in Shakespeare's time, the ghost-revenge plot was already a well-established trope -- thus, one could argue that Hamlet is essentially a self-aware character who knows he is in a cliched video game, and wonders whether he can transcend the military-entertainment complex's demand for graphic violence. (3 credits, Spring semester only.)
Prerequisites: ENGL 314 Elizabethan Literature, HTECH 100 Intro to Holographic Interfaces, at least 1 semester in any Melee Combatives lab.

EDUC 999: STANFORD UNIVERSITY EXPERIMENT (cross-listed: PSYCH 999)
The Stanford Prison Experiment was a notorious battery of mandated sadism that masqueraded as a scientific exploration of human nature. Using similar terms, we will attempt to build and perform a model "Stanford University" within our existing university, replete with its own facilities, students, faculty, and administrators. In the best case scenario, basic legal and ethical concerns for humane treatment of human test subjects will prevent us from running the experiment at all, thus implying that Stanford University itself is an oppressive institution barely distinguishable from a supposedly artificial and isolated prison. (no-credit pass-nopass only, Fall semester only.)
Prerequisites: CENG 395 Escaping a Room of One's Own

Previous semesters are available here: Fall 2014, Spring 2013

Esteemed alumni: have you recently thought about making a large donation to Radiator University? All donations to...

Thursday, February 19, 2015

We are drugs; speculative dev tools and psychedelic hologram futures.

This post is adapted from a talk I gave at Indiecade East 2015, where the theater was way too small for the crowd, so not many people got to see the talk... sorry / oh well. Here's basically what I said:

Our story begins on October 8th, 2014, on a very special episode of the Late Show with David Letterman. He was ending that episode with a musical guest from Japan -- a holographic vocaloid named Hatsune Miku. Pay attention to Letterman's barely-veiled incredulity as he introduces her. He can't believe the words coming out of his mouth:



But what really makes this moment is the ending, after the performance. Letterman doesn't even know what to say, and he knows he doesn't know what to say. The experience was completely overwhelming, so Letterman has to somehow pivot back to interpret it for his audience (mostly moms and dads from Milwaukee) and all he can muster is a facile comparison to "being on Willie Nelson's bus." (Willie Nelson, if you're not familiar, is a celebrity notorious for his drug use, among other things.)

The meaning is both clear and agreeable: Hatsune Miku is drugs.

Saturday, February 14, 2015

How to make stuff look at stuff / demystifying turns and rotations, and working with quaternions in Unity C#

Julia set fractal thing of a quaternion function... I actually don't really know what that means, but it's pretty.
This is kind of a blog post more for my Unity students, but I figure other people on the internet might find it useful -- let's demystify working with rotations in Unity, and explore some useful techniques for doing so.

There are 2.75 ways to store rotations in Unity: (1) quaternions and (2) euler angles (directional vectors are the 0.5, and some math functions secretly take radians instead of degrees, that's the 0.25)...

Euler angles are the typical 0-360 degree system taught in most junior high / high school geometry classes, while radians are in "units of pi" and represent the curvature of a circle. Then there's quaternions, which are scary 4 dimensional representations of a rotation that you may have never heard of / can barely spell! Fortunately, you don't need to know quaternion math in order to work with rotations, Unity will handle conversions for you.

Okay, so first let's explore a most common problem: how do you make stuff look at stuff in Unity?

Monday, February 9, 2015

Upcoming talk: "Level Design Histories and Futures" at Level Design In A Day, GDC 2015


I'll be presenting a talk on "Level Design Histories and Futures" at the Level Design In A Day track at GDC 2015, alongside other stuff by Clint Hocking, Joel Burgess, Steve Gaynor, David Pittman, Forrest Dowling, Nels Anderson, Jake Rodkin, Kate Craig, Brendon Chung, and Liz England. It's a huge honor to be associated with these people.

My talk is about level editor histories, the level designer as an industry role, level design as modernist formalism, and what a postmodern sustainable level design practice might look like. I'm kind of serving as the theory-heavy talk this year, right at the end of Tuesday at 5 PM, so I'm going to try to synthesize a lot of the previous talks together and propose some frameworks to digest them... and um I hope I'll see some blog readers there / I hope you'll still be awake at that hour!

If you can't make it to GDC, I'll try to put up the slides afterward, and I'm sure it'll be streamed or recorded or something.

Thursday, February 5, 2015

Teaching game development... in public!


I remember one time in design school when a guest critic called out my classmate's project, a website to facilitate bartering. The critic balked at the idea of imposing specific procedures on how people should conduct a trade, and he talked about how the parents of Park Slope, Brooklyn shift several million tons of used toys using a very active Yahoo Groups (the class gasped in horror)... sometimes all a user wants is a message board.

So I'm one of those \Blackboard / "enterprise-class courseware learning platform" skeptics. If you've had the good fortune of never having to use one, they look like the image above, usually some really bloated outdated web portal thing with 50 different "learning modules" that 90% of university classes never use unless they're forced by the department.

As an instructor, I don't want to "setup an assignment" by digging through three different layers of menu screens! Sometimes all a user wants is a message board.

This semester, I'm running my game development courses on GitHub, Steam Community, and Tumblr. All three provide some semblance of message board functionality, so they're all suitable for teaching. Here's how I'm doing it:

Friday, January 30, 2015

Lighting design theory for 3D games, part 1: light sources and fixtures

Contemporary Jewish Museum (San Francisco, California)
Here's how I generally, theoretically, approach lighting in my games and game worlds. Part 1 is about the general concept of lighting design.

Mood is the most important end result of your lighting. The "functional school" of game lighting, which maintains that lighting exists primarily to make a space readable so that the player can navigate it and shoot people -- can be useful in my eyes but only so far as that gameplay is tactical violence, and when that violence can support evoking a mood. The rest of the time, some designers often seem content to light their spaces like a furniture catalog, or even leave it as a total after-thought. Lights can do more than show-off your normal maps and show where to walk to trigger the next cutscene, okay?

So let's begin: lighting design is a discipline that has existed since the beginning of sunlight.

Monday, January 26, 2015

"We Are Drugs: On New Indie Game Dev Tools for Psychedelic Hologram Futures" @ IndieCade East 2015

Salvador Dali, "Modern Rhapsody"
I'm giving a talk in, like, 3 weeks at IndieCade East 2015 in New York City. I'm going to be talking about art / art-making as a drug, and I'm going to show a clip of Hatsune Miku, and hopefully I'll be coherent and insightful and entertaining? And if you can't splurge for the full weekend pass, then I'd recommend at least attending on Saturday -- not because that's when my talk is! -- but rather because that's when the notorious Night Games takes place. Get your tickets sooner than later, I think there's some kind of "early bird" discount? Either way, see you around in a few weeks!

Tuesday, January 20, 2015

How to record animated GIFs and videos of your games with free tools

I feel like a lot of developers and artists just take some screenshots or photos to document their work, and then move on... don't! Think of your project as an engine to generate even more art.

Plus, making animated GIFs of your games and work process is fun!... and uh making videos is still a little painful, though it's a bit of a necessity for any news media or publications to talk about your game. It used to be much worse, if that's any solace? (It's probably not.)

Saturday, January 17, 2015

Different Games 2015, call for submissions / session proposals


Different Games is a fantastic games conference running again in New York City on April 3-4 2015, geared toward diversity and inclusion, and they are actively soliciting game submissions and session proposals due by February 1st. Academics and non-academics, indie and not-indie, cisgender or trans or nonbinary, all are invited and encouraged to participate.

The three suggested tracks are:
Arcade: Designers interested in showcasing their game in the Different Games arcade should submit a brief overview of their game (no more than 500 words) that includes their design vision and concept of the game. In addition, please submit cover art and one or two screenshots of game play. We welcome pieces that will be in (beta) or play-testing phase as well as those further along in the development process.

Paper Presentations and Talks: We invite academics and creative minds alike to share recent work (written or otherwise) as speakers on our conference panels. We encourage participants from every field to submit writing or talks exploring topics pertaining to diversity and inclusion. Possible topics may include, but are not limited to: post mortems, design methodology, reflections on playtesting, analysis/commentary on games content (theme, gender, sexuality, etc.), game reception, and game culture/communities.

Breakout or Workshop Sessions: Topic-related discussions or those exploring challenges and solutions to promoting diversity and inclusion in the broader game community/communities and other pertinent subjects AND hands-on workshop sessions geared towards learning design and development skills are both invited (Your proposal should include an explanation of any equipment participants need to experience your workshop.) If your session will be facilitated collaboratively please include bios and links for all participants.
What are you waiting for? Hurry and submit! I'll be there too, presenting a bunch of games featuring photorealistic gay dudes, as part of the Different Games NEA artist grant. See you there!

Wednesday, January 14, 2015

"Succulent" as hypnotizing homo hop homage


This post discusses my game Succulent and it completely spoils the ending, if you care about stuff like that. You should probably play it first.



There's a few scenes in the film Inherent Vice where you watch a man eat a frozen banana. They were unusually entertaining and not at all arousing, which got me thinking -- what if I made a game where you just watch a dude stick stuff in his mouth?

So for Succulent, I've put a fair amount of work into making this interaction feel "juicy", hooking it into particles, sounds, facial animations and "cheek physics"... here, the physicality of having his own arm do it, instead of a floating disembodied invisible player hand, was crucial to establish that he was doing it for himself and enjoying it. Inverse kinematics was finally good for something!

I borrow a lot of visual sensibilities from late period "homo hop" music videos, specifically those by Cazwell and Le1f. Both artists emphasize sweaty bodies glaring vacantly, bright backgrounds with intense lighting, and flat compositions focused on the center, evoking the go-go boy gay club / pin-up imagery that's thoroughly ingrained in US gay male culture.

Tuesday, January 13, 2015

Re-tumbl me on tumblr at radiatoryang.tumblr.com

At Chevy Ray's insistence, I have started a tumblr at radiatoryang.tumblr.com. At the moment it is devoted to surreal screenshots, WIP images, glitches, random game dev stuff. Please re-blog or re-tumbl me or whatever! Thanks bye.

Friday, January 9, 2015

Radiator, US tour Spring 2015 ("May the Reign of Terror Begin")

I'm attending two three games events this season. Hangout with me! Here's my schedule currently:
  • Indiecade East 2015, Feb 13-15 in New York City. I'm giving a talk about dominant workflow patterns in game development, and how new (and often experimental) tools can shake-up our workflow and help us re-think our processes and possibly result in new kinds of games. I intend to live-demo most of these tools. Hopefully I won't fuck it up!
  • Game Developer Conference 2015, Mar 2-6 in San Francisco. I'm giving a talk about contemporary level design in relation to modern and postmodern architecture theory. I feel like a lot of level designers know they should pay lip service to architecture but when was the last time they actually looked at a real-life building with a critical eye? How was that building made? This is a discipline that's been around since the beginning of recorded history, I think it might have a thing or two to teach us, call it a hunch.
  • Different Games 2015, Apr 3-4 in New York City. A fantastic diversity-focused games conference. I'm part of the NEA artist grant disbursed last year, so I'll be presenting on my triad of sexy gay games: Hurt Me Plenty, Cheek to Cheek, and Succulent.
I'm also waiting to hear back from a few other things. Watch this space for updates! Or don't, that's cool too! PS: have people been playing The Talos Principle lately? I have a lot of mixed feelings about it. Might write a post about it.

Tuesday, January 6, 2015

Some Unity 5 beta impressions


I'm making a small Thief-like with integrated level editor (3rd time's the charm!) to test (and teach myself) four (4) main feature-sets of the Unity 5 beta -- physically-based shading, integrated image-based lighting, real-time global illumination, and the UI system introduced late in Unity 4.6 but might as well have shipped in Unity 5. Here's my opinion so far:

Sunday, December 28, 2014

Notes on sex, consent, and intimacy in games and tech


This is adapted from the talk I gave at NYU Poly about my free spanking game Hurt Me Plenty. It kind of "spoils" it a little, if you care about that sort of thing, so I recommend you play it before reading this post... Or watch Pewdiepie play it, I guess.

You can imagine Hurt Me Plenty with its realistic representational graphics as a critique of the sex in contemporary Western video games with similar graphics, such as in Bioware RPG games (Mass Effects, Dragon Ages) which regularly feature "romance" storylines that climax in a cutscene of two virtual dolls glaring at each other for a few seconds, with cold unfeeling eyes devoid of human warmth, before tastefully fading to black. (My game hides your partner's face as much as possible.)

These kinds of representations are dangerous more for their structural properties: players understand these romances as puzzles to be solved where sex is the reward -- and the idea that sex is a puzzle reward feeds directly into a pick-up artist (PUA) culture built on manipulation and perceived entitlement to bodies. This is essentially the "kindness coins" critique, that the logic of training players to expect sex, based on a series of so-called strategic actions, is super gross and perpetuates damaging ways of thinking about relationships.

Instead, sex must be more than a node, it should be simulated as a complex system in itself. Sex must not be some sort of reward or foregone conclusion. What if we represented sex in games as an on-going process? What if we actually did sex?

Several games have explored this already:

Thursday, December 11, 2014

Inspired a bit by Ian Bogost's glossary, here's one entry of my own:

"games journalism"
making sure the screenshots from the press releases in your inbox, or from GamesPress.com, were properly uploaded and linked; rarely involves reporting or fact-checking; see also "writing news"

"games criticism"
what games journalism ideally should've been

Saturday, December 6, 2014

Radiator Blog: Fifth Year Anniversary


In keeping with tradition, I do a roundup of this blog's "notable posts" from this past year -- because this blog is now about five (5) years old, it is enrolling in kindergarten and learning how to write. Oh my, the time does fly! (All of the past years' roundups are available here.)

This year, I've posted about 50% less than last year. This is due to a few things: I've been busy teaching more often, I've been trying to work harder on my projects and de-emphasize my writing, and also I realize I've been "saving my material" to deliver at talks instead of "giving it away" on my blog. I don't like that I'm doing this, I've always thought I would be the type to discuss and share freely -- so next year, I'm going to try to post more reliably again... but still, it wasn't such a bad year:
  • I finished and released three games: Chandelier, Intimate Infinite, and Hurt Me Plenty.
  • My post as "A first-time IGF judge with IGF submission advice" in February got quite a few referrals from game development communities... and judging by this year's new batch of entries, a lot of people still need to look at this advice! I'll probably write another list of tips for next year, but this time closer to the submissions deadline so maybe a few more people will heed it.
  • "An alternate history of Flappy Bird" was me weighing in on the event that was Flappy Bird, back in February. I felt like (and I still do feel that) there was a strong racial current to the weird backlash and faux outrage. After all that speculation, I believe Dong Nguyen said in interviews that he withdrew Flappy Bird because he felt that distributing such an addictive game was unethical... which was an angle that occurred to approximately zero Western thinkpiece writers. I think my personal favorite Straight White Male angle was Charles Pratt's piece for Polygon, a formal analysis on how well Flappy Bird is tuned.
  • I took a few more stabs at procedural dialog / conversational NPC systems for Nostrum. Then I actually showed it at GaymerX2, and I had to disable the system at the last minute because it was still too abstract -- once again, I made the mistake of focusing on a system instead of a game experience. People seemed to like flying under rock arches though... which convinced me that I needed to re-think my approach to the game, and so Nostrum is currently on hold.
  • I am now one of (several hundred? maybe a thousand?) architecture critics with my words printed in a book, an expensive mega box-set organized by Rem Koolhaas. Of course, I haven't actually seen or touched these books in real-life, so they're still mostly imaginary to me, but I've totally seen the page proofs and they looked nice enough.
  • My snarky game engine review roundup fooled Jonathan Blow into following me on Twitter for a day or two, almost as if I were an authority on this stuff?...
  • Noserudake 2 is one of my favorite Japanese Unity web player games, and I riffed off that to write about the role of language in game dev, specifically how game development / our identities as game developers ("self-learning self-taught polymath nerd gods") is mediated by English being the "default language" of code and development, vs. other cultures and language users developing their own ways of game making.
  • Modding is still alive, it's just taking a different shape... I wrote about how Ryan Trawick's "Keys" plays with conventions of the "alt walking simulator" genre, and it's kind of amazing that there are established conventions and motifs now? It prompted me to look into Source SDK 2013 and revive the old Radiator... which, um, I still need to finish making. Shit.
  • I reviewed Anna's book on ZZT and Darius' book on Jagged Alliance 2. Both are excellent books, you should read them. I think I'm going to assign them in my classes.
  • I got more into tool development... here's me making a simple 3D scribble-modeling tool called "Mural", and here's me working on a Twine-like plugin for Unity called "Bramble"... which reminds me, I still need to finish those, huh? Shit.

Wednesday, December 3, 2014

new game: "Hurt Me Plenty"


"Hurt Me Plenty" is a short game made for Leap Motion Jam 2014 where you spank the heck out of a dude and learn about how BDSM communities attempt to formalize consent / caring. I was really interested in how we can make games about intimacy without a "kindness coins = sex cutscene" trope, and how we can use expressive gestures to roleplay / think about pain and intimacy. (For the record, I don't think my game gets it right, and it has a lot of flaws... this stuff is hard to design!)

Monday, December 1, 2014

"Cheeky Designs: How to Make a Video Game About Spanking The Heck Out of a Dude" at NYU Poly Game Innovation Lab, December 11


I'm giving a short tech talk about making my hunk-spanking game on December 11th at the NYU Poly School of Engineering's "Game Innovation Lab" in Downtown Brooklyn. Here's a description:

This talk will discuss the design development of "On Your Knees" "Hurt Me Plenty", one of the very few video games ever made about spanking men. How do you adapt concepts from BDSM culture into a game? How do you translate the politics of consent and power exchange into game code, 3D animation, and motion interfaces? What if video games imagined sex as an interactive process instead of a cutscene "reward" dispensed by a talking vending machine?

I'll talk how each part of the game works / why I made it the way I made it / interesting questions this kind of work brings up. Hope to see you there if you're in the New York City area!

December 11, 2014 at 7:00 PM
5 Metrotech Center
Brooklyn, NY 11201

Friday, November 21, 2014

I've never made anything viral before

At this time of writing, this Vine now has 540,000+ loops and 19,000+ notes on tumblr... and my life is pretty much exactly the same. It's so exciting -- the numbers are so big! On the other hand, they're just numbers.

Thursday, November 6, 2014

Postcards from: "Discipline and Punish"

Here are some work in progress images / footage for "Discipline and Punish", a BDSM spanking game using the Leap Motion. It'll also go into questions of consent, and it'll be mildly educational for those who know nothing about BDSM culture. Character model by Kris Hammes, character shader by James O'Hare.


Wednesday, October 29, 2014

On branching dialog editors and narrative design tools


I was prototyping a game concept with branching dialogs for conversations and/or CYOA story events, so I started looking at various solutions on the Unity Asset Store. Dialoguer looked the most decent, but generally all of them just made too many assumptions or enforced bad workflows, and seemed to ignore what made Twine so accessible.

So I've decided to make "Bramble", my own editor plug-in and system for Unity! Here are some factors in its design:

Friday, October 24, 2014

Notes on working with Source SDK 2013 Singleplayer Base

I've been working with Source SDK 2013 base for the past few months, and I thought I'd share some notes on workflow for any future modders who google to this post:
  • If you are making a simple mod that uses default Half-Life 2 features, then you do NOT have to compile your own binaries. You can just tell Steam to use the ones that come pre-compiled by Valve from the already included "sourcetest" mod instead. Steam automatically downloads the correct binaries for the client's platform when they download the Source SDK 2013 Base -- which means you presumably get free and painless Windows / OSX / Linux support, as well as any new changes Valve merges into the codebase... As far as I can tell, most of the basic Half-Life 2 entities work in sourcetest, though env_screeneffect seem to be broken due to some missing shaders.

Tuesday, October 21, 2014

Indiecade East 2015, February 13-15 at the Museum of the Moving Image, New York City


Indiecade East is back for another year in beautiful snow-filled New York City, and they are looking for talk proposals from new (as well as old, I imagine) voices in the community! You have until November 10th (that's about 3 weeks) to get your submission in:
If you have something new to say about / for / from independent game making, and you can encapsulate it in a 20-minute talk, we want to hear from you! Everyone is welcome, regardless of experience, visibility, etc.

We are particularly interested in these topics:
- Diversity in Audience, Diversity in Creators: Playing and making games is not the exclusive domain of a privileged few -- games are for everyone, and anyone should be able to make them.
- Indie Games’ Second Wave: Indie games have been around long enough that there are old-timers and newcomers. Who are the new generation of creators trying to break through in a different landscape?
- The Other Indies: There are many people making interactive art not traditionally thought of as indie games, from modders to interactive fiction writers. How do they enrich the world of indie games?
- Storytelling in Indie Games: Independent games are one of the spaces where narratives experiment with new forms and topics. What exciting new work or unappreciated old work is being done in this area?

Friday, October 17, 2014

"Quality product": on Jagged Alliance 2 by Darius Kazemi

Much like Anna Anthropy's study of ZZT, Darius Kazemi's study of Jagged Alliance 2 for Boss Fight Books is a quick read but feels very comprehensive, analyzing the game in a holistic interdisciplinary cross-section across history, anthropology, politics, and computer science.

Unlike Anna, Darius adopts a much more academic tone, and rarely inserts himself into his own narrative. And while the result is a convincing, well-written, and well-researched book, it ends up falling prey to certain weaknesses that were irrelevant to Anna's book... which fascinates me, because I want to write my own book on Half-Life 1 that somehow blends both of their sensibilities.

Tuesday, October 7, 2014

QGCon 2014, October 25-26 in Berkeley, California

Hey, the excellent Queerness and Games Conference ("QGCon") is running again this year, and you should go! I had a pretty good time in 2013, where I presented "Queering Game Development," a critical code study of "FeministWhore" and the politics of code (I'm still working on the final essay / paper, oops) -- and I probably would've gone this year if I weren't consciously trying to lay low and try to finish stuff instead of jetting-off to conferences all the time...

... But that doesn't mean you shouldn't go! If you are going to be in the Bay Area on October 25 and/or 26, you should definitely check out QGCon at UC Berkeley. There's a bunch of really great speakers this year. So sign-up, it's free to attend! Have enough fun for the both of us.

Tuesday, September 23, 2014

Introducing: Mural (v0.2) a simple 3D scribbling tool


EDIT: v0.21 adds .OBJ export from the webplayer; you can now actually use this to make models and import it into whatever you want. (If you want to use this in Unity, you will need to apply a material / shader that uses vertex colors and doesn't cull backfaces, so pretty much any of the "Particle" shaders)

There are 2 common modes in 3D polygonal modeling: vertex manipulation and sculpting. But for many of these workflows, a 3D mass exists mostly as a surface to be unwrapped and painted. If all we need is a 3D canvas to paint upon, why can't we just go straight to the painting part?

"Mural" is an experimental freehand 3D modeling tool similar to SketchUp's "Freehand" tool or the impressive Tilt Brush, except SketchUp imagines it more as a tracing aid and Tilt Brush relies on VR hardware and doesn't readily export geometry.

I want to make Mural as an accessible 3D tool that borrows game UI metaphors (specifically, first person mouselook) and directly exports the resulting 3D models for use in games, or anything, really. Many of the models made in Mural will not look like "traditionally" modelled 3D objects, and intentionally embrace glitchy non-representational aesthetics, twisted normals, vertex colors, and z-sorting artifacts. If it hasn't already occurred, I imagine the "politics of 3D" will shift to embrace these phenomena as artistic features rather than aesthetic flaws.

(I am also indebted to Rich Edwards' early research with "3d concepts" using semi-transparent planes.)

CHANGELOG
v0.22
  • decoupled canvas movement from painting (thanks for suggestion @Dewb) so you can now move the painting surface WHILE painting
v0.21
  • added simple .OBJ export for webplayer; press F12 to save a .OBJ to your computer
v0.20
  • fixed stroke shader, colors now render properly
  • added a color picker hue / saturation circle, adapted from code in UnityPaint
  • replaced line renderers with generated meshes from Vectorosity
  • added .OBJ export
  • added very basic undo support (press [Z] to delete most recent stroke(s) )

FUTURE DIRECTIONS FOR MURAL: make it into a complete 3D world maker / game maker; add cooperative modelling / network multiplayer session support; better painting tools and interface; add file-writing and OBJ export in webplayer via JS hooks

Tuesday, September 16, 2014

Porting simple Half-Life 2-based singleplayer mods to Source SDK Base 2013 in 3 steps

If you have a lot of custom code, there are probably some compelling reasons NOT to try to upgrade your existing code to Source 2013 unless you have a lot of free time to hand-merge everything... but if you just have a mod consisting of maps running on Half-Life 2 or the episodes, the relatively easy update to Source SDK Base 2013 gives you better performance (the Steampipe VPK-based loading is much faster than the old GCF system), integrated VR support, and maybe most importantly, it is a freely available "standalone" release to anyone with a Steam account.

The process is basically 2 steps, but I added a 3rd pretty crucial "step" that came up in my own mod...

Saturday, September 13, 2014

Liner notes: Intimate, Infinite (part 2), on protagonists / race / gardening / chess.


These are some notes about my process / intent in making my game Intimate, Infinite. Spoiler warning is in effect for this game as well as the 1941 Borges short story that inspired it. Part 1 is on my general reading / plotting / interest in the frame narrative.

Borges' protagonist Tsun, or my Wang Peng (a name taken from a fictional college student in a Mandarin language textbook) has mixed motives for killing the sinologist.

He's a Chinese man more or less assimilated into Western ways, with a healthy dose of self-loathing for his own heritage. That makes this story one of the few "Western literary canon" texts that directly engages with how Asian people might react to Westerners being fascinated with Asian stuff (side note: in this vein, Irma Vep is one of my favorite movies / I really want to make an Irma Vep game someday)

Wednesday, September 3, 2014

Much Madness is Divinest Sense.


A couple things got me thinking:
  • Source SDK Base 2013 does not require any purchases whatsoever, and is freely available to all Steam users.
  • DOTA2 is using Source Engine 2, or at least some substantial derivative of it.
To me, that means Source 1 is definitely nearing the end of its life, and Source 2013 will stand as (perhaps) the last definitive engine fork for Source 1. There's a good chance I won't have to fix up my release ever again because of Valve updating Episode Two and breaking all mod compatiblity: furthermore, anyone will be able to download Source 2013 and play my mod.

Preliminary tests look promising: both chapters of Radiator 1 worked in Source 2013 with just a little massaging. So, contrary to all expectations (I'm as surprised as anyone), I'm dusting off the rest of Radiator 1 and the whole thing might actually get completed now, several years later. I'm cutting a lot of the stuff I planned before (mostly boring puzzle gameplay stuff that I was trying to hack-together using map scripting) and the end is already in sight, it's just going to be a lot of narrative scripting and re-learning the rhythms of working in Hammer.

... And hopefully this'll be the last time I have to edit and update this thing.

(Oh, and I've also updated my portfolio with all the latest trends. HTML5! Bootstrap-whatever! Responsive-whatsits!)

Tuesday, September 2, 2014

September pageant at Makega.me: "MAGIC IS REAL"

Merritt Kopas is the makega.me pageant runner for September, and she has come up with a doozy:
"We're all born a Witch. We're all born into magic. It's taken from us as we grow up." - Madeline L'Engle

magic has been incorporated into games for decades. but it's most often in a way that borrows from the tabletop games like dungeons & dragons -- as just another means of inflicting damage. magic in videogames is both spectacular and mundane. fireballs are boring.

magic is the power to change our circumstances, to invoke the world we want to inhabit. magic is a little evening ritual, the charms we carry to protect us, the spaces and times we invest with meaning. magic is a response to the destructive, crushing weight of oppression. magic is spectacular and mundane, but not in the way it's depicted in games.

instructions:
make a game about magic that veers away from the usual treatments of magic in games.
The full pageant brief is here. I'm looking forward to seeing all the new games people will be making!

Wednesday, August 27, 2014

Liner Notes: Intimate, Infinite (part 1)


These are some notes about my process / intent in making my game Intimate, Infinite. Spoiler warning is in effect for this game as well as the 1941 Borges short story that inspired it. This post assumes you've read the story already.

The first time I read the Garden of Forking Paths, it was in a freshman college seminar about literature and games. It was presented as a revolutionary text that predicted early 1990s hypertext literature and branching narratives... but by the time I read it in the late 2000s, the revolution was over, the internet was domesticated, and clicking on a link was one of the most mundane things ever.

Turns out, a lot of theorists agreed. As early or late as 1999, hypertext was declared dead -- long live "cybertext"! Nick Montfort distinguishes between the two types mainly as a matter of computation: a hypertext is a "finite automaton" capable of simple searches, while a cybertext is more like a recursive Turing machine that can compute anything computable. It's the difference between a calculator vs. a laptop. (This isn't to say hypertexts are bad; Twine has revived hypertext in a new age of Javascript and web design, making hypertext more relevant than ever. But it is relevant because of new authorship and new contexts, and not because it is a frontier of computing.)

Tuesday, August 19, 2014

new game: Intimate, Infinite


I've finished a 3+ month project called "Intimate, Infinite." It is available at a Pay What You Want price with a $0 minimum -- if you got something out of playing it / want to support future work, please consider buying me a beer or something.

It was originally made for the "Series" pageant at makega.me, but I ended up being a couple months late. Better late than never? Anyway, it is heavily inspired by Jorge Luis Borges' short story "Garden of Forking Paths" and it is somewhat experimental in nature, so I'd advise players to be, um... patient.

Saturday, August 9, 2014

"I'm young and I love to be young": on ZZT, by Anna Anthropy

Anna Anthropy's book "ZZT" is impressive. In only 129 pages, she gives a robust and accessible technical overview of the game ZZT, a nearly 23 year old text-only DOS game with a built-in game editor. She then explores how that engine design -- combined with nascent internet technologies like dial-up BBS boards, AOL archives, and IRC channels -- afforded several generations of a vibrant creator community. Her analysis effortlessly straddles computer science, design, art history, anthropology, and gender theory, all wrapped in a personal story of her childhood. It is a very easy, enjoyable, and insightful read.

Wednesday, August 6, 2014

On video game corridors in "Elements of Architecture"

I wrote about video game corridors for the huge expensive hardcover 1000+ page Rem Koolhaas book-set "Elements of Architecture" -- it's part of an entire book about corridors, alongside books about doors, walls, etc.

The bit that I've read has a pretty contemporary approach to things, talking about film geography and nationalism in the same breath as my lonely page that touches on the technical / level design aspects of corridors.

Look mom, I'm a published architecture critic now!!!

Saturday, July 26, 2014

new game: "Chandelier" for makega.me


I was eating fried chicken and "Chandelier" came on in the restaurant and it was a pretty catchy tune so when I went home I made a game about it in about 2 hours. Head on over to makega.me to play it / check out the rest of the pageant entries, also based on songs.

Nostrum design problems and world as interface


I am currently trying to prototype some sort of social simulation in Nostrum, and I am currently facing three main design problems:

formal definitions (within my system) for emotional responses to information
While showing the game at GaymerX, I had to disconnect the social sim portion because, internally, the NPCs kept getting upset at each other for talking about each other to someone else -- and they would be so upset that they would just go inert. What is the difference between discussing someone else vs. talking behind their back, and does my system have the context to make that distinction? Information currently does not have a "positive" or "negative" valence, it is just information that might be true or false. Should I remove this from the system entirely if I can't make it intelligible? At the very least, I want a system that will collapse in an interesting way.

Tuesday, July 15, 2014

If you see something, say something

I was telling my sister about Cards Against Humanity and the rape allegations against Max Temkin.

I told her I now felt strange about accepting a free flight / hotel from them to attend GaymerX and show my half-baked game in their sponsored room. Before, I had thought of it as part of their attempt to make things right, after they finally removed the totally unacceptable "date rape" and "passable transvestite" cards from the game -- and if they were going to commit substantial time, energy, and resources into this community, then maybe that would allow for some healing? After all, I had only had fantastic interactions with the extremely helpful CAH production staff at the expo. (I am still extremely grateful for everything Trin and her team did for me and the other developers.) However, it's safe to say that their intended redemption narrative has now been somewhat derailed...

My sister said it reminded her of American Apparel ousting Dov Charney, where the institution had to rescue itself from toxic thinking and behavior, and that was the only way to do it. I disagreed with that comparison. Charney was totally unrepentant, while Temkin at least made some attempt to internalize feminism, even though he ended up getting it horribly wrong. Doesn't learning involve making mistakes, even horrific mistakes?

Yes, my sister said, but none of that should shield him from criticism... and she's right. Here's some good criticism.

The more cynical will say he consciously wore feminist language as armor to deny responsibility -- and the vast majority largely want to stay silent, whether because of CAH's clout / influence or because "there's no proof" or "there's enough drama already" and so on... but saying nothing already means you're speaking in favor of how things currently are.

So, uh, I wanted to say something. But I'm not really sure what to say, because it's not clear what reconciliation might look like? Like, okay -- I agree that he screwed up in a really big way. I don't think anyone wants to destroy Temkin. Not even the person he hurt wants that. Now what?

Should he write another post where he apologizes for his non-apology, and is that enough now? Should CAH try to sponsor anymore games events focusing on diversity and inclusivity, or would their involvement now compromise the safe space of that event? What does it mean to create a safe space in games? Can we separate Temkin's words from CAH, and if we can, then what does CAH as an institution think about this? Why was Temkin's statement wrong, and what can we educate people about it? How do the women who work for CAH feel about this? What is the current thinking about how best to practice consent? How do we read all this, next to the ongoing dialogue that happened in and around GaymerX?

Here's my bold idea: some game journalists could do some reporting on this because there might be a story here? And then journalism can serve its vital function to inform a community and promote civic discourse!