Friday, March 17, 2023
Double Fine PsychOdyssey recaps / viewing guide, episodes 01-17
Monday, January 2, 2023
Unity WebGL tips / advice in 2023
I recently released a Unity WebGL game and the process was a bit painful. Here's what I learned...
In summary:
- I was using built-in pipeline and didn't try URP. (HDRP is definitely out of the question btw)
- Unity WebGL support isn't bad, and WebGL performance is even OK, as long as you treat it like a ~2015 mobile device in terms of capability and performance. Don't throw a lot at it, especially because iOS browsers can't do a lot...
- ... because it's 2023 and iOS WebGL performance is still pretty shitty even with Apple's promised ANGLE WebGL 2.0 support. You should expect to do a lot of mitigations and workarounds just so iPhones and iPads don't explode. Meanwhile, Windows and Android browsers are generally solid and reasonable. (In case you can't tell, I'm pretty annoyed with Apple.)
- Here's what'll happen to you: your WebGL build tests on your desktop browser will work fine and you'll be pleasantly surprised... and then you'll try it on an iPhone and it'll be a mild disaster where you spend a week or two fixing all the various ways it explodes.
(Note: this is current as of Unity 2021.3.11 LTS + iOS 15.)
Tuesday, December 13, 2022
That Lonesome Valley as cowboy coin crusher
SPOILER WARNING: This post spoils what happens in my new game That Lonesome Valley. If you care about spoilers, play it first. It'll take about 30 minutes.
CONTENT WARNING: This post contains discussion of gay sex acts and some screenshots with obscured pixel art nudity. It's mostly "safe for work" even if the actual game is not.
That Lonesome Valley is a short gay cowboy romance game about walking, sheepherding, and kissing.
Back in 2019 I made an unfinished prototype for a Gay Western game jam to contemplate the anniversary of influential gay cowboy film Brokeback Mountain (2005). Three years later, I've finally finished it. This final release now has gay sex, smoochin', and other important new features.
I'm still not quite happy with how it turned out, but at this point I guess I'm just gonna have to live with it. As usual, I've written about what happens in the game, and I detail some of my creative process, intent, inspirations, and what I hope to contribute to gay cowboy discourse...
Friday, October 14, 2022
Indie game capsule reviews: Immortality, Wayward Strand, Cult of the Lamb, Betrayal at Club Low, Atuel
SPOILER WARNING: I keep specific story spoilers vague, but I do have to talk about what happens in the games somehow. So I still kinda spoil the player progression / interactive arc. Sorry.
What are people playing and talking about these days? Well, I don't know anything about that. But here's what I'm playing and what I'm talking about:
- Immortality
- Wayward Strand
- Cult of the Lamb
- Betrayal at Club Low
- Atuel
Friday, September 30, 2022
new Quake map: There's a Certain Slant of Light
These are design notes about my process and intent, and it may spoil what happens in the level.
I made my new single player Quake map "There a Certain Slant of Light" for the Quake Brutalist Jam, a 2 1/2 week long map jam focused around making chunky modernist concrete themed levels.
I actually made most of this level around two years ago. I wasn't really happy with it, so I never released it. Though when I fixed it up for this jam, I ended up keeping most of the layout and geometry. Maybe it wasn't such a bad map after all?
The two big changes I made were the texturing and the monster placement / player flow...
Wednesday, September 21, 2022
"Voluntary Attempts to Overcome Necessary Obstacles" at EFA Project Space, Sept 23 - Oct 29, 2022
My gay historical bathroom cruising game "The Tearoom" is part of a new upcoming group exhibition "Voluntary Attempts to Overcome Necessary Obstacles" at the EFA Project Space in New York City, curated by Nicholas O’Brien.
The show will run for about a month, from September 23rd to October 29th, 2022. Although I won't be there, since I currently live on the opposite side of the planet, I encourage you to check it out. There's a lot of great people and good stuff.
I've copy-and-pasted the exhibition blurb below:
Saturday, August 13, 2022
new Quake map: Breakfast Under The Balloons
I made a new single player Quake 1 map called "Breakfast Under The Balloons" for the community map pack Coppertone Summer Jam 2, where mappers were encouraged to make sunny summer-y themed maps using the popular community rebalancing mod Copper.
I like making sunny maps anyway, and the first CTSJ back in 2020 was when I made my first Quake map, so the event has a special place in my heart.
This post details some of my process and intent, and spoils what happens in the map. You may want to play it first if you care about that.
Thursday, June 30, 2022
Zugzwang as a pole dance upward unto heaven

CONTENT WARNING 1: I mention a suicide from a century ago.
Thursday, June 16, 2022
Postcards from Quakeland, 2022
- Community Hubs
- Official Mods
- The Future of My Quake Maps
Wednesday, May 18, 2022
Logjam as mourning wood
Logjam is the latest in my gay sexuality series -- a short small game about a middle aged lumberjack daddy processing wood and other hard things. It's about forestry, masculinity, and history, but on a surface level it's a simple work simulator with a burly stripper and occasional twists.
CONTENT WARNING: Some of the screenshots have some CG nudity in them. It is "NSFW".
SPOILER WARNING: This post spoils what happens in the game. If you care about that, then you should play it first.
Tuesday, April 19, 2022
Why I still use Unity
There's been some game dev twittering about Unity vs. Unreal lately. Why use Unity when Unreal is better?
The basic consensus is that Unity's advantages have been crumbling for years, and its attempt to challenge Unreal on high-end graphics has meant neglect everywhere else. But if you want high-end then UE5 Nanite / Lumen is light years beyond Unity HDRP anyway? And if you're making the typical aspirational photorealistic action game, you'll probably want UE's gameplay architecture and free photoscan assets too.
Most recently, respected developer Ethan Lee has weighed in. For him it's not about the graphics, it's about source engine access and engineering processes. Being able to pinpoint bugs in the core Unreal Engine code, fix them, and submit patches to Epic is how modern software development works. Comparatively, Unity is closed source, and even if you go to the trouble of filing a bug report you'll still have to wait a year for an official bug fix if you're lucky. This is important during the second half of a game dev cycle, when game making becomes a terrible slog -- when your game randomly crashes on Nintendo Switch for some reason and you have to figure out why but you're already so so tired.
So why on earth would anyone still use Unity? Everyone has their own situation, and here's mine:
Saturday, April 2, 2022
new Quake map: The Close And Holy Darkness
This post spoils what happens in my Quake map. If you care about that, play it first.
I made another Quake map -- this one was for a map jam called Retro Jam 7, where we all spent 2 weeks making level design homages to the greatest hits.
The theme here was "Koohoo" or "The Castle of Koohoo" (2001) by Vondur. The theming felt very fresh for Quake at the time, taking notes (and maybe a few textures) from Unreal. The novel use of greens and blues, as well as the outdoor hub layout, contrasted a lot with the browns and reds of Quake 3 Arena inspired aesthetics popular at the time.
Of course, I figured everyone else in the jam was going to lean on those dark greens and blues, so instead I opted for a rosy morning brown type of mood.
Thursday, February 17, 2022
new Quake map: "Heart Like A Bird's Nest"
Heart Like A Bird's Nest is my new Quake map made for the weekend level design jam "Quake Speedmap Snack Pack 2" organized by Fairweather a few weeks ago.
This jam placed specific constraints on submissions, asking designers to map for a "slot" with a specific texture theme and weapon progression. I chose slot 1 which represents the start of a campaign with a "cr8 base" theme (grungy brick / concrete / metal industrial sci-fi) and shotgun / nailgun (+ optional super shotgun / grenade launcher secrets).
I started by blocking out a small arena. The arena has a little observation deck with a little floor hatch to drop down into the fight when the player's ready. I wanted a typical 2010s era play pattern where the player can safely scope out enemy positions and form a basic plan before getting into it. But I also mess with the player's limited information and hide some enemies underneath the observation deck sometimes, in proper Quake fashion.
Monday, January 17, 2022
Darner's Digest, vol. 3: on the Yarn Spinner v2.0 release + a YS primer
Darner's Digest is a series of blog posts about Yarn Spinner, a free open source Unity dialogue tree plugin.
On December 21st, 2021, the Yarn Spinner project finally made its public YS v2.0 for Unity release.
YS 2.0 has gone through six (6!) preview versions / betas over the last few years, with several debates and redesigns that have finally culminated in this version. If you're familiar with Yarn Spinner already, you should go read the changelog for upgrade notes from v1.0 to v2.0.
But a lot about YS and its ecosystem have changed, so it's probably helpful to recap what's going on.
1. What is Yarn Spinner in 2022?
2. When to use Yarn Spinner
3. How to use Yarn Spinner
4. Current Strengths / Weaknesses
5. The Future
Wednesday, January 5, 2022
Resolutions, 2022
- Release 1+ gay sex games. I have two projects that have been perpetually stuck at ~95% complete, and two that are 50% complete. It's been tricky to find time (and volition) to sit down and finally finish them. But again! 2022 is going to be the year I bet! I mean, it has to be, right??
- "Launch" my level design book project. While the book is already open and public, I haven't been talking about it or publicizing it since there's still so many gaps and missing pages. It's a very unstable book, even though I've somehow written 100,000+ words over the past 2 years. But this year I feel like it's finally going to feel complete enough that I can start recommending it to people.
- I'm going to start streaming again, maybe in a few months. Since my move to New Zealand last year, it's taken me a while to get settled with a more reliable schedule. Now I'm finally on my way to figuring out my routines again.
Sunday, December 19, 2021
new Quake map: "When There Were Wolves"
I made another Quake map, this time in collaboration with fellow mapper @mrtaufner for the 2021 Quake community Xmas Jam.
Taufner handled the initial blockout and gameplay, while I did the art pass and tweaks. (With textures by Makkon as usual.)
The collaboration here was ideal because I didn't feel like doing gameplay stuff, and Taufner didn't want to art pass, so we exchanged duties and took turns working on the level.
Thursday, November 11, 2021
Deathloop deconstruction / design thoughts
- General systems overview
- More specific gameplay stuff -- stealth and level design notes, combat notes, invasion implementation
- Critical path / progression overview with "beat sheet" tables
Thursday, November 4, 2021
The Forgotten City (2021) revisited
I've written previously about murder in Skyrim, epic Skyrim fan game Enderal, and a very bushy Skyrim mod called The Forgotten City. Since then, the mod makers have remade it into a UE4 standalone time loop first person RPG called... The Forgotten City (2021).
From a game dev perspective, it's been fascinating to play. They had to rebuild Skyrim systems in Unreal... but what to cut and what to recreate? In this post, I compare and contrast the original and this modern remake from a dev / design perspective.
DISCLAIMER: I played the original mod and remembered much of it, so a total newcomer's experience would probably be different. Or maybe it wouldn't? Who knows.
SPOILER WARNING: this post spoils much of what happens in The Forgotten City (2021).
Sunday, September 5, 2021
new Quake map: Tell Me It's Raining
This post spoils what happens in my Quake map. If you care about that, then you should play it first.
NOTE: there are reports that my map crashes FTE Quake, so make sure you use Quakespasm or vkQuake to play. Sorry about that.
"Tell Me It's Raining" is my fifth released Quake single player map, part of the Alkaline Jam where we all made sci-themed "base" maps with a mod kit called Alkaline.
It uses the Makkon sci-fi themed textures as showcased in the stunning Alkaline start hub map -- a major inspiration for this map and I assume other maps in this pack as well. I was also inspired by the Centre Pompidou's copious colorful piping and vast industrial scaffolding. I wanted big chunky shapes draped in warm colors, continuing my tendency to make big sunny Quake maps.
I generally like how the map turned out, but I think I tried to do too much complicated stuff in this one, and miscalculated how players would react.
Thursday, August 26, 2021
"Quake Renaissance" for Rock Paper Shotgun
For Rock Paper Shotgun, I recently wrote a three-part series "Quake Renaissance".
Part 1 is an industry history of Quake's cursed development at id Software, Part 2 is a primer to 25 years of Quake community modding, and lastly Part 3 is a how-to guide for getting into Quake and enjoying its mods.
This series had some goals:
Wednesday, July 7, 2021
We Dwell in Possibility as queer gardening simulation
It was made over several months in collaboration with world-famous illustrator (+ co-designer) Eleanor Davis and Manchester-based rockstar musician aya as a commission for MIF. (Also shout-outs to illustrator Sophia Foster-Dimino and sound designer Andy Grier for their incredible work!)
Some people may be familiar with my past work: uncanny CG beefcake sex games that toy with hardcore gamer aesthetics, which only run on laptop / desktop computers. For the longest time, I've wanted to make a gay mobile game, but I was unsure how to get my queer politics past Apple and Google's anti-sexuality censors. It's impossible to get anything on a phone without their long withheld permission... unless... I made a browser game?
Wednesday, June 23, 2021
new Quake map: Daughter Drink This Water
My fourth released Quake single player map "Daughter Drink This Water" is now out, as part of a community map jam pack called Sinister625 -- where we all made maps that used only 6 textures, included 2 "surprises" (anything more interesting than monsters spawning), and had only 5 monster types, all in celebration of Quake's 25th anniversary this June.
HOW TO PLAY THE MAP PACK
1. Follow this guide to acquiring Quake and a suitable source port (aka game engine) or try the Quakestarter: The Quake Singleplayer Starter Pack (Windows only). Note that Quakespasm-Spiked is currently regarded as the best engine among single player level designers; avoid DarkPlaces, which hasn't been maintained in years. Also note that it is technically possible to get all the necessary game files legally without buying Quake, but for perceived legal reasons, the community does not distribute everything together in a convenient package.
2. Download and unzip the Sinister625 mod, which will already have all the maps and assets configured. Put the /sinister625/ mod folder in the root of your Quake folder, next to the /id1/ folder.
3. Launch Quakespasm-Spiked (or whatever engine you're using) with the mod directory set to "sinister625"... There are two common ways to do this:
- download a launcher tool like Simple Quake Launcher
- OR create a shortcut with the command line parameter -game sinister625... so the full shortcut target line might read something like "C:/Program Files/.../quakespasm-spiked-win64.exe -game sinister625"
WARNING: the rest of this post are my design notes that spoil what happens in the map...
Thursday, May 6, 2021
Open world RPG design notes from Enderal, a big long Skyrim mod
I'm playing a giant Skyrim "total conversion" mod called Enderal. It does a lot of interesting things but also less-than-good things. I'm told it's inspired a bit by the Gothic series, which I've never played, so maybe a lot of my observations are more about Gothic than Enderal?
Be warned that some of the screenshots are a bit spoilery (e.g. there's a tropical biome!) and my notes are obviously going to spoil some of the game's structure, but all these spoilers are pretty vague and anyway I don't name any names.
Anyway, here's my notes...
Thursday, April 29, 2021
MIF commission "We Dwell in Possibility" coming in July 2021
- Mobile. My gay games are all well-suited for a mobile format, but tech platforms are increasingly sex-phobic and will block my content from their stores. But if I target a mobile browser, they can't really stop me. (This is the real reason why Apple keeps their iOS browsers so slow and broken: an open internet threatens their control over everything.)
- Not-Unity, in 2D. If I want it to run well in a mobile browser, then it probably has to avoid lots of flashy 3D. I usually work in Unity and don't get me wrong Unity's WebGL build target is a miracle, but still not quite miraculous enough, so that's why I'm learning HaxeFlixel for this project.
- Collaboration. I usually prefer to work solo and in 3D, but my 2D art skills aren't very developed. So what if... this time... I didn't... do the graphics? I've admired Eleanor Davis' work for a while now, and I'm super excited to have her here. Also I secretly hope this is just the first of many video game projects she works on.
- Producers. MIF does something a bit unusual for its commissions -- they provide producers, which is very common for live events and commercial games, but rare in an art games context. For this project, my fantastic producers Shanaz Gulzar and Steph Clarke have been key for figuring out what the heck we're making, and will be instrumental for bringing this to the finish line.
Thursday, April 15, 2021
Email subscriptions have been migrated to Mailchimp
Some minor housekeeping here: the free blog-to-email (RSS-to-email) service I use, Feedburner, was acquired by Google some moons ago and thus it is now discontinuing various services... such as its core blog-to-email service.
So I've been forced to move all email subscribers to Mailchimp instead, which offers its own free blog-to-email service that it too will likely arbitrarily discontinue someday.
But until that fateful day, enjoy the slightly more readable emails. I've tried to disable Mailchimp's creepy marketing tracking as much as possible, but sorry in advance for any inconvenience. If you want to unsubscribe, please use the "unsubscribe" link at the bottom of the email.
Or if you're reading this post on the website (which is the vast majority of you) then you can choose to subscribe and have new blog posts sent to your email inbox instead. Emails will be rare, and I do not use your address for any other purpose / anyway I don't want to have to login to Mailchimp ever again.
Thanks for your attention and have a lovely day / night.
Saturday, April 10, 2021
Getting started with HaxeFlixel in 2021
Warning: this is a fairly technical game developer-y post. If you came here for gay sex, I'm sorry.
For an upcoming project commission, I'm making a 2D game with crowd simulation and simple controls that works well on mobile browsers. (Reminder: for iOS, that means WebGL 1.0 and no WASM.) The engine should be able to render and simulate 200+ lightweight game objects -- frame-animated sprites with simple collision, no fancy physics or shaders.
Which game engine should I use to maximize ease of learning and compatibility, and manage hundreds of simple objects on-screen? Here was my thought process:
- Unity WebGL: way too heavy and slow for mobile browsers, and maybe overkill for a no-physics 2D game anyway. (Although the Lil Nas X 3D twerking game runs surprisingly well on iOS's WebGL 1.0, I wonder how much they had to optimize?)
- Unity Project Tiny: as far as I can tell, Project Tiny and its DOTS dependency is still in early development. The random caveats and various in-dev inconsistencies with regular Unity would also be frustrating. And as with many other Unity side projects, its long term future feels really hazy.
- Construct: seems ok, and I think I could've gotten used to the visual block scripting, but overall the pricing and licensing feels weirdly restrictive. I have to pay to use more than 2 JS files? I have to pay to use more than 1 font, or make an animation more than 5 seconds long? These are some really bizarre artificial resource limits.
- Phaser: seems popular enough with decent TypeScript support, but I want the option of building out to a native executable without a weird Electron wrapper or something. Their monetization model (free open source base but you pay for "premium plugins" and tools) is one of the more generous ways to go about this, I get it, but it still feels weird to me and reminds me of Construct.
- Godot: I've wanted to try Godot for ages, but in the end I felt like I didn't have a good sense of what its HTML5 Web export could do + learning enough of the "Godot way" and GDScript would've taken a while. It's also in the middle of a big break between v3.0 and v4.0, and ideally I'd like to wait until like v4.2 to commit to learning it.
- Heaps: promising and some people get great results with it, but maybe still too early in public lifecycle for a total newbie like me, with not enough samples / docs / robust official tutorials to learn from yet. If or when I do try out Heaps, I'll probably try using Deepnight's gameBase project template.
In the end, I chose to build this particular project with HaxeFlixel. This post details my early impressions, thoughts, confusion, advice, etc. with learning it.
Sunday, February 28, 2021
Updates from antipodes, year 2021
Hey all, it's been a while. Here's a brief update on my life --
I've successfully moved to New Zealand and I currently reside in Auckland. I'm currently working as a remote contractor on a secret project under NDA, but I imagine we'll probably announce sometime this year if everything goes well.
I'm still working on some personal projects:
- I have two gay games that are 95% done, they just need some playtesting and polish, but finding an in-person playtesting group in Auckland has been a bit challenging. Regardless I'll probably be releasing these games this March and April.
- This will be the year I attempt to finish my bigger long term project -- a sex work deckbuilder game called Macho Cam. That's about 60% done. I need to redo the card system for the 5th time.
- For the long-awaited Radiator 3 release, my plan was to wait for Unity HDRP to get finalized before attempting to port the entire Radiator codebase from Unity 5.6 (I know, I know) to Unity 202x. But maybe I should just stick to the built-in 3D pipeline anyway.
- I've also been contributing a lot to everyone's favorite Unity dialogue system Yarn Spinner and I've been trying to clean up my dialogue tool Merino, all of which might see its official v2.0 public release this year.
- Most of my Quake mapping is on hold, as I dedicate my level design energies to a different engine-agnostic project. More to announce there when it's ready, which will, again, hopefully be this year.
For those who happen to be in New Zealand, I'll be giving a short in-person talk about sex games at Play By Play, which I'm told is a bit like the kiwi equivalent of the Indiecade conference track -- and it's all part of the larger in-person New Zealand Games Festival in Wellington, April 19-25, 2021. I'll be around for most of Play By Play, so feel free to say hello if you see me... Unless the country suddenly plunges into lockdown that week?
Hope everyone is having a tolerable 2021 so far. Good luck out there.
Tuesday, October 20, 2020
The year of changes - kia ora Aotearoa
Earlier this year I submitted my letter of resignation as assistant arts professor at New York University, so Fall 2020 will be my last semester as full-time faculty at NYU Game Center.
Working at NYU Game Center has been an immense privilege and honestly it's a dream job for any game developer. I will miss my students, colleagues, friends, and mentors. But unfortunately it was impossible to meld a job about constant meetings with a major life change:
I'm leaving New York City and moving to New Zealand.
I realize I have the rare privilege of leaving the US, at a time when most of the world has shut its borders to US citizens. But I don't think of it as an escape -- NYC will recover and stay NYC, probably, and NZ has plenty of its own problems, so let's just put aside the COVID factor and think of it more as a hiatus... I'm taking a hiatus from residing in the US, and seeing what else life has to offer.
This move also means a short (or perhaps longer) hiatus from being a full-time academic. I'll still try to make myself available to students sometimes and maybe I'll even have the pleasure of teaching some classes at a NZ university, but for now, academia likely won't be the main focus of my life. And while I must stress again that I will miss my colleagues and students dearly, I must admit, I'm also looking forward to new possibilities for my professional and creative life:
First, I have a few commercial-oriented games in the works. Look for the releases next year.
Second, starting in January 2021, I'll be available for hire for work around New Zealand (I have a NZ work visa) or remote work from anywhere.
I'm a generalist 3D designer / developer who's very experienced with Unity, and I'm familiar enough with Unreal to prototype in BP, build levels, and get myself up to speed with minimal supervision. I'm also available as a level designer + scripter + tolerable environment artist / asset mangler for 3D projects of all types.
My portfolio is here, email me at yang.robert.w(at)gmail(dot)com if you want to talk. Paid gigs / positions only. CV available on request.
In the meantime, kia ora Aotearoa.
Wednesday, September 2, 2020
new Quake map: "It Will Be Summer Eventually"
My third Quake map is another multi-level arena, a bit similar to my previous map Smell It In The Street. I made it for Speedmap #210 (SM210), a weekend map jam on the Quake Mapping Discord with a theme of "overgrown" by jam runner Naitelveni.
For this map, I think I did a bit better with combat design. The arenas are a bit more open and free than before, and the encounters have a bit more purpose and push. I also make heavy use of Copper v1.11's improved ogre aiming, fiend jumping, and trigger_monsterjump spawnflags.
Monday, August 10, 2020
new Quake map: "Smell It In The Street"
Monday, June 22, 2020
Hard Lads as an important failure
This post “spoils” what happens in my new game Hard Lads. If you care about spoilers, you should play it before reading. It takes about 5 minutes to play once, and maybe 20 minutes to play it to 100%.
In 2015, a phone video of young muscular White British men hitting each other with a chair went viral. Why make a game about this meme now? Some might characterize all my output derisively as "meme games", which is fine, but personally I’ve tried to avoid doing it on purpose. First, my games themselves should strive to be the original meme, and not merely a fan reproduction. Second, many memes are steeped in internet gamer culture, the only circle jerk I want to avoid.
However. I think British Lads Hit Each Other With Chair is one of those classic internet videos that merits special attention. It does so much in a single minute, and it's not about video games at all. So that’s why I made Hard Lads.
Saturday, May 30, 2020
The powerful presence of non-presence in "Out For Delivery" by Yuxin Gao, Lillyan Ling, Gus Boehling
"Out For Delivery is a 42 minute playable documentary shot with a 360-degree camera. The slice-of-life experience follows a food delivery courier in Beijing on January 23, 2020, the day before Lunar New Year, and the day Wuhan shut down due to COVID-19."This is one of the few 360-movie experiences that really works.
In the past, I've criticized the VR empathy machine complex and its cynical use of Syrian refugees to sell VR kits, but Out For Delivery wisely sidesteps the VR ecosystem. Without the restrictions imposed by the head-mounted format, such as a stationary camera (a bumpy moving camera makes VR viewers sick) or impatience (VR demos demand constant engagement), the designer and filmmaker Yuxin Gao is free to focus on the actual subject at hand. The camera moves freely, cuts freely, lingers freely. The result is the most difficult aesthetic to achieve in art: honesty.
Monday, May 18, 2020
Tactics games in 2020: game design notes about Horizon's Gate and Gears Tactics
NOTE: This post has a lot of mechanics / game design spoilers, but no story spoilers.
NOTE 2: This isn't me trying to prescribe what "good tactics design" is for everyone. I'm just trying to articulate my own personal tastes and rationales.
Horizon's Gate
Thursday, April 23, 2020
fy_iceworld feature for RPS
Hey all. Hope everyone's been doing OK. Remember level design? That's still important, right?
Anyway, I wrote a 2 part feature on fy_iceworld for Rock Paper Shotgun. Part 1 interviewed working level designers about their takes on fy_iceworld, while part 2 will cover my nerdy forensic investigation into who actually made fy_iceworld.
It should be a fun and diverting read, perhaps a useful distraction in these weird times. Thanks to my editor Graham Smith for taking this weird pitch and graciously proofreading it.
Friday, March 13, 2020
Living in interesting times
A recap of what I've been up to --
In these days of social distancing, remote classes, and quarantines, I taught my class about streaming on Twitch... by streaming the class on Twitch. Some writeups:
ushering in the brave new era of mandatory remote education by streaming my actual college class about streaming https://t.co/A6D2i8UGXI pic.twitter.com/O8vRmXBOza— Robert Yang (@radiatoryang) March 10, 2020
I'm also getting into Quake 1 mapping. The modern tools are great, the video tutorials are on point, and the community is lovely. Come join us. I recommend Andrew Yoder's comprehensive guide for getting started.
more quake mapping experiments pic.twitter.com/KGgCXnUAn8— Robert Yang (@radiatoryang) February 24, 2020
Until next time...
-- R
Tuesday, November 12, 2019
Practical primer to using Unity Timeline / Playables
I recently used Unity Timeline to do cutscenes in a game. Once you figure out how to use it, it works great, but that learning curve of expectations and setup is pretty annoying.
To review: Timeline is a sequencing tool. It's good for higher-level logic where you need to coordinate a bunch of objects at once. For many games, that usually means choreographing cutscenes or sequences. Many different engines and toolsets have sequencer tools and they all generally have the same workflow -- you make tracks and you put actions on those tracks. (see also: UDK Matinee, UE4 Sequencer, Source 1 Faceposer, Witcher 3's cinematic tool)
Note that Timeline is not an animation tool, it's higher level than that. Think of it like a movie director, it coordinates animation, audio, characters, and FX together, but doesn't actually make or process those assets.
In this intro workflow post, I'll start with SETUP TIMELINE, then SETUP DIRECTOR and MAKE CUTSCENES and CONTROL THE DIRECTOR VIA C# SCRIPT, and lastly how to MAKE CUSTOM TIMELINE TRACKS.
Tuesday, November 5, 2019
A MAZE NOT DEAD
Before I attended A MAZE (2016 / 2018 / 2019), I had never met any game developers from Africa. I had attended so many GDCs, but it didn't matter. Imagine an entire continent, more or less shut out of an entire industry! The game industry often pretends it is "democratizing" the means of game development, but the obvious truth is that the "global" game industry still concentrates much of its money and prestige on North America / Western Europe / Japan. (China is a big market, but there is still no major prestigious international video game trade show held there yet.)
That's why community institutions like A MAZE are so vital. While A MAZE runs a flagship festival in Berlin, they also regularly host pop-up events outside of the typical video game industry hemispheres. In the past, they have run events in Croatia, Romania, Palestine, Russia, South Africa, Kosovo, Cuba, and Ukraine. For 2020, they are aiming to run an event in Nairobi. Do you think GDC gives a shit about Nairobi?
When GDC rolls around every year, so many people lament that there isn't an alternative event -- something to pull people and power away from GDC, away from the institutional inequality plaguing games -- well, today is your lucky day, maybe you'll get to do something about it. A MAZE is one of those alternatives that seeks to pull influence away from GDC -- to provide a noncommercial platform to support game developers and marginalized artists from around the world -- and it needs your help.
Back in September, the city of Berlin denied funding to A MAZE. While A MAZE still retains other public funding sources, this particular setback threatens a lot of their plans. They need to crowdfund the rest of the money to secure the future of the festival, and the future of an alternative away from the overwhelming commercial focus of GDC. This isn't to say that commercial games / AAA are necessarily bad, but it is clear that everyone else in games need their own support systems too. A healthy artform needs a healthy diverse ecosystem of many different motives and tendencies; a monoculture will doom us all.
So for 2020, A MAZE is running a Kickstarter. (Note: Kickstarter corporate is currently in the middle of an anti-union intimidation campaign. But so far, workers have not called for a boycott. As we continue to use KS, we should also use the opportunity to pressure their leadership to cease its anti-worker interference.)
If you have money to spare this year, please consider supporting A MAZE. If you don't have the money, OK, but at least consider writing about them or posting about what A MAZE means to you and others.
A MAZE... NOT DEAD.
Tuesday, September 24, 2019
The streaming life
First, I'm continuing my Level With Me project, where I play through games and offer level design commentary by flying around, staring at walls, and nitpicking lighting. To ease myself in from my summer hiatus, I am playing something "easy" that I know pretty well -- I'm streaming fan-unfavorite Half-Life 2: Episode One, broadcasting every Wednesday 2-3pm EST at twitch.tv/radiatoryang.
Second, I'm leading a new streaming initiative at NYU Game Center: our new weekly streaming show Game Center Live premiered on September 19th! As an academic department studying game design, it feels foolish to ignore streaming as the dominant discourse in games culture, so that's why we're running this experiment as a weird cross between a high school yearbook class and college radio for the 21st century. We'll cover school announcements and showcase student work, but we'll also discuss the week's game industry news and host special guests. We plan to broadcast every Thursday 1-3pm EST at twitch.tv/nyugamecenter.
So although I'm blogging much less than before, you can still catch the same ol' Robert with the same great taste. I'll just be talking at you through a screen.
Thursday, August 22, 2019
Borderlands The Pre-Sequel as Australian industry elegy
We played Borderlands: The Pre-Sequel (essentially, Borderlands 2.5) on co-op mode, and yep it's a Borderlands game.
You run around and shoot monsters, they sometimes drop procedurally generated guns, and you sell most of those trash guns to get useless money, and you gradually get slightly better guns with slightly different effects. It works OK, but it still hasn't aged very well. The Borderlands series' long-time reliance on many small modifiers and +1.2% bonuses feels even more desperate in 2019, especially when we live in a golden age of indie deckbuilder games where the numbers actually matter.
Thursday, August 1, 2019
Hedera and brief notes on ivy aesthetics
This actually happened weeks ago, but I just realized I never posted anything here about it: I built a 3D ivy painting tool called Hedera. Each time you paint ivy, the Hedera "AI" will grow and simulate an approximation of real-life ivy behavior, clinging to surfaces and climbing towards the sun. It's pretty magical to watch in action.
Much of the core technique is based on Thomas Luft's C++ code from 2006 and a much more recent C# port from 2016 by Weng Xiao Yi, but I found both of their implementations to be very bare-bones proof of concepts intended more for engineers and less for artists, with little concern for workflow or usability. Most of my work focused on front-end user experience stuff -- making the simulation more predictable, conceptualizing a layer-like planting system, optimizing the procedural mesh generation, and getting it to play nice with the Unity Editor's arcane IMGUI and file serialization rules. I definitely learned a lot about tool-making.
![]() |
ivy mesh wireframes / process from "Crysis 3 - Ivy" by Tom Deerberg |
Perhaps when we stop oohing-and-aahing at the fidelity of game ivy and demystify its creation, then we can finally appreciate a more subtle and artistic use of ivy. As I've argued before, many indie game devs often have a (misguided) knee-jerk reaction against realism, but I think realist aesthetics have an important role to play in any visual culture.
Tuesday, July 9, 2019
On climate crisis games, for Rock Paper Shotgun
As part of previously announced shifts for this blog, I'm going to start pitching my longer design articles to various outlets instead of posting it here.
The first of these articles is now up -- it's a piece about various climate crisis games and how they play with the idea of environmental apocalypse. I also define a rough taxonomy of different climate crisis game subgenres, like flood games, ice age survival sims, and world sims.
As we all grapple with the ramifications of climate change, it's important for us to imagine stories and worlds about it, because this is how we process life as a society. If you look back at art and media in the 60s and 70s, you'll see a lot of "space age" art and aesthetic, obsessed with rocket ships and moon colonies, essentially giving birth to alien invasion stories and space opera. I think we're in the first half of a similar "green age" wave of environmentalism across art and culture, and there's already a lot of emerging genres and traditions here.
You can read it all over on Rock Paper Shotgun. Thanks to Brendan Caldwell for thoughtful edits.
Thursday, July 4, 2019
Interview(s) with Mashable for Pride Month
If you want to see me squirm, then maybe check out the video -- but whatever you do, definitely check out Wonderville if you're ever in New York City. It has one of those rare and coveted Killer Queen cabinets set to freeplay, it has an amazing Soviet flight sim cabinet where you destroy America (with real vector display), and it's also currently the home of the first queer community arcade cabinet The DreamboxXx for which I contributed my queer brawler defense game Dream Hard.
Happy pride, and have a good summer everyone!
Saturday, June 29, 2019
State of the design blog
But those are just convenient reasons, instead of the more difficult reason that I'm reluctant to face:
I've decided I'm going to blog here less, and I'm not going to feel bad about it.
Friday, May 17, 2019
Capsule reviews, vol. 1
Capsule reviews are short critiques of games that I've been playing. In this post, I discuss Heaven's Vault, Virginia, Islanders, and Two Point Hospital. There's no specific story spoilers, but I do talk about how I think the games work.
Heaven's Vault. The dynamic branching and language system is great and impressive, and the Muslim-inflected sci-fi art direction feels fresh. It's basically a must-play for anyone interested in narrative design. (Maybe the main weakness is the less-than-relatable characters, who basically feel like vehicles to bring about plot beats. Which is probably how the narrative system works! Hmm.)
The game pacing feels awkward for much of the game. You get to do one fun archaeological linguistics detective scene every hour, but to get there, you have to sit through an uncomfortable water slide mini-game. It's meant to give a sense of journey and a bit of rest (as well as pad out the game length) but it's a bad sign when even the fast travel options here feel inconsistent and confusing; sometimes the game lets you go back to your ship cabin to ask for fast travel, and sometimes not.
But also just on a core minute-to-minute basis, the movement and camera never felt comfortable for me, and The Last Express styled character animation never stopped feeling like a crutch for scoping down production costs. It's interesting how this project made so much (very impressive) progress on "hard" game design problems like dynamic narrative or language simulation, but then tripped on what's considered relatively "easy" solved design problems like 3D character movement, game feel, or encounter pacing.
Again, though, I still think this is a must-play for anyone working in narrative. Just soldier through the less fluent parts.
Wednesday, May 1, 2019
We must cultivate our garden: games as personal history
This post is based on a talk I gave at A MAZE Berlin 2019, as part of the Dev.olution "Games as Gardening" summit, as part of my 2019 European Tour.
When I think about gardening, I think of Voltaire's 1759 novel Candide. (No, really. No joke. I did think this.)
It's about a teen named Candide who goes on an extremely painful journey of tragedy, loss, and struggle. The entire time, his mentor Dr. Pangloss keeps insisting that nonetheless they still live in "the best of all possible worlds." The video game equivalent would be indies lamenting how hard it is to make a living, and tone-deaf Steam reps and Epic Store reps claiming that "games are a meritocracy"
Voltaire asks, how can you witness all that pain and still insist that everything is fine? By the end of the book, Candide and his few surviving friends are barely scraping a meager existence on a desolate farm. And after suffering absurd hardship and misery, Pangloss still insists everything turned out for the best, to which Candide responds: "all that is very well, but let us cultivate our garden."
Tuesday, April 23, 2019
Lessons from Europe: fields reports from EGX Rezzed, Now Play This, and A MAZE Berlin
I had never been to EGX Rezzed or Now Play This before, and this was my third time at A MAZE.
I went because I feel like much of the game industry is still focused on the US, but to me, the majority of the interesting games culture and arts events seemed to be happening in (Western) Europe. What are they doing over there, what's their magic sauce, and how can I bring some of that sensibility back to the US?
Here's some general thoughts and Wot I Think:
EGX Rezzed
EGX Rezzed is mainly a customer-facing fan expo branded by Eurogamer and Rock Paper Shotgun in the Tobacco Docks, a complex of open-air brick vaults ringed with balconies and breakout rooms that feel like giant people-sized aquariums. It's a fraction of the size of the main EGX London or bigger US fan expos like PAX, but still features the same tabletop gaming rooms, indie publisher megabooths, and merch stands. It was fine, but personally I'm just not very interested in fan expos.
I enjoyed the more eclectic Leftfield Collection room, curated by David Hayward each year. And I particularly enjoyed Doggerland Radio by Amy Godliman, a modded vintage radio that you can tune to pseudo-real BBC radio dramas and poetic shipping forecasts, while playing with bespoke "feelies" like an impossibly old novel made of other novels or old vintage-style maps. It's like a very British version of Calvino's Invisible Cities, a mobile art game installation that would make the most sense in the UK.
The local neighborhood feels awkward even for London -- you either have to walk 20 minutes east from the Tower of London tube station, or take a semi-incorporated public transit line called the DLR. Other than the event venue, there's approximately one McDonalds with a 100 person
Thursday, March 28, 2019
Radiator European Tour 2019 (London, Berlin, Milan) + Level With Me hiatus until April 17
In April, I'm going to cram ~6 different events into a whirlwind week of travel through London and Berlin. What's wrong with me? Why did I sign up for all this? There's only one way to find out how much of a wreck I'm going to be...
I'm planning on covering a wide variety of events, both free / non-free, and for gays / gamers / insiders / general public alike, so take your pick:
LONDON, UK
- April 6: EGX Rezzed at Tobacco Docks, London
I've heard nice things about Rezzed and I've always meant to go, so now is the time of reckoning. My talk "Designing For Sex Games" will be a short teen-friendly PG-13 introduction to sex and intimacy in game design, aimed at the general gaming public, at around 4:30pm on the last day of the festival. - April 7: Now Play This at Somerset House, London
Now Play This is one of the jewels of the European game festival circuit, and I've always been meaning to go. I'll be presenting at their very very cleverly named mini-conference "A Series Of Interesting Decisions" on the design choices going into my next sex game Macho Cam.
Tuesday, March 26, 2019
new Unity tool: Bobbin
I wanted to be able to write game dialogue in Google Docs (from my phone or tablet, or to share with external collaborators) and then automatically send those changes into the Unity project on my laptop.
To help me do that, I made a free open source tool called Bobbin, which is a relatively simple Unity Editor plugin that can automatically download the data at URLs, and import that data as a file in your Unity project. Again, it's very simple: every X seconds, it opens a list of URLs (as if it were a web browser) and then it saves all the bytes as a .txt, .csv, .png -- or in-theory, whatever file type you want. Note that this is just an automated download manager, you will still need to write your own game code to actually import, process, and use these files in your game.
The main audience for this tool is narrative designers, writers, localizers / translators, and designers / developers who need something fast and lightweight for syncing files with external collaborators. I imagine it also pairs well with text-based narrative plugins like Yarn Spinner, where in-theory, you could collaboratively write Yarn scripts in a Google Doc and then use this tool to automatically bring the script into your game.
(But if you're making a game that's going to make heavy use of spreadsheets, you should probably use something more robust like Meta Sheets or CastleDB-Unity-Importer, which can import your spreadsheet data as C# types with Intellisense auto-completion in your IDE.)
Anyway, I'm planning on a few more feature updates, like runtime support and/or better Google Sheets support, but personally I'm probably not going to expand the feature set much beyond that.
I hope you find it useful! And as always, feel free to submit any bug reports (or small feature requests) by opening an issue on the github.
Wednesday, March 20, 2019
Consider supporting Wonderville on Kickstarter
I rarely stump for Kickstarters on this blog. Maybe once or twice a year? So it's a big deal when I spend this year's quota on Wonderville, a new indie game arcade / event space / bar in Brooklyn run by longtime non-profit art games organization Death By Audio Arcade.
They need $70,000+ to support their first year of operations, as they take over the space from Secret Project Robot, a well-known and beloved queer-friendly performance space / venue in Bushwick.
Honestly, that last bit caught me by surprise. I didn't know Secret Project Robot was looking for someone to take over? If we're deciding between allowing the death of yet another creative venue in NYC vs. finding a worthy successor to carry on similar work, the choice is obvious.
Everyone knows and recognizes the importance of independent venues to sustain a local music scene. Well, it's also the same ideal for video games too: we need these physical places to build and sustain creative communities. And once we have these local anchors and templates, we can follow up in other cities throughout the world too.
For more context and discussion, see my older post on "Theorizing local games cultures in a post-TIGSource era".
Saturday, March 16, 2019
GDC 2019 plans
![]() |
I'm already exhausted, just from looking at this picture |
The usual GDC disclaimers apply: GDC is mostly a business event, and it's boring unless you have any business to do, or if you have some weird public profile to maintain. Anyway, don't feel bad about not going. You saved yourself a lot of money!
On Tuesday, I'll probably be spending a lot of the day at the Level Design Workshop mini-track. My days of breathlessly live-tweeting talks are over, but I'll probably do at least a brief summary for most of the sessions.
For Wednesday afternoon, I'm holding some "open office hours" at the NYU Game Center booth on the expo floor. If you'd like to meet me or ask for advice or discuss something, I'll be there. Later that night, however, I actually won't be participating in the Delete GDC party anymore -- you can read our statement here. Instead, I might spend a quiet night somewhere else, or maybe I'll check out the Gay Game Professionals (GGP) party; last year there was even free gourmet pizza if you arrived early. The gays know how to eat.
On Thursday afternoon, I'll probably hangout at Lost Levels in Yerba Buena Gardens for a little while; if you don't have a GDC pass and I don't already know you, then that's probably your best chance of randomly talking with me. Afterward, I'm giving a sexy game design micro-talk at 5:30pm on the Advocacy track, which means anyone at any GDC pass tier can attend. Then to celebrate the end of my obligations, I'll probably attend the GDC speaker party / open bar, where I'll try to drink as much fancy Japanese whiskey as I can.