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


Manchester International Festival (MIF) just announced my upcoming project "We Dwell in Possibility", a queer gardening crowd simulation in collaboration with illustrator Eleanor Davis, to be released in July 2021. It'll be free and playable in your web browser.

This commission has been interesting because I'm learning and trying a lot of work that I don't usually do, which came about as a cascading chain of design constraints:
  • 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.
The two takeaways I want to emphasize here are:

(a) even experienced developers / artists are always learning and growing... and according to the artistic-industrial complex, I'm entering a phase known as "mid-career"? oh dear

(b) grants, commissions, and public arts funding are what gives people space and time to do that vital growth... meanwhile, commercial works and solo side projects often force us into our comfort zone, which can act as a ceiling on that growth

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"

I made another Quake map! This one is called "Smell It In The Street" and it was made for the Doom Tintin map jam, a level design jam centered around using Quake mapping community member Tintin's texture pack that samples from Doom 3 textures.

Some brief level design thoughts follow:

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

I finished playing two 2020 RPG tactics games recently: Horizon's Gate and Gears Tactics. I've also written at length about Invisible Inc before. I clearly want to make a tactics game someday? Anyway here's my design analysis and thoughts.

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

Horizon's Gate is a retro pixel art open world sailing game about exploring towns and dungeons, buying low and selling high, and getting into battles where you push and pull and surround. It's very good and you should play it. If you don't have much time, you can probably stop after like 5 hours.

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

Hello all. It's 2020. The world feels... different. Hopefully you're all doing OK!

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:




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.


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

This year I'm investing a lot more of my time and energy into streaming. For better or worse.

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.