tag:blogger.com,1999:blog-11306221094250933012024-03-16T14:51:34.119-04:00Radiator BlogVideo game design and culture notes by Robert YangRobert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comBlogger768125tag:blogger.com,1999:blog-1130622109425093301.post-70590038025694463242024-02-04T03:19:00.006-05:002024-02-04T03:39:37.835-05:00new Quake map: "Taught By Thirst" for Remix Jam<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLamYK6tir_sfBIgvcP8faRddVWd8_-_EDTeASQC2oj8tz2etCZm7rcPW1BAEmWIE3kTaIn_JdvPBgDQ3djV2a0NQryf0oCyAnMLVYWf7JLynydH_j9PCv1FnOi8CyVfsIwUSTIKeL-7r-bxhI9N670FRKP91ej1UIAQt7H0aPal1ahmUdDf5xHVnYMV4/s1280/TaughtByThirst1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLamYK6tir_sfBIgvcP8faRddVWd8_-_EDTeASQC2oj8tz2etCZm7rcPW1BAEmWIE3kTaIn_JdvPBgDQ3djV2a0NQryf0oCyAnMLVYWf7JLynydH_j9PCv1FnOi8CyVfsIwUSTIKeL-7r-bxhI9N670FRKP91ej1UIAQt7H0aPal1ahmUdDf5xHVnYMV4/w640-h360/TaughtByThirst1.jpg" width="640" /></a></div><p><b>Taught By Thirst</b> is a new Mesoamerican themed single player Quake map that I made for <a href="https://www.slipseer.com/index.php?resources/remix-jam.315/" target="_blank">Remix Jam</a>, a 3 week community level design event where we all adapted multiplayer maps from other games for Quake. </p><p>The definition of "remix" was kept loose on purpose, and anyway some of the fun is in figuring out where the map came from... although that's not the case with mine: I clearly adapted <a href="https://www.narby.net/?page_id=29" target="_blank">de_aztec by Chris "narby" Auty</a> from Counter-Strike.</p><p>In this post I will talk about my inspiration and intent. I also explain what happens in the level. If you want, play it before reading this post. <b>This is your last SPOILER WARNING.</b></p><p><span></span></p><a name='more'></a><p></p><p style="text-align: center;">***</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsD7Ehx-8r39ongd-paQYCxddsBKoqCKVx9-EchaQWqbsoUP9dmNa5rZmwK7xuom27kU3KWpQkbxvBoDUPuKxCfrQNZRsWOBdU6aZPD-jFzsryKAHhlkPT7-HpmGIBAbpHD2W-RhXfPJHFGWIJC9m3fmg9ccYaQP_6CqTjxQUkBnP7EWSMDnMuQmBGQSE/s1024/De_aztec0017_Bombsite_A-3rd_view.webp" style="clear: left; float: left; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsD7Ehx-8r39ongd-paQYCxddsBKoqCKVx9-EchaQWqbsoUP9dmNa5rZmwK7xuom27kU3KWpQkbxvBoDUPuKxCfrQNZRsWOBdU6aZPD-jFzsryKAHhlkPT7-HpmGIBAbpHD2W-RhXfPJHFGWIJC9m3fmg9ccYaQP_6CqTjxQUkBnP7EWSMDnMuQmBGQSE/w200-h150/De_aztec0017_Bombsite_A-3rd_view.webp" width="200" /></a></div><p></p><p><a href="https://counterstrike.fandom.com/wiki/Aztec" target="_blank">de_aztec</a> has a long history. It was added to the map cycle early on in CS Beta 6.5 (June 8, 2000) and began as a grayer <a href="https://counterstrike.fandom.com/wiki/Dust" target="_blank">de_dust</a> with a central underpass, double doors, nice big ramps -- but with even more vulnerability and polarizing chokepoints, especially its iconic flimsy bridge suspended over a wide sniper alley river. Competitive players generally see it as CT-sided, which it probably is, but it has remained a fan favorite on CS 1.6 pub servers ever since.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkeBHsenKncBwj0Lq_7BJMMFNOaaFbFoIeOmFw15rwMl1cIiu56my9NOzM8SnsHKh-IEq3wjKonQZ0jfh7Bc7XlajxcSVgP_ZbwSsz3GkALgjK0jqp_Bg76YEn1ioGlul0ykNlKIg7kIptDNo7HZBXo04Jzd9zrUCxDe-jbu2-2Vr9RrxMrp_lo-AuHsY/s1280/aztec_cs-source.webp" style="clear: left; float: left; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="113" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkeBHsenKncBwj0Lq_7BJMMFNOaaFbFoIeOmFw15rwMl1cIiu56my9NOzM8SnsHKh-IEq3wjKonQZ0jfh7Bc7XlajxcSVgP_ZbwSsz3GkALgjK0jqp_Bg76YEn1ioGlul0ykNlKIg7kIptDNo7HZBXo04Jzd9zrUCxDe-jbu2-2Vr9RrxMrp_lo-AuHsY/w200-h113/aztec_cs-source.webp" width="200" /></a></div>Later the 2004 official remake for Counter-Strike Source had some great visual ideas. The temples break up the silhouette and skyline, adding much needed depth to the flat geometry. However the dark lighting and texturing transform much of the play area into an unpleasant mid-brown mess, and its reliance on Source displacements leaves it feeling a bit blobby and melty. Like a lot of Counter-Strike Source, it often feels more like a game engine tech demo rather than something for humans to play. And anyway it made minimal layout changes, so if you didn't like playing Aztec already, you definitely wouldn't have been converted here.<p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxa-8WPUmFF9s0cub_v0XV8gS8GWT1RR3PPdpQXSd-hEEwC5ondweDnrhqwUaUoTNg_NTTsmdVw96RRt7ViVVttowknE_EUjMYX3c5AD0S6o3zlsHdDOpRR6d6ICBcRN_LrgIKOOvI6oXAZ25gReRZy4HLHXM8rvGPwWpN8-zNZOAA3ZTLcOR1k6D6iyg/s1915/aztec_cs-go.jpg" style="clear: left; float: left; margin-right: 1em;"><img border="0" data-original-height="1076" data-original-width="1915" height="113" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxa-8WPUmFF9s0cub_v0XV8gS8GWT1RR3PPdpQXSd-hEEwC5ondweDnrhqwUaUoTNg_NTTsmdVw96RRt7ViVVttowknE_EUjMYX3c5AD0S6o3zlsHdDOpRR6d6ICBcRN_LrgIKOOvI6oXAZ25gReRZy4HLHXM8rvGPwWpN8-zNZOAA3ZTLcOR1k6D6iyg/w200-h113/aztec_cs-go.jpg" width="200" /></a></div>In 2012, the last official remake of Aztec for Counter-Strike: Global Offensive was much brighter and more readable with some very sensible layout changes (which I'll discuss later in this post)... but sadly that wasn't enough to rescue its tainted reputation. In 2017, Valve quietly removed Aztec from the current CS:GO / CS2 mapcycle, and it has since been permanently replaced by its more balanced modern successor <a href="https://counterstrike.fandom.com/wiki/Ancient" target="_blank">Ancient</a>. <div><br /></div><div>So... Aztec is a flawed cult-classic ghost map that only lives in millennial gamer memory now... a perfect subject to rebuild and rethink for a boomer shooter.<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoPEiLbdHXhJleK6glPWlElGt3hgjZrZfKHGjzE-HMme9rPbGtKlorjvQGkpBCFlthaneLC4pbgFm8BrW3WBhbLpv2dvymQpDYQgPppnwMuJAlhg49mfH7gz-I8YdJDGNPIZADTTT15fQylWCZPWsjizwqTMyRldPnqZC-jc5LU9mNtE0MG333pbUV3s4/s1280/TaughtByThirst_Sidehall.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoPEiLbdHXhJleK6glPWlElGt3hgjZrZfKHGjzE-HMme9rPbGtKlorjvQGkpBCFlthaneLC4pbgFm8BrW3WBhbLpv2dvymQpDYQgPppnwMuJAlhg49mfH7gz-I8YdJDGNPIZADTTT15fQylWCZPWsjizwqTMyRldPnqZC-jc5LU9mNtE0MG333pbUV3s4/w640-h360/TaughtByThirst_Sidehall.jpg" width="640" /></a></div><p>Now, this is my 11th Quake map overall, but my 3rd multiplayer adaptation. My previous map <a href="https://www.blog.radiator.debacle.us/2021/09/new-quake-map-tell-me-its-raining.html" target="_blank">Tell Me It's Raining</a> adapts fy_iceworld from Counter-Strike, while <a href="https://www.blog.radiator.debacle.us/2021/06/new-quake-map-daughter-drink-this-water.html" target="_blank">Daughter Drink This Water</a> adapts Hang 'Em High from Halo.</p><p>Since this isn't my first remake rodeo, this time I decided to try a different design strategy from my previous levels: this is a very "straight" adaptation. I painstakingly rebuilt the map from decompiled scraps to ensure an uncanny feel when walking around, and I preserved most of the existing combat cover, double doors, and other core flow. </p><p>Visually, my rendition is much brighter and warmer, but I did keep the same sunlight angle and even the exact wood planks on the famous bridge. And although I couldn't resist adding some colorful salmon-red rocks, I still textured most of the level in a similar mossy gray stone to mimic the original feel, with ample vines and swamp ambiance. (Thanks to <a href="https://www.slipseer.com/index.php?resources/makkon-textures.28/" target="_blank">Makkon's excellent textures</a>, as always.)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBTLJvoH4Oh8x5c3ti-UjcSBLrhyphenhyphenp46INaWc0xwHF1PPEQWGNJ_kPNUPafNC5i3Xiq4YtJzW8VG7bdxfFC7BPgSXqic3uVUuqkFqxo6hXJfOWx_uS9i7ZL8n0qNlVddEAtI8gCOBAbOk4MOVqs5txELkIRFHKTsqMp0ys6cAvI4wvAJzv6P93yOTAfxYA/s1280/TaughtByThirst_Bsite.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBTLJvoH4Oh8x5c3ti-UjcSBLrhyphenhyphenp46INaWc0xwHF1PPEQWGNJ_kPNUPafNC5i3Xiq4YtJzW8VG7bdxfFC7BPgSXqic3uVUuqkFqxo6hXJfOWx_uS9i7ZL8n0qNlVddEAtI8gCOBAbOk4MOVqs5txELkIRFHKTsqMp0ys6cAvI4wvAJzv6P93yOTAfxYA/w640-h360/TaughtByThirst_Bsite.jpg" width="640" /></a></div><p>Since the level design hews so close to Counter-Strike, my initial idea was to experiment with implementing some round-based gameplay in Quake. </p><p>You would've played on the same map across a series of rounds, each with different enemy placement. Your goal would've been to defuse a bomb, randomly hidden at one of the bombsites. It would've been an unholy Counter-Strike / Quake hybrid.</p><p>However, I realized I barely had the patience to test and tune one round of encounter design, let alone 3-5 rounds of different enemy compositions. The technical aspects of wrangling the entity scripting also would've consumed a lot of time that I just didn't have.</p><p>So instead this is still a somewhat traditional Quake map, with a start and an end and a bunch of monsters in between.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL3ZubLYKhVy2htUOmU5v1sxCou5t50DyAh1pFT9WaHyS0QLNbZbrex602eJw8unvUQPV-FwCD2lEJm0mqVb2yWpaXsZa3Gw8zxE403Njw0tZr3DC1QHAGsofapiQQysvFsKqH9p2scGnhtiJhrVagSaO7Di6sGjSv6gj-K6Safjy2bQSme4gTyMs5EMY/s1280/TaughtByThirst_CTSpawn2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL3ZubLYKhVy2htUOmU5v1sxCou5t50DyAh1pFT9WaHyS0QLNbZbrex602eJw8unvUQPV-FwCD2lEJm0mqVb2yWpaXsZa3Gw8zxE403Njw0tZr3DC1QHAGsofapiQQysvFsKqH9p2scGnhtiJhrVagSaO7Di6sGjSv6gj-K6Safjy2bQSme4gTyMs5EMY/w640-h360/TaughtByThirst_CTSpawn2.jpg" width="640" /></a></div><p>Crafting traditional Quake gameplay required some divergence from the original layout, but even so, I tried to keep my changes in dialogue with the original's ideas.</p><p>Like I start you in a sewer near the CT spawn, which the original map cordoned-off strictly as scenery -- the space was always there, I've just made it playable.</p><p>The bombsites don't function as bombsites anymore, but I still mark them with special floor dressing, vital weapons, and explosive stuff. They are still key areas for gameplay with major fights.</p><p>Or take the big wide river that snakes through the map -- on Normal / Hard mode I've filled it with poisonous slime, so it still functions as a dangerous no man's land that slows down your movement.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinfDmHN7Pjd2MQgjCMIrldKEY9Z74D8vlkd81sSR16S15JlaFms_9987rhApCKqXGNicTlu_iw0aNYPQ0XzGnbC5oToTbb2_EDZ-XgT6QuSVQd-E3juv2dhius7J1gMFJz_C13OXQi1HAxNyP2uaSHnQf4bz7Uln_CKF2CY4PD3K3qJd7q6ppqTUP-pms/s1280/TaughtByThirst_Bombsite.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinfDmHN7Pjd2MQgjCMIrldKEY9Z74D8vlkd81sSR16S15JlaFms_9987rhApCKqXGNicTlu_iw0aNYPQ0XzGnbC5oToTbb2_EDZ-XgT6QuSVQd-E3juv2dhius7J1gMFJz_C13OXQi1HAxNyP2uaSHnQf4bz7Uln_CKF2CY4PD3K3qJd7q6ppqTUP-pms/w640-h360/TaughtByThirst_Bombsite.jpg" width="640" /></a></div><p>My encounter design also plays off common Counter-Strike player tactics. Monsters often camp atop the climbable stacks of crates, or wait in ambush behind the iconic double doors. (I had to widen the door gaps a lot to accommodate Quake's pinball pathfinding AI.)</p><p>But my favorite part of Aztec's combat flow is the bridge. I like it so much I block off other paths to try to make you use it. It's a thin flimsy looking thing that looks super unsafe, evoking its function as a dangerous chokepoint that leaves you very vulnerable and exposed to from nearly every angle.</p><p>Here I amp the bridge anxiety another step, filling the swamp river below with Spawns, terrifying fast exploding jumpers that every Quake player hates. The spawns can't actually reach you high up on the bridge, but hopefully the sight and sound of 5-10 of these scary jumping things is enough to melt some brains. (For reference, usually just 1 Spawn is enough to make players panic and hate the level designer.)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrsDoKSqnCIeM-yZztlNYjaqcZVItnIbpI_RYTSY4uxoIYY_hopSt_S-Fd0HYEyKdkIxZNoh7f0UB7eqaSxKgHufbLzYRsn-dpJfxRovt_JMKyAdiEnG5LimhQAr3w1BIrQCKqWmssVfNixw-lSBpB0ohNqOEpG52o3SSJkm7E8vl9HgY9WbowBptLpPw/s1280/TaughtByThirst_GoldKey2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrsDoKSqnCIeM-yZztlNYjaqcZVItnIbpI_RYTSY4uxoIYY_hopSt_S-Fd0HYEyKdkIxZNoh7f0UB7eqaSxKgHufbLzYRsn-dpJfxRovt_JMKyAdiEnG5LimhQAr3w1BIrQCKqWmssVfNixw-lSBpB0ohNqOEpG52o3SSJkm7E8vl9HgY9WbowBptLpPw/w640-h360/TaughtByThirst_GoldKey2.jpg" width="640" /></a></div><p>There's no easy way to neutralize so many Spawns, but you need the gold key they're guarding. </p><p>To honor the map's nonlinear multiplayer heritage, I try to support multiple nonlinear solutions since you can improvise different routes / tackle fights in different orders:</p><p></p><ul style="text-align: left;"><li>Snipe the Spawns from the bridge, maybe with Lightning or Grenades (expensive) or with all your shotgun ammo.</li><li>Grab a biosuit, jump down to get a nailgun, start spraying. (correct)</li><li>Find the invulnerability powerup and run in with guns blazing (secret canonical)</li></ul><p></p><p>I'm particularly proud of the secret solution, since I usually neglect secret design in my maps. But this one has enough to unpack...</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHo7BMEWgfHczQQtxohCUKDkDen_aMlb7JYt8zfmHlk69Q0BTBdN9Sp6qvWWsE4dmaZtmdrdwvwx7nwSKWPXm2NOmsOfGh-pc7-mwGQkcI4YvRQyalhfsqvT9Tv-xY-MlBNemefeg1z75L2xExWs0bngq_KY29eByGKlnOLV2Xxvfg8FWE2b9lDVaAtik/s2000/aztec-call-outs.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1094" data-original-width="2000" height="350" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHo7BMEWgfHczQQtxohCUKDkDen_aMlb7JYt8zfmHlk69Q0BTBdN9Sp6qvWWsE4dmaZtmdrdwvwx7nwSKWPXm2NOmsOfGh-pc7-mwGQkcI4YvRQyalhfsqvT9Tv-xY-MlBNemefeg1z75L2xExWs0bngq_KY29eByGKlnOLV2Xxvfg8FWE2b9lDVaAtik/w640-h350/aztec-call-outs.jpg" width="640" /></a></div><p>When Valve remade de_aztec for Counter-Strike: Global Offensive, they made several changes. I include most of these tweaks (except the big pillar that ruins the purity of the underpass) but I want to focus on two big changes to the T side: (1) reverse the narrow T-ramp leading out from T spawn, (2) delete the hallway from T spawn to T-water (not pictured above... because it was deleted.)</p><p>These changes make a lot of sense. It was always kind of a silly fake choice anyway -- go to this fun important junction full of tactical possibilities, or trudge down this random boring isolated hallway to the sewer river?</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWHA5265S8bhLdVc-xqRq2bSHLJJ5Fyn0ZxZLc8uW9zzeAms73W-OXH1EXyVbMoaIcuyoZA1KNdJkBFlP73fbpkEtSXnFwtiIgMRzua6NK3YCjh9GggwiDkG-oi3s4HBsQ27_Ryv8ZjkhnRKIeitKlA3A-KwRLC4kNjp67_O2ZlnmyVrGNu54NwbjMgws/s1280/TaughtByThirst_Secret.jpg" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="113" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWHA5265S8bhLdVc-xqRq2bSHLJJ5Fyn0ZxZLc8uW9zzeAms73W-OXH1EXyVbMoaIcuyoZA1KNdJkBFlP73fbpkEtSXnFwtiIgMRzua6NK3YCjh9GggwiDkG-oi3s4HBsQ27_Ryv8ZjkhnRKIeitKlA3A-KwRLC4kNjp67_O2ZlnmyVrGNu54NwbjMgws/w200-h113/TaughtByThirst_Secret.jpg" width="200" /></a></div>So I ported these changes to my version as well, but with one big wink: the "deleted hallway" is actually still there, unused and filled with cobwebs, accessible by a secret door. Savvy players familiar with the original version of Aztec will certainly probe for the missing hallway, but I also heavily hint at the secret for those who don't play CS, with a glaring texture misalignment and peculiar item placement. (I err on the side of too-obvious because I want all players to find it, it's kind of a fake-secret.)<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgubUZRsFPXsvOouGQRtSiNum3a7eeygkam7Y6xMxpBRkNAqSsciiMuGRPNBbwlGYZa9oCvN7a1dbTmbDC_OG5zglbYe3qfy6UyotxPgwZ6OYoi0MbhXcSZutJygv-AhOErCdWum38YfhNvlizvGwR6LGDwnsvvEB6R8wNaa8Jc0Rz0CnLQuGhAFx2L7zE/s1280/TaughtByThirst_GoldKey.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgubUZRsFPXsvOouGQRtSiNum3a7eeygkam7Y6xMxpBRkNAqSsciiMuGRPNBbwlGYZa9oCvN7a1dbTmbDC_OG5zglbYe3qfy6UyotxPgwZ6OYoi0MbhXcSZutJygv-AhOErCdWum38YfhNvlizvGwR6LGDwnsvvEB6R8wNaa8Jc0Rz0CnLQuGhAFx2L7zE/w640-h360/TaughtByThirst_GoldKey.jpg" width="640" /></a></div><p>Once you grab the Gold Key guarded by the Spawns down in the poison river, you can unlock the central corridor and take the teleporter.</p><p>I rarely use teleports in my maps. They feel like ladders -- inelegant band aids to smooth over abrupt flow. If you want verticality, you should plan stairs for it, and give enough space to develop the flow there. Don't make spatial promises you can't keep!</p><p>But when faced with whether to make a major layout change, or to preserve the layout intact faithfully without a big new stairwell, let it be known that I chose faith. Adding some stairs up to the roof would've felt a little too heretical -- so a teleporter it is.</p><p>Teleportation strengthens the surprise and impact of this moment anyway. You may not be sure where it leads, or may wonder whether it's the level exit. So you step inside... and boom, a whole new level to explore, right on top of the level you just played.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNKZiOP2DAWrryX2uPI7mMFuz5HesIPuQRuo5kyTWj9SYrBmJhJhW-pnpg_qUnbRZNC3SdCKjudvkLtpyhMOGBSLiVck82k1VraNH_FZAFAuQndtLPtlbs3Ny3PTZHokLmhyNcWPJaEdOaNUsycYTVN_6WLPYEg2t6lsUvkDWIu0t3E-pInDqBwcrS1M8/s1280/TaughtByThirst_Rooftop.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNKZiOP2DAWrryX2uPI7mMFuz5HesIPuQRuo5kyTWj9SYrBmJhJhW-pnpg_qUnbRZNC3SdCKjudvkLtpyhMOGBSLiVck82k1VraNH_FZAFAuQndtLPtlbs3Ny3PTZHokLmhyNcWPJaEdOaNUsycYTVN_6WLPYEg2t6lsUvkDWIu0t3E-pInDqBwcrS1M8/w640-h360/TaughtByThirst_Rooftop.jpg" width="640" /></a></div><p>Obviously in the original Counter-Strike version, you can't run around on the roof. In fact, each room had its own sealed-off sky, so you couldn't even lob grenades over walls. </p><p>My version unifies it all into one big continuous space. Adding this fully-explorable roof layer emphasizes this continuity -- which is only possible 25+ years later when framerate and map optimization is much less of a concern. On modern computers today, rendering this entire level incurs approximately the same processing cost as Nathan Drake's chest hair.</p><p>Yet some things never change, like Quake's terrible slope handling. I've learned my lesson from my previous map <a href="https://www.blog.radiator.debacle.us/2022/08/new-quake-map-breakfast-under-balloons.html" target="_blank">Breakfast Under The Balloons</a>, where organic angles and slopes destabilized player physics as well as monster physics. Most of the slopes here are very clear 22.5 or 45 degrees slants, rising squarely along the grid, and crucial climbables have zero slope for maximum stability. In the end you have to map for the game physics you have, not the physics you wish you had.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbB2nioqa-BcGVzctMzbKwLyVQlg_PV-wY9-v764lXGbQg9HhX-8qhMPCPnJEoU3q4UQJLvpr22LoJ3F4NG891H2x7R7ktrTNao60mLPjME6LcY0FpqngI8pFpz8fVgBvc10tRdlC-SBe59JfcVlRknPcZmhRR4uCTNyZxFjPg0kbDU4sLPY0vPYPgGEM/s1280/TaughtByThirst_PyramidShambler.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbB2nioqa-BcGVzctMzbKwLyVQlg_PV-wY9-v764lXGbQg9HhX-8qhMPCPnJEoU3q4UQJLvpr22LoJ3F4NG891H2x7R7ktrTNao60mLPjME6LcY0FpqngI8pFpz8fVgBvc10tRdlC-SBe59JfcVlRknPcZmhRR4uCTNyZxFjPg0kbDU4sLPY0vPYPgGEM/w640-h360/TaughtByThirst_PyramidShambler.jpg" width="640" /></a></div><p>To finally finish the level, you must fight your way up a giant Mayan-inspired step pyramid seemingly made of gold, resembling the famous Temple of Kukulcán at <a href="https://en.wikipedia.org/wiki/Chichen_Itza" target="_blank">Chichén Itzá</a>. </p><p>As a FromSoftian gesture, a shambler awaits you at the top with its back turned. There's very little cover around the pyramid and you would be at the mercy of the shambler's lightning hitscan attack, so placing the shambler like this is a level design signal -- make sure you're prepared.</p><p>To prepare, you can explore the rest of the rooftop area and stock up on supplies. There's a sneaky little side climbing route that takes you past the map start at CT spawn, as well as a large arena in the middle, and another big fight atop the T spawn. These fights don't have any shamblers, but there are plenty of melee and ranged monsters to dodge and clear, providing access to Super Nailguns and lots of Lightning Gun ammo good for shredding a shambler... and that's the end!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8aIvhb46pvazn1yYUPwg9uYO9tlvZ_Kf6fqKncjuGj3QMsW3JzbXbCeJ3xUBp2mKgzL-12H9mJUstykFOWOoF8AgvH9Dt5QJAUqWq-fJF7pZ06FMV7NDmR_Dx0vv8IlFt8I6U5SI93V0vNF4gbMH48Fk7knb5eMqrjogLv33SQzRRvlETpT9V0_Lqr0s/s1280/TaughtByThirst_Overview.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8aIvhb46pvazn1yYUPwg9uYO9tlvZ_Kf6fqKncjuGj3QMsW3JzbXbCeJ3xUBp2mKgzL-12H9mJUstykFOWOoF8AgvH9Dt5QJAUqWq-fJF7pZ06FMV7NDmR_Dx0vv8IlFt8I6U5SI93V0vNF4gbMH48Fk7knb5eMqrjogLv33SQzRRvlETpT9V0_Lqr0s/w640-h360/TaughtByThirst_Overview.jpg" width="640" /></a></div><p>The map's title, as usual, comes from a poem by Emily Dickinson:</p><p></p><blockquote><i>Water, is taught by thirst.<br />Land — by the Oceans passed.<br />Transport — by throe —<br />Peace — by its battles told —<br />Love, by Memorial Mold —<br />Birds, by the Snow.</i></blockquote><p></p><p>Poetry-wise, it's a little blah. Yeah yeah Emily, absence makes the heart grow fonder! Tell us something we don't know! But even at her not-best, she's still doing cool language stuff: Dickinson sets up a pattern in the first line ("... is taught by...") that culminates in a haiku-like last image ("Birds, by the snow"). You know from context to read it as "Birds [are taught] by the snow", but that key phrase is itself absent, you have to remember it, which is what the poem is about! Presence through memory. Like teaching. Like some sort of impossible snow bird.</p><p>While it's a shame that no one taught Dickinson about penguins, it's an even bigger shame that no one taught her single player Quake level design. With her masterful use of patterns and implication, I think Emily Dickinson would've been an excellent level designer with strong insights about competitive map balance.</p><p style="text-align: center;">***</p><p>Thanks to playtesters JoyModulo and Spootnik for playtesting and feedback, and thanks to Fairweather for organizing and additional QA.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://www.slipseer.com/index.php?resources/remix-jam.315/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="243" data-original-width="1358" height="114" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSiKE8iNdrMB6Spq2Fa3TghHZjOZhXNiIvMhHlCVCWgacCN6SiOtTzEJe1YQY_2zf0Fjaom2dotqWPOutrJN9y0n-WXe9VZglfYGsMck61oexEl5bKR7YFFm-dmF1hAPZSfV5J3AnGFMG8XtN9Wc4p6aUohCSF_bRIRNZhO5_W_p32keGnvOEqMol_x94/w640-h114/remix-jam-banner.png" width="640" /></a></div><p>You can download this map and 29 other amazing remix maps (Rainbow Road! Blood Gulch! de_dust! Chiron! KGalleon! Facing Worlds! etc) at the <a href="https://www.slipseer.com/index.php?resources/remix-jam.315/" target="_blank">Remix Jam on Slipseer</a>.</p><p>If it's been a While since you last played Quake, you may need some help with setting up Quake and installing mods via the <a href="https://www.slipseer.com/index.php?forums/new-to-quake-start-here.17/" target="_blank">"New to Quake? Start Here" guide on Slipseer</a>.</p><p>For a quick primer to Quake level design culture, also see <a href="https://www.rockpapershotgun.com/quake-renaissance-how-to-start-playing-quake" target="_blank">part 3 of my Quake Renaissance series for Rock Paper Shotgun</a>. Be advised that the install guide is a little outdated though -- most of the community's Quake engine of choice is now <a href="https://github.com/andrei-drexler/ironwail" target="_blank">Ironwail</a>.</p></div>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-58002278192290610292023-11-14T03:36:00.018-05:002023-11-14T04:09:08.921-05:00new jam game: Where's the beef<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglrXJArKRpijuODHmyfWQWPthKWhwsZS-D646wdteHbCwFTT-VzxaaoxS-1RXT7LhvufztfVMF0mNMAVTUVNxu8T4C7-asPPf9vRaZlE94KrRgsL8msG4tNXhaj2cg6DGqNipj6xldZKOhKzQwJz2Twml1RqtkuD7NK6mBHtR1S6RaYbskCO2cvA_SBiM/s948/wheres_the_beef.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="529" data-original-width="948" height="358" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglrXJArKRpijuODHmyfWQWPthKWhwsZS-D646wdteHbCwFTT-VzxaaoxS-1RXT7LhvufztfVMF0mNMAVTUVNxu8T4C7-asPPf9vRaZlE94KrRgsL8msG4tNXhaj2cg6DGqNipj6xldZKOhKzQwJz2Twml1RqtkuD7NK6mBHtR1S6RaYbskCO2cvA_SBiM/w640-h358/wheres_the_beef.jpg" width="640" /></a></div><br /><div>I released a quick little jam game about 2 weeks ago, but I realized I never posted it here, so here it is:</div><div></div><blockquote><div>"<b><a href="https://radiatoryang.itch.io/wheres-the-beef" target="_blank">Where's the beef</a></b> is a silly little beef-finding web browser game made in zero hours for 0h game jam 2023 (<a href="http://www.0hgame.eu/">http://www.0hgame.eu/</a>) where we make games in "zero hours" when daylight savings time switches over (in Europe)"</div><div><br /></div><div>"15 levels of beef finding; literally photorealistic graphics; can YOU find the beef???"</div></blockquote><p>For all the zoomers / teens reading this -- <a href="https://en.wikipedia.org/wiki/Where%27s_the_beef%3F" target="_blank">"where's the beef?"</a> was a popular catchphrase in a Wendy's ad campaign back in the 1980s...</p><p><span></span></p><a name='more'></a><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2j0SvCd3tkOuQK1Eryi8B0TYbOQHSKwJixz1vzMMJw2UT-ZR0Hw8a3wCi-WIO7Vfp0KZpG8KRzbt3JnJlES-lUS6CBhYSg-otoiQb0YVXMHTgID_W80HVVi-7ej17EQSstUzYZBjxJvhhSf4fgCpBkKSx9Ue4V_2dnramgg5u3v_GPGT4p_1IhrTJHNI/s325/Picture_sleeve_of__Where's_the_Beef__.jpg" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="306" data-original-width="325" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2j0SvCd3tkOuQK1Eryi8B0TYbOQHSKwJixz1vzMMJw2UT-ZR0Hw8a3wCi-WIO7Vfp0KZpG8KRzbt3JnJlES-lUS6CBhYSg-otoiQb0YVXMHTgID_W80HVVi-7ej17EQSstUzYZBjxJvhhSf4fgCpBkKSx9Ue4V_2dnramgg5u3v_GPGT4p_1IhrTJHNI/w200-h188/Picture_sleeve_of__Where's_the_Beef__.jpg" width="200" /></a></div>Much of the appeal of the phrase was the gender performance in the TV commercial, where an irritated elderly woman demands something of real substance... Supposedly an earlier version of the commercial, with a middle-aged man, tested poorly. <p></p><p>Which makes sense. Imagine a man complaining about a perceived lack of beef; you would immediately mutter to your dad to be quiet you're embarrassing me oh my god I can't go anywhere with you. <i>("Sir, this is a Wendy's...")</i> But now imagine a mom complaining about a lack of animal protein -- obviously a real grievance that requires attention because she's probably right.</p><p>The gender connotations and central question ("where?!") then made me think of hidden object games, a genre with an audience that traditionally skews heavily toward women. </p><p>This was a golden opportunity for my favorite game design trick: <a href="https://www.blog.radiator.debacle.us/2020/06/hard-lads-as-important-failure.html" target="_blank">make a game that's literally about doing the thing</a>, don't try to adapt it into a platformer or shooter or something! Just make the thing and let the activity breathe. </p><p>So this is a game about literally finding beef and clicking on it. Very simple.</p><p>The concept is so simple that the Unity project has zero code / zero C# scripts. The "zero hour" jam left little time to waste on programming. Instead, I leaned heavily on Unity UI and Unity Events for all my game implementation, playing with different button sprites that would disable each game object ("level") in sequence. </p><p>This speedy workflow actually gave me quite a bit of time to iterate on level design, which was a surprising luxury that I rarely associate with jam games. I tried to build up and pace out the jokes, I tried playing with different senses of "beef." Sometimes the beef is easy to find, sometimes it feels nearly impossible. But it's always there. And then, at last -- you find all the beef. As was foretold.</p><p><i>You can play <a href="https://radiatoryang.itch.io/wheres-the-beef" target="_blank">Where's the beef</a> in your web browser right now. It lasts a minute or two.</i></p><p><i>RELATED: The last time I participated in the 0h game jam I made <a href="https://www.blog.radiator.debacle.us/2011/11/0-hour-game-jam-apollo-2.html" target="_blank">Apollo 2</a>, back in 2011. Which was... 12 years ago?! Jesus christ.</i></p><div></div>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-31046375414799909392023-06-21T20:26:00.023-04:002023-06-21T20:37:22.515-04:00Design review of Against The Storm, by Eremite Games<p><b></b></p><div class="separator" style="clear: both; text-align: center;"><b><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiNKMKyeP29P_J1bqATpMa8pdiirIG7_LqzKYzfWjdnRy5_wxbnVYMjPwKZBbsuW3Sx56uI4nytVq7pqVEYjS6SwThqxMA3YjaCWSI3Wh5uBBf9ZjcJkWvs4oPGn7I6_IYhH0xKeCBRf4FOLAGHQhHY5r6-B_KQHwW9ZrL3Uhv3-VRSXaQKPLM9tKhn3c0" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1086" data-original-width="1930" height="360" src="https://blogger.googleusercontent.com/img/a/AVvXsEiNKMKyeP29P_J1bqATpMa8pdiirIG7_LqzKYzfWjdnRy5_wxbnVYMjPwKZBbsuW3Sx56uI4nytVq7pqVEYjS6SwThqxMA3YjaCWSI3Wh5uBBf9ZjcJkWvs4oPGn7I6_IYhH0xKeCBRf4FOLAGHQhHY5r6-B_KQHwW9ZrL3Uhv3-VRSXaQKPLM9tKhn3c0=w640-h360" width="640" /></a></b></div><b><br /></b><b>Against the Storm</b> by Eremite Games (<a href="https://store.steampowered.com/app/1336490/Against_the_Storm/" target="_blank">Steam page</a>, <a href="https://eremitegames.com/" target="_blank">official site</a>) is a popular 2.5D town-building run-based RTS with a Warcraft 3 inspired aesthetic and a deckbuilding meta-game progression.<div><br /></div><div>You spend an hour building a base while fulfilling randomized mini-goals for victory points. When you have enough victory points, you leave that base behind, and restart on a new map to build a new base to unlock more buildings and resource types and perks to add to your shuffled deck of possible choices. This all ties into an overarching "world map" meta to unlock more bonuses.</div><div><br /></div><div>It's well-made and I can see why it's popular, but design-wise, I feel it's overburdened with too much stuff...</div><div><br /></div><span><a name='more'></a></span><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgOqpY2Dr5LtSDpww2LQyZKe3eztSA0AJe2PeJ-jJbZzJYQN99s5VNa8Lkc0DJDhKn2D9ge03BsdfGFyYl6s0tIXD1_y8cMv3uUHpYmnn1Xpk0BcYkvjaXuYqGqgtQ-sdcmv_2Hf_2wm1fbgUooXhaf-4YwNApYfoarDC5zGetjPYw1xXIxyASqln-NvEI" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="576" data-original-width="1024" height="360" src="https://blogger.googleusercontent.com/img/a/AVvXsEgOqpY2Dr5LtSDpww2LQyZKe3eztSA0AJe2PeJ-jJbZzJYQN99s5VNa8Lkc0DJDhKn2D9ge03BsdfGFyYl6s0tIXD1_y8cMv3uUHpYmnn1Xpk0BcYkvjaXuYqGqgtQ-sdcmv_2Hf_2wm1fbgUooXhaf-4YwNApYfoarDC5zGetjPYw1xXIxyASqln-NvEI=w640-h360" width="640" /></a></div><div><p>Let's take a step back from all that roguelike deckbuilder packaging. </p><p>The core game design throughline is clear: they loved the Warcraft wood chopping mechanic, and so they made an entire game around it. And it really is a good mechanic. Chopping wood requires some some never-quite-fully-optimized worker placement, and earns you two crucial resources for more base building: lumber and land. Here they also borrow from Warcraft 3's level design language, specifically its "glades": little clearings in the forest with rewards if you cut a path to it and aggro them. But don't aggro them too early, chop wood in the right place at the right time, etc.</p><p>Then the designers had to figure out lumber sinks to consume all that wood. The main sink is burning wood to keep your town happy and warm, a page out of Frostpunk that also feels elegant here. But once you find a source of coal or wizard oil, wood is more for processing into advanced materials like planks to build a cooperage, which uses planks to make ale barrels, but you can brew ale only if you have enough wheat, etc. </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjMwYDIH1e1NKZIHAXVukmJXGIW-URcbC18dBgn1qyfr7ebd8wa8RGACHESQzQFt8bdzOEejLA43EJrF_yew7uw_uG-_WxnBa32-1qhdXLqEimVLpINaJdr1Wu43rGonEa_fMaI0QpUwmr_aeDe0uY7HA-5BeaqyFTwawHGsiMF1j_xRRGPx02pXIDsP2g" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1080" data-original-width="1920" height="360" src="https://blogger.googleusercontent.com/img/a/AVvXsEjMwYDIH1e1NKZIHAXVukmJXGIW-URcbC18dBgn1qyfr7ebd8wa8RGACHESQzQFt8bdzOEejLA43EJrF_yew7uw_uG-_WxnBa32-1qhdXLqEimVLpINaJdr1Wu43rGonEa_fMaI0QpUwmr_aeDe0uY7HA-5BeaqyFTwawHGsiMF1j_xRRGPx02pXIDsP2g=w640-h360" width="640" /></a></div><br />The deckbuilder aspect means you have to improvise a tech tree out of the random building types you get dealt. For the first 5-10 hours it's fun enough to combo together supply chains and see all the funny little things you can make across a bunch of different bases. But after this I felt I had basically seen it all, and all my base building started feeling the same. Unfortunately games these days have to last 500 hours, so these crafting chains just keep spiraling in the hope that it can drive endless variation. There are now like 50+ possible building types, but like 30+ of them are just similar tier 2+ buildings that process a dozen raw resources into a dozen other crafted resources. It's a lot of deckbuilding oatmeal to eat.<p></p><p>The map types and randomized modifiers sometimes force you to play a bit differently, like "no crops" or "no meat." Unfortunately these random modifiers feel, um, random? An arbitrary constraint dropped on you, rather than an interesting evolving problem that requires you to really rethink everything. </p><p>This is perhaps my old school RTS bias showing, but I do wish they had handcrafted some actual levels with specific decks and different objectives for more meaningful cohesive variation. Handmade levels with varied objectives would've solved their biggest problem: a generic victory point endgame, where you fulfill random "orders" mini-goals like reaching a certain population size or selling 30 wood / 15 incense to get a victory point. </p><p><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgXJkiF39uBaUy7My2ylp-McsQ4BleUipqiQeavxLiZb-BrGpOLI6MOYkhb6CeQgafN11V7A_4fKhX9a4h4f1Ya-ze62MwiBnMUaHI3oVr6yqPC_50-oZVc0s5MqWRsHSGwCUwQQYMTpYcqGalPMfrtaqkHIOLeyMX8YSC1l_qnOnZ9NK4WDTEXkbXt6QQ" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img alt="" data-original-height="1080" data-original-width="1920" height="360" src="https://blogger.googleusercontent.com/img/a/AVvXsEgXJkiF39uBaUy7My2ylp-McsQ4BleUipqiQeavxLiZb-BrGpOLI6MOYkhb6CeQgafN11V7A_4fKhX9a4h4f1Ya-ze62MwiBnMUaHI3oVr6yqPC_50-oZVc0s5MqWRsHSGwCUwQQYMTpYcqGalPMfrtaqkHIOLeyMX8YSC1l_qnOnZ9NK4WDTEXkbXt6QQ=w640-h360" width="640" /></a></p><p>I think victory points work in board games because you're competing for them against other players, so it's a little sad and pointless to play Settlers of Catan by yourself like in this game. Yet even if they had made victory points feel more contested, I have to admit it would still feel disconnected from the core base building mechanic and economy. </p><p>I built an intricate complex city full of moving parts, and all I get are these imaginary number trophies? A more traditional design would've focused more on building wonders or clearing a map with a sense of tangible accomplishment, which also gets old after a while too, but at least it feels more real. This disconnected endgame feels like a core design hole that will require a very big scary change to truly solve, a problem that can't just be solved by adding yet another subsystem and menu panel, so I can't blame them for not wanting to tackle it. And if their audience is happy enough with it already, I guess it doesn't matter?</p><p>Industry-wise, what's most interesting about Against The Storm is their heavy investment in community engagement and frequent early access updates. They post an announcement every few days, and push a new content update every few weeks. They're using all the Steam community features that supposedly earns Valve their 30% cut! It seems extremely exhausting and likely requires multiple dedicated staffers, but maybe that's just the new normal of running a live service game today.</p><p><i>Against The Storm is available on <a href="https://store.steampowered.com/app/1336490/Against_the_Storm/" target="_blank">Steam</a>, and probably other platforms too, but it seems like everyone mostly plays it on Steam.</i></p></div></div>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-37410438130245289972023-06-02T21:19:00.050-04:002023-06-03T21:10:07.762-04:00Design review of Redfall by Arkane Studios Austin<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb7D1WS_gy8fvCHZTVfIo_bS-yu_1Spy1hIqhg6sLokc9lrBtp-WJnKEstZDu3IB6bXQlTYNv14XLN8lMrf-IFmTRWPcxQ3421H8yYXcpOAJsDB_UDNmifv8svxsrTyHkHO8kq07MbbDu9X0PHsMM7imm5hMf4UTLO0xFMFQgRT1nX1eAwRy5vtclN/s1200/redfall6.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="675" data-original-width="1200" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb7D1WS_gy8fvCHZTVfIo_bS-yu_1Spy1hIqhg6sLokc9lrBtp-WJnKEstZDu3IB6bXQlTYNv14XLN8lMrf-IFmTRWPcxQ3421H8yYXcpOAJsDB_UDNmifv8svxsrTyHkHO8kq07MbbDu9X0PHsMM7imm5hMf4UTLO0xFMFQgRT1nX1eAwRy5vtclN/w640-h360/redfall6.jpg" width="640" /></a></div><p>I completed the main campaign in Redfall (<a href="https://bethesda.net/en/game/redfall">official site,</a> <a href="https://store.steampowered.com/app/1294810/Redfall/" target="_blank">Steam</a>, also on Game Pass), a 4 player co-op open world shooter by Arkane Austin, who's mostly known for detailed single player story-filled action games. The reviews and player reaction haven't been positive, but as an Arkane fan I felt compelled to play it for myself and take it on its own merits.</p><p>Overall I feel it's an OK game that's basically playable, despite the bugs and aggressive texture streaming and general unfinished feeling. If Microsoft had given them another 6-12 months to truly polish everything, then it maybe would've been a more solid OK game. </p><p>Anyway I didn't mind the incompleteness so much because I was playing less for fun, and more "for work", as a first person game developer. In this sense, playing a 75% finished game is more useful than playing a 100% finished game. You get to see more of the big broad strokes before they got quite resolved, the intent vs. the execution. </p><p>So this post will focus on my read of the general game design and player experience.</p><p><i>SPOILER WARNING: lots of general systems spoilers and gameplay screenshots, some story spoilers</i></p><p><span></span></p><a name='more'></a><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIhCEyKSjT8mmU02enJb1XNeHNqnCC_FjIQKiwCAwhsHtI5l9f0kw-AiC0lnQyoBdn1XjkPiuManofEheJo6yG-ENJSsSrsaKjmlDwNKdYgOjSQlXADjbymoA7JF3FYEN1PiRxkAf1TmzygZPzNjg54W4Cm7BhxiRywHiJ6M9l2wU7JHB1ddxg7Fi_/s1600/redfall9.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIhCEyKSjT8mmU02enJb1XNeHNqnCC_FjIQKiwCAwhsHtI5l9f0kw-AiC0lnQyoBdn1XjkPiuManofEheJo6yG-ENJSsSrsaKjmlDwNKdYgOjSQlXADjbymoA7JF3FYEN1PiRxkAf1TmzygZPzNjg54W4Cm7BhxiRywHiJ6M9l2wU7JHB1ddxg7Fi_/w640-h360/redfall9.jpg" width="640" /></a></div><p>The high level narrative premise has promise. What if vampires invaded Cape Cod (hmm, ok?...) but also the vampires are evil biotech CEOs who devoured the next <a href="https://en.wikipedia.org/wiki/Henrietta_Lacks" target="_blank">Henrietta Lacks</a> to oil the gears of capitalism forever (not bad!)</p><p>There's a gamer joke about how every JRPG ends with killing god, and the emerging Western millennial equivalent is to end with the final boss of capitalism. Redfall's final boss of capitalism is an Elizabeth Holmes / Maleficent type who has enclosed a public good known as the sun. You're fighting not only the privatization of public health but also reckless climate engineering!</p><p>But not really. The player never quite experiences these ideas in the game itself. Instead there's cutscenes without animation, scripted conversations without choreography, and readables you rarely read because the game never pauses. As a narrative stop-gap, every boss unlock quest features mandatory scripted scenes where you listen to faceless blood ghosts re-enact the boss backstory while you jump on furniture. Unfortunately <a href="https://www.blog.radiator.debacle.us/2017/09/on-tacoma-by-fullbright-company.html" target="_blank">I felt this approach didn't work in Tacoma either</a>, it never transcends the cost-saving measure it feels like. (Maybe the final boss of capitalism is tougher than we thought.)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl-DTho7aDHVmR_r1Re1ZinR7pyawBqsEpVeHQ22hD02a1s6tymApguV5dA8rl8oSXQdsvpNuw827EB8HlM3Ztk290ZndkhQbeCCwMtI0I6xvtWg1o50XWPDzyaUuNZ-KemIXmtzoQPeNZhOawKDm31ph6VlEkcB7q69bCq6W1H6TIbYKkQxQwYZar/s1200/redfall2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="675" data-original-width="1200" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl-DTho7aDHVmR_r1Re1ZinR7pyawBqsEpVeHQ22hD02a1s6tymApguV5dA8rl8oSXQdsvpNuw827EB8HlM3Ztk290ZndkhQbeCCwMtI0I6xvtWg1o50XWPDzyaUuNZ-KemIXmtzoQPeNZhOawKDm31ph6VlEkcB7q69bCq6W1H6TIbYKkQxQwYZar/w640-h360/redfall2.jpg" width="640" /></a></div><p>Similarly, you can see where the core game design wanted to hit. </p><p>While the popular comparisons to Left 4 Dead x Borderlands x Destiny x Far Cry x Fortnite are difficult to shake, I think many don't remember how Left 4 Dead is very different from all the others -- it had a surprisingly minimalist design with no numbers-y progression systems, and relied heavily on human sociality and level design to keep things fresh. </p><p>A L4D-like-with-stuff actually sounds like a decent fit for an Arkane style shooter? Combine a Valve-like artful level design core with Destiny's tight skill tree, as well as Fortnite loot systems and skins, and you can imagine a somewhat decent pitch that lets the studio keep its soul despite a blood pact with the Zenimax money vampires. (In the end of course, they cut out all the planned monetization stuff anyway, and I didn't even realize there was a skin customization screen until I was prepping for the final boss.)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_MWB0jbmP5xXtOVcRWoFIBKO_K2WZxLZ76LHHfvDDjsL8va-pd5y3ucXvOZIlzfJccfIfWLecn2Z1Icge2zVYune9eFVIkkYQ-mWue0CSYvS137DX4zDYBAqj9SOiij3dDYOvk2mkHR-KlhSiyTkVOW9Df228NkhM_XwFMaRXopjHCCi97nxAnU_h/s1200/redfall3.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="675" data-original-width="1200" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_MWB0jbmP5xXtOVcRWoFIBKO_K2WZxLZ76LHHfvDDjsL8va-pd5y3ucXvOZIlzfJccfIfWLecn2Z1Icge2zVYune9eFVIkkYQ-mWue0CSYvS137DX4zDYBAqj9SOiij3dDYOvk2mkHR-KlhSiyTkVOW9Df228NkhM_XwFMaRXopjHCCi97nxAnU_h/w640-h360/redfall3.jpg" width="640" /></a></div><p>Instead of the threat of live game monetization, I think Redfall's biggest core technical problem was not auto-populating for consistent multiplayer co-op. There's no Destiny-like seamless matchmaking and no Left 4 Dead style good-enough bot AI. It feels like such an obvious absence to me, so I imagine they attempted some kind of solution but then the engineering complexity forced them to cut their losses.</p><p>Regardless of the how and why, this is a worst-case scenario for the designers on the ground. They had to design a 4 player co-op game that all the friendless Arkane fans play as a single player game. </p><p>The chaos of 4 players throwing around 12 different spells is overwhelming, but 1 player using 3 spells (if they remember to) is underwhelming. Plus the Left 4 Dead inspired enemy types don't work without other players; for example the "Angler" type grabs you with a grappling hook, but what if no one's there to rescue you?... So then you have to let the single players shoot the Angler to rescue themselves (if they remember to) but then what's the point of this enemy type if you can save yourself?</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKfeHzB95-SZTVgR01aYj2vUCQGXVRZ5dcjWfxbEwI-SpqRkhrN4wnaqJGslToN7iWHF-qpx7bwYI3eprnS6Q5yRWvSHeTHNXDRMs5tfVzL2NY9R4DqS7Namz6ox7OKEIjfjueP7_TMG_QDWjxxVTdYLnrZ4mHQARVr8C-5zFdL8pD6gUlABh4gppo/s1400/redfall1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="788" data-original-width="1400" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKfeHzB95-SZTVgR01aYj2vUCQGXVRZ5dcjWfxbEwI-SpqRkhrN4wnaqJGslToN7iWHF-qpx7bwYI3eprnS6Q5yRWvSHeTHNXDRMs5tfVzL2NY9R4DqS7Namz6ox7OKEIjfjueP7_TMG_QDWjxxVTdYLnrZ4mHQARVr8C-5zFdL8pD6gUlABh4gppo/w640-h360/redfall1.jpg" width="640" /></a></div><p>The emptiness also breaks all the core room-to-room level design. All these big wide streets and corridors and oversized ADA-accessible bathrooms fill up with 4 players. But in single player now they're filled with nothing except some set dressing and trash loot.</p><p>All these big battles with generous arenas and vulnerability windows give much-needed time and space for 4 players to coordinate and pay attention to each other. But in single player now you're just standing there wondering why everything is so slow.</p><p>All the dynamic cutscenes and dialogue sequences relied on 4 player characters all bantering amongst each other like in Buffy or something. But in single player, your character is just vaguely talking to themselves in a kind of sad and lonely way.</p><p>All the mission pacing and scripting design was constrained by the possibility of 4 different players being in 4 different parts of the map, making stealth and structured encounters impossible, yet now as a single player... OK you get the idea.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7HCZ_pGqgPBiJ2KvKS_cbwHfA0lIHOqYNl3RI00cFZnpGSW8HAFulrG1nLWuB6JBy3uMznYxx8ix1LJG9fvVFTQtAuf-qYWCyD9eMRaCSQX_4xSeq7tTnDSfknjVi0reMa9TTakXxq88YrvO0V3q59827JBjnxEtGP1fionB8GcSrqy3Znww_zS96/s1280/redfall9_map.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7HCZ_pGqgPBiJ2KvKS_cbwHfA0lIHOqYNl3RI00cFZnpGSW8HAFulrG1nLWuB6JBy3uMznYxx8ix1LJG9fvVFTQtAuf-qYWCyD9eMRaCSQX_4xSeq7tTnDSfknjVi0reMa9TTakXxq88YrvO0V3q59827JBjnxEtGP1fionB8GcSrqy3Znww_zS96/w640-h360/redfall9_map.jpg" width="640" /></a></div><p>Let's zoom out. There are two open world regions, Redfall Commons and Burial Point.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-jqyyAtwdZhUs0fe3klgI_-TrI9LUMKajk0ZPns1gJDi4m7m8pLYzN_j8Gg8SiKWKBIuCPvaomCscKlcvWw-Qf3cXdwdQI-Sr2jtNVES9VhmFnzoM6_9AduhR8ZaiFOq8dKc_1bUtpDXHvXWCd99fQmuVvUK-eCevgjHvwGcHboVNnhnqAcznLOPy/s1280/redfall_shipyard.webp" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="113" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-jqyyAtwdZhUs0fe3klgI_-TrI9LUMKajk0ZPns1gJDi4m7m8pLYzN_j8Gg8SiKWKBIuCPvaomCscKlcvWw-Qf3cXdwdQI-Sr2jtNVES9VhmFnzoM6_9AduhR8ZaiFOq8dKc_1bUtpDXHvXWCd99fQmuVvUK-eCevgjHvwGcHboVNnhnqAcznLOPy/w200-h113/redfall_shipyard.webp" width="200" /></a></div>The first region is much better since it's smaller, the compactness means nothing overstays its welcome. I also have a suspicion this was the vertical slice map they built first, with good density of POIs and compelling experiments like the shipyard area -- a big well defined concept with interesting shapes, entry points, and unique monumental modular kit... a typically Arkane-ish setpiece scale which you never see again. (The large hospitals in both regions are OK but you can really feel their kits.)<p></p><p>I was surprised but in hindsight I realize I shouldn't have expected a Dishonored sized level or even a Deathloop dungeon scope. They obviously couldn't make the big sprawling maps key to their studio identity, since those would require long multiplayer sessions with no real savegame support. L4D works because the flow is fast and mostly linear in 10-15 minute chunks across a 1 hour campaign where you can dropout whenever. Deathloop's unsavable 1-2 hour marathon sessions were really pushing it. Given the multiplayer constraints, they ended up in this uncomfortable Far Cry / Destiny sparse outpost-style level design space except with no vehicles or varied enemy roster to spice it up.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzvxXWObvGd7KsZcMRPNSlyPO9vs_9Q8MBDBEZhrKtzBxwN0E9i_HdMdzFmLC4XYQKBqvkGtp85jxQBNfUwEzBfB1qbIHgjz_I8uVOxRiNt4WAFYUNT6m2sJXAsv4FMNcDvqXdqs0DsIgg8R7SsUXd7YJaer1I9iydiVc9-qUdICKwlONRUDD-PtIm/s1920/redfall-fast-travel-10.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzvxXWObvGd7KsZcMRPNSlyPO9vs_9Q8MBDBEZhrKtzBxwN0E9i_HdMdzFmLC4XYQKBqvkGtp85jxQBNfUwEzBfB1qbIHgjz_I8uVOxRiNt4WAFYUNT6m2sJXAsv4FMNcDvqXdqs0DsIgg8R7SsUXd7YJaer1I9iydiVc9-qUdICKwlONRUDD-PtIm/w640-h360/redfall-fast-travel-10.jpg" width="640" /></a></div><p>So instead we're left with smaller granular level design beats. There's semi-random world events and vampire dens, but I think the most successful of these are the safehouse unlocks.</p><p>Each open world region is divided into districts, and each district has a safehouse, an unlockable checkpoint / fast travel point. To unlock each safehouse, you have to hold F on a nearby sometimes-hidden generator (follow the yellow electrical cord from the locked basement door!) and often the generator needs keys that are hidden nearby.</p><p>These types of small key hunts are probably the closest that Redfall gets to traditional single player level design beats. You have to gather environmental clues about where to find a key, with no goal marker to spoil the exact location for you. Maybe a survivor took the keys with her to call for help from the roof, and you'll find the keys next to her corpse? (... But now how do you get onto the roof? etc.) <i>(CORRECTION: turns out this roof scenario was actually a hidden side quest that I mis-remembered as a safehouse unlock beat. Oops. Similar vibes though!)</i></p><p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi99263hoLBNCSyp6yIGGOlGPV-XRemREV2Sbyrcl6EpotUvLU2h2q34ZNS6wVEpKYr4gkC0vvkc7ETPwvUEaYISeSxqWN_rLWkogAPNfCIlVTjObSLQ0rN68CEzv5tCGYfeTSTaoa_-nRqNSNp2-K9QAUO7PiZ4SvicSfukj97iAxOg4tmyER7Nf_i/s1200/redfall_safehouse.jpg" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="675" data-original-width="1200" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi99263hoLBNCSyp6yIGGOlGPV-XRemREV2Sbyrcl6EpotUvLU2h2q34ZNS6wVEpKYr4gkC0vvkc7ETPwvUEaYISeSxqWN_rLWkogAPNfCIlVTjObSLQ0rN68CEzv5tCGYfeTSTaoa_-nRqNSNp2-K9QAUO7PiZ4SvicSfukj97iAxOg4tmyER7Nf_i/w640-h360/redfall_safehouse.jpg" width="640" /></a></p><p>When you unlock a safehouse, you get a lot in return. Sure it's a respawn point and fast travel location, but it's also a convenient way to refill healing and rare ammo (sniper bullets, stakes, batteries) without returning to the hub, and the unbreakable infinite UV floodlights outside give good cheese to shred mobs and even midboss vampires.</p><p>Here the safehouse design feels elegant. The game doesn't have to drop a bucket of XP or loot rewards on me, because the safehouse functions provide enough reward already. Then I can do some extra optional safehouse missions to upgrade the safehouse with more perks if I feel a special attachment to it.</p><p>Unfortunately this sense of intrinsic value gets a bit wrecked when the optional safehouse missions aren't actually optional.</p><p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnsl4DlxsI8tOEWfqWfSrjRH3xFJ8GXck6RhZa1h6TftpJczsh203rm_HYpKcCj7tOZhpY7WkemTmKZz4uryg1mCn9vNHiRWgfzzBmkbFI6F848amQxUToyh99sNvchSLbA5HfMixKHw6uk9bq5ZEL6R5yH_zv1VvZDb_oH3owZOVNmUxSD5c3Qpz7/s1280/redfall11_safehousemenu.jpg" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="720" data-original-width="1280" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnsl4DlxsI8tOEWfqWfSrjRH3xFJ8GXck6RhZa1h6TftpJczsh203rm_HYpKcCj7tOZhpY7WkemTmKZz4uryg1mCn9vNHiRWgfzzBmkbFI6F848amQxUToyh99sNvchSLbA5HfMixKHw6uk9bq5ZEL6R5yH_zv1VvZDb_oH3owZOVNmUxSD5c3Qpz7/w640-h360/redfall11_safehousemenu.jpg" width="640" /></a></p><div class="separator" style="clear: both; text-align: left;">The first safehouse mission is always to clear a mob or blow up an objective somewhere nearby, and the second is to kill a named vampire and collect their skull. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Three safehouse skulls + main quest macguffin = boss fight. So if that's 3 pairs of safehouse missions to unlock each of the 4 bosses, in total that's 12 safehouses you're required to upgrade... 24 required side quests, but really there's only like 3 mission types... it's not the best spread.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">All this mandatory repetition means safehouses feel less like special tools that I unlocked for my own uses, and more like required objective icons to clear a board. It's a little sad to lose the subtlety of leaving them optional, but I guess it makes sense to force players onto it since safehouses systemically feel like the most integrated part of the open world and systems.</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrgSzyFAT1fX-7NqBbBwANenEwDXMXsdQ6ZHy6P-VxnJWl3I2BerpqYP9SuhH46p91kXdoVeom9noSe_W1QARzF5RQteSea_djMDFREJ7JyXOYJA-cmMzT52T3nHM0_LUVPs_HzEFaF86ezQQDPkqR0tmc11TZBHIoC3BUgQDk7m6myZtwzbihRkUp/s1600/redfall8.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrgSzyFAT1fX-7NqBbBwANenEwDXMXsdQ6ZHy6P-VxnJWl3I2BerpqYP9SuhH46p91kXdoVeom9noSe_W1QARzF5RQteSea_djMDFREJ7JyXOYJA-cmMzT52T3nHM0_LUVPs_HzEFaF86ezQQDPkqR0tmc11TZBHIoC3BUgQDk7m6myZtwzbihRkUp/w640-h360/redfall8.jpg" width="640" /></a></div><p>I'd like to end with what I think Redfall does well: overall worldbuilding and sense of place.</p><p>The hub for the second region is a "maritime center" that features its own branding, graphics, and pitch perfect museum-voice wall text about supporting boaters, helping the environment, and embracing local heritage. It's a very authentic American voice ("capitalism AND the climate, working together!!") that a bigger US AAA or a non-US indie would've failed to capture. There's also a US Coast Guard facility, ranger station, boardwalk, and tutorial ferry that all feel pretty well-researched and faithful. </p><p>It's these small moments and details that stand out above all. Marveling at the sculpted frozen waves that could've come out of a FromSoft game. Basking in all the little halos of streetlights in the sleepy foggy distance. Fighting your way into a base, only for the boss to get so scared she locks herself in a closet and begs you to leave her alone (you can lockpick the closet door and attack her anyway). </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUIXP4b24ebKNKECcMpEX7OHOqko3f2EKS8DX0z_lRYorn1i497RmpkttPPrue5TiUf_w07LuFxliKh3U5PIBThFaasuxmH0-tnZk49afDBN7bIsdKsf18Hg3j-oADEhueAdGV3n7vkPCn-xEGOn_Ue4JEIv1a1wTz3zn1wJrKcuZSMH27kqaqxxhT/s1920/redfall7.webp" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUIXP4b24ebKNKECcMpEX7OHOqko3f2EKS8DX0z_lRYorn1i497RmpkttPPrue5TiUf_w07LuFxliKh3U5PIBThFaasuxmH0-tnZk49afDBN7bIsdKsf18Hg3j-oADEhueAdGV3n7vkPCn-xEGOn_Ue4JEIv1a1wTz3zn1wJrKcuZSMH27kqaqxxhT/w640-h360/redfall7.webp" width="640" /></a></div><p>Or consider a rare branching moment, where completing one mission before the other mission results in enemy guards diverted to meet you -- an ambush which you can predict and sneakily evade, a responsiveness (and stealth support) that hints at what a different Arkane open world game with different core pillars could've been.</p><p>I think fans and critics been somewhat sympathetic about the situation though. For some behind the scenes industry background gossip, see <a href="https://www.bloomberg.com/news/articles/2023-06-01/arcane-s-redfall-misfire-for-xbox-panned-after-7-5-billion-microsoft-deal " target="_blank">Jason Schreier's piece from yesterday</a>, but basically we've all apparently agreed to blame the corporate valuation vampires at Zenimax so we can psychically shield our beloved darlings at Arkane.</p><p>So everyone's hoping Arkane gets another chance. The question is, what will that chance look like?</p><p>They could maybe pull off a No Man's Sky / Final Fantasy 14 style maneuver and reboot a re-design as Redfall: Revamped next year, but that's probably not the complete second chance you'd want. A Dishonored trilogy remaster also sounds tricky, since they'd have to port everything from their old in-house engine to Unreal, for not much benefit since the graphics still hold up pretty well.</p><p>Whatever they're planning, good luck to them, they've probably learned a lot from making this and I'm looking forward to hearing about it next year.</p><p><i>(see also: <a href="https://www.blog.radiator.debacle.us/2021/11/deathloop-deconstruction-design-thoughts.html" target="_blank">my very detailed and spoilery Deathloop design analysis</a> from 2021)</i></p>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-7328972790625212392023-05-19T21:00:00.004-04:002023-05-19T22:35:51.457-04:00The joys of the anti-farm sim: "Before the Green Moon" by turnfollow<div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJqabZi7do1rxtBqPjmlMCeUmtlP_p67150yiQaZRE8nqwW581-Sg0rdQo4_QNbyePbTKVKxHKsqjcVnZPHUa8J7O9Qa7ow0BELQ1PF0x18qRVc0Q-rrf5VP1jdy-NDuVkY5JTuGKpKy-lUXtPHPUE4J-QkYznfYgBFBRx-ab5pAkvnjkaCpMwPmQU/s1024/greenmoon1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="576" data-original-width="1024" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJqabZi7do1rxtBqPjmlMCeUmtlP_p67150yiQaZRE8nqwW581-Sg0rdQo4_QNbyePbTKVKxHKsqjcVnZPHUa8J7O9Qa7ow0BELQ1PF0x18qRVc0Q-rrf5VP1jdy-NDuVkY5JTuGKpKy-lUXtPHPUE4J-QkYznfYgBFBRx-ab5pAkvnjkaCpMwPmQU/w640-h360/greenmoon1.png" width="640" /></a></div><br /></div><div><i><b>SPOILER ALERT: This post SPOILS what happens in Before The Green Moon.</b> I strongly recommend playing it first.</i></div><div><br /></div><b><a href="https://beforethegreenmoon.com/" target="_blank">Before The Green Moon</a></b> (on <a href="https://turnfollow.itch.io/before-the-green-moon" target="_blank">Itch</a> and <a href="https://store.steampowered.com/app/2323580/Before_The_Green_Moon/" target="_blank">Steam</a>) is a post-apocalyptic indie Harvest Moon / Stardew Valley / Animal Crossing inspired farm life sim about scraping by, in a decaying rural truckstop town with bored depressed locals you gradually befriend (or ignore).<div><br /></div><div>I was surprised Turnfollow was working in this big systemic genre space, since I mostly know them for their very good linear story games <a href="https://turnfollow.itch.io/littleparty" target="_blank">Little Party</a> and <a href="https://turnfollow.itch.io/wide-ocean-big-jacket" target="_blank">Wide Ocean Big Jacket</a>. But you can see the "seeds" of this game (ha ha) in their wartime gardening game <a href="https://turnfollow.itch.io/a-good-gardener" target="_blank">A Good Gardener</a> so maybe it's not so unexpected...<br /><div><br /></div><div>From the beginning, you're given an ultimate end goal: earn enough company scrip to buy a ticket to the moon. Instead of a raccoon banker oppressing you with a mortgage, it's a faceless Moon Company exploiting every poor soul left on this post-apocalyptic Earth. Brilliantly, the already astronomical price of the moon ticket actually <i>increases</i> during the game. Imagine if Animal Crossing had the bravery to charge interest on the home loan!</div><div><br /></div><div>Well, Before The Green Moon is brave, brave enough even to suggest that farming isn't exactly a picturesque Hallmark movie. Instead, you're stuck in this abandoned GameCube game and you need to somehow earn enough to buy a moonshot out of this dump. How are you gonna do it?</div><div><br /></div><span><a name='more'></a></span><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube-nocookie.com/embed/M1quHAvUSiM" title="YouTube video player" width="560"></iframe><div><br /></div><div>A good farming sim will make labor feel tangible. Tilling soil, planting seeds, and watering crops every day should feel like chores, because they are. Even harvesting crops is kind of annoying, and you have to be thoughtful about small efficiencies, like storing your harvest in a portable basket instead of your personal inventory.</div><div><br /></div><div>Beyond The Green Moon adds an additional quirk to the usual core crop systems, where the second half of the in-game year is a "dry season" that rarely rains. So to water your crops at your parched desert farm, you'll now have to bring a water tank down to the pump at the lake, fill it with water, and then carry the water tank all the way back to your farm to fill your water can again. It's an additional chore to make water feel more like a scarce resource in this dying desert world, but it also helps contextualize your planting choices.</div><div><br /></div><div>So will you plant a lot of fast cheap crops (which will require a lot of water and frequent tilling / planting cycle) or plant just a few slow trees (which require less water and maintenance)? Obviously the one that's less work!... Which, it turns out, is neither of those options.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2kCXwK59NKzTLL04CyCfjnegLPkP6sL_0JJuJxXI70Uh0X8GzV8mov_OAXM8sfg5MbsUAa27Ei3hgpDJXH1Zf0E4QOIaohg57AtD1FEU-jnAu78H_JDG75PPG9IpuU5meG9UkEeU6U5pmHiYc2JZW6lpGFvXSKxryY6wOsWlGCNmUyS5uvUax12q0/s1920/greenmoon4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2kCXwK59NKzTLL04CyCfjnegLPkP6sL_0JJuJxXI70Uh0X8GzV8mov_OAXM8sfg5MbsUAa27Ei3hgpDJXH1Zf0E4QOIaohg57AtD1FEU-jnAu78H_JDG75PPG9IpuU5meG9UkEeU6U5pmHiYc2JZW6lpGFvXSKxryY6wOsWlGCNmUyS5uvUax12q0/w640-h360/greenmoon4.png" width="640" /></a></div><div><div><br /></div><div>My main strategy was chicken farming. </div><div><br /></div><div>The game tutorializes the basics: You can randomly find chickens in the forest (or the town sewer?) and bring them back to your farm. Chickens eat 1 apple a day, and you can stockpile up to 20 apples in the automatic feeder next to the chicken coop. As long as you feed them apples, your chickens will stay and produce eggs. Easy money.</div><div><br /></div><div>At first this apple maintenance isn't a big deal since you can easily forage for 5-10 apples a day, far more than what a chicken eats. If you manage to keep a chicken for long enough it will start making "friendly eggs" that are worth much more money. So with 3 friendly chickens, you can earn thousands a day, the equivalent of a medium sized crop farm with basically zero labor involved, aside from restocking the apple feeder every week.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy7FzGe_TUobSRcNmBCjSAVjvqs98dJVrx8XeiWcmgT7TwmWutmR2YlkGScSU4M9VN3NWL_R2RIJh1T0gBbFIM06dI5Y1xbtJaay3IpqGiK19Dor8iYCTbdkO7jZMTVjr-miVrWdX8kmzTdPbSrJd1w7zi_KWfRS1qSRhDASrHo4B6KN85vA87vbUs/s1024/greenmoon3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="576" data-original-width="1024" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy7FzGe_TUobSRcNmBCjSAVjvqs98dJVrx8XeiWcmgT7TwmWutmR2YlkGScSU4M9VN3NWL_R2RIJh1T0gBbFIM06dI5Y1xbtJaay3IpqGiK19Dor8iYCTbdkO7jZMTVjr-miVrWdX8kmzTdPbSrJd1w7zi_KWfRS1qSRhDASrHo4B6KN85vA87vbUs/w640-h360/greenmoon3.png" width="640" /></a></div><div><br /></div><div>However in the dry season, apples suddenly become much more rare. You can forage a few apples hidden deep underground (sometimes) or buy some at the weekly market (sometimes) or buy synth-apples at a vending machine (expensive). None of these options are good.</div><div><br /></div><div>So if you have 3 chickens eating -3 apples a day, you'll panic a little. You then have to perform a terrible calculus in your head: which animals can you keep? Rather than have all your friendly chickens abandon you, maybe it's better to put all your remaining apples into your favorite first chicken (which you've probably named and grown fond of) and release all the other chickens back into the wild.</div><div><br /></div><div>This evokes a gritty reality of farming that something "cozy" like Stardew Valley never asks of you -- when there's unexpected dilemmas and you have to choose what stays and what goes. But the game doesn't tutorialize this or dispatch an NPC to spell it out. Your problems are your own, and the first step is realizing you have a problem.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUXi-hHU63FX4ukeGehyB6PX9j2TG-vZKF-8exip4SAzRSGZTTSV2N72oqASoG-Ex2VXL-nW1m7UxsyFvjvMgY5Gqg6LknoNMU-U6fJL9p2XkaifP0VFiENXAQj2dAVP2cZRp4-9u_8AkjigzlyGYtMyuay08DxuJZudLoo7lzL44V0JutH3BS0-jU/s1024/greenmoon2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="576" data-original-width="1024" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUXi-hHU63FX4ukeGehyB6PX9j2TG-vZKF-8exip4SAzRSGZTTSV2N72oqASoG-Ex2VXL-nW1m7UxsyFvjvMgY5Gqg6LknoNMU-U6fJL9p2XkaifP0VFiENXAQj2dAVP2cZRp4-9u_8AkjigzlyGYtMyuay08DxuJZudLoo7lzL44V0JutH3BS0-jU/w640-h360/greenmoon2.png" width="640" /></a></div><br /><div>The game also hides a bigger unexplained mechanic: a relationship gifting system. Unlike Stardew Valley, there's no visible relationship meter or tutorial here -- only soft hints that a certain NPC might want to see the fish you catch, or that another is interested in unique plants, or a random cutscene where a character gets excited about electronics. The game never says "each NPC has a favorite type of gift item type, and you should equip it and talk to them", you have to guess that this mechanic exists from playing previous farming games or just out of sheer luck.</div><div><br /></div><div>It's hilarious that gifting feels secret. Imagine in real-life, realizing -- "wait, I can provide goods and services without charging money?" Things have value beyond their monetary worth, and not everything can be quantified with outright numbers?? </div><div><br /></div><div>It's like humanity is a secret playstyle you have to guess and discover, and in the game too.</div><div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnM-iiLhjFJqIv37ZKVzRTPxwQgy6DBhCKxhcgXDELYhb6GaNQbWaX9BktEtQok-n8s8C5Kysf4Kvu1A_32O7wh2Uea5-tWJyp9oDUhD13TnfWmGzI2bwSk5VNED5pQ0QM7P_JZMI4LwnUlnW0gbiV1KqsdZ-AOBOpyCwAQJkDeRVjw_N5hxjpeX13/s1024/greenmoon5.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="576" data-original-width="1024" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnM-iiLhjFJqIv37ZKVzRTPxwQgy6DBhCKxhcgXDELYhb6GaNQbWaX9BktEtQok-n8s8C5Kysf4Kvu1A_32O7wh2Uea5-tWJyp9oDUhD13TnfWmGzI2bwSk5VNED5pQ0QM7P_JZMI4LwnUlnW0gbiV1KqsdZ-AOBOpyCwAQJkDeRVjw_N5hxjpeX13/w640-h360/greenmoon5.png" width="640" /></a></div><div><br /></div><div>This social aspect elevates Beyond The Green Moon far beyond other farm life sims.</div><div><br /></div><div>Again, the town feels like a decaying GameCube game. Everything is beautifully bathed in the sickly yellow rust of 2004 Xbox games. It's like living in a Dark Souls poison swamp village, except with less dignity. </div><div><br /></div><div>This whole decaying truckstop town exists to serve a moon elevator, so on certain days you'll see huge crowds of tourists, commuters, and shipping trucks flood into your quiet little village, and lowkey ruin your life. All these fucking tourists can't (or won't) talk to you. Your cafe owner friend will be frantically running around all these crowded tables, and you'll have to wait longer for a crucial stamina-restoring meal. Your office friend will be busy dealing with a long line of complainers. And when it rains, these rich randos all have umbrellas and ponchos -- expensive mid-game equipment upgrades that you absolutely can't afford for the first few in-game weeks.</div><div><br /></div><div>The next day they're suddenly all gone and the town is deserted again, except with a lot more garbage littering the streets. You're just an NPC in their story.</div></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUnX3m6yPEOhotCnTMT5yqglyC5XpNF3afkYvm2nfEJFQ62ZLMlGxrlHyrTzHAhigtvoVk0oEsMORp62OCzQ4-je9hg2Rb8s70kyvLzdZc2k6g3rxZfDut37-Y8Y8eaASClTyYs1yiP_jnMGq5S1_BQSS-aVX5oAiPhNlFBmmz8QrFZYpkuQj62F7R/s1920/greenmoon7.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUnX3m6yPEOhotCnTMT5yqglyC5XpNF3afkYvm2nfEJFQ62ZLMlGxrlHyrTzHAhigtvoVk0oEsMORp62OCzQ4-je9hg2Rb8s70kyvLzdZc2k6g3rxZfDut37-Y8Y8eaASClTyYs1yiP_jnMGq5S1_BQSS-aVX5oAiPhNlFBmmz8QrFZYpkuQj62F7R/w640-h360/greenmoon7.jpg" width="640" /></a></div><div><br /></div><div>This sense of place and rural life systemic commentary are all interesting, but from a game design perspective, this game's real masterstroke is in its overall sense of pacing. </div><div><br /></div><div>A lot of these farming life sim games are really only designed to stay fresh for a single in-game year, and Before The Green Moon is no exception. If you explore a little every day, talk to everyone most days, and give occasional gifts, then you'll likely exhaust all their unique dialogue and possible relationship events by the end of the in-game year. At this point, you'll also likely have a strong farming system in-place with everything fully upgraded, with nothing left to buy or do, really.</div><div><br /></div><div>So now, might as well buy your ticket to the moon and end the game, right? Brilliantly, the moon elevator only departs like once a month. If you miss your departure, you'll have to wait a long while for the next opportunity. It adds more urgency and immediacy to the endgame. You have to commit.</div><div><br /></div><div>That's when your in-game girlfriend begs you -- don't go to the moon. Stay here. She can't offer you more than this life, but isn't that enough?</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWHXomU-rnzd3q5GYu88rCv0SbM7LXMHund8hzstp_5lJ2ij3QOzqOmVOWbMN7LsV17-5JyhbuSpquMMqUQbPQLWDDrUCRo9EfvBa-fi-nNSpCXLBVcUI5AV0R_z14XmWBiY_kvfZ9zd4uTj9JAQ_ws7-YalOEV6RhLDMTuNKTe4LA3h9HDqu_lfo0/s1920/greenmoon8.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWHXomU-rnzd3q5GYu88rCv0SbM7LXMHund8hzstp_5lJ2ij3QOzqOmVOWbMN7LsV17-5JyhbuSpquMMqUQbPQLWDDrUCRo9EfvBa-fi-nNSpCXLBVcUI5AV0R_z14XmWBiY_kvfZ9zd4uTj9JAQ_ws7-YalOEV6RhLDMTuNKTe4LA3h9HDqu_lfo0/w640-h360/greenmoon8.jpg" width="640" /></a></div><div><br /></div><div>I promised her I'd think about it. Should I freeze my playthrough here, and refuse to win the game? This is theoretically how Harvest Moon and all farm life sims "end", paused in an infinite endgame on your beautiful picturesque farm forever, before the boredom and restlessness set in.</div><div><br /></div><div>So as I walked around this dead concrete desert and talked to the other NPCs, none of them had anything to say to me. After all, I had pestered them for an entire year, to the point of speechlessness. It was time for me to go.</div><div><br /></div><div>When you inevitably buy your moon ticket and finally commit to leaving, you have the option of visiting each NPC and saying goodbye to them. Most goodbye cutscenes are a bit bittersweet and one is charmingly bizarre, but I wondered most about what my in-game girlfriend would say. </div><div><br /></div><div>In a cutscene several in-game days before, she had told me that if I choose to leave then I shouldn't say goodbye to her, I should just go. But I had to have closure! I had to 100% all the content in this game! So I visited her anyway, against her wishes. And predictably, she got really angry and sad and told me to get out. (See, this is why I have to leave...)</div></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV8r42lNEuetXzqtoInOnOOkHAKST9_qR1ruKq4QG49VaflPYec38sukaLxY-XyffRj_guUlmi7socIp3LXYCIXmpjoKsCr0toUh6d4-2eOkPk9ibmaTlT7E0dMFbw-tztX8mzegGaTCidc3jL1Ky2LaJ6FZpeH7LzCAhCXBgoYcJarv4sNq4bkl4h/s1904/greenmoon9.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1078" data-original-width="1904" height="362" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV8r42lNEuetXzqtoInOnOOkHAKST9_qR1ruKq4QG49VaflPYec38sukaLxY-XyffRj_guUlmi7socIp3LXYCIXmpjoKsCr0toUh6d4-2eOkPk9ibmaTlT7E0dMFbw-tztX8mzegGaTCidc3jL1Ky2LaJ6FZpeH7LzCAhCXBgoYcJarv4sNq4bkl4h/w640-h362/greenmoon9.jpg" width="640" /></a></div><div><br /></div><div>In the end you were basically just another tourist. You didn't really have to live there, after all.</div><div><br /></div><div>So you board the moon elevator alone. You sit in your little single bed cabin alone. There's not much to do but wait.</div><div><br /></div><div>If you're hungry, you can buy a synth-apple, which is now much more expensive onboard the moonship. So if you spent all your money on the moon ticket then you won't be able to afford to eat, which is hilarious. It's not really what you imagined your new moon life would be like.</div><div><br /></div><div>And that's how Before The Green Moon ends. No happy romantic ending, no big infinite moon farm endgame. Going to the moon doesn't really solve your problems, just like moving to your grandpa's old ranch wouldn't really magically fix your life. Maybe next time, instead of renovating a farm, you should just go to therapy.</div></div><div><br /></div><div><i><b><a href="https://beforethegreenmoon.com/" target="_blank">Before The Green Moon</a></b> is available on <a href="https://turnfollow.itch.io/before-the-green-moon" target="_blank">Itch</a> and <a href="https://store.steampowered.com/app/2323580/Before_The_Green_Moon/" target="_blank">Steam</a>.</i></div>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-86268068615166462442023-03-16T21:58:00.022-04:002023-03-17T03:23:50.587-04:00Double Fine PsychOdyssey recaps / viewing guide, episodes 01-17<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3_bI7KIurCas5mzpxoJYrd73p5pa9X7Jij912I-DTHbfduzbQtOgjbNXuF2RpiMuleZaluQEYLX2tkc0U-3AJU7z8UdMB8Zwm0J7XNU28KLdnc85fUU4CuQvueCBXZ66vR2vxXj3srwXKOwD1CBKjotL0Kxc9pg1NJcuds3BWEGd1majk4DVJc0PY/s3840/PsychOdyssey-KeyArt-Logo-Landscape.jpg"><img border="0" data-original-height="2160" data-original-width="3840" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3_bI7KIurCas5mzpxoJYrd73p5pa9X7Jij912I-DTHbfduzbQtOgjbNXuF2RpiMuleZaluQEYLX2tkc0U-3AJU7z8UdMB8Zwm0J7XNU28KLdnc85fUU4CuQvueCBXZ66vR2vxXj3srwXKOwD1CBKjotL0Kxc9pg1NJcuds3BWEGd1majk4DVJc0PY/w640-h360/PsychOdyssey-KeyArt-Logo-Landscape.jpg" width="540" /></a></div><div><br /></div><div>Last month, game industry documentary makers 2 Player Productions debuted a massive 32-part YouTube game dev doc series <a href="https://www.youtube.com/playlist?list=PLIhLvue17Sd70y34zh2erWWpMyOnh4UN_" target="_blank">Double Fine PsychOdyssey</a>, chronicling the development of Psychonauts 2 from its earliest glimmers of pre-production in 2015 to its final release in 2021. </div><div><br /></div><div><div>I assumed it was mostly for fans but after watching all 32 episodes (on 2x speed, skipping some parts) I've changed my mind and now I think it's <b>essential viewing for all game designers / devs</b>. It shows the everyday work of medium-scale commercial game dev in unprecedented detail: the creative high of successful collaboration as well as the ugly prototypes, grueling bug fixes, and painful miscommunication. There's also a thrill of access, where the camera captures vulnerable moments it wasn't quite supposed to see. The most epic public post-mortem ever.</div><div><br /></div><div>As a public service, I've written a short text summary and some notes for each episode. This recap post / viewing guide covers only the first half of the series (episodes 01-17) and I'll try to write-up the second half later.</div><div><br /></div><div><b>SPOILER WARNING: obviously, these recaps spoil what happens in each episode.</b></div><div><br /></div><span><a name='more'></a></span><div><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/videoseries?list=PLIhLvue17Sd70y34zh2erWWpMyOnh4UN_" title="YouTube video player" width="560"></iframe></div><div><i><b><br /></b></i></div><div><i><b>One last disclaimer</b> -- everyone who watches these videos will have different takeaways and interpretations. These are just my personal observations, and I recommend you use this guide as a jumping-off point to come to your own conclusions.</i></div><div><br /></div><div><b><u>GREENLIGHT / VR SPIN-OFF DEV (episodes 01 - 05)</u></b></div><div><i>If you don't have time, you can maybe skip this block and start at episode 06 instead.</i></div><div><i><br /></i></div><div><b>2015</b></div><div><br /></div><div><b><a href="https://www.youtube.com/watch?v=AKoy_KMVIyU&list=PLIhLvue17Sd70y34zh2erWWpMyOnh4UN_&index=2" target="_blank">Episode 01: “The Color of the Sky in Your World”</a> reviews the legacy of Psychonauts 1 back in 2005.</b> It was a quirky story-first 3D platformer with jokes that were actually funny. Each level also had unique mechanics and art styles that all tied into a cohesive whole. Other mascot platformers like Mario, Sonic, or Crash, might've had more complex platforming, but Psychonauts told an actual story with memorable characters and human warmth that's still rarely matched in games today.</div><div><br /></div><div><b><a href="https://www.youtube.com/watch?v=mARF-cdLO5M&list=PLIhLvue17Sd70y34zh2erWWpMyOnh4UN_&index=3" target="_blank">Episode 02: “Not in the Cards”</a> looks at the Psychonauts VR spin-off game Rhombus of Ruin and DF's bizdev strategy.</b> As an independent studio always running out of money, DF has to constantly seek new deals and diversify its projects: Headlander for Adult Swim, Rad for Bandai Namco, and now some sweet sweet Sony VR money. Back in 2015, VR seemed a lot hotter, yet DF prophetically views it more as a stepping stone for a Psychonauts sequel. Design-wise, they're trying to remember how to make a Psychonauts game 10 years later. Tech-wise, it's a vertical slice "learn Unreal 4" project, a big shift from a studio that used to roll its own <a href="https://www.pcgamingwiki.com/wiki/Engine:Buddha" target="_blank">in-house engine</a>.</div><div><br /></div><div><b><a href="https://www.youtube.com/watch?v=quNHyv5CtdI&list=PLIhLvue17Sd70y34zh2erWWpMyOnh4UN_&index=4" target="_blank">Episode 03: "Awesome Toybox"</a> follows more VR dev, but really it's more about capturing DF's studio culture in 2015. </b>At 5:18, VR project lead Chad Dawson talks about mentoring "new guys" and you see him joking and smiling with two (male) junior devs. Then it cuts to concept artist Emily Johnstone anxiously trying to pitch design ideas to a group brainstorm meeting where she just happens to be the only woman in the room. This is the beginning of Emily's story arc, where she feels a bit imposter syndrome'd and nervously seeks approval. Compare her to the empowered creative lead Emily of episode 28. (In a later episode, Chad does praise Emily specifically, but it doesn't help that his name is Chad.)</div><div><br /></div><div><b><a href="https://www.youtube.com/watch?v=thdgvVM9CwA&list=PLIhLvue17Sd70y34zh2erWWpMyOnh4UN_&index=5" target="_blank">Episode 04: “Bringing Back Psychonauts”</a> shows the initial sequel announcement and all the work that goes into any trailer, PR push, and crowdfunding campaign. </b>This is a more business-oriented aspect of game development that we rarely see, and frankly, an aspect we rarely associate with DF either. The initial hope around Fig's crowdfunded-investor model is an interesting historical note, since a few years later it pivoted away from games -- and even Kickstarter is now a somewhat marginal PR platform more than a funding platform, at least for video games.</div><div><br /></div><div><b><a href="https://www.youtube.com/watch?v=Axrh69zTvoo&list=PLIhLvue17Sd70y34zh2erWWpMyOnh4UN_&index=6" target="_blank">Episode 05: “You’re Public Now”</a> is the conclusion of the crowdfund and its worries, as the studio prepares for pre-production while iterating on the VR game.</b> Despite the trauma of Gamergate's harassment haunting the studio, the crowdfunding campaign is a big success. Meanwhile, VR dev continues, as artists learn Unreal 4's art pipeline and do lookdev to figure out how to update the Psychonauts art style from 2005 to 2015. Tim Schafer also has to refresh his writing workflow; should the blockout dictate the script, or the other way around, or how do you manage that back-and-forth? The narrative workflow problems are just beginning.</div><div><br /></div><div><div><br /></div></div><div><b><u>PRE-PRODUCTION (episodes 06 - 13)</u></b></div><div><i>This is when they actually start working on Psychonauts 2.</i></div><div><i><br /></i></div><div><b>2016</b></div><div><br /></div><div><b><a href="https://www.youtube.com/watch?v=CVAhUNJYZ6Y&list=PLIhLvue17Sd70y34zh2erWWpMyOnh4UN_&index=7" target="_blank">Episode 06: "Creative Promises"</a> marks the start of Psychonauts 2 pre-production and the hiring of project lead Zak McClendon.</b> McClendon unveils "creative promises", a big board of brainstormed notecards to rank core pillars for the game in a very organized hierarchical way. (For more on McClendon's big board approach, see his <a href="https://www.youtube.com/watch?v=PkZoGDKy_L4" target="_blank">2018 PRACTICE talk "Welcome to the Yard Sale: A Practical Framework for Holistic Design Iteration"</a>.) <i>(Outside of game design, there's a growing tide against "design thinking" style methods, see <a href="https://www.technologyreview.com/2023/02/09/1067821/design-thinking-retrospective-what-went-wrong/" target="_blank">"Design thinking was supposed to fix the world. Where did it go wrong?"</a>, MIT Technology Review, 9 Feb 2023.)</i></div><div><br /></div><div>Companies often hire senior / leads externally to bring in new thinking. McClendon's decades of experience as QA, producer, and designer, and recommendations from past co-workers, is a hire that seems to make sense skill-wise and culture-wise. He also has a semi-unspoken mandate to "rein in" Double Fine / Tim Schafer's "tendencies", to finish a Psychonauts game on-budget and on-time while shoring up perceived weaknesses. As he says in a later episode, he's basically setup to be the studio's "step-dad" bad guy / foil to Tim. The conflict between him and senior programmer Anna Kipnis begins simmering here already, when his first interaction with her is to interrupt her during a brainstorming session.</div><div><div><br /></div><div><b><a href="https://www.youtube.com/watch?v=VFXMZAsdfE0&list=PLIhLvue17Sd70y34zh2erWWpMyOnh4UN_&index=8" target="_blank">Episode 07: "We'll Know Where It Is"</a> covers more VR dev and the semi-departure of animator Ray Crook.</b> For the past few episodes, several longtime staffers have been leaving the company / San Francisco for various reasons, like wanting to raise a family somewhere affordable. There's a sense of a changing of the guard, an anxiety about maintaining studio identity if key personnel are leaving. Yet Crook opts to continue working remotely with an always-on webcam hangout kiosk, an interesting historical harbinger to the pandemic era. Meanwhile, Sony is happy with the VR demo, and the studio is getting more experienced with Unreal.</div><div><br /></div><div><b><a href="https://www.youtube.com/watch?v=eaA0P2dDHSg&list=PLIhLvue17Sd70y34zh2erWWpMyOnh4UN_&index=9" target="_blank">Episode 08: "A Couple Years of Hard Work"</a> is when they make their first in-engine prototype demo to figure out environment art and player locomotion</b>. They build a small forest camp themed test level to jump around in, but it's difficult to pinpoint look and feel because they don't have an art director. (I have to emphasize: it's absolutely wild that an art-driven game like Psychonauts does not have an art director until episode 16.) Zak argues the demo should focus on gameplay instead of art anyway, because they need to seek more funding and a publisher wouldn't have any concerns about DF's art pedigree. They still need to balance this pre-production with finishing the studio's other projects too.</div><div><br /></div><div><b>2017</b></div><div><br /></div><div><b><a href="https://www.youtube.com/watch?v=hVK2ZneNEsU&list=PLIhLvue17Sd70y34zh2erWWpMyOnh4UN_&index=10" target="_blank">Episode 09: "One Shot"</a> shows the VR game nearing completion and new hire James Marion.</b> They still need more funding, so they're talking to publishers like Starbreeze (and a bleeped out word that, to me, sounded like the word 'sony'). Meanwhile the dev team ramps up with a new junior level designer James Marion, a self-described DF fanboy who has never made a 3D level but interviewed well enough to take a chance on him. (Disclosure: I taught at NYU Game Center while Marion was a student there.) </div><div><br /></div><div>Zak and his imported lieutenant / lead level designer Ryan Mattson frequently criticize James' work (and Anna Kipnis' work) at tense design review meetings. Viewers may see this as a rough unfair way to train anyone, but in the industrial dev culture that Zak and Ryan come from, the conventional wisdom is that the only way to become a good level designer is to "go map" -- stop talking, make levels, watch the playtest go wrong, and iterate. Sharp criticism and failure is what hones your design sense. Through all this, Tim seems to cautiously step back. Zak is shaking up the studio culture, but is it for better or worse?</div></div><div><br /></div><div><b><a href="https://www.youtube.com/watch?v=DP9SLCbmI0U&list=PLIhLvue17Sd70y34zh2erWWpMyOnh4UN_&index=11" target="_blank">Episode 10: "Bittersweet Gravity"</a> is about the level team making a blockout in detail while iterating on the core player moveset.</b> You get to see the design process play out. Like how should the wall jump feel? (How do other games do it?) Hmm, how will that affect the level design? How do you make a room and various routes readable to a player? Well, it depends on what looks climbable and wall jumpable... These are all complex interdependent core questions the team is figuring out, and now is the time to do it. Meanwhile, James and artist Jeremy Natividad continue to run the blockout iteration gauntlet and finally get some praise and approval at the end.</div><div><br /></div><div><b><a href="https://www.youtube.com/watch?v=tQaipMpf9Go&list=PLIhLvue17Sd70y34zh2erWWpMyOnh4UN_&index=12" target="_blank">Episode 11: "Not Doing the Typical"</a> shows higher level concerns with the blockout-first level design approach.</b> Tim argues James and Jeremy's blockouts are sort of just random spaces with no overall concept, and pushes for more thematic design with memorable scenes. James pitches a miniature Mediterranean town, and group discussion morphs it into like a metaphorical hanging planter about to spill over or something? Honestly the concept doesn't make much sense to me, but anyway they pause everything to prepare for Amnesia Fortnight.</div><div><br /></div><div><b><a href="https://www.youtube.com/watch?v=bQZxG9BBC10&list=PLIhLvue17Sd70y34zh2erWWpMyOnh4UN_&index=13" target="_blank">Episode 12: "Amnesia Fortnight"</a> and <a href="https://www.youtube.com/watch?v=7reG7pLhhmU&list=PLIhLvue17Sd70y34zh2erWWpMyOnh4UN_&index=14" target="_blank">Episode 13: "I Made A Game"</a> show the annual studio-wide two week game jam, where Asif Siddiky's project shines.</b> AF is one of DF's most famous traditions, conceived as a way to reinvigorate the studio during much longer projects. Anyone can lead a project, to flip the staff hierarchy and try new things. There are a bunch of good projects though one stands out as most relevant: Asif is one of the documentary makers, but leads The Gods Must Be Hungry project, a cooking show game that will eventually become one of the best levels in Psychonauts 2. (In the next episode, Asif joins the team as a designer.) Also, Pendleton Ward hangs out and helps for some reason.</div><div><br /></div><div><br /></div><div><b><u>ALMOST PRODUCTION (episodes 14 - 17)</u></b></div><div><i>The core concept is set, so now they can start building out the game... maybe?</i></div><div><br /></div><div><b><a href="https://www.youtube.com/watch?v=LPY0guNICJM&list=PLIhLvue17Sd70y34zh2erWWpMyOnh4UN_&index=15" target="_blank">Episode 14: "Surface Tension"</a> is about the level team still struggling to come up with a strong concept.</b> They need to figure out a process to concept levels now, so they can do it 10 more times, but game design is hard. The mini Mediterranean plant town concept has morphed into a giant moving bonsai world with a porcelain town and pushable water droplets. It still doesn't really work, and no one has really found their groove yet. James especially feels frustrated, because he's doing what everyone's telling him to do and it's still not enough. Shouldn't Tim be giving more direction on the level concepts?</div><div><br /></div><div><b><a href="https://www.youtube.com/watch?v=k_ObcMVWgKI&list=PLIhLvue17Sd70y34zh2erWWpMyOnh4UN_&index=16" target="_blank">Episode 15: "Hard To Get Old"</a> shows a new level team spinning up and combat iteration for a 'first playable' build to show publisher Starbreeze.</b> They're starting a new library-of-bees book themed level with a second level team, while the bonsai team is moving on to a casino heist level. They're worried they won't have enough progress to show Starbreeze. Meanwhile, Zak and Anna conflict over combat design; Zak seems to want a focus on classical bread-and-butter systems-y interesting set of choices, while Anna thinks combat should be more of a means to convey mood and expression. (This "what's the purpose of combat?" issue returns in climactic episodes 17 and 21.)</div><div><br /></div><div><b><a href="https://www.youtube.com/watch?v=uqozV9v_7Y8&list=PLIhLvue17Sd70y34zh2erWWpMyOnh4UN_&index=17" target="_blank">Episode 16: "Written Into A Corner"</a> shows multiple shifts in management, and finally they get art director Lisette Titre.</b> There's recognition that James was setup to fail, so leads will now do less hands-on work themselves and give more feedback. (A common dilemma in all industries, where seniors no longer get to do the thing they like doing, and are pushed to become managers instead.) Tim gives more narrative briefings and material for teams to work with. New art director / manager Lisette helps rep the artists at meetings and tries to help mend broken trust. (Lisette: "I have not been in a game where design and artists have not wanted to kill each other.") At 26:30, Zak leaves the room and, seemingly immediately, James vents about his ongoing frustrations with Zak to senior devs... Oh well, at least the Starbreeze meeting goes OK.</div><div><br /></div><div><b>2018</b></div><div><br /></div><div><b><a href="https://www.youtube.com/watch?v=4hbWo0sVbkU&list=PLIhLvue17Sd70y34zh2erWWpMyOnh4UN_&index=18" target="_blank">Episode 17: "The Heart of Double Fine"</a> shows multiple conflicts peak in the departure of senior programmer Anna Kipnis.</b> There's a side story about the Shanghai-bee-library level finishing up, but really the focus is on a series of fateful combat design meetings: Zak wants bottom-up design with a core enemy type toolbox that they theme later, while Anna wants worldbuilding-first enemy design for specific thematic / story purposes. Anna points out the latter is how enemy design is usually done at DF, and Zak says no. At another combat meeting, Anna shows the flying enemy AI she made, and wants to add an additional attack type that'll look cooler for the Friday studio-wide meeting, but Zak says no again. Then at a design process presentation, Anna warns the current workflow may sideline narrative design and scripting, and level design lead Ryan says no it's not (period)... All of these shutdowns seem to culminate in Anna leaving DF, shocking the rest of a teary-eyed studio and marking a major turning point in the project.</div><div><br /></div><div>***</div><div><br /></div><div>What will happen next? Will the project recover?! I'll cover episodes 18-32 in a future post. Probably.</div><div><br /></div><div>I'll end this post with some remarks though --</div></div><div><br /></div><div>This isn't reality TV. People are more complicated than characters. Hold that complexity in your mind. The people who actually know McClendon in real-life -- they can totally judge him, they have that experience. But viewers like me can only know a "Zak" character, who exists as a sort of villain in this story. If one main question of this whole video series is "where is it going wrong?", the answer is probably more than just "it's Zak's fault." If "Zak" is a villain, then what <b>process</b> turned him into a villain? There's multiple chains of problems and issues to ponder.</div><div><ul style="text-align: left;"><li>In later episodes, Zak implies he was sort of setup for failure. Being the studio step-dad does seem like an impossible situation. Is that where things went wrong?</li><li>How should junior devs be mentored and trained? Too little is neglect, too much is micro-management, both extremes destroy confidence. What's the balance?</li><li>Is Tim stepping back too much? How involved should he be? Should the entire studio seem to revolve around him? Again, what's the balance here?</li><li>Does the design department have too much power here, or should design rightfully drive programming and art? It seems like it's bad for artists to not have an art director to advocate for them, why didn't that hire happen sooner?</li><li>The studio is gradually diversifying, with more women and people of color. Who's in the room when decisions get made?</li></ul></div>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-58239508530566249912023-01-01T16:29:00.010-05:002023-01-01T16:49:31.280-05:00Unity WebGL tips / advice in 2023<p>I recently <a href="https://www.blog.radiator.debacle.us/2022/12/that-lonesome-valley-as-cowboy-coin.html" target="_blank">released a Unity WebGL game</a> and the process was a bit painful. Here's what I learned...</p><p>In summary: </p><p></p><ul style="text-align: left;"><li>I was using built-in pipeline and didn't try URP. (HDRP is definitely out of the question btw)</li><li>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...</li><li>... because it's 2023 and <a href="https://forum.unity.com/threads/ios-15-webgl-2-issue.1176116/page-3" target="_blank">iOS WebGL performance is still pretty shitty</a> 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.)</li><li>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.</li></ul><p></p><p>(Note: this is current as of Unity 2021.3.11 LTS + iOS 15.)</p><span><a name='more'></a></span><ul style="text-align: left;"><li><b>Platform specific code:</b> Application.isMobilePlatform is false for iPads; there's no built-in Unity way to detect iPads on WebGL, you have to do weird stuff with an external .jslib that sniffs the user agent string and passes it back to Unity.</li><li><b>Touch:</b> Don't rely on <a href="https://docs.unity3d.com/ScriptReference/Input-touchSupported.html">Input.touchSupported</a> which will return true on WebGL on every browser and OS. Instead, it's better to check whether <a href="https://docs.unity3d.com/ScriptReference/Input-touchCount.html">Input.touchCount</a> > 0.</li><li><b>Audio: </b>keep it simple, iOS web audio handling is bad.</li><ul><li>Behind the scenes, <a href="https://docs.unity3d.com/Manual/webgl-audio.html" target="_blank">Unity strips its internal FMOD and manually reimplements AudioSource etc. with WebAudio API</a>. Only basic core features are supported.</li><li>In the end I just <b>set all AudioClips to Decompress On Load</b>. Even music files. When I left them on Compressed in Memory, each iOS sound playback would gradually build up lots of static crackling distortion, until the audio playback just completely dies and even crashes the tab.</li><li>I had the most luck with <b>minimizing use of PlayOneShot(),</b> and just generally playing AudioSources less frequently.</li><li>Your game audio will continue playing even outside of the browser, because iOS fuckin' sucks. You can implement a <code>OnApplicationFocus(false) { // pauses the game and mute audio }</code> type of feature, which has a 50% chance of actually triggering when the user switches tabs or minimizes the browser app.</li></ul><li><b>Mobile keyboard input</b>: as far as I know there's still bugs with user typing in text fields / buggy events and detection. The old advice here was to use an external .jslib that creates a hacky HTML text field above your WebGL canvas or something. In the end my game didn't need any typing so I didn't investigate further.</li><li><b>UI: </b>the built-in Event System component has a pretty bad bug where changing canvas size / fullscreening / triggering <span style="font-family: courier;">OnApplicationFocus(false)</span> can break the Event System because iOS browsers don't reliably trigger <span style="font-family: courier;">OnApplicationFocus(true)</span>, which means the Event System never turns on again. This means that you won't be able to click on any Unity UI objects after the WebGL context loses focus for basically any reason. To fix this you need to use a custom Event System to override it, <a href="https://forum.unity.com/threads/ui-button-stops-working-permanently-after-switching-tabs-on-mobile-safari.1029688/" target="_blank">like this</a>: <br /><pre><code>using UnityEngine.EventSystems;
// from https://forum.unity.com/threads/ui-button-stops-working-permanently-after-switching-tabs-on-mobile-safari.1029688/
public class EventSystemWebGL : EventSystem
{
#if UNITY_WEBGL
protected override void OnApplicationFocus(bool hasFocus)
{
// Do Nothing
}
#endif
}</code></pre></li><li><b>Texture Compression: </b>for comprehensive support, you have to include DXT (desktop) and ASTC (mobile) texture formats. Unity provides a <a href="https://docs.unity3d.com/2022.2/Documentation/Manual/webgl-texture-compression.html" target="_blank">DXT-ASTC dual build editor script example</a> but it's actually broken. <a href="https://gist.github.com/radiatoryang/6330d9f5feb83d09ae63162a59422b09" target="_blank">Here's an actually working one that I fixed up (Gist)</a>, just put it in an /Editor/ folder.</li><ul><li>To use the dual build setup, you have to modify the WebGL .html template too, or else it won't know how to switch data files. I recommend using the <a href="https://github.com/seleb/Better-Minimal-WebGL-Template" target="_blank">Better Minimal WebGL Template</a> as a base, and mod in the data file switcher JS code.</li><li><b>My recommended simple option though: </b>if you're making a fairly small 2D game, then just make a regular single WebGL build set to ASTC. Desktop browsers will decompress the texture and it'll still work in a less optimal way, we're really only worried about iOS browser perf anyway.</li></ul><li><b>Spritesheets:</b> using the <a href="https://docs.unity3d.com/Manual/class-SpriteAtlas.html" target="_blank">Sprite Atlas</a> for 2D games is a must, if you haven't been doing that already.</li><li><b>Player Settings:</b> I read a lot of superstitions and rumors about what the best WebGL build and player settings are. Here's my superstitions...</li><ul><li>set to <i>Code Optimization: Speed</i>, and <i>Code Generation: Faster runtime</i> ... iOS WebGL needs all the help it can get</li><li>enable <i>Run In Background,</i> or else switching iOS browser tabs / resizing the WebGL canvas can cause complete tab freezes (at least it did for me)</li><li>set <i>Code Stripping: High, </i>remove all unused packages and scripts</li><li>if you want maximum possible iOS stability, you can also set it to use <i>WebGL 1.0</i> (though support for this will be removed for Unity 2023.x I think) and Gamma color space (WebGL 1 doesn't support Linear color space)</li></ul></ul><div>Anyway. Good luck. You're gonna need it.</div><ul style="text-align: left;"></ul>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-25757165394858691162022-12-12T16:22:00.008-05:002022-12-25T18:22:16.095-05:00That Lonesome Valley as cowboy coin crusher<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRuTMYkyVxtSGaFgUrmFHXFy3ZMdQ0G1iq0uarNfUaCBjcLYbDclrCSc8go7wbPoLN23q_lwxeZuXUUzG2ML0fJrtJgLdwykhlP0jFeuRr6s_5YrWwLBUex1e59W4S7VZpGLK4XWk32wGWVOzMW7CUTXK4gc6bNNtDPRxbFfNd8clcIMtkvoBJOjr3/s1858/ThatLonesomeValley_bback.png"><img border="0" data-original-height="1045" data-original-width="1858" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRuTMYkyVxtSGaFgUrmFHXFy3ZMdQ0G1iq0uarNfUaCBjcLYbDclrCSc8go7wbPoLN23q_lwxeZuXUUzG2ML0fJrtJgLdwykhlP0jFeuRr6s_5YrWwLBUex1e59W4S7VZpGLK4XWk32wGWVOzMW7CUTXK4gc6bNNtDPRxbFfNd8clcIMtkvoBJOjr3/w640-h360/ThatLonesomeValley_bback.png" width="540" /></a></div><p></p><p><i><b>SPOILER WARNING:</b> This post spoils what happens in my new game <a href="https://radiatoryang.itch.io/that-lonesome-valley" target="_blank">That Lonesome Valley</a>. If you care about spoilers, play it first. It'll take about 30 minutes.</i></p><p><i><b>CONTENT WARNING:</b> 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.</i></p><p><a href="https://radiatoryang.itch.io/that-lonesome-valley" target="_blank">That Lonesome Valley</a> is a short gay cowboy romance game about walking, sheepherding, and kissing. </p><p>Back in 2019 I made an unfinished prototype for a <a href="https://itch.io/jam/gay-western-jam" target="_blank">Gay Western game jam</a> to contemplate the anniversary of influential gay cowboy film <a href="https://en.wikipedia.org/wiki/Brokeback_Mountain" target="_blank">Brokeback Mountain</a> (2005). Three years later, I've finally finished it. This final release now has gay sex, smoochin', and other important new features. </p><p>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...</p><span><a name='more'></a></span><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikKo9Yv4LOGFzl8iZ9DAv5XE-MkDeLHMfkQtBBUvdhP6FC9QdXE1gXiqLscHR3dQDylGqdqta9OsZG41D8Gj_A0TKovGWqo-nHGcSji_g-XOXkjcGhzGOEFJUSuLPH3VtBp5bb3nP9sYhwYLPEyiYNjd9GuL-UsLVRoOQXO4C78wuFLkYsmCAp2UPL/s1440/brokeback.jpg"><br /><img border="0" data-original-height="650" data-original-width="1440" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikKo9Yv4LOGFzl8iZ9DAv5XE-MkDeLHMfkQtBBUvdhP6FC9QdXE1gXiqLscHR3dQDylGqdqta9OsZG41D8Gj_A0TKovGWqo-nHGcSji_g-XOXkjcGhzGOEFJUSuLPH3VtBp5bb3nP9sYhwYLPEyiYNjd9GuL-UsLVRoOQXO4C78wuFLkYsmCAp2UPL/w640-h288/brokeback.jpg" width="540" /></a></div><p>First, some thoughts on the film Brokeback Mountain (2005): it's fine, not really my favorite movie.</p><p></p><ul style="text-align: left;"><li>not enough gay sex in it actually?... sorry I'm gay</li><li>cursed closet tragedies are fine, but it's a crowded genre</li><li>Ang Lee already made a gayer movie called <a href="https://en.wikipedia.org/wiki/The_Wedding_Banquet" target="_blank">The Wedding Banquet (1993)</a> which I recommend more than Brokeback Mountain probably</li><li>I prefer <a href="https://www.newyorker.com/magazine/1997/10/13/brokeback-mountain" target="_blank">Annie Proulx's original short story</a>. "Jack I swear" is certainly a pithy last line for a movie, but Proulx's last line makes for a more complicated character and morality: <i>"There was some open space between what he knew and what he tried to believe, but nothing could be done about it, and if you can’t fix it you’ve got to stand it."</i></li></ul><p></p><p>Back in 2019 when I was making the original prototype, there were also two other gay cowboy things on my mind: Orville Peck's hit single <a href="https://www.youtube.com/watch?v=q3esGD6lcMM" target="_blank">"Dead of Night"</a> and the gay indie romance film <a href="https://en.wikipedia.org/wiki/God%27s_Own_Country_(2017_film)" target="_blank">God's Own Country</a>.</p><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube-nocookie.com/embed/q3esGD6lcMM" title="YouTube video player" width="560"></iframe><p>Peck's lyrics detail a fling between two hustlers in the wastelands of Sierra Nevada. Like Brokeback, it's a story about young unhappy unsuccessful queer men. But here the tragedy and regret doesn't stem from the closet. Instead I think it's more about a wistful weary worldliness and the uncaring streets of Carson City:</p><blockquote><div style="text-align: left;"><div><i>See</i></div><div><i>See the boys as they walk on by</i></div><div><i>See</i></div><div><i>See the boys as they walk on by</i></div><div><i>(Bye)</i></div><div><i>As they walk on by</i></div><div><i>(Bye)</i></div><div><i>As they walk on by</i></div><div><i>(Bye)</i></div><div><i>As they walk on by</i></div><div><i>It's enough to make a young man—</i></div></div></blockquote><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube-nocookie.com/embed/IwZU7EW2vL8" title="YouTube video player" width="560"></iframe><p>The film God's Own Country (2017) is a contemporary British take on Brokeback Mountain. A homophobic English farmboy is forced to work with a hunky Romanian farmhand, and so inevitable muddy fight sex and simmering romance ensues. Longtime readers may remember my white working class British masculinity simulator <a href="https://radiatoryang.itch.io/hardlads" target="_blank">Hard Lads</a>, so I'm certainly not unsympathetic to this premise... but to me what saves the film is more the Brexit overtones, which adds a more complex layer of xenophobia to the gay cowboy genre.</p><p>However the sudden and convenient conclusion (replete with sugary Patrick Wolf soundtrack) didn't work for me, an obvious pushback against Brokeback and other dour artsy post-Brokeback cinematic gay dramas like A Single Man (2009), Weekend (2011), and Keep The Lights On (2012). In real life, Brexit defeated love rather resoundingly and brutally, deporting countless hunky Romanian farmhands. I think a better plot would've followed through on its own politics.</p><p>Is there a place for gay cowboy romance beyond dreary cursed closets, dying on the street, or naïve bourgeois bliss?</p><p>I don't think I quite found it, but here's how I tried...</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8mQjEUBPd0UuyYxiNh2TApIIF-iQS1fhZBh3b8_wbDEN6_sChglJyB1Pc5V6SoA44jAWqgOTWtEQmwJDqkDk1Zyf0JVH55eDgrQh1ldOxDjPYsQxKEK3_wooceyfMOKGq_4xxzDbSQTYGFkzwrQoT97w0Q1G6AFjHga0rnQTTQeTnSD12ZKypTqLv/s1858/ThatLonesomeValley_intro.png"><img border="0" data-original-height="1045" data-original-width="1858" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8mQjEUBPd0UuyYxiNh2TApIIF-iQS1fhZBh3b8_wbDEN6_sChglJyB1Pc5V6SoA44jAWqgOTWtEQmwJDqkDk1Zyf0JVH55eDgrQh1ldOxDjPYsQxKEK3_wooceyfMOKGq_4xxzDbSQTYGFkzwrQoT97w0Q1G6AFjHga0rnQTTQeTnSD12ZKypTqLv/w640-h360/ThatLonesomeValley_intro.png" width="540" /></a></div><p>My sex games are often romantic, but they're not romances. I restrain my characters to the realm of images and symbols, and only hint at interiority and psychology. Truly knowing and understanding someone is so rare in this world. This is even more difficult when I'm not a particularly good writer. A good character is a lot of work and maybe even beyond my abilities. Despite my doubts I pushed on, and the result is a simple story with just two characters:</p><p>The player character Jose is a bookish college student from California who's visiting Wyoming to complete a summer field project for his agricultural management degree. The romantic interest Bud is a local ranchhand assigned as a guide.</p><p>Here I depart from Brokeback and take a note from God's Own Country, writing two characters with different ethnicities and upbringings: Jose is a middle class suburban Latino west coaster, and Bud is a white working class rural hill guy. These differences emerge frequently in dialogue, especially in the first act, but this is also a romance where both characters conveniently reconcile their ideas of queer identity and sex like 10 minutes later. Maybe they're more like Orville Peck's hustler poets.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP9WFl3b-De0hxS2c0cLnKG8NhfVT-WwrJ-zsOv0It2SpCFrB2gjLxnJuyKG_wNZZqjrxKttxqXw9frZixZzo8ZgZ2jz9TDKobJEn3k-dyTek6RKhjG5KsiNQ3Z0WCgCNLcQCJNhlhKSJOLuVgI7PZnEnI1JXerLTrIgcCYWHJC7GwkavkM0ZypNbQ/s1858/ThatLonesomeValley_borninthe.png"><img border="0" data-original-height="1045" data-original-width="1858" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP9WFl3b-De0hxS2c0cLnKG8NhfVT-WwrJ-zsOv0It2SpCFrB2gjLxnJuyKG_wNZZqjrxKttxqXw9frZixZzo8ZgZ2jz9TDKobJEn3k-dyTek6RKhjG5KsiNQ3Z0WCgCNLcQCJNhlhKSJOLuVgI7PZnEnI1JXerLTrIgcCYWHJC7GwkavkM0ZypNbQ/w640-h360/ThatLonesomeValley_borninthe.png" width="540" /></a></div><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWQXkFywB2bzh1IjZmM71K1d1OGoNzYyFmpDnfro92FupVugl6dNK6vPr6noN6LNNF4zJYrRNn1dCy8AJryisW49XGe01Ur2ze4SQIms3jBEtVAGSkJipHnS5qI_bljASLYImGa4CR8_zPh5AhpkFxGAY1LiEEeqqmJi6jKDKYZwYR04ARIXinQz42/s512/thatlonesomevalley_map.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="512" data-original-width="344" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWQXkFywB2bzh1IjZmM71K1d1OGoNzYyFmpDnfro92FupVugl6dNK6vPr6noN6LNNF4zJYrRNn1dCy8AJryisW49XGe01Ur2ze4SQIms3jBEtVAGSkJipHnS5qI_bljASLYImGa4CR8_zPh5AhpkFxGAY1LiEEeqqmJi6jKDKYZwYR04ARIXinQz42/w134-h200/thatlonesomevalley_map.png" width="134" /></a></div>As the player and Bud walk around a surprisingly large landscape, they talk about life and stuff, and the player occasionally chooses how to respond, with a 5 second timer that chooses a random response if the player waits too long.<p></p><p>You can place this game in a tradition of walkie-talkie games like Firewatch or Wheels of Aurelia. Here my walking mechanic borrows some sensibility from Death Stranding, where terrain can seriously slow down the player's speed, so a skilled player should micro-optimize their route a little and avoid water / hills / obstacles.</p><p>Because the dialogue happens at the same time as the walking, I felt I had to keep the other game systems relatively simple too or else it would feel overwhelming. It already feels so fraught to me. I didn't want to give players even more reasons to ignore the story. Balancing the weight of each system was difficult.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBaeb3lta53dmdF3_1aWek7Zc6IR5YFQCGSBNQgEOP2j3zC-L3y5xNHh1tlT7UBXwaO-wyqRhAF1sP02BfCrds0dH59JWuZ4uwbTQ9UAz2wVkZ9wXKf2iqID6zzXEOUR_aOOA2vG49dTHWFYIEdOqW9kI8QQuFBMPkCVYr2iw48rYVppqGKFXGmSFu/s1858/ThatLonesomeValley_sheep.png"><img border="0" data-original-height="1045" data-original-width="1858" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBaeb3lta53dmdF3_1aWek7Zc6IR5YFQCGSBNQgEOP2j3zC-L3y5xNHh1tlT7UBXwaO-wyqRhAF1sP02BfCrds0dH59JWuZ4uwbTQ9UAz2wVkZ9wXKf2iqID6zzXEOUR_aOOA2vG49dTHWFYIEdOqW9kI8QQuFBMPkCVYr2iw48rYVppqGKFXGmSFu/w640-h360/ThatLonesomeValley_sheep.png" width="540" /></a></div><p>Like many game prototypes, my initial sheepherding test began as something much grander and more complicated. Early tests let you give commands to Bud, to improvise positioning and herding tactics. I even thought about implementing a sheepdog. Unfortunately it was going to be a huge project overscope to make this complexity feel readable and good.</p><p>The simple sheep AI now has two behaviors: they run away from you if you approach them, but they'll follow you indefinitely if you give them a carrot. So usually the best tactic is to trap them into a corner so you can get close enough to carrot them, and then slowly lead them back to the flock. Sometimes they get stuck because I didn't spend much time on the steering AI, but I think these bugs actually make the sheep more charming because you have to backtrack to untangle them from an obstacle.</p><p>I decided it was OK if this shepherding gameplay was so simple, because the focus of this game was more about the sum of all these parts rather than just one thing.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpxYVAulRYRheBHuy8YjJwfgNVBklWj4B5gxNRGhEno1UpOaXEGINuiY-LM1XHO54dotHEI7ANSdEaMR59noAfgtJPoTmoocF57q14er3sqF4CJlVBvokcDTs8yzWU8P9rwxMHUc781ZJFeSzJ4rLBFFuoBVr_e2uT9_LMxPh1Ie1FXFO0YAqBAbXi/s1858/ThatLonesomeValley_ham.png"><img border="0" data-original-height="1045" data-original-width="1858" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpxYVAulRYRheBHuy8YjJwfgNVBklWj4B5gxNRGhEno1UpOaXEGINuiY-LM1XHO54dotHEI7ANSdEaMR59noAfgtJPoTmoocF57q14er3sqF4CJlVBvokcDTs8yzWU8P9rwxMHUc781ZJFeSzJ4rLBFFuoBVr_e2uT9_LMxPh1Ie1FXFO0YAqBAbXi/w640-h360/ThatLonesomeValley_ham.png" width="540" /></a></div><p>Accordingly, I kept the relationship points system simple too. If you laugh at Bud's jokes and agree with him, you gain more heart points; if you don't go along with Bud's jokes or you say rude things to him, you'll lose out on the hearts. Based on your heart score, you'll get different dialogue and slightly different scenes.</p><p>Scoring the player's conversation choices implies "correct conversation choices = sex" which brings its own problems and limitations. Back in 2012, John Mix Meyer wrote <i><a href="https://fozmeadows.tumblr.com/post/20834902215/lamenting-the-friend-zone-or-the-nice-guy" target="_blank">"Women aren’t vending machines you put kindness coins into until sex falls out"</a> </i>to critique proto-PUA concepts like the friendzone<i>.</i> Then Patricia Hernandez <a href="http://nightmaremode.thegamerstrust.com/2012/12/03/you-know-whats-gross-we-play-nice-guys-in-so-many-games/" target="_blank">critiqued Bioware RPG romances</a> with this kindness coins theory. More recently, <a href="https://angelawashko.com/section/437138-The-Game-The-Game.html" target="_blank">Angela Washko's "The Game: The Game"</a> effectively merges PUA tactics and conversation trees as a powerful critique.</p><p>Do kindness coins exist between gay men in the same way? Generally I think any straight male entitlement to sex is less about access to sex and more about punishing women for imaginary crimes. It doesn't quite make sense in a gay male context. (Don't worry, gay men have other methods of hurting each other.)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwfjLsRW_yAR9LEq19Pmiov6dYG8aBeQBiabDTqDjNfexBKKQdmxWUrIqCYK94zxM0L5d8zhTECl5tPWKXG1YY-Lwijitwx8NwIKxdY3lD0uzNl9miLjgHUuxO-YJS5Es_1tF94EHCj1pzmChl-jiHQbrWxKdW_Vhhd9izD8uXVmYvehR7KBVxPR0H/s1858/ThatLonesomeValley_underwear.png"><img border="0" data-original-height="1045" data-original-width="1858" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwfjLsRW_yAR9LEq19Pmiov6dYG8aBeQBiabDTqDjNfexBKKQdmxWUrIqCYK94zxM0L5d8zhTECl5tPWKXG1YY-Lwijitwx8NwIKxdY3lD0uzNl9miLjgHUuxO-YJS5Es_1tF94EHCj1pzmChl-jiHQbrWxKdW_Vhhd9izD8uXVmYvehR7KBVxPR0H/w640-h360/ThatLonesomeValley_underwear.png" width="540" /></a></div><p>So in this game, the relationship score does NOT gate sex scenes. In this situation, the NPC knows what you're here for and he wants it too, even if you kinda hate each other. Sometimes people have sex with someone they don't like.</p><p>This dynamic runs counter to most video game romances, where we generally assume the "good end" = sex end = complete soulmates = rare and complex. That difficulty is supposed to imbue the NPC relationship with human complexity and psychological realism, as if only the gamers with a true emotional connection deserve to see the dick. But this is silly. Dicks for everyone, I say. Everybody eats!</p><p>There is one scene that I do gate behind a (pretty low) points threshold: a climactic kiss requires 30+ heart points to proceed. But this kiss happens at the end, after the sex. In society and most romance games, kissing is supposed to be "first base" -- but I wanted to reflect how, for some LGBTQ people and fictional cowboys, kissing might feel more like third base. (And for some men who have sex with men, kissing is like hitting a pop fly with 2 outs, bases loaded, down by 1, at the bottom of the 9th.) Inverting typical romance game pacing is one way this is a queer video game.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYgeA-_3pG79x9S29F-VylG2R0SF7h-hosfo8_6OpCtIJvwo2UCtnKg2bu1n0qS2hxXu2KJWxEzPEJtjG84Y8ejitExuXikE-tjk09s75yFNM-HDR2DH3MmOHi2AhdYSY-jkULMdb5anJXVTx2IVy4g1Rbv_0hjHMsnG5QRS6MFY6vdL_L06B-hLE0/s1858/ThatLonesomeValley_shoot.png"><img border="0" data-original-height="1045" data-original-width="1858" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYgeA-_3pG79x9S29F-VylG2R0SF7h-hosfo8_6OpCtIJvwo2UCtnKg2bu1n0qS2hxXu2KJWxEzPEJtjG84Y8ejitExuXikE-tjk09s75yFNM-HDR2DH3MmOHi2AhdYSY-jkULMdb5anJXVTx2IVy4g1Rbv_0hjHMsnG5QRS6MFY6vdL_L06B-hLE0/w640-h360/ThatLonesomeValley_shoot.png" width="540" /></a></div><p>And anyway, to me, kindness coin design is a less grievous sin than a game that pretends to have any meaningful sex systems at all. Gamers applaud Cyberpunk 2077 for its 2 penis presets which you basically never see again for the rest of the game -- it's utterly enraging for me and other sex game designers who actually grapple with dick design. This is what big budget bland blockbuster media always does: parades a veneer of sex, sucks all the oxygen out of the room to suffocate alternative media, then runs away as soon as the sex is in danger of getting interesting. (see also: <a href="https://bloodknife.com/everyone-beautiful-no-one-horny/" target="_blank">"Everyone Is Beautiful and No One Is Horny"</a>) </p><p><b>Sex is an experience; sex occupies time, space, and thought. </b>So in this game, sex takes a while and it's expressive, playing out in different ways. It is something you do, even by not-doing. You can confess you've never done a gay sex before, or play it cool and more experienced. Either way, you negotiate what sex stuff to do. Bud will decide against foreplay and anal for various reasons. If that annoys you, tell him no deal and go to sleep. Or you can blow him, which takes a couple of minutes. That sounds quick here, but in-game it feels much longer, which doubles as a sex joke: I hope some players will find the oral sex mini-game repetitive and wish Bud would just climax already.</p><p>Afterwards, Bud doesn't reciprocate, mostly because I didn't want to pixel art yet another sex scene and I think I hate doing pixel art. So don't blame Bud, the fault is mine.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghSI0qtOoakU1_kkK8keKNcsTOD9ga1w5CRaDEmLL-jGobpdBCBf2uExS4j0-P1Ye3689rj-uVgyfv1rFT0gHQwxM1lfnADZE6glpIV9DmZpaFPg07utvOBDIal2q1wjRFLWVXVYX2NY5sFb__vJoDhfB6Gz9ql5UnrTcW9fbRYg3n_aCxhkEAj540/s1749/thatlonesomevalley_map_editor.png"><img border="0" data-original-height="953" data-original-width="1749" height="290" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghSI0qtOoakU1_kkK8keKNcsTOD9ga1w5CRaDEmLL-jGobpdBCBf2uExS4j0-P1Ye3689rj-uVgyfv1rFT0gHQwxM1lfnADZE6glpIV9DmZpaFPg07utvOBDIal2q1wjRFLWVXVYX2NY5sFb__vJoDhfB6Gz9ql5UnrTcW9fbRYg3n_aCxhkEAj540/w640-h347/thatlonesomevalley_map_editor.png" width="540" /></a></div><p>Much of the pixel art is from <a href="https://opengameart.org/content/isometric-64x64-outside-tileset" target="_blank">the gorgeous 64x64 tileset by Yar</a>. The awkward character art is mine. I'm sure all the real pixel artists out there will also murder me over my inconsistent pixel resolutions and poor dithering and weird muscle tones.</p><p>Hopefully the overall feel is sufficient to imply the existence of an imaginary 16-bit game about sucking off guys in Wyoming. As with one of my previous retro-styled games <a href="https://www.blog.radiator.debacle.us/2018/06/dream-hard-as-queer-brawler-defense.html" target="_blank">Dream Hard</a>, I like this aesthetic because it implies a speculative history where these games existed, an acquired nostalgia crucial for the retrospection of a gay western. The actual day-to-day of a dirty exhausting job with long commutes and bad pay is terrible when you're living through it, but years later you forget the fatigue and remember only your sexy coworker. It exists only after it's over.</p><p>Pixel art's nostalgic effect works similarly, a nonlinear queer history. Old pixel art was crafted for CRT displays, which would blur and blend pixels. When we idolize crisp clean superflat pixel art today, it's actually a new aesthetic invented by indie game devs from the late 2000s. (see: <a href="https://www.gamedeveloper.com/programming/crt-simulation-in-super-win-the-game" target="_blank">"CRT Simulation in Super Win the Game"</a>). <i>(Note: The downloadable version of this game features this excellent <a href="https://github.com/GlaireDaggers/RetroTVFX" target="_blank">Retro CRT effect by Glaire Daggers</a> to enhance the retro feel, but I had to disable it for the WebGL browser version.)</i></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOQO0y-OI0F0PZkESqzrUiPLEl5MvdgxnwhtSLYRb84DlmGuS-a2mEB-HflSGRxWQEoNwGqIKacGBGYBUfkjCwDF4QF1Qm1TJxGrBZFkBnmekXvnNdKFKprjZIV_iWKEvHbYYPCd7p-TvC4rqNXKqIscDHZEpEcVcK5kuIrqJQHRvYyXvaD9WCe113/s1858/ThatLonesomeValley_kiss.png"><img border="0" data-original-height="1045" data-original-width="1858" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOQO0y-OI0F0PZkESqzrUiPLEl5MvdgxnwhtSLYRb84DlmGuS-a2mEB-HflSGRxWQEoNwGqIKacGBGYBUfkjCwDF4QF1Qm1TJxGrBZFkBnmekXvnNdKFKprjZIV_iWKEvHbYYPCd7p-TvC4rqNXKqIscDHZEpEcVcK5kuIrqJQHRvYyXvaD9WCe113/w640-h360/ThatLonesomeValley_kiss.png" width="540" /></a></div><p>Is that really so bad though? If pixel art never really looked like that, or an old romance never really felt like that -- is it so bad to try to transform that story over time? Like my other relationship game <a href="https://www.blog.radiator.debacle.us/2016/09/no-stars-only-constellations-as-slow.html" target="_blank">No Stars Only Constellations</a>, this is <a href="https://en.wikipedia.org/wiki/We_Tell_Ourselves_Stories_in_Order_to_Live" target="_blank">the story you tell yourself in order to live</a> and deal with shit.</p><p>This is why I prefer the short story over the movie version of Brokeback Mountain: it is more knowing. Proulx's free indirect third person narrator gives it some distance and age, who can speak with a maturity that understands the characters even if they don't understand themselves. When you look back on your life, you're actually a bit lucky if you can make sense of what the hell happened back there. </p><p>Because sometimes there's some open space between what we know and what we try to believe, but nothing can be done about it, and if you can’t fix it... then you gotta walk it by yourself.</p><p><i><a href="https://radiatoryang.itch.io/that-lonesome-valley" target="_blank">That Lonesome Valley</a> is available for free / pay-what-you-want in your web browser, or downloadable for Windows / Mac / Linux desktop.</i></p>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-65486345188086010752022-10-13T17:42:00.007-04:002022-10-13T18:29:35.873-04:00Indie game capsule reviews: Immortality, Wayward Strand, Cult of the Lamb, Betrayal at Club Low, Atuel<p><i><b>SPOILER WARNING:</b> 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.</i></p><p>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:</p><p></p><ul style="text-align: left;"><li>Immortality</li><li>Wayward Strand</li><li>Cult of the Lamb</li><li>Betrayal at Club Low</li><li>Atuel</li></ul><p></p><p><span></span></p><a name='more'></a><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyYVik-8i62VGsKDt2dXNpor7qat6tL7moMn9Gu-_7pWVC_3mAsFwIfxKMX5OxAJdfc_IYqDuwioxGjj0dG_1NSK-twx19llf7TTIcrI2ZESy902jkN6FLT-pZ9aWsQP2lP3XW4ydVVSlusB7VBgWta_gwI5PYkirXU0vpM2rj-_MuuPkalSs0c9rU/s1200/Immortality.jpg"><img border="0" data-original-height="675" data-original-width="1200" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyYVik-8i62VGsKDt2dXNpor7qat6tL7moMn9Gu-_7pWVC_3mAsFwIfxKMX5OxAJdfc_IYqDuwioxGjj0dG_1NSK-twx19llf7TTIcrI2ZESy902jkN6FLT-pZ9aWsQP2lP3XW4ydVVSlusB7VBgWta_gwI5PYkirXU0vpM2rj-_MuuPkalSs0c9rU/w640-h360/Immortality.jpg" width="540" /></a></div><p><b><a href="https://store.steampowered.com/app/1350200/IMMORTALITY/" target="_blank">Immortality</a> by <a href="http://halfmermaid.co/" target="_blank">Half Mermaid</a></b></p><p>The third "FMV game" helmed by auteur Sam Barlow and his studio, about collecting short video fragments to assemble complex psychological stories. This time it's a variety of footage from three different fake movies.</p><p><a href="https://www.rockpapershotgun.com/immortality-review" target="_blank">Alice Bell's great review for RPS</a> makes a couple important points: (a) the fake movies are self-consciously bad in interesting and campy ways, but in the end you're still kinda watching bad movies / undiscovered cult classics, (b) the main actress is amazing but this is still male gaze-y in a way that somewhat compromises its commentary on voyeurism, especially in the context of women and sexuality in the film industry. It's like Spec Ops: The Line tempering its military shooter glorification with an anti-war moral, or the pseudo-documentary film I, Tonya sensationalizing Tonya Harding's career while also blaming the viewer for it. The voyeurism complicity hand wringing doesn't quite work when the other 90% of the product depends on it. Still, you can argue that it's a stunning achievement just to be able to debate these questions in a video game.</p><p>Despite its complex characters and topics pushing against the confines of video game culture, there are still many compromises for the video game format. Actors often hold up objects awkwardly so you can click on them. Videos end on a convenient frame with an obvious clickable. And among the video clips there's an awfully convenient ratio of raw behind the scenes rehearsal footage vs. expensive finished setpiece production footage -- which gets a sort of wink wink lampshading treatment, but still dispels a bit of the otherwise strong "this is how movies get made" magic for me.</p><p>I imagine the Bogostian critique here is "why not just make a damn movie", but the sense of discovery with the interface and systems is important here. (Pro-tip: play with a gamepad.) There's a Portal-like moment where you escape the puzzle... but of course like in Portal, escape is just another trap. 9/10.</p><p><i>(PS to Half Mermaid: thanks for the beefcake. Can't wait for the full frontal in the next game!)</i></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPHjrXQIY-_DnrXUEBnsKgF1T1qhzExChyf3UHnWuLHKpo5kM1R-hmr2cXEcCIXst5GxdByuUsqIG7XPlBvGGAWxF1FUNBdQuIpNIjvOKfvSWM1gMevAhWVLeC6fMkrspBpDyhwIYTnqt2eoNFUCkKMGBgxELOVgpBgr9eUtplj6KmVyJGM4Q47W4d/s1920/wayward.jpg"><img border="0" data-original-height="1080" data-original-width="1920" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPHjrXQIY-_DnrXUEBnsKgF1T1qhzExChyf3UHnWuLHKpo5kM1R-hmr2cXEcCIXst5GxdByuUsqIG7XPlBvGGAWxF1FUNBdQuIpNIjvOKfvSWM1gMevAhWVLeC6fMkrspBpDyhwIYTnqt2eoNFUCkKMGBgxELOVgpBgr9eUtplj6KmVyJGM4Q47W4d/w640-h360/wayward.jpg" width="540" /></a></div><p><b><a href="https://waywardstrand.com/" target="_blank">Wayward Strand</a> by <a href="https://ghostpattern.net/" target="_blank">ghost pattern</a></b></p><p>This is a young adult sidescrolling storybook sort of game about hanging out on a steampunk airship recommissioned as a flying hospital / retirement home in rural Australia circa 1980. You're a teenager accompanying her mother to work, talking to various elderly people and learning about aging / the medical industry. </p><p>Some of the marketing and discourse focuses on the complex clockwork narrative system design, an immaculate diorama where NPCs are constantly moving and interacting. The closest comparison here is The Last Express or an Emily Short interactive fiction, or the platonic ideal of an Elder Scrolls town. You can totally miss important conversations and scenes because you're stuck in the stairwell climbing animation at exactly the wrong time. This sense of FOMO feels dissonant against the relaxed storybook atmosphere. Especially when everyone moves just a bit too slowly. <i>Don't these characters know they're in a video game?!</i></p><p>In the end the FOMO doesn't really matter (just like real-life) and fortunately the best part of the game is unmissable -- a strong sequence where someone suddenly turns against you. You talk but they don't listen. Maybe you'll just stop talking to them altogether? This isn't a big apocalyptic video game betrayal cutscene where a villain reveals himself and destroys a castle, instead it's a smaller deeper betrayal that instantly brought me back to being a teenager. "Fine, be that way, see if I care!" (Pro-tip: you actually care very much.)</p><p>Photorealistic action games tend to exaggerate their emotions into big cartoons with clear feedback. Wayward Strand flips this irony. It's a cartoon game that captures more psychological realism than a photorealistic game. 9/10.</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi88GhbHXMjCTNh2KwtaDgDP2nvgp54h5UCbjQUQ3xs7ZxYG3AikMPfzPcPlJWcI2mzxwbTXAkR2yhV0k1pTfHHg3__cyfqhGAtLE-KTDsSoG8NWK63F4NdsCkMBt_-mhA1FHXwkPenwSxGfV-8eYqL4dashUhzR-rkkFf4EPzYtdUTYWd3IKldK_Y7/s1400/Cult_Of_The_Lamb.jpg"><img border="0" data-original-height="788" data-original-width="1400" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi88GhbHXMjCTNh2KwtaDgDP2nvgp54h5UCbjQUQ3xs7ZxYG3AikMPfzPcPlJWcI2mzxwbTXAkR2yhV0k1pTfHHg3__cyfqhGAtLE-KTDsSoG8NWK63F4NdsCkMBt_-mhA1FHXwkPenwSxGfV-8eYqL4dashUhzR-rkkFf4EPzYtdUTYWd3IKldK_Y7/w640-h360/Cult_Of_The_Lamb.jpg" width="540" /></a></div><p><b><a href="https://www.cultofthelamb.com/" target="_blank">Cult of the Lamb</a> by <a href="https://massivemonster.co/" target="_blank">Massive Monster</a></b></p><p>This is a Hades-like / Binding of Issac-ish 2D action roguelike wrapped around a Don't Starve / Rimworld-y town building crafting survival system, with all the subversively violent dark cartoon humor of those references. The high visual polish and stellar production values adorn a solid but predictable gameplay loop: you fight through dungeons with random rooms / enemies, collect resources, and bring them back to your hub to build up your village and its inhabitants.</p><p>I was most interested in the humorous Frostpunk-like take on tech trees, where you accumulate perks into an (incoherent) political ideology. Do you believe in the importance of live sacrifices? But also veganism? Your cute animal cult will follow whatever "Doctrines" you declare. </p><p>Gradually all these advancements and upgrades add up to a NPC-driven town that can maintain and feed itself automatically. Until then, you're forced to actually play the game, chopping wood and grinding for materials. About halfway through this arc, the loops were just feeling a bit too loopy and I lost interest despite its many charms. </p><p>Cult of the Lamb is a good game. Why wouldn't it be? It takes good parts of other good games, and skilled talented people spent lots of time and money on it. If you haven't been keeping up with the state of roguelike townbuilders then this will feel nice and fresh to you. But if you're already familiar with all the game design deities invoked here, there probably aren't enough design risks nor genuinely subversive ideas. The cult of the game industry is most powerful of all. 8/10.</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCRwGiY2fFMOf7Ho_IIK5JeQimb13jbATW-FawBHMvTIBVs96ON_NBZWhKUwFu5VCvAkz-Twk_S__imGsHd2ZElnO3spUaiBI3iS6icIEA_0GCc4C8e_M0c6UlUcSOob-7xCUoVfqygFlv2ltmEpYyH4iVJM81tTbrQw49AmBbe3gtvyx9e7Ip5_1_/s1920/betrayal-at-club-low-bouncer.jpg"><img border="0" data-original-height="1080" data-original-width="1920" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCRwGiY2fFMOf7Ho_IIK5JeQimb13jbATW-FawBHMvTIBVs96ON_NBZWhKUwFu5VCvAkz-Twk_S__imGsHd2ZElnO3spUaiBI3iS6icIEA_0GCc4C8e_M0c6UlUcSOob-7xCUoVfqygFlv2ltmEpYyH4iVJM81tTbrQw49AmBbe3gtvyx9e7Ip5_1_/w640-h360/betrayal-at-club-low-bouncer.jpg" width="540" /></a></div><p><b><a href="https://store.steampowered.com/app/1885750/Betrayal_At_Club_Low/" target="_blank">Betrayal at Club Low</a> by <a href="https://cosmod.net/" target="_blank">Cosmo D</a></b></p><p>Cosmo D is best known for his Offpeak series, story-driven adventure puzzle games with large eclectic worlds and surreal architecture. Betrayal at Club Low is a compelling departure from this usual style, instead it focuses on infiltrating a specific building across dozens of dice encounters with a tabletop RPG / Disco Elysium like system.</p><p>The big hook here is that there are pizza dice. When you first read the words "pizza dice" your mind will inevitably expand to encompass the entire universe. But in the end, when you boil down the pizza (dice) (eww), they're a bit more mundane, providing a collectible economy for level design purposes and to heal you -- or at full health, it's a finesse thing to earn bonus tip money from a dice encounter. </p><p>Fortunately, once you move past the promise of pizza dice, there's still plenty to chew on. The dice encounters are surprisingly brutal and challenging. At first it will feel a little meaner than Disco Elysium, which has a vast world peppered with early easy encounters to help you build up your courage and stats. The tightly scoped focus of Club Low means even at level 0 every encounter is a genuine problem without predictable victory, which can quickly send your character spiraling into an early chain of failures, which cause more failures, etc. </p><p>It's tempting to put a lot of money into upgrading your Physique dice, especially in the beginning. However, seasoned RPG players should rightly recoil from such a normie strategy. As with Disco Elysium, the best way to enjoy it is to embrace anxiety and failure as a roleplaying approach. So let the laser fence incinerate your body yet again! Spec yourself into a total masochist! That's just who you are: that guy who gets hurt all the time. It's better to buff your Music dice, and let your body and wallet wither away. After all, how many games offer you a "suffering musician" build? 9/10.</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisCfAum6dcOl-ZfHRbptZbrPfXyplJhCZcl41pnckUlIXw6KjvUHUMNfVCFUxIPSC9NT8SBpxew-3-dhUGM8_OfQNiku1ZXOcDZ06vz1AYAnNFv_8j8XZ_yzUNg0Z5iOBu9LP7VnLvqGvtdaQIh-hCIwSMW6yFPFRDwNwdobSCFUyU_a_JeQBZMro2/s500/atuel.gif"><img border="0" data-original-height="282" data-original-width="500" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisCfAum6dcOl-ZfHRbptZbrPfXyplJhCZcl41pnckUlIXw6KjvUHUMNfVCFUxIPSC9NT8SBpxew-3-dhUGM8_OfQNiku1ZXOcDZ06vz1AYAnNFv_8j8XZ_yzUNg0Z5iOBu9LP7VnLvqGvtdaQIh-hCIwSMW6yFPFRDwNwdobSCFUyU_a_JeQBZMro2/w640-h360/atuel.gif" width="540" /></a></div><p><b><a href="https://matajuegos.itch.io/atuel" target="_blank">Atuel</a> by <a href="https://www.mata.juegos/en/" target="_blank">Matajuegos</a></b></p><p>A climate crisis documentary in the form of a third person walking sim where you play as a river. A high concept with a high execution.</p><p>The documentary process is unusual for games. Matajuegos actually involved indigenous people, scientists, activists, perhaps people who are even all three at the same time -- and you hear their voices and arguments. For a Western audience, this is a fresh climate change story that doesn't center Al Gore (~2005) nor Greta Thunberg (~2020), despite their futile attempts to de-center themselves. Maybe nothing can replace speaking a language other than English. (Matajuegos has been thinking about this for a while, see <a href="https://www.mata.juegos/en/2019/09/aesthetic-latin-american-videogames/" target="_blank">"Towards an Aesthetic of Latin American Videogames"</a>)</p><p>The various ways you embody the river are clever, ranging from literal to metaphorical. The weakest is perhaps the wolf form, where the animation doesn't quite match the movement physics. But the intro literal form was my favorite / the most novel, and could easily have been expanded into a more complicated game. </p><p>And yet it doesn't get more mechanically complicated. Here the restraint of the walking sim format justifies the minimalism. This isn't a STEM-y systems thing in the vein of <a href="https://www.earthprimer.com/" target="_blank">Earth: A Primer</a> because it's about embodying all the agency that rivers do NOT have -- they must follow the terrain, much like a player in a walking sim. If level designers divert the player, or humans divert the river, then you have no choice, even though you are alive. 9/10.</p><p><i>(Something interesting happening in New Zealand by the way: <a href="https://www.theguardian.com/world/2017/mar/16/new-zealand-river-granted-same-legal-rights-as-human-being" target="_blank">the Whanganui River has legal personhood</a>. So far it's been mixed results in terms of actual benefits to the river, and it's maybe even worse in places with dysfunctional legal cultures. For instance, <a href="https://www.theguardian.com/environment/2021/jul/25/rivers-around-the-world-rivers-are-gaining-the-same-legal-rights-as-people" target="_blank">the American response to Lake Erie's legal personhood: "let's sue it" ... and then declare it unconstitutional.</a>)</i></p><p><br /></p>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-75017438101219800002022-09-29T19:26:00.008-04:002022-09-29T19:36:35.980-04:00new Quake map: There's a Certain Slant of Light<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBCVQwz_oNByo36k3Hji1_5Zu6eRliFOeXNqPVGlbbw7D3lN4wJGCxUyrJ7w9GxdAZyi_0AFU4hTHrnqQGZObJRdWvDrhl0uH49-GAX8Y8cHAOgpq_-lokcrJsSkYDZjoT57hBCaGILldJjSbiuKUKvHLEUzYAzuIu9LmFygwqe1kVNBaIerJi126z/s1024/ironwail0018.jpg"><img border="0" data-original-height="768" data-original-width="1024" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBCVQwz_oNByo36k3Hji1_5Zu6eRliFOeXNqPVGlbbw7D3lN4wJGCxUyrJ7w9GxdAZyi_0AFU4hTHrnqQGZObJRdWvDrhl0uH49-GAX8Y8cHAOgpq_-lokcrJsSkYDZjoT57hBCaGILldJjSbiuKUKvHLEUzYAzuIu9LmFygwqe1kVNBaIerJi126z/w640-h480/ironwail0018.jpg" width="540" /></a></div><p><i>These are design notes about my process and intent, and it may spoil what happens in the level.</i></p><p>I made my new single player Quake map "There a Certain Slant of Light" for the <a href="https://www.slipseer.com/index.php?resources/quake-brutalist-jam.126/" target="_blank">Quake Brutalist Jam</a>, a 2 1/2 week long map jam focused around making chunky modernist concrete themed levels.</p><p>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? </p><p>The two big changes I made were the texturing and the monster placement / player flow...</p><span><a name='more'></a></span><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVMS_NbUnNABgGXjm2dVZLjXN6_L-rfSOTw_GrvaBvv4h-nAtpQG_NPUK4qwZeuAziNxgXw-pFRHZM0An7-g2BBqY0M0fOjkV1xM8cP2xjbKTWG4ege6xNuZb6mdS1xaItFThV__vw3JSwoIVi8eP7exm3vh7T5aFlU_Fx3Am5vc65gAGCXF-ZnmvW/s1024/ironwail0007.jpg"><img border="0" data-original-height="768" data-original-width="1024" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVMS_NbUnNABgGXjm2dVZLjXN6_L-rfSOTw_GrvaBvv4h-nAtpQG_NPUK4qwZeuAziNxgXw-pFRHZM0An7-g2BBqY0M0fOjkV1xM8cP2xjbKTWG4ege6xNuZb6mdS1xaItFThV__vw3JSwoIVi8eP7exm3vh7T5aFlU_Fx3Am5vc65gAGCXF-ZnmvW/w640-h480/ironwail0007.jpg" width="540" /></a></div><p>One of my big motivations was to use <a href="https://www.slipseer.com/index.php?resources/makkon-textures.28/" target="_blank">Makkon's updated textures</a>. Makkon somehow improved upon perfection, the colors feel a lot more vibrant and I feel pretty good about how it bounces light. I also thought the colors were a good opportunity to contrast against the majority of the jam entries, which I predicted would focus on gray concrete with minimal color.</p><p>This map's use of color comes from the great modernist architect <a href="https://en.wikipedia.org/wiki/Luis_Barrag%C3%A1n" target="_blank">Luis Barragán</a>. Compared to his contemporaries and successors, Barragán didn't make a lot of buildings nor design huge cities. But his relatively few projects make stunning use of color, with a palette that feels distinctly personal and Mexican. (He disagreed with Le Corbusier -- he believed homes were not "machines for living.") For me this is basically the difference between black and white TV generic concrete vs. color TV. How can you go back?</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvaJC6DEdIi4tl9rF6ve8Mz6Qogh8_H-D_wu2O2SyPcTR9zd3zAJEHSPwJlpa4bhfO7fSunbuNc4GxBmGNthNSbl8jM-04GFhUpn8f_ZyIhHd8qUaxnXz31GQmgznLqKKL1UKMkXGjopa6IirgP9rbZ7ed-FOtbfs86gE2rVxfOV0SretUdKoDJVCW/s1430/Barragan%201.jpg"><img border="0" data-original-height="837" data-original-width="1430" height="324" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvaJC6DEdIi4tl9rF6ve8Mz6Qogh8_H-D_wu2O2SyPcTR9zd3zAJEHSPwJlpa4bhfO7fSunbuNc4GxBmGNthNSbl8jM-04GFhUpn8f_ZyIhHd8qUaxnXz31GQmgznLqKKL1UKMkXGjopa6IirgP9rbZ7ed-FOtbfs86gE2rVxfOV0SretUdKoDJVCW/w640-h374/Barragan%201.jpg" width="540" /></a></div><br />In addition to color, Barragán's brutalism offers another lesson for video game levels: sometimes you must have the courage to let a wall be a wall. The famous roof patio of <a href="https://en.wikipedia.org/wiki/Luis_Barrag%C3%A1n_House_and_Studio" target="_blank">Casa Barragán</a> is basically just 7 cubes, and it's fantastic, because sometimes a perfectly proportioned box is plenty to look at.<p></p><p>So while a lot of my fellow jam submissions look great and play well, I argue they don't quite capture this spirit of brutalism. Angular concrete is not, by itself, brutalism. You should also strive for a unity and simplicity of form. If you throw down lots of greebles and details, then that unnecessary concrete is just busy ornament, no matter what material it mimics. And ornament is not brutalist!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4DetuKvt37QHaCbU4tJGJEE-q_X8gESbj54Fo-PPywshcruJ6b2dSHSbCKzTtatWk25SaYj2RHha6ViJPrKQLYSa4xZRp6pv7cTIsdeyyeaCcxuSMozrkVUnci9v6u-YOHE4gQRorkLQ8tKZ9VmWxNL3l37TFI1_BfTH2dAvVSL3M4p_r4BPLM7en/s1024/ironwail0012.jpg"><img border="0" data-original-height="768" data-original-width="1024" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4DetuKvt37QHaCbU4tJGJEE-q_X8gESbj54Fo-PPywshcruJ6b2dSHSbCKzTtatWk25SaYj2RHha6ViJPrKQLYSa4xZRp6pv7cTIsdeyyeaCcxuSMozrkVUnci9v6u-YOHE4gQRorkLQ8tKZ9VmWxNL3l37TFI1_BfTH2dAvVSL3M4p_r4BPLM7en/w640-h480/ironwail0012.jpg" width="540" /></a></div><p>Yet as I aligned the 100th trim texture on a brush, I wondered whether my level was also anti-brutalist in its own way. Texturing, especially trimsheet texturing, was its own form of ornament. Certainly, aligning these fake painted-on bevels and seams goes against this spirit of brutalism? </p><p>In the past I've written about <a href="https://www.blog.radiator.debacle.us/2017/11/the-destruction-extinction-of-digital.html" target="_blank">video game brutalism</a>. If we faithfully followed the spirit of brutalism, we would only use solid colors or wireframe rendering. Technically from a game engine / rendering perspective, any use of textures is ornament. The true raw material of video game levels is planes and vertices, and so a true digital brutalism would entail exposing that math and geometry to the player, instead of mimicking real world materials.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkYJzm3d62oGsyR8rBzzIlK6rjrEyY9d9Eeu_3oWva6KKZlQZgrmh0oJarnmEuf2a73oeZfOM5ZMmnt9HB12TYZMZjijYgKStXlly34HPTILe2xdWL_b3acn0kbHH6aOrMteibGtngibOASx_DvYZGl1-V1awAd5YxjTWKnKsMT-Twugsutz15x9ln/s1024/ironwail0013.jpg"><img border="0" data-original-height="768" data-original-width="1024" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkYJzm3d62oGsyR8rBzzIlK6rjrEyY9d9Eeu_3oWva6KKZlQZgrmh0oJarnmEuf2a73oeZfOM5ZMmnt9HB12TYZMZjijYgKStXlly34HPTILe2xdWL_b3acn0kbHH6aOrMteibGtngibOASx_DvYZGl1-V1awAd5YxjTWKnKsMT-Twugsutz15x9ln/w640-h480/ironwail0013.jpg" width="540" /></a></div><p>However, I found that if I just left the simple shapes as they were, plainly textured without beveled trims, then the simple treatment didn't feel finished nor intentional enough. To signal to the player that, yes, this box is supposed to be just a box, I had to spend 10 times longer making this box, to ensure every pixel was in place. <a href="https://www.blog.radiator.debacle.us/2019/02/thick-skin-complexion-realism-and-labor.html" target="_blank">Labor evokes thickness, depth, and mass</a>. Ornament has a function!</p><p>***</p><p>I agonized a bit less about the gameplay, and just sort of freestyled a flow based on the layout. Once I had a flow I liked, I added doors to gate progression.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-Vez92-H3rM9ZN9ss7nXvcptNhbvfi4xhLQ1k9Ip4h_E9XhTUTHnQ8Hci-9Efnr2EvUGlfw7aloRF2i3PjktPJDvVuJnitXJBrhr3DjR4XElHIPnkC3SAJxPHqs2N71u8coVa1GFDF1lxvMTEIzvQrCj3cy4dFovwAyhkH_GPW4ZPCBE9LxC5xkHG/s1024/ironwail0009.jpg"><img border="0" data-original-height="768" data-original-width="1024" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-Vez92-H3rM9ZN9ss7nXvcptNhbvfi4xhLQ1k9Ip4h_E9XhTUTHnQ8Hci-9Efnr2EvUGlfw7aloRF2i3PjktPJDvVuJnitXJBrhr3DjR4XElHIPnkC3SAJxPHqs2N71u8coVa1GFDF1lxvMTEIzvQrCj3cy4dFovwAyhkH_GPW4ZPCBE9LxC5xkHG/w640-h480/ironwail0009.jpg" width="540" /></a></div><p>Following my previous releases, I starts with lots of dogs, fast moving yet weak melee monsters which I enjoy more than the knights. This time I throw a dozen dogs at the player at the beginning. It should feel surprising and overwhelming to fight so many so early in the map. Yet there's a lot of big flat courtyards, so it's hopefully not too difficult to run circles and dodge the dogs. On Normal and Hard, I spawn a demon after you defeat the dogs, in case the player cleverly fought from a chokepoint on the stairs.</p><p>To escape the courtyards, the player must find a silver key suspended overhead, which requires jumping across a few big cylinders in a semi-obvious way. I predicted there was a 50% chance the player would be too busy dealing with dogs to look up and see the key, so I added some fail-safe wayfinding: if the player finds the silver gate but hasn't gotten the key yet, then I spawn 2 ogres next to the key. When the player backtracks to find the key they may have missed, they will fight these ogres, and hopefully notice the silver key at that point.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhajxIj9VDexs7Pyuq5uFgHzTEYPW9XtRuAGw85tJ8CszJZF5Vq0V1Gr81fMFmE-m-zkJS1xEz3CwODgF84CrB2K_0nHY2gpQ8Bnny6tyUPzWvy1BC-r0GO2PdRLWDPvgJVaLpKIe_IOGj23cA3JutwlhCXc0_uxLiXGmlBJTqzRIRfjhjS9Gf7Iwb6/s1024/ironwail0008.jpg"><img border="0" data-original-height="768" data-original-width="1024" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhajxIj9VDexs7Pyuq5uFgHzTEYPW9XtRuAGw85tJ8CszJZF5Vq0V1Gr81fMFmE-m-zkJS1xEz3CwODgF84CrB2K_0nHY2gpQ8Bnny6tyUPzWvy1BC-r0GO2PdRLWDPvgJVaLpKIe_IOGj23cA3JutwlhCXc0_uxLiXGmlBJTqzRIRfjhjS9Gf7Iwb6/w640-h480/ironwail0008.jpg" width="540" /></a></div><p>After opening this first gate, the player descends into an underground sewer-like area. It's dark and a bit cramped, to contrast against the big open sunny courtyards. Here the player must unlock a series of silver doors, and do some light nonlinear exploration to find these 3 silver keys in any order. </p><p>As the player maps out the sewers, they wake more and more sleeping zombies, which can build up into a gauntlet of a dozen zombies cluttering the tunnels. On easy difficulty, the player has early access to a grenade launcher to permakill the zombies, but on normal / hard they must pickup a quad damage powerup and realize they can continue their quad run into the sewer with the double shotgun to clear the zombies.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgggMnQ35emBYARlKUFUSipMjq40Kh3jN5nFfFg0bNrcDKIhwrlijuIHAqK1oqPaMeDJyQTQA7ftytr3Rirhcj5g4oAbuCNnN1e53gLV-tc80aqIpKm6kb-zpiQbAxKfoCK7VNa82BFii1h1ngHu1pfFyc0_A1GHdv2DuAdhbCGAWsPzfQcUpufXkP/s1024/ironwail0010.jpg"><img border="0" data-original-height="768" data-original-width="1024" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgggMnQ35emBYARlKUFUSipMjq40Kh3jN5nFfFg0bNrcDKIhwrlijuIHAqK1oqPaMeDJyQTQA7ftytr3Rirhcj5g4oAbuCNnN1e53gLV-tc80aqIpKm6kb-zpiQbAxKfoCK7VNa82BFii1h1ngHu1pfFyc0_A1GHdv2DuAdhbCGAWsPzfQcUpufXkP/w640-h480/ironwail0010.jpg" width="540" /></a></div><p>Once the player has unlocked all the silver gates, they press two buttons to open a ceiling hatch, and climbs a spiral stairwell into the sunlight. I'm proud of this moment, leveraging some recent dynamic lightmap tech built into Copper. As you press each button, this area gets progressively brighter and more sunlit, until it's positively glowing.</p><p>However, building these spiral stairs was a bit annoying. They had to be small busy details to contrast with the big monolithic smoothness of everything else. They also imply to the player that yes, I could've put these small busy details everywhere throughout the entire map, and I simply chose not to do so. Because brutalism. It's art!!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0PTTTGCgZBSsSndDEC2ZEbpVcYleOouxnfPddd2G5BaZ7zaJ7TboaHruvuUotA6jGuLfAAqwnrCTqQahl1ygyRLfj3hgM-9CU6QnhzUMTx_gDSvaqvCl_vxhq4vZSQFMD99_LyO5y5QbAXri0OSCq2oUOsFdZTrUwLjNhxl3P8sDY5bX1aWBb051o/s1024/ironwail0011.jpg"><img border="0" data-original-height="768" data-original-width="1024" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0PTTTGCgZBSsSndDEC2ZEbpVcYleOouxnfPddd2G5BaZ7zaJ7TboaHruvuUotA6jGuLfAAqwnrCTqQahl1ygyRLfj3hgM-9CU6QnhzUMTx_gDSvaqvCl_vxhq4vZSQFMD99_LyO5y5QbAXri0OSCq2oUOsFdZTrUwLjNhxl3P8sDY5bX1aWBb051o/w640-h480/ironwail0011.jpg" width="540" /></a></div><p>When the player climbs the stairs, that's when I reveal the ultimate goal of the map: a large gold door, guarded by a vore and some flying scrags. </p><p>If the player pushes forward and grabs the super nailgun in front of them, I open the other doors and begin a big messy courtyard fight with a dozen monsters and likely some infighting; but if the player runs away, the doors remain closed to let the player regroup.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5CrzqZ-HBQMZB4oWznSCeU4k73eh_aYMYvZWl-T13pteDMGTGxtjymo2v-6tjinbEOgYwCTzFsj0ZIAhsRaPnVu2ZYVRPpqPBB6nT3KCRlCBkXl6JAphtP0U0aTQh4imiNebKo4YOnjOlKj9gPMkR8ZilfN9V-LHWYdbiPgSxSQT7E2s8g3wc4zY/s1024/ironwail0016.jpg"><img border="0" data-original-height="768" data-original-width="1024" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5CrzqZ-HBQMZB4oWznSCeU4k73eh_aYMYvZWl-T13pteDMGTGxtjymo2v-6tjinbEOgYwCTzFsj0ZIAhsRaPnVu2ZYVRPpqPBB6nT3KCRlCBkXl6JAphtP0U0aTQh4imiNebKo4YOnjOlKj9gPMkR8ZilfN9V-LHWYdbiPgSxSQT7E2s8g3wc4zY/w640-h480/ironwail0016.jpg" width="540" /></a></div><p>Gradually the map opens up more and more until it's basically a nonlinear multiplayer deathmatch map. Then there's only one place left to go: a platform near the starting point, with the gold key floating beneath an unusual ornament. This keeps with a general design pattern for this level, where I reserved detailed textures for doors and key areas, and flat textures for everything else.</p><p>Once the player gets the gold key, I spawn a few dozen monsters, give the player a rocket launcher and a quad damage, and let them freely slaughter their way back to the gold door and level exit.</p><p>My playtesters mentioned not getting 100% kills at this point, since the monsters are just wandering all over the place and it's annoying to track them down. I think I'm fine with this. I'm not a big Quake completionist. The player should decide when they're done.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimjwLkqlpT9p51o_OTzH6FmsSW2I_Jil0GISFpH_50U2Id3uvlJdAmrUfwrDZlVAxEr5f9iEepDhjS1TwDMi8greIZnKNkFRMuhFIdwM-ZcBcyDDrqCuG4BZ6-6j6si16X_HsGE_bFHsUyEfhZecX-VwpSAq_YyLS6NfBZf7yVGUJZD2XlqJ0vrTny/s1024/ironwail0014.jpg"><img border="0" data-original-height="768" data-original-width="1024" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimjwLkqlpT9p51o_OTzH6FmsSW2I_Jil0GISFpH_50U2Id3uvlJdAmrUfwrDZlVAxEr5f9iEepDhjS1TwDMi8greIZnKNkFRMuhFIdwM-ZcBcyDDrqCuG4BZ6-6j6si16X_HsGE_bFHsUyEfhZecX-VwpSAq_YyLS6NfBZf7yVGUJZD2XlqJ0vrTny/w640-h480/ironwail0014.jpg" width="540" /></a></div><p>The map title, as usual, comes from a poem. This one is from one of my favorites, Emily Dickinson. I doubt she had retro boomer shooters in mind when she composed this poem in the 1800s, but I still find it surprisingly apt.</p><p></p><blockquote><p><i>There's a certain Slant of light,<br />Winter Afternoons – <br />That oppresses, like the Heft<br />Of Cathedral Tunes – </i></p><p><i>Heavenly Hurt, it gives us – <br />We can find no scar,<br />But internal difference,<br />Where the Meanings, are – </i></p><p><i>None may teach it – Any – <br />'Tis the Seal Despair – <br />An imperial affliction<br />Sent us of the Air – </i></p><p><i>When it comes, the Landscape listens – <br />Shadows – hold their breath – <br />When it goes, 'tis like the Distance<br />On the look of Death </i>– </p></blockquote><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfqrKoCOJ5FaN1D0NKbez369t73o8EKjEitCEbQ9FSDZ-4z_HF0hEnwrrZRiAUStAqySs958d2wGXRVKMlW1PEYLCh7PJf2xVDPP3i3ljX3XsAFPPfPl4WJSOFxgY9NpkoOGP9UkA9kSWOv7sqbdPw3UAWvYP4gvqMIvP_2VjnVUZToL8roWYmINpv/s2560/QBJ_FInalGraphic.jpg"><img border="0" data-original-height="1440" data-original-width="2560" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfqrKoCOJ5FaN1D0NKbez369t73o8EKjEitCEbQ9FSDZ-4z_HF0hEnwrrZRiAUStAqySs958d2wGXRVKMlW1PEYLCh7PJf2xVDPP3i3ljX3XsAFPPfPl4WJSOFxgY9NpkoOGP9UkA9kSWOv7sqbdPw3UAWvYP4gvqMIvP_2VjnVUZToL8roWYmINpv/w640-h360/QBJ_FInalGraphic.jpg" width="540" /></a></div><p>You can play this level as well as 34 other brutalism-inspired levels in the <a href="https://www.slipseer.com/index.php?resources/quake-brutalist-jam.126/" target="_blank">Quake Brutalist Jam pack</a>, downloadable at Slipseer. Thanks to Makkon for organizing!</p>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-16782470658090055082022-09-20T18:56:00.003-04:002022-09-20T18:56:29.780-04:00"Voluntary Attempts to Overcome Necessary Obstacles" at EFA Project Space, Sept 23 - Oct 29, 2022<p>My gay historical bathroom cruising game <a href="https://radiatoryang.itch.io/the-tearoom" target="_blank">"The Tearoom"</a> is part of a new upcoming group exhibition <a href="https://www.projectspace-efanyc.org/voluntary-attempts-to-overcome-necessary-obstacles" target="_blank">"Voluntary Attempts to Overcome Necessary Obstacles"</a> at the EFA Project Space in New York City, curated by Nicholas O’Brien. </p><p>The show will run for about a month, from September 23rd to October 29th, 2022. Although I won't be there, <a href="https://www.blog.radiator.debacle.us/2020/10/the-year-of-changes-kia-ora-aotearoa.html" target="_blank">since I currently live on the opposite side of the planet</a>, I encourage you to check it out. There's a lot of great people and good stuff.</p><p>I've copy-and-pasted <a href="https://www.projectspace-efanyc.org/voluntary-attempts-to-overcome-necessary-obstacles" target="_blank">the exhibition blurb</a> below:</p><span><a name='more'></a></span><p></p><blockquote><p>EFA Project Space presents Voluntary Attempts to Overcome Necessary Obstacles, a group exhibition of artists, designers, and developers exploring the boundaries of games as an artistic medium. This exhibition attempts to sidestep the reactionary debates of whether “games can be art “and instead highlights works that have already put an end to this question. By bringing these works together at EFA Project Space, curator Nicholas O’Brien, wants to show contemporary art audiences how games have been having parallel (or shared) conversations about politics, society, history, and identity in equally nuanced, poetics, and critical ways.</p><p> The exhibition’s title is a riff on Bernard Suits’ definition of a game in his part fiction/part philosophical treatise The Grasshopper: Games, Life, and Utopia: “A game is voluntary attempt to overcome unnecessary obstacles.” O’Brien’s “play” on this definition suggests that contemporary games—particularly when viewed as cultural artifacts and not as instruments of entertainment media—can represent some considerably difficult cultural and social barriers facing our world today. In turn, players must commit ourselves (voluntarily) to surmount these obstacles to move toward purposeful outcomes that speak to spaces, feelings, and relationship beyond the so-called “magic circle” of play.</p><p>However, one of the initial “obstacles” for the works on view in this exhibition is for them to be understood and appreciated on their own terms and not by the limited vernacular of “tech.” Game art has struggled for wider recognition within some contemporary art canons when it doesn’t conform to spectacle. Though artists using games have found several high-profile exhibition opportunities, presentations of those works often leverage the technical prowess of makers and their ability to craft complex systems using game engines. Though those works deserve merit, this exhibition presents an alternative to praising technical novelty in favor of celebrating the storytelling, critical introspection, and subversive graphical gestures that games can also offer.</p><p>The other important “obstacle” facing this medium is to not fall into the trap of appreciating games as merely pieces of entertainment media that allow for the “potential for empathy through immersion.” This proposition, initially posed by Jonathan Belman and Mary Flanigan around 2010, circulated widely through the games industry and couches “meaningful play” into an attempt at fully encapsulating complex personal/societal issues into reductive and easily consumable experiences. This premise resulted in countless threads of reactionary trolling, polemic rhetoric about “what games can do” (or what they ought to do), and institutional justifications for exhibiting (and collecting) games as designed objects.</p><p>Instead, Voluntary Attempts… wishes to present these pieces as artistic experiments and explorations that could (and should) be considered as equally poignant as other existing critiques happening elsewhere in contemporary art.</p></blockquote><p>There's also some <a href="https://www.projectspace-efanyc.org/voluntary-attempts-to-overcome-necessary-obstacles" target="_blank">additional interpretive notes</a> about the specific games on offer too.</p><p>I do have one nitpick about the gallery's notes: <a href="https://en.wikipedia.org/wiki/Escape_from_Woomera" target="_blank">Escape from Woomera</a> isn't a multiplayer Counter-Strike mod as they suggest, but rather it's a single player Half-Life mod. I can understand why you'd want to believe it's a Counter-Strike mod -- it would mean this non-profit refugee journalism game was a direct subversion of a popular military shooter about global policing, so effective that the Australian government went after it. This artistic interpretation would've been clean and convenient, a single uninterrupted throughline. Unfortunately it's not the reality. Of course you can still draw a line from Escape from Woomera to Counter-Strike through Half-Life, you just need to theorize a political economy of the game industry, and argue Half-Life owes much of its success to Counter-Strike and even shares its politics. However that's a more complicated and messy truth that's time-consuming to unpack even for a gamer audience, much less a non-gamer audience, so... this is a nitpick.</p><p>***</p><p>Voluntary Attempts to Overcome Necessary Obstacles<br />September 23 – October 29, 2022</p><p>Pippin Barr<br />Jeremy Couillard<br />Charity Porpentine Heartscape<br />Nathalie Lawhead<br />Everest Pipkin<br />The Escape From Woomera Collective<br />Studio Oleomingus<br />Angela Washko<br />Robert Yang<br />curated by Nicholas O’Brien</p><p>EFA Project Space<br />323 W. 39th St, 2nd Floor<br />New York, NY 10018<br />Between 8th and 9th Avenues<br />projectspace@efanyc.org<br />212.563.5855 ext 244</p><p></p>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-8249733905102075262022-08-12T21:35:00.015-04:002022-08-12T21:48:40.244-04:00new Quake map: Breakfast Under The Balloons<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwrUplpPwVYSd8c0voyF0etwenhpcq3PiYl_eVph5xaWvVNUzcl45fqPFWS4nNZUgbyUUVmTXvlQoFMQyg7j97BdPul-OAr7KJg3HRBB2-GK1Ltro7QrLtivgvQbXk1XeGtfav_ZAAxuzmDpby5X3_KnQ35GUKzQpRDS66FVSTipL3X6LXZrmEnI88/s1024/spasm0013.jpg"><img border="0" data-original-height="768" data-original-width="1024" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwrUplpPwVYSd8c0voyF0etwenhpcq3PiYl_eVph5xaWvVNUzcl45fqPFWS4nNZUgbyUUVmTXvlQoFMQyg7j97BdPul-OAr7KJg3HRBB2-GK1Ltro7QrLtivgvQbXk1XeGtfav_ZAAxuzmDpby5X3_KnQ35GUKzQpRDS66FVSTipL3X6LXZrmEnI88/w640-h480/spasm0013.jpg" width="540" /></a></div><p>I made a new single player Quake 1 map called "Breakfast Under The Balloons" for the community map pack <a href="https://www.slipseer.com/index.php?resources/coppertone-summer-jam-2.103/" target="_blank">Coppertone Summer Jam 2</a>, where mappers were encouraged to make sunny summer-y themed maps using the popular community rebalancing mod <a href="https://www.slipseer.com/index.php?resources/copper.27/" target="_blank">Copper</a>.</p><p>I like making sunny maps anyway, and the <a href="https://www.quaddicted.com/reviews/ctsj.html" target="_blank">first CTSJ</a> back in 2020 was when I made my first Quake map, so the event has a special place in my heart.</p><p>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.</p><span><a name='more'></a></span><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipxTI9H5JC8nD7vxligQR10HysCE2PelbhakMFAFWfoRDDp3DD0P-6BWG3ayIJcuwHHEGd8xWQ9nawTiibjDq5GvpdCN16MzeDokTnlLsikTWBe_BXncnWPYQBIVZ_cQxjauZmqfXcaHXybdauYL5Z8aC8YjXy14sATydFWB7YfTKFxtAEkQjsXiUs/s1024/spasm0000.jpg" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipxTI9H5JC8nD7vxligQR10HysCE2PelbhakMFAFWfoRDDp3DD0P-6BWG3ayIJcuwHHEGd8xWQ9nawTiibjDq5GvpdCN16MzeDokTnlLsikTWBe_BXncnWPYQBIVZ_cQxjauZmqfXcaHXybdauYL5Z8aC8YjXy14sATydFWB7YfTKFxtAEkQjsXiUs/w200-h150/spasm0000.jpg" width="200" /></a></div>The two big influences for this map were Elden Ring and Halo.<p></p><p>Elden Ring features big tree levels where you have to platform on narrow branches that snake around. I liked the idea of climbing / descending a big weird tree, and building it in Quake would be a big challenge, so that's what I prototyped first. </p><p>My initial blockout relied a lot on a <a href="https://trenchbroom.github.io/manual/latest/index.html#linked_groups" target="_blank">new Trenchbroom 2022 feature "linked groups"</a>, which allows a group of objects to update each other automatically, sort of like instancing -- I made one tree branch segment group, and then duplicated those groups into branches.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5NnGJ71vs1PnC0WYIYxrn3Doy-BbGQLGwCNC6x3g9yMrPb3H00HSkThGsKCSoT1EW0wNA-eoNn_EqGvmWLQbaBSQD3V2nyVTW_Zmy67wO22b_V8ivdEp6kYkuCVJJvFKeA55bVYa2vjljfmzCw1CgKndvk_dsRms3l2tM7PYXncsYrVYinGcDYcye/s1024/spasm0004.jpg" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5NnGJ71vs1PnC0WYIYxrn3Doy-BbGQLGwCNC6x3g9yMrPb3H00HSkThGsKCSoT1EW0wNA-eoNn_EqGvmWLQbaBSQD3V2nyVTW_Zmy67wO22b_V8ivdEp6kYkuCVJJvFKeA55bVYa2vjljfmzCw1CgKndvk_dsRms3l2tM7PYXncsYrVYinGcDYcye/w200-h150/spasm0004.jpg" width="200" /></a></div>From there, I could edit one branch to automatically update all of the branches. This was useful when I was trying to wrap my head around the foliage shapes. Are the leaves compiling ok, are they glitching out, what lighting settings should I set for each one? Modern Quake tools have much better lighting controls than 25 years ago, including alpha masked texture-based shadows and some nice ambient light configs, but it's still pretty primitive by today's standards and I had to iterate a lot to balance the shadowing vs. the self-illumination for a natural look.<br /><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0-1m7eEzPjCP1Bi8udRs78IlMweFRvBzG_Dqh2kfZhLYBmtVqPijpcZRdhsYU9WJL-Jxoa1XPHW8lnMemrbfTWqDaJfCsKALY8Lul9RwlvnPCuos9AkRqrHZSnYA0NJkNFxJ9w-jOEYmktzb8fvnq2-g0083UYHAIR82M7yrhPYyYD4aPUjvgGwrH/s895/ctsj2_layout.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="895" data-original-width="884" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0-1m7eEzPjCP1Bi8udRs78IlMweFRvBzG_Dqh2kfZhLYBmtVqPijpcZRdhsYU9WJL-Jxoa1XPHW8lnMemrbfTWqDaJfCsKALY8Lul9RwlvnPCuos9AkRqrHZSnYA0NJkNFxJ9w-jOEYmktzb8fvnq2-g0083UYHAIR82M7yrhPYyYD4aPUjvgGwrH/w198-h200/ctsj2_layout.png" width="198" /></a></div>The other design influence here was Halo, with its big rolling hills dotted with trees and little forts. Since the level already had to be really big to accommodate the scale of the tree, I figured I might as well do something with the landscape. I decided on a circular flow orbiting the tree, similar to Halo 1's The Silent Cartographer / the Half-Life 2 mod Minerva: Metastasis.<p></p><p>This early prototype felt weird to play, because the player could just run around the big open landscape and lead monsters on a big chase. I had to slow down the player / make the flow more chunky, so I could structure it better.</p><p>So I divided the bumpy terrain into quadrants, with big tree roots gating each section. I wanted to emphasize the tree's influence on the landscape, and it felt less artificial than building walls or random cliffs.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglDZ7Ft1TMY5DVQRhU0tKmVq_BUm6Fds8_F84vLQqlfH3TcnICeS9MGjqlV64A8yRv1uXfpRw3ONe4_G_H1tgsP-NAFydVIHt7rSP4yX4DjKVQolyI4H29VduU3ZL8sUz2bahQBfmTjwd6xkVy6euzgFnd_U3Tlcy6n2Kh986qncMPS_Ko-86XIFsz/s1024/spasm0015.jpg" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglDZ7Ft1TMY5DVQRhU0tKmVq_BUm6Fds8_F84vLQqlfH3TcnICeS9MGjqlV64A8yRv1uXfpRw3ONe4_G_H1tgsP-NAFydVIHt7rSP4yX4DjKVQolyI4H29VduU3ZL8sUz2bahQBfmTjwd6xkVy6euzgFnd_U3Tlcy6n2Kh986qncMPS_Ko-86XIFsz/w200-h150/spasm0015.jpg" width="200" /></a></div>To unlock each root gate to the next section, the player must fight their way into a little fort and press a big obvious flashing red button. I figured the forts would be made out of wood, and I got bored of detailing them so I figured an angular modernist Fire Island Pines beachhouse look would work well. (In my head canon, all the monsters in Quake are upper middle class gay men.)<p></p><p>Each fort has a different semi-obvious weakness, like a shadowy "secret" underground passage, or a wall that's just a little bit too short. Two of the forts also offer the Ring of Shadows, which turns the player temporarily invisible to non-aggro'd monsters, and in Copper it also makes them harder to hit for aggro'd monsters. It helps supplement the stealth fantasy in a game with basically no stealth mechanics.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAf9Pf_lzBbDpCiMjq_bTcO67mlsEB3ur4Nm4mcjNGmL00BV2c6lJbVxXa6PkLYATixyazGuvpjOH1es2TbAa1qgG7srQ2V16zBoad_fl11mmaXawzK7X33_rpsUEyXOKVcEBgIXefRXQw0LNpJWf6k3TWUuqOhURq4P7KNCZCEymOJi5_g5GHJyGA/s1024/spasm0014.jpg" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAf9Pf_lzBbDpCiMjq_bTcO67mlsEB3ur4Nm4mcjNGmL00BV2c6lJbVxXa6PkLYATixyazGuvpjOH1es2TbAa1qgG7srQ2V16zBoad_fl11mmaXawzK7X33_rpsUEyXOKVcEBgIXefRXQw0LNpJWf6k3TWUuqOhURq4P7KNCZCEymOJi5_g5GHJyGA/w200-h150/spasm0014.jpg" width="200" /></a></div><p>At this point, this first half felt OK to play, but the second half, the actual tree part, wasn't really working for me.</p><p>It wasn't really fun to fight on the actual tree branches. The tree fantasy meant it all had to feel organic and continuous with lots of curves and slopes. However, one "charming" quirk of Quake movement physics is that the player slowly slides down the gentlest of slopes, even while standing still. Monsters have similar issues, where they are either leashed to their branch, or fall off immediately. This makes these sloping curvy tree branches just feel generally unpleasant and unstable to use, from both a player and designer perspective.</p><p><i>(A brief rant: to me this is a clear case of retro game community Stockholm syndrome / collective Kool-Aid poisoning, where in any other game this "sliding down a 5 degree gradient" behavior would've been classed as an undesirable physics bug to be fixed promptly. But instead in Quake land, everyone's like "we should never fix this weird bad thing" and it's my fault for building so many ramps and slopes!)</i></p><p>Unfortunately I had already made the mistake of tweeting out screenshots of my progress, which led to other Quake mappers <strike>bullying me</strike> <i>encouraging me</i> to finish it. So I threw in some flying monsters, quickly put together a "Romero-lift" ending setpiece, and called it in.</p><p>This map takes up basically the entire playable area in Quake 1, but in the end the bigger problem was filling it with varied compelling Quake gameplay, which went way past my expertise and interest. </p><p>The end result is OK and certainly not the worst, but next time I'm going to make an exploration map with minimal monsters.</p><p>***</p><p>You can play this map, as well as 21 amazing levels, in the <a href="https://www.slipseer.com/index.php?resources/coppertone-summer-jam-2.103/" target="_blank">Coppertone Summer Jam 2 pack</a> available for download at the new Quake community hub <a href="https://www.slipseer.com/" target="_blank">Slipseer</a>.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNclqj0Z7RzG3UqmYiz8r-CiCbqpnUKud7At1BXIdSocD7vV1kxE969AyTDQSaatTSOyn5m15BJGQWWTCO2hDXDrrBQi-MoGFcwqRHsUk67S-z_cfKgQwAcOTI3s5g287-FWTayF5fQhij4-tas93Ojau6UxEdgRKNzMuWaa4q7PVtSlpr0mPVfK2-/s1024/ctsj2.jpg"><img border="0" data-original-height="768" data-original-width="1024" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNclqj0Z7RzG3UqmYiz8r-CiCbqpnUKud7At1BXIdSocD7vV1kxE969AyTDQSaatTSOyn5m15BJGQWWTCO2hDXDrrBQi-MoGFcwqRHsUk67S-z_cfKgQwAcOTI3s5g287-FWTayF5fQhij4-tas93Ojau6UxEdgRKNzMuWaa4q7PVtSlpr0mPVfK2-/w640-h480/ctsj2.jpg" width="540" /></a></div>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-43719812965203040212022-06-30T05:28:00.003-04:002022-06-30T18:24:36.806-04:00Zugzwang as a pole dance upward unto heaven<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhawvtgs-LEqBNF_mM9Cgd0QliqjuFOvkuHXnFeRXFFu1wKOWrMa98opJTzXkmZ_7nNG38mTfa5iaKk4-bN_19LNXbn777O1vMHH7rQRSNcpiDcEZJorOUapJrrusx0_O9fuTZ54XGBcDd2L9GATWeyUaaxvzwnMXaBERn34yjnXFEbs-6RHBBSLjhl/s5574/Zugzwang_Media2.jpg"><img border="0" data-original-height="3135" data-original-width="5574" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhawvtgs-LEqBNF_mM9Cgd0QliqjuFOvkuHXnFeRXFFu1wKOWrMa98opJTzXkmZ_7nNG38mTfa5iaKk4-bN_19LNXbn777O1vMHH7rQRSNcpiDcEZJorOUapJrrusx0_O9fuTZ54XGBcDd2L9GATWeyUaaxvzwnMXaBERn34yjnXFEbs-6RHBBSLjhl/w640-h360/Zugzwang_Media2.jpg" width="540" /></a><br /><br /><iframe frameborder="0" height="167" src="https://itch.io/embed/809713?linkback=true&dark=true" width="552"><a href="https://radiatoryang.itch.io/zugzwang">Zugzwang by Robert Yang</a></iframe><br /><div><br /></div><div>
This post details my process and intent for making my new release <a href="https://radiatoryang.itch.io/zugzwang" target="_blank">Zugzwang</a> (pronounced in German like <i>/ts'OOK-ts'VAHng/</i>) a tactical sex dungeon roguelike cum ritual game.</div><div><br /></div><div>I first prototyped it back in 2019, but I didn't really know how to finish it. This marks its true public release, with finished graphics, gameplay, tuning, more sex, and finally an ending.</div><div><div><i><br /></i></div><div><i><b>SPOILER ALERT: </b>This post spoils what happens in the game. It also spoils a bit of Bioshock Infinite (2013) because why not.<br /></i><br /><i><b>CONTENT WARNING 1: </b>I mention a suicide from a century ago.</i><div><br /></div><div><b style="font-style: italic;">CONTENT WARNING 2:</b><i> the game is rather explicit, but I've kept the imagery in this post relatively tame, at a semi-NSFW / soft-R rating.</i></div><div><br /></div><a name='more'></a>
<iframe allow="autoplay; fullscreen; picture-in-picture" allowfullscreen="" frameborder="0" height="304" src="https://player.vimeo.com/video/468014920?h=3c3df93460" width="540"></iframe>
<div><br />Originally this was prototyped as <a href="https://radiatoryang.itch.io/saugzwang" target="_blank">"Saugzwang"</a> and I made it for the <a href="https://itch.io/jam/broughlike" target="_blank">7 Day Broughlike Jam</a> back in 2019. </div><div><br /></div><div>A broughlike is a variation on a <a href="https://en.wikipedia.org/wiki/Roguelike" target="_blank">roguelike</a> named after designer <a href="https://en.wikipedia.org/wiki/Michael_Brough_(game_designer)" target="_blank">Michael Brough</a>, who has <a href="https://www.youtube.com/watch?v=_4iswqa8r-Q" target="_blank">spoken before on his design patterns</a> like square tiles, orthogonal movement, turn parity, glitching, limited info, simple maze designs, minimal resources. A dense randomized mini-chess puzzle where everything matters.<div><br /></div><div>I wanted to try to merge these design sensibilities with my first person gay sex aesthetic, paired with the old tradition of retro grid-based first person CRPGs like Wizardry / Ultima Underworld / Legend of Grimrock where you crawl through dungeons step by step. </div><div><br /></div><div>So this game too is set in a dungeon -- a divine sex maze dungeon. You play as a sex angel summoned to an interdimensional sex maze hidden deep in the city, using sex magic to match sexual partners and chain together their climaxes to harvest their special fluids. In the end it's also a commentary on the history of sex magic, specifically one of its less-sung pioneers <a href="https://en.wikipedia.org/wiki/Ida_Craddock">Ida Craddock</a> and her fatal encounter with American censorship and policing.
<br /><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-k1BpJp21gOk/XyRiKiHberI/AAAAAAAAHj4/OGWeHQ7p9ckSKtx8Im3Axf06K3YVwFw9QCLcBGAsYHQ/s1920/1920px-Cruising_Pavilion_Installation.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1280" data-original-width="1920" src="https://1.bp.blogspot.com/-k1BpJp21gOk/XyRiKiHberI/AAAAAAAAHj4/OGWeHQ7p9ckSKtx8Im3Axf06K3YVwFw9QCLcBGAsYHQ/s640/1920px-Cruising_Pavilion_Installation.jpg" width="540" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i>The stunning Cruising Pavilion installation at the 2018 Venice Biennale</i><br /></td></tr></tbody></table><br /></div><div>My previous cruising game <a href="https://www.blog.radiator.debacle.us/2017/06/the-tearoom-as-record-of-risky-business.html" target="_blank">The Tearoom</a> focused on the emotional and psychological aspects of cruising, and eventually went on tour with the fantastic group art exhibition <a href="https://en.wikipedia.org/wiki/Cruising_Pavilion" target="_blank">Cruising Pavilion</a>. Here I take direct inspiration from some of my peers featured in the Cruising Pavilion: architect <a href="http://www.studiolindell.com/" target="_blank">John Lindell</a>'s "social structure" sculptures and artist <a href="https://www.angelidakis.com/" target="_blank">Andreas Angelidakis</a>'s "Cruising Labyrinth" (pictured below).<br />
<br />
In "Public Space for Public Sex", Lindell wrote:<br /><blockquote><i>
"The notion of drift is essential to the experience of a sex club, where fluidity facilitates passing to an aimless, "let's see what happens" frame of mind. [...] In this way, the sex club is a space similar to that of the supermarket or shopping mall; one browses, in search of something vaguely determined. In architectural terminology this is called <a href="https://99percentinvisible.org/episode/the-gruen-effect/" target="_blank">the Gruen Transfer</a>, where a shopper converts from a destination-oriented mentality to one that allows impressions and desires to direct his/her attention. In the course of wandering, one may allow fate to present other possible desires. Moreover, in the case of sex clubs, the patron himself simultaneously becomes the advertised adventure..."</i></blockquote><p>(Tangent: I enjoyed <a href="https://www.theguardian.com/artanddesign/2022/jun/24/bastard-developments-inventor-world-first-shopping-mall-denounced" target="_blank">this article</a> about architect Victor Gruen's subsequent disavowal of large indoor shopping malls.) </p><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-_Mvptyg-P8Q/XvEoGtZOAwI/AAAAAAAAHhc/u-9hLU78hHA8-W9fDHHoBoEUcV7I9wYtQCLcBGAsYHQ/s1600/LindellArchitecture.png" style="margin-left: auto; margin-right: auto; text-align: center;"><img border="0" data-original-height="586" data-original-width="1600" height="204" src="https://1.bp.blogspot.com/-_Mvptyg-P8Q/XvEoGtZOAwI/AAAAAAAAHhc/u-9hLU78hHA8-W9fDHHoBoEUcV7I9wYtQCLcBGAsYHQ/w640-h234/LindellArchitecture.png" width="540" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i>"Social Structures" designed by John Lindell; Posing Horse, Pinwheel, and McAlpin Device. <br /></i></td></tr></tbody></table><div><table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em;"><tbody><tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-Smty-GdzE0k/XyRd9dabCdI/AAAAAAAAHjs/i3IUIohxtAAKDTH-xn2vsZDoIpwQnJOEACLcBGAsYHQ/s1321/Cruising-Labyrinth-2016-_-Andreas-Angelidakis.jpg" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto; text-align: center;"><img border="0" data-original-height="1321" data-original-width="900" height="200" src="https://1.bp.blogspot.com/-Smty-GdzE0k/XyRd9dabCdI/AAAAAAAAHjs/i3IUIohxtAAKDTH-xn2vsZDoIpwQnJOEACLcBGAsYHQ/w136-h200/Cruising-Labyrinth-2016-_-Andreas-Angelidakis.jpg" width="136" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">"Cruising Labyrinth,"<br />Andreas Angelidakis</td></tr></tbody></table></div>Lindell was responding to a specific social context: the 1980s HIV/AIDS epidemic that utterly devastated the gay male community in New York City, especially the local sex clubs and bathhouses. Was there a way to preserve public sexuality while also encouraging safer sex practices? </div><div><br /></div><div>Lindell argued for an architectural intervention, to reimagine the sex club and bathhouse as an intentionally constructed social space with a civic ethos. When he compares sex clubs to supermarkets or shopping malls, it's a clever provocation -- he's applying this very straight scientific management theory to a very gay context. Above all he challenged prevailing sex maze design norms. We can do more than painting the walls black and unplugging all the lights.</div><div><br /></div><div>I try to follow Lindell's advice in my aesthetics: I make heavy use of neon lighting and a strong blue-purple midtone. It's kind of like a sci-fi laser tag arena, but for gay sex. I pair this look with amazing music by another gay Asian-Californian man also named Robert Yang -- an excellent DJ known as <a href="https://bezier.bandcamp.com/" target="_blank">Bézier</a>, with a wonderful series called <a href="https://bodyzone.bandcamp.com/album/deprogramming-v02" target="_blank">"deprogramming"</a> focusing on "Detroit bathhouse techno."</div><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-8nyOmW_UahY/X8mGs8ZK2LI/AAAAAAAAHrk/jOZWzxwHpyghEnCZGozoFDy-R3XaQD8RACLcBGAsYHQ/s1917/Zugzwang_BigMazeProcGen.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1036" data-original-width="1917" height="300" src="https://1.bp.blogspot.com/-8nyOmW_UahY/X8mGs8ZK2LI/AAAAAAAAHrk/jOZWzxwHpyghEnCZGozoFDy-R3XaQD8RACLcBGAsYHQ/w640-h346/Zugzwang_BigMazeProcGen.jpg" width="540" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i>in-editor screenshot of a generated level; this sex maze is maybe too big and complicated</i></td></tr></tbody></table><br /><div>Bathhouse aesthetics notwithstanding, how can we redesign sex mazes to feel more public and social like sex pubs, sex parks, or sex libraries? Can we build a sex dungeon that would do Jane Jacobs proud?</div><div><br /></div><div>Lindell focuses on two aspects: wandering and visibility. Wandering leaves you open to possibility, while visibility helps the wanderers keep each other accountable / keeps things exciting. At the start of the pandemic, even progressive public health departments were encouraging use of glory holes as for setting boundaries and eroticizing visibility.</div><div><div><br /></div><div>Zugzwang attempts to encode these New Sex Urbanism / Sex As Public Health ideologies into a first person broughlike design. </div><div><br /></div><div>You play as a sex angel. Your job is to help mortals open their minds to possibilities and activate sexual architecture. Under your watch, these AI men wander the randomly generated sex maze and pair-up for sex based on proximity, line of sight, and sexual compatibility.</div><div><br /></div><div>When you first play this game, their logic and movement will seem complex and arcane, and you'll have no idea what's going on. But as you continue, you'll gradually understand more of what you're seeing.</div><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-J3oMEsQX0w8/X8mIf7WhHxI/AAAAAAAAHrw/GI7R-6v1fIE-1IehjO8WkmzaiJtRxh0KwCLcBGAsYHQ/s970/Zugzwang_MazeProcGen.gif" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="553" data-original-width="970" height="324" src="https://1.bp.blogspot.com/-J3oMEsQX0w8/X8mIf7WhHxI/AAAAAAAAHrw/GI7R-6v1fIE-1IehjO8WkmzaiJtRxh0KwCLcBGAsYHQ/w640-h364/Zugzwang_MazeProcGen.gif" width="540" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i>in-editor screenshot of different procedurally generated level variations on a grid</i></td></tr></tbody></table><br /><div>To have sex, men in adjacent grid squares compare sexual moods. These moods must be compatible.</div><div><br /></div><div>In my simulation code, men can have one of five sexual moods: Top, Bottom, VersBottom (Versatile), TrueVers, and Voyeur. So a Top will never pair with another Top, a Bottom requires someone willing to top them, and so on. (The VersBottom / TrueVers thing is a common gay sex joke -- VersBottom men have a 69% random secret preference to bottom, while only TrueVers men are "truly versatile.")</div><div><br /></div><div>Voyeurs work differently, they have sex by watching a couple have sex. They symbolize stopgap support for threesomes, foursomes, and beyond, vital for completing later levels. For balance purposes, I limit the number of voyeurs in the maze, otherwise it can enter a deadlock where there's only voyeurs but no one for them to watch. (With a heavy heart, I had to disable a wonderful emergent edge case where a voyeur could climax by looking at another voyeur, the long recursive chain reactions of voyeurism would break the game unless I put more work into it.)</div><div><br /></div><div>This points to a general problem with treating sexual moods like immutable video game character classes. In real-life, nearly everyone is at least a bit of a voyeur and "multi-classes" situationally ("I'd top him, I'll bottom for her", etc). So in hindsight, a better game design analogy for sexual roles would've been "stances" or "buffs" that freely change and/or stack. Sadly, as the case with many video games, I had already programmed it this way, so now I must live with my mistakes.</div><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-lWfUa0KOdcY/X8mVQyzuRgI/AAAAAAAAHr8/4qG9DCnf09YBntWQ91Gpus1z_G1bxPRywCLcBGAsYHQ/s1442/Zugzwang_AlignmentGlyph.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1024" data-original-width="1442" height="364" src="https://1.bp.blogspot.com/-lWfUa0KOdcY/X8mVQyzuRgI/AAAAAAAAHr8/4qG9DCnf09YBntWQ91Gpus1z_G1bxPRywCLcBGAsYHQ/w640-h454/Zugzwang_AlignmentGlyph.png" width="540" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i>adding the vers / truevers thing kinda ruined the symmetry of the diagram but oh well</i></td></tr></tbody></table><br /><div>Note that the labels "top", "bottom", "true vers", etc. never actually appear in-game, perhaps reflecting my ambivalence about how stable or useful these textual labels are. </div><div><br /></div><div>Instead I adapted a more abstract <a href="https://en.wikipedia.org/wiki/Handkerchief_code" target="_blank">"hanky code"</a>, a color coding system most popular among gay men in the 1970s to flag which types of sex acts and roles they enjoyed. My game characters wear handkerchiefs in their back pockets, either on the left (dominant role) or right pocket (submissive role), with either light blue (oral sex), orange (anything), or white (voyeur). So a vers bottom wears an orange handkerchief on the right, etc. </div><div><br /></div><div>These in-game meanings don't quite match what's considered the authoritative list, but it's arguable whether there's any universal authoritative meanings anyway. Like any community, I imagine most players will improvise their own meanings as they play.</div><div><br /></div><div>For instance, Zugzwang's hanky code also gives a vital hint for predicting AI behavior. When a man reaches a wall in the maze, men with left-hankys will turn left, while men with right-hankys will turn right.</div><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrgV6QKDF13JOEswKTYGbeCsSL1UTy3pL6aSG14et0J-py1e-dffPKVcwhDC2xXHLjbsTv2fDQjkvjRpBVRoC66R4yutQoJdDwDO_Zzf_AwvkfEP9xnn3_RSKIzxOy0zBpALM3CD0o0h776rT4KjxTLRpkUe-icf6UQauUNHIiB6JrQDYevrSJ14JZ/s5574/Zugzwang_Media9.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="3135" data-original-width="5574" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrgV6QKDF13JOEswKTYGbeCsSL1UTy3pL6aSG14et0J-py1e-dffPKVcwhDC2xXHLjbsTv2fDQjkvjRpBVRoC66R4yutQoJdDwDO_Zzf_AwvkfEP9xnn3_RSKIzxOy0zBpALM3CD0o0h776rT4KjxTLRpkUe-icf6UQauUNHIiB6JrQDYevrSJ14JZ/w640-h360/Zugzwang_Media9.jpg" width="540" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i>in-game screenshot where player can't see hankys because men face the camera, or a wall is in the way</i></td></tr></tbody></table><div><br /></div><div>The most important design affordance of the hanky code is that these handkerchiefs sit in the back pocket, which means the player must actively look around and check out dudes' butts to understand their needs. But obviously if they're facing toward you or if the butt is otherwise concealed, then you must guess or rely on your memory. I wanted to reflect the cognitive reality of cruising: tracking and remembering people as they pass in and out of your vision.</div><div><br /></div><div>(Some players may try to guess an NPC's sexual mood based on stereotypes like muscular tops, skinny submissive twink bottoms, etc. However, my code randomly assigns different body types, skin colors, and clothing. Appearance has no bearing on capability.)</div><div><br /></div><div>There's also another obvious incentive to look at the men -- presumably you want to watch them have sex. Here I'm inspired by Skyrim sex mods and literally depict a plain blowjob, a glory hole blowjob, and a rare face-fucking on a leather posing horse. As in Skyrim, my animations are charmingly janky, with penises occasionally clipping through eyes and noses, or even through the back of the skull entirely. This jank envelops the player, who routinely has substandard viewing angles and often can't even see what's happening. The player will face a dilemma: move to a strategically advantageous position, or move to get a better view of the sex? Will horniness override the player's judgment? (Probably. Hopefully.)</div><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpnAJxWD2qspxhMSgK138J4I_CSp1ZDigFaHLQ9eNdhcWUew4-NxQzlx0sVWW9tgBYa0eSLelA7b-T9SAkBy4MyXbQkM6l_Ac7LWkoQYej9HzkvM-dtOdxtbjrhH2vzGIR1VNgkzm6FCaPMivu1NAo9m4bnM-FAnVzP44cPA9OLXBYMY3tReqS58lW/s5574/Zugzwang_Media8.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="3135" data-original-width="5574" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpnAJxWD2qspxhMSgK138J4I_CSp1ZDigFaHLQ9eNdhcWUew4-NxQzlx0sVWW9tgBYa0eSLelA7b-T9SAkBy4MyXbQkM6l_Ac7LWkoQYej9HzkvM-dtOdxtbjrhH2vzGIR1VNgkzm6FCaPMivu1NAo9m4bnM-FAnVzP44cPA9OLXBYMY3tReqS58lW/w640-h360/Zugzwang_Media8.jpg" width="540" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i>in-game screenshot where the player can't get a good view of the action</i></td></tr></tbody></table><br /><div>As an extra strategic twist on the sex, partners in adjacent squares will occupy their shared grid edge. In other words, sex creates walls that block movement. Traffic within the maze will clog up unless you release this built-up sexual tension.</div><div><br /></div><div>The only way to remove human walls is to approach the sex partners and redeem them. As a sex angel, your divine presence will cause them to joyfully disintegrate into pure semen, scoring points to progress to the next level. If you chain together multiple adjacent partners at the same time, you build up a <i>combo multiplier</i> -- the 1st climax is worth 1 L of semen, but the 4th consecutive climax is worth 4 L.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsE9Bndo6Fv-j1RiZzs1k82-UfB4ANwx0p27P_Nli9EEnvFMlBcZImfYh3UTw_xzBO1Q22xxwBrDGmrVFFrwsrB7aRUfzaWTdVcwtaaZXsyfnUMvrVbh5A7HMPlLMQBk_0m09uozWlYMUNBovX4e3LXenSz5TdPIdubVYBrHQ09byyHkwgsNR-EVTy/s476/Zugzwang_FluidDetonate.gif" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="476" data-original-width="337" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsE9Bndo6Fv-j1RiZzs1k82-UfB4ANwx0p27P_Nli9EEnvFMlBcZImfYh3UTw_xzBO1Q22xxwBrDGmrVFFrwsrB7aRUfzaWTdVcwtaaZXsyfnUMvrVbh5A7HMPlLMQBk_0m09uozWlYMUNBovX4e3LXenSz5TdPIdubVYBrHQ09byyHkwgsNR-EVTy/w142-h200/Zugzwang_FluidDetonate.gif" width="142" /></a></div>Building up huge group sessions is the key to completing later levels. While the first level requires only 8 L of semen (easy!!), you will need to collect 44 L of semen to complete the fourth level. This becomes more urgent as more men enter the maze -- at the end of every turn, you must pay -0.1 L of semen as upkeep for each person. This creates tension where you'll want to edge the game state to build up a big chain climax for combo multipliers, but if you wait too long then your reserves will sag... I do fear this whole semen economy overwhelms the player, so on the side of the screen I implemented an automatic cum ledger to track gains and losses.</div><div><br /></div><div>In the second half of the game (levels 3 and 4) however, the biggest threat to your horniness is not the semen tax -- it is the police.</div><div>
<br />
In my previous sex games, the police have been an arbitrary randomized penalty (Stick Shift), a surveillance apparatus that revokes sexual consent (Cobra Club), or an undercover operation that uses fear to prevent sexual consent (The Tearoom). The whole point here is that police form a system of intimidation that you dread, even when you can't see them.<br />
<br />
However, Zugzwang is about interacting with a maze full of people, so here I simulate the police as distinct in-person agents who walk around. Cops are just like the rest of us, except they have their sexuality set to "cop." I thought I was being clever and funny by imagining "cop" as a sexuality, but this technical hack basically broke my consent simulation and caused so many programming headaches...</div><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHnoFptSbYw5LGLmxfFX7onvbr95-wKzQhF7jd48PWqM13sCUhaMwN4Ih-TgU8_zIqXh7-ZWKdPLHu6H0LYwJMJcyLNyi4n3tjlt8sJe11MI7bUFy-b3hCRT99ApNBsWXZGA1XjiCwuxKBFGDSwAcQbsP_dvij2sa34dxYF3gTYnb0vo6C2Ml1hP48/s5574/Zugzwang_Media4.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="3135" data-original-width="5574" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHnoFptSbYw5LGLmxfFX7onvbr95-wKzQhF7jd48PWqM13sCUhaMwN4Ih-TgU8_zIqXh7-ZWKdPLHu6H0LYwJMJcyLNyi4n3tjlt8sJe11MI7bUFy-b3hCRT99ApNBsWXZGA1XjiCwuxKBFGDSwAcQbsP_dvij2sa34dxYF3gTYnb0vo6C2Ml1hP48/w640-h360/Zugzwang_Media4.jpg" width="540" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i>in-game screenshot of a cop; the excessive tactical riot gear is intentional</i></td></tr></tbody></table><br /><div>Normally, my virtual men can only initiate sex with a nearby consenting partner of a compatible mood. But for an AI with "cop" sexuality, their idea of sex is beating someone with a baton and removing them from the game. Their victim's mood or consent is irrelevant. Since cops ignore consent, I had to program special cop-only exceptions in my core <span style="font-family: courier;">TestSexMood()</span> code function. Violence is usually the first thing to prototype in an action game, but here it surprised me how much work it took to hack violence into an existing system that had no concept of it.</div><div><br /></div><div>
When cops attack NPCs <i>in flagrante delicto, </i>the NPCs disappear from the board and the player loses 0.5 L of semen for each one. So for example, instead of redeeming two men for a +3.0 L gain, cop attacks inflict a -1.0 L loss. If you account for the lost opportunity, this results in a total -4.0 L loss or often worse, since cops can exploit the same chain reaction mechanic as the player. </div><div><br /></div><div>Even after all this, the player must still pay the per-turn upkeep of -0.1 L for the cop, even while the cop ruins the player's plans. They should feel unfair, annoying, and parasitic, evoking the reasoning of the <a href="https://en.wikipedia.org/wiki/Defund_the_police" target="_blank">Defund The Police movements</a> of 2020 -- policing inevitably diverts and consumes excessive non-police resources that were better allocated to other community services instead.</div><div><br /></div><div>In my playtests, it felt like the best tactic is to try to trap the cop in the corner with your body while the AIs coordinate a big orgy that gives you a huge payout. This kinda-boring "degenerate strategy" falls way short of most broughlikes, but I decided to leave it in because I am pro-degeneracy. Level 4 originally had two cops to make it more difficult to trap them, but in my playtests that turned out to be way too punishing and forced a forever stalemate. I want players to feel anxious, but ultimately complete the game in less than 30 minutes and move on with their lives. </div><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyvSYDV265-Gy_5F--jnL7uDiZS6OatlW8Ekd1tMN4uoQkGmhq5_mN1fmOrEMkDIucs5ac5nJSMarA82PnLNk1XfZOUX_ZAhQ1YXyvzUx51P4TX9RsT0mCAMvrbDN4xem2UMXc-WnwiYrgblnfiQxwsCHtwKR9pvsyKFW3GTvrnELInBGO5CyAX3k2/s5574/Zugzwang_Media3.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="3135" data-original-width="5574" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyvSYDV265-Gy_5F--jnL7uDiZS6OatlW8Ekd1tMN4uoQkGmhq5_mN1fmOrEMkDIucs5ac5nJSMarA82PnLNk1XfZOUX_ZAhQ1YXyvzUx51P4TX9RsT0mCAMvrbDN4xem2UMXc-WnwiYrgblnfiQxwsCHtwKR9pvsyKFW3GTvrnELInBGO5CyAX3k2/w640-h360/Zugzwang_Media3.jpg" width="540" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i>screenshot of a late game moment: 6 people having sex (left) but safe from the cop (right)</i></td></tr></tbody></table><br /><div>Most of this gameplay came together without that much design trouble. I knew what I wanted to do, even if it took a lot of work to get it done. The conceptual core of this game was done in 2019 already.</div><div><br /></div><div>But I had to do a few more years of thinking and revisiting for Zugzwang's ending. Good endings in games are hard. In my mind, a solid ending sequence had to somehow do all of these things:</div><div><ul style="text-align: left;"><li>resolve conflict with the police, who leads their campaign of terror and brutality?</li><li>what happens to all your points, what does one do with <i>dozens of liters of semen?</i></li><li>evoke the themes of sex magic and divinity</li><li>reuse assets and systems, feel connected to the rest of the game</li></ul><div>And let's not forget to factor in the common ongoing doubt in game dev -- that maybe a good ending isn't even worth making, since most people won't even play to completion and witness it.</div></div><div><br /></div><div>My creative strategy here is to devise something so fitting yet weird that I'll feel spiritually compelled to finish making the ending, despite any doubts about scope. What kind of ending can do all this? </div><div><br /></div><div>
That's when I saw <a href="https://twitter.com/extrafabulous/status/1266725418431905793" target="_blank">this comic on Twitter</a> by Zach Stafford (<a href="https://twitter.com/extrafabulous" target="_blank">@extrafabulous</a>):</div><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-U4MitNQNnXQ/XySXu66hMuI/AAAAAAAAHkI/jJ9c8jn-nTEEVdRNZNaOWiJf5s8w8RP5QCLcBGAsYHQ/s1045/ExtraFabulous_Comic_SquirrelNutDeposit.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="745" data-original-width="1045" src="https://1.bp.blogspot.com/-U4MitNQNnXQ/XySXu66hMuI/AAAAAAAAHkI/jJ9c8jn-nTEEVdRNZNaOWiJf5s8w8RP5QCLcBGAsYHQ/s640/ExtraFabulous_Comic_SquirrelNutDeposit.png" width="540" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i>web comic of a squirrel who says "and here is where i keep my nut. please excuse me while I deposit some", and opens a door to reveal a room covered in semen; the squirrel then says "PPFFTPP" as they spit semen into the room, as another squirrel looks on in horror... the joke is that the squirrel's "nut" was not a plant seed with inedible outer shell, but in fact a humorous unexpected reference to semen<br /></i></td></tr></tbody></table><div><br />Various religions and schools of magic have long been fascinated with semen as a magical sacred substance. <a href="https://en.wikipedia.org/wiki/Taoist_sexual_practices" target="_blank">Taoist sex magic</a> was the perhaps the earliest no-fap subreddit; some dynastic Taoists argued that retaining semen was crucial for personal and spiritual health, and took it even further, promoting <a href="https://en.wikipedia.org/wiki/Retrograde_ejaculation" target="_blank">retrograde ejaculation</a> in the belief that you can <i>cum into your own brain.</i> <a href="https://en.wikipedia.org/wiki/Vajroli_mudra" target="_blank">Vajroli mudra</a> was a now-discontinued spiritual yoga practice about "preserving semen". And of course <a href="https://en.wikipedia.org/wiki/Religious_views_on_masturbation">Catholic and Orthodox churches generally view masturbation as sinful</a> for a variety of reasons, which include the idea that non-reproductive "spilling of semen" outside of a wedlocked vagina is "monstrous." The influential 1500s theologian John Calvin argued that pulling out was "double monstrous"!</div><div><br /></div><div>So in my ending, the police trap you and bring you into court on obscenity charges as well as a religious crime of wanton semen hoarding. They force you into a cage as you await your show trial. A crowd of cops surrounds the cage and mocks you. Is all hope lost?</div><div><br /></div><div>That's when you repeat a magical incantation from the beginning of the game, burst out of your cage, and begin fire-hose-vomiting 69.0 liters of semen onto every visible floor, wall, and officer.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4GLxN3CoOWmP-X5t4sAC5g78TdU4PupyoSj4H03FrPobDAwXJYpbYH5kyN3SGySz62GognytxZ-SpckmSdt5zVrKzUx819lDmqQo2h9Juew0eQ9LXciuEsnECro5dfPoAJaR38dTM6j-CFbbtvrXtXBm-woJ6CxDa4TDyjWIX7TRbHrEbsCZSYwhr/s5574/Zugzwang_Courtroom.jpg"><img border="0" data-original-height="3135" data-original-width="5574" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4GLxN3CoOWmP-X5t4sAC5g78TdU4PupyoSj4H03FrPobDAwXJYpbYH5kyN3SGySz62GognytxZ-SpckmSdt5zVrKzUx819lDmqQo2h9Juew0eQ9LXciuEsnECro5dfPoAJaR38dTM6j-CFbbtvrXtXBm-woJ6CxDa4TDyjWIX7TRbHrEbsCZSYwhr/w640-h360/Zugzwang_Courtroom.jpg" width="540" /></a></div><div><br /></div><div>I briefly considered implementing Splatoon-style game rules about maximizing surface area coverage to cleanse the entire courtroom, but the incentive to maximize fluids and prevent waste felt oddly sex negative to me. Like a cartoon squirrel, the player should not hold back!</div><div><br /></div><div>But making fun of patriarchal belief systems about magic semen isn't enough. We also need to articulate a queer account of magic semen. Which brings us to a woman named Ida Craddock.</div><div><br /></div><div><a href="https://en.wikipedia.org/wiki/Ida_Craddock" target="_blank"></a><div class="separator" style="clear: both; text-align: center;"><a href="https://en.wikipedia.org/wiki/Ida_Craddock" target="_blank"></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9DoxNSE0QhjgUbRcdwmQ0JJhZU2vpsEHD97jqNiu6_Ezgr5QYL8nx8RGcqQZUo4jqqmtJZnhat3kOFJFQ5AM8-l_NdjfqS2Bx_pVc56IgfejsogKJ-MHWfQ7C-fLDWV8nzFpqkZ2uhkqRrzzjhcvtEPCZZWp9eMQGsko_lJHZC5WnefiqptTSYVNw/s542/IdaCraddock.jpg" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="542" data-original-width="441" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9DoxNSE0QhjgUbRcdwmQ0JJhZU2vpsEHD97jqNiu6_Ezgr5QYL8nx8RGcqQZUo4jqqmtJZnhat3kOFJFQ5AM8-l_NdjfqS2Bx_pVc56IgfejsogKJ-MHWfQ7C-fLDWV8nzFpqkZ2uhkqRrzzjhcvtEPCZZWp9eMQGsko_lJHZC5WnefiqptTSYVNw/w163-h200/IdaCraddock.jpg" width="163" /></a></div><a href="https://en.wikipedia.org/wiki/Ida_Craddock" target="_blank">Ida Craddock</a> (1857-1902) was one of the first feminist sex educators and sex magicians in America. Raised as a Quaker but inspired by her study of the Kama Sutra and belly dancing, she published sex manuals that argued women deserved sexual pleasure and that this pleasure led to a closer relationship with God.</div><div><br /></div><div>Specifically she claimed to have (frequent, amazing, loud) sex with an angel whom she had married, and believed that woman-centered sex was so inherently good and powerful that it was the spiritual equivalent of a threesome with God. (For more on Craddock's life and work, listen to <a href="https://www.npr.org/transcripts/132088665" target="_blank">this 2011 NPR segment about her</a>, or this <a href="https://drvitelli.typepad.com/providentia/2020/01/the-sex-wars.html" target="_blank">post recapping about the early history of US "sex wars"</a>)</div><div><br /></div><div>Honestly, Craddock's thinking is an imperfect fit for contemporary queer politics today. Her orientalist embrace of yoga is kind of cringe, she centers sex around heterosexual Christian marriage, and like many of her time she was critical of masturbation, queerness, and sex work.</div><div><br /></div><div>But LGBTQ historians argue her public-minded activism was as radical as she could've been, given her limited resources and tools. At the root of her writing, Craddock believed strongly in bodily autonomy and public education, and it just so happened that <i>Christian yoga angel sex magic</i> was the only imaginable force that could defeat the misogynist forces arrayed against her -- Anthony Comstock and the US government.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBpL5jqYFrKpz3nmlOHwGFfuErm3xdsT0SaNZXDq_BlfiCJA4YX7qOt6mAcGyiBre_5y47tIW8kX92oC7aUbChIZ_1rmmBVU0lQmB-SPQVJONeeVNh9y7KTsVsFI8Cu1zTAhqBPKOmpkHEI2l412216KKvLPWteTHaoZkbvOZxujbc9iduAQDpKUgv/s597/AnthonyComstock.jpg" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="472" data-original-width="597" height="158" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBpL5jqYFrKpz3nmlOHwGFfuErm3xdsT0SaNZXDq_BlfiCJA4YX7qOt6mAcGyiBre_5y47tIW8kX92oC7aUbChIZ_1rmmBVU0lQmB-SPQVJONeeVNh9y7KTsVsFI8Cu1zTAhqBPKOmpkHEI2l412216KKvLPWteTHaoZkbvOZxujbc9iduAQDpKUgv/w200-h158/AnthonyComstock.jpg" width="200" /></a></div>If anyone under the age of 100 knows of Anthony Comstock at all, it's maybe as the racist preacher supervillain of the 2013 FPS game Bioshock Infinite. The fictionalized <a href="https://bioshock.fandom.com/wiki/Zachary_Hale_Comstock" target="_blank">"Zachary Comstock"</a> is a sympathetic portrait of a <i>dad who massacred so many Native Americans at Wounded Knee that he became a racist preacher supervillain targeted by the US government</i>, and so the game imagines an alternate fantasy universe where America rejected Comstock's bigoted beliefs.</div><div><br /></div><div>But the real-life <a href="https://en.wikipedia.org/wiki/Anthony_Comstock" target="_blank">Anthony Comstock</a> (1844-1915) enjoyed the full support and power of the US government. As a specially appointed United States Postal Inspector with broad police privileges under his <a href="https://en.wikipedia.org/wiki/Comstock_laws" target="_blank">Comstock Laws</a>, Comstock freely wielded his eponymous power against anything he viewed as "obscene" -- seeking to imprison anyone who dared to write about reproductive rights, birth control, and sexuality.</div><div><br /></div><div>In Craddock's case, her encounters with Comstock and the US government were unfortunately fatal. Facing years in prison for mailing supposedly "obscene" marriage manuals (she was advocating for sex within heterosexual Christian marriage!) Craddock died by suicide in 1902 at the age of 45. <a href="http://www.idacraddock.org/public.html" target="_blank">In her last words</a>, Craddock specifically named Comstock as her harasser and cause of her death.</div><div><br /></div><div><a href="https://en.wikipedia.org/wiki/Zugzwang" target="_blank">Zugzwang (Wikipedia)</a> is German for "compulsion to move", a situation in chess when a player is forced to make a bad move, and I believe that's sort of what happened to Craddock. I also believe we must honor her by continuing her struggle against Comstock and his political descendants, who continue to attack bodily autonomy and inclusive education across America.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6dp6rvkl6tgamHKJOKvCYKh5SM8T4a8cREcEQ40oSFNOc-IKwd0rL0z1EVLP5_1uuWJIP-eKJMfGnytmymRIM8X-Ud4h6yx0JUpeznAWQm3Ob7O3X-7_18bH1KQGAgycm5rxrCazh87L5PQ9R-pJa0qV6Z5BYTTgLZQwzBhX0R2BliRcp4ACQtrhW/s830/LilNasX_Montero_PoleDanceUpwardIntoHeaven2.gif" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="446" data-original-width="830" height="344" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6dp6rvkl6tgamHKJOKvCYKh5SM8T4a8cREcEQ40oSFNOc-IKwd0rL0z1EVLP5_1uuWJIP-eKJMfGnytmymRIM8X-Ud4h6yx0JUpeznAWQm3Ob7O3X-7_18bH1KQGAgycm5rxrCazh87L5PQ9R-pJa0qV6Z5BYTTgLZQwzBhX0R2BliRcp4ACQtrhW/w640-h344/LilNasX_Montero_PoleDanceUpwardIntoHeaven2.gif" width="640" /></a></div><div><br /></div><div>Craddock's belief system is still radical because it inverts the morality of our culture wars today. Yes, there is certainly much value in artists like <a href="https://www.youtube.com/watch?v=6swmTBVI83k" target="_blank">Lil Nas X pole dancing into hell</a>, freely embracing satanic sexuality as queer empowerment. But Craddock wondered, what if God wants everyone to enjoy sex, and that pleasure can bring us closer to God? In fact, <i>what if we pole danced upward into heaven,</i> to enjoy endless orgies with angels? Lindell's sex supermarket neighbors Craddock's sex cathedral.</div><div><br /></div><div>In Craddock's cosmology, it is the fundamentalist hypocritical morality police like Comstock who align themselves with the Devil. </div><div><br /></div><div>So that's why in my game ending, after you dispatch all the armored police with magic semen blasts, the truly monstrous final boss appears: a giant horned animal skull powered by the cursed image of evil demonic Anthony Comstock.</div><div><br /></div><div>I designed this final boss as a riff on <a href="https://doomwiki.org/wiki/Final_boss" target="_blank">the final boss of the 1993 FPS game Doom</a>, a giant horned animal skull with the severed head of level designer John Romero who famously chants <i>"To win the game, you must defeat me John Romero"</i> in reversed demonic speech. </div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhX3wg2DelB5sraJvidqYK1mJTwx09HZBcpHg6M2RyZIbwIe8YX_yJjUt1qYUaEz0zQtoWUqnHd4albSF8oPDbHNepeHt2crmJ__ANYLNwTuBc2dr83zGIvo3_ALlW5P0duOeoUJorUIbyEZiftP0cmKQ54OuZBrx4t6g8obLqRAsQ19iHfqa1DMGb/s1536/Zugzwang_IconOfSin.jpg"><img border="0" data-original-height="768" data-original-width="1536" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhX3wg2DelB5sraJvidqYK1mJTwx09HZBcpHg6M2RyZIbwIe8YX_yJjUt1qYUaEz0zQtoWUqnHd4albSF8oPDbHNepeHt2crmJ__ANYLNwTuBc2dr83zGIvo3_ALlW5P0duOeoUJorUIbyEZiftP0cmKQ54OuZBrx4t6g8obLqRAsQ19iHfqa1DMGb/w640-h320/Zugzwang_IconOfSin.jpg" width="540" /></a></div><br /><div>My version of the Icon of Sin bears the head of Anthony Comstock and also chants, <i>"To win the game, you must defeat me Anthony Comstock"</i> in reversed demonic speech.</div><div><br /></div><div>All of this is meant to reflect Craddock's belief system, even if my overcomplicated tactical gay sex magic chess puzzle game wouldn't have been quite to her tastes. So what did she want then? In the public letter written before her death, Craddock clearly states her last wishes to her "fellow-citizens of America":</div><div></div><blockquote><div><i>"... I beg of you, for your own sakes, and for the future happiness of the young people who are dear to you, to protect my little book, 'Right Marital Living.'"</i></div></blockquote><div></div><div>In accordance with Craddock's wishes, I have uploaded an unedited PDF scan of an early 1899 edition of her marriage manual Right Marital Living to be freely downloaded, distributed, and preserved. I have also prepared a new 2022 edition of Right Marital Living, which I believe has since fallen into the public domain since its original 1899 publishing date. My modern PDF edition features modern typography, her last letters, and some historical context and footnotes.</div></div><div><br /></div><div>Inspired by Craddock's marriage manual, I also commissioned an in-universe game manual from fellow queer game developer <a href="https://hxovax.itch.io/" target="_blank">Mitch Alexander</a>, who <a href="https://hxovax.itch.io/" target="_blank">makes fantastic gay sex games too</a>! (I recommend <a href="https://hxovax.itch.io/orc-dating-sim" target="_blank">Tusks</a>, though I've been an Alexander fan since <a href="https://hxovax.itch.io/the-loch-a-scottish-fishing-rpg" target="_blank">The Loch</a>). Mitch wrote "Hierosgamos" as a series of textual fragments that allude to cruising, the hanky code, and various game mechanics. Compared to most game manuals, it's purposely a bit cryptic and elusive, but I enjoyed the circular metatextual aspect of a sex manual inspiring a game that inspires a sex manual.</div><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgS_G1z95NvlqCRZnNa93e922ZVHvkg1lRVHIenj53fH2QVh3jywMsAgiX8uM9KpF_hGxvDWXh8BiENu34rRS68tjDFQNbT5OiiiPQjyzUI7HTokG925JIf6_jEf2jgFbvAiKX05m1thdtPgZ8xbm_kQBV6i23OrTh4YzPDc86r_Mpp3h3Wr0oxWp3/s2296/Zugzwang_BooksAndPoem.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="955" data-original-width="2296" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgS_G1z95NvlqCRZnNa93e922ZVHvkg1lRVHIenj53fH2QVh3jywMsAgiX8uM9KpF_hGxvDWXh8BiENu34rRS68tjDFQNbT5OiiiPQjyzUI7HTokG925JIf6_jEf2jgFbvAiKX05m1thdtPgZ8xbm_kQBV6i23OrTh4YzPDc86r_Mpp3h3Wr0oxWp3/w640-h266/Zugzwang_BooksAndPoem.jpg" width="540" /></a></td></tr><tr><td class="tr-caption"><i>(left) title page of Right Marital Living by Ida Craddock, 1899; (center) title page of Hierosgamos by Mitch Alexander, ed. Robert Yang, 2022; (right) poem "Long years apart..." handwritten by Emily Dickinson on an envelope, photo from “The Gorgeous Nothings” by Christine Burgin, 2013 <a href="https://viewfromaburrow.com/2014/06/26/emily-dickinson/" target="_blank">via Michael Johnson</a></i></td></tr></tbody></table>These historical text fragments are incantations that span across time. And at the beginning and ending of Zugzwang, I repeat one such incantation: "The absence of the Witch does not Invalidate the spell."<br /><br />Long-time fans of my games can probably guess this is an Emily Dickinson quote, in particular from "Long years apart...", poem no. 1383. I originally saw these words at the Irish Museum of Modern Art in 2019 (<a href="https://www.blog.radiator.debacle.us/2019/02/thick-skin-complexion-realism-and-labor.html" target="_blank">I blogged about the IMMA's main Lucian Freud exhibition here</a>), where there was a display of her handwritten poems on random scraps of paper. There I read the incantation, runes scribbled in pencil on the back of an envelope:<div><div></div><blockquote><div><i>Long Years apart – can make no</i></div><div><i>Breach a second cannot fill –</i></div><div><b><i>The absence of the Witch does not</i></b></div><div><b><i>Invalidate the spell –</i></b></div><div><i><br /></i></div><div><i>The embers of a Thousand Years</i></div><div><i>Uncovered by the Hand</i></div><div><i>That fondled them when they were Fire</i></div><div><i>Will stir and understand –</i> </div></blockquote></div><div>I believe Craddock's absence does not Invalidate the Spell. Her activism and struggle against Comstock is a magic that can last for a Thousand Years, an architecture that future generations can live in and build upon. </div><div><br /></div><div>Although I'm not the exact audience she had in mind back in 1899, I can still draw power from her sense of justice today in 2022.</div><div><br /></div><div>Because we sure need any power we can get today, in this month of June 2022, when Comstock's ideological descendants on the US Supreme Court have attacked all of our collective sexual and reproductive freedoms. We're going to need every tool imaginable to reverse this damage, and maybe even something as seemingly fanciful as sex magic can be useful here. Because in the end, I think here's what sex magic is really all about: embodying desire -- what we desire for ourselves, each other, and our future.</div></div></div></div>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-32088585211547969802022-06-15T20:14:00.014-04:002022-06-16T03:00:33.665-04:00Postcards from Quakeland, 2022<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqclv1PPZNbGSXbqETMgk-_vGS3Xs6xZZmFMjqR2wbcaMqA9OZifFFajKCzpDixn75XWA1dk6DTPYXz17ko32ei8CI0Ge1PLV1l2zK-PbKMNE6j4g9TcKZT-zhM93uTbDE4_mmEkNVXneqqX841OWOXaV228n9aRsiQvdqWNKUEkEscKTcNZgFXtsb/s1920/quake-25-header.jpg"><img border="0" data-original-height="1080" data-original-width="1920" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqclv1PPZNbGSXbqETMgk-_vGS3Xs6xZZmFMjqR2wbcaMqA9OZifFFajKCzpDixn75XWA1dk6DTPYXz17ko32ei8CI0Ge1PLV1l2zK-PbKMNE6j4g9TcKZT-zhM93uTbDE4_mmEkNVXneqqX841OWOXaV228n9aRsiQvdqWNKUEkEscKTcNZgFXtsb/w640-h360/quake-25-header.jpg" width="540" /></a></div><br /><div>Some random notes and thoughts from Quake modding land, in this cold wintery June of 2022:</div><div><ul style="text-align: left;"><li>Community Hubs</li><li>Official Mods</li><li>The Future of My Quake Maps</li></ul></div><span><b><a name='more'></a></b></span><div><b>COMMUNITY HUBS</b></div><div><br /></div>Since February 2022, I've been acting as volunteer database maintainer / editor for the main Quake single player community archive site <a href="https://www.quaddicted.com/" target="_blank">Quaddicted</a>. The original webmaster Spirit still retains admin control, but after he uploads the files, it's now my duty to research the mod and add info / images / metadata so people can actually view, download, and discuss it.<div><br /></div><div>My tenure has been going OK so far, I've only broken the entire website a couple times, and most users likely don't even realize someone else is on call now. (Thanks to previous database editors Negke and Spirit for their loyal service for many years.)<div><br /></div><div>Working behind the scenes has helped me better understand the system's strengths and weaknesses. Quaddicted is very much a Web 1.5 website, a hand-built PHP wrapper around some old forum software. User contributions are limited. Like an aging battlestar, I suspect this "low tech" foundation is partly what has insulated it all these years, helping it preserve Quake single player culture for decades with fairly low maintenance requirements. </div><div><br /></div><div>However, as I've argued in my <a href="https://www.blog.radiator.debacle.us/2021/08/quake-renaissance-for-rock-paper-shotgun.html" target="_blank">Quake Renaissance articles for Rock Paper Shotgun</a>, there is currently an influx of new activity among Quake modders. Even this modest increase in productivity has overwhelmed Quaddicted's capacity: in early 2022 a rather big backlog of community releases accumulated, waiting to be published. And for better or worse, if your mod is not listed on Quaddicted, your already small audience will be even smaller. There was a feeling of urgency building up, and so I foolishly volunteered my soul... Fortunately for now, I'm able to do that. For now, things are flowing mostly smoothly. But a single point of failure for an entire community is never good design, and so my volunteering is ultimately a stop gap fix for a more sustainable solution: a more modern community hub.</div><div><br /></div><div>This new in-development hub is currently codenamed <i>Slipgate Sightseer,</i> with systems modeled off something like <a href="http://tf2maps.net">tf2maps.net</a>. Users will be able to publish and maintain their own releases, and so someday hopefully there will be no need for someone like me to manually post each mod. Control (and responsibility) will be decentralized, which in theory, will make it more resilient and adaptable.</div><div><br /></div><div>To be clear, I'm not involved with it or working on it! As far as I know, there's no ETA on this project, it'll launch when it's ready. But keep a lookout for it. It's an interesting test: can a 25+ year old mod community re-imagine and re-engineer itself?</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOsB_4XlXyqHNh5kFYX5mKha48U2UdPZW8qO5wwJNI920hdIGB2hf_3iHzIxfU04kfXgn1EWfinYd-OqMwW_npRm8FJirmbd2uEYCiQ0EhE27jFDspM0PHfp0qEGjR8yGIJ5B9gkMtpkPXjuRbIWX4Y27Kbgg44E8ZdQm_zwkPsL3z7Mm9VaK0YXnp/s2633/quakeRenn.jpg"><img border="0" data-original-height="1195" data-original-width="2633" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOsB_4XlXyqHNh5kFYX5mKha48U2UdPZW8qO5wwJNI920hdIGB2hf_3iHzIxfU04kfXgn1EWfinYd-OqMwW_npRm8FJirmbd2uEYCiQ0EhE27jFDspM0PHfp0qEGjR8yGIJ5B9gkMtpkPXjuRbIWX4Y27Kbgg44E8ZdQm_zwkPsL3z7Mm9VaK0YXnp/w640-h290/quakeRenn.jpg" width="540" /></a></div><div><br /></div><div><b>OFFICIAL MODS</b></div></div><div><br /></div><div>To my surprise, Bethesda / id Software / MachineGames are actually following through on their 2021 promise to keep publishing new official releases of Quake mods. Their "add-on" curation has been interesting and eclectic, pleasant deep cuts mixed with modern releases: <a href="https://bethesda.net/en/article/6beReS1InCezjnGgDIYoHi/nods-to-mods-interview-the-punishment-due" target="_blank">The Punishment Due</a>, Terra, Underdark Overbright, and Honey are all community favorites of varying ages and styles.</div><div><br /></div><div>One of the bigger obstacles here seems to be a legal barrier. For the past few decades, Quake modders have freely mixed-in copyrighted unlicensed content from other games. This has kept modders interested and engaged, but this dubious provenance means today's corporate IP lawyers might balk at publishing something like Arcane Dimensions, a big popular Quake mod that freely mixes-in content from Hexen and Heretic. It's probably not worth disentangling, even if Microsoft basically owns everything.</div><div><br /></div><div>I feel like this new official mod publishing program's incentives might be shifting the vibe a bit. For a chance to "go official", modmakers must ensure clean provenance for their assets. That means no ripping levels from Elder Scrolls: Oblivion, no mash-ups with Bloodborne, no janky fun remixes with Doom 2016. So whatever's left of Quake's counter-culture vibe fades faster, in favor of clean original high-production polish, which to me feels like a bit of bleed from today's contemporary indie game culture. (I'm waiting for Quake to descend into a Wholesome Ghibli phase too.)</div><div><br /></div><div>But hey, presumably Quake modders are getting paid for their work now. <strike>That's a real plus.</strike> <i><b>(EDIT: I've since found out that they send you one (1) $100 USD Amazon gift card. Wow. That's somehow worse than I imagined. Really sad. It should be $1000 USD in real money at least, and even then, that'd still so little money for so much work.)</b></i> Though I imagine the checks, if any, resemble small token payments that don't really reflect the amount of work that goes into these mods. Still, it'd be a funny return to something like pre-Steam Valve buying community maps for the CS 1.6 map cycle. Are the boomer shooters bringing back 1990s modder patronage? </div><div><br /></div><div>... Though really, using a term like "patronage" here implies a higher level of financial support that probably isn't happening, and has maybe never happened in games. If the Italian Renaissance happened because <a href="https://twitter.com/GalaxyKate/status/1534661435665653761" target="_blank">petty rich Florentine wool merchants wanted to spite each other</a> and so they accidentally paid artists a bunch of money -- well -- that's probably more than any big rich AAA publisher has ever given back to the modder / indie game community that it steals from.</div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIEg-8OrAM7-r9WIT6y6B07gcct1bQmZ12AQK2ZZtZkpUhRCBtfofDfQSJ2YA4in0fIiyd9IE3H7zWUyGSOqJJ5qXpQ3vYW8gSs45pQ-CvT4NWYubaySZxJu1w9QKnTCUnb3t0E9afDdcSUO0kFeF2nLIkWOYsSAbBmpBXioAq_Xre5T8xjOMp1K1B/s2668/TrenchbroomToUnity.png"><img border="0" data-original-height="894" data-original-width="2668" height="174" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIEg-8OrAM7-r9WIT6y6B07gcct1bQmZ12AQK2ZZtZkpUhRCBtfofDfQSJ2YA4in0fIiyd9IE3H7zWUyGSOqJJ5qXpQ3vYW8gSs45pQ-CvT4NWYubaySZxJu1w9QKnTCUnb3t0E9afDdcSUO0kFeF2nLIkWOYsSAbBmpBXioAq_Xre5T8xjOMp1K1B/w640-h214/TrenchbroomToUnity.png" width="540" /></a></div><div><br /></div><div><b>THE FUTURE OF MY QUAKE MAPS</b></div><div><br /></div><div>... Which leads me into reflecting on my own Quake modding activity.</div><div><br /></div><div>So <a href="https://www.blog.radiator.debacle.us/search/label/quake" target="_blank">I've been making a bunch of Quake maps</a> for the past couple years, and I've been learning a lot from the great level design community here.</div><div><br /></div><div>But with the rising cost of living, etc. like a lot of people, I've been wondering, <i>how can I monetize my hobbies to pay the bills?</i> </div><div><br /></div><div>Don't get me wrong, it'd be fun to keep making Quake maps for free for a few hundred players forever. But it'd also be nice to be able to justify the amount of time and work it demands from me. I've since concluded that the main obstacle here is that the maps are trapped inside Quake, which people will not pay me money for.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivfYBvwn6I3CADSl4eVCsrshJHbMZOQLtHgODLyptfloTtCXOj7isaOxKP03HJvoLYZyrUBXzRKK1aNgDrFnvBaScI8e3pV-r_kV3wqel8_9jC0k76QYgDAyNA1l8NmVdGyn_OGmxP_8l2mXqW1CMghP2fs7mJLuVU6i_63Y_Wbz7CBSI_3PgVyOTq/s609/MapImportInspector.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="609" data-original-width="344" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivfYBvwn6I3CADSl4eVCsrshJHbMZOQLtHgODLyptfloTtCXOj7isaOxKP03HJvoLYZyrUBXzRKK1aNgDrFnvBaScI8e3pV-r_kV3wqel8_9jC0k76QYgDAyNA1l8NmVdGyn_OGmxP_8l2mXqW1CMghP2fs7mJLuVU6i_63Y_Wbz7CBSI_3PgVyOTq/w113-h200/MapImportInspector.png" width="113" /></a></div>Thus for the past few months I've been building "Scopa", a level design .MAP importing plugin for Unity, as a kind of HammUEr / Qodot equivalent. </div><div><br /></div><div>This is meant to be dev infrastructure for me to quickly build Quake-style levels in <a href="https://book.leveldesignbook.com/appendix/tools/trenchbroom" target="_blank">TrenchBroom</a>, bring them into Unity, and hopefully sell some shooter games to the gamers eventually. Within the larger community, I'm also making it free, public, and open source, because I think more indie devs should adopt TrenchBroom as a general purpose 3D level design / modding tool.</div><div><br /></div><div><a href="https://github.com/radiatoryang/scopa" target="_blank">Scopa</a> is currently early in development, and not really ready for public use nor open source contributions. I invite you to "watch" it and follow its development. But I strongly recommend against trying to use it, because it may change a lot and it may be broken at any time.</div><div><br /></div><div>Anyway this is all just to say -- I'll likely be making fewer Quake maps in the future, because instead I'll hopefully be funneling that level design itch into a small commercial shooter game release that hopefully isn't terrible and sells modestly. Wish me luck!</div>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-55141133675812294522022-05-17T18:59:00.005-04:002022-05-18T18:06:22.233-04:00Logjam as mourning wood<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRuksRFM2vs0uYPWDGrh_BlSC21k6SjFZS2bYn-PnnbtdKYk8Vzs4sI_xodueC_dhih7x_d7YcfcOsHDlmbBKZa1n4loE7gqUVFmyJfnzpl9oCSULq_pu0hKc9GHqHRPvnXFl8C9L5Rkx1mDoiqTbCD_FIfN3hj0INJbr8UD1yfOv3SNwN2cSL4hC5/s5574/Logjam_Media3.jpg"><img border="0" data-original-height="3135" data-original-width="5574" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRuksRFM2vs0uYPWDGrh_BlSC21k6SjFZS2bYn-PnnbtdKYk8Vzs4sI_xodueC_dhih7x_d7YcfcOsHDlmbBKZa1n4loE7gqUVFmyJfnzpl9oCSULq_pu0hKc9GHqHRPvnXFl8C9L5Rkx1mDoiqTbCD_FIfN3hj0INJbr8UD1yfOv3SNwN2cSL4hC5/w640-h360/Logjam_Media3.jpg" width="540" /></a></div><iframe frameborder="0" height="167" src="https://itch.io/embed/1520230?linkback=true&dark=true" width="552"><a href="https://radiatoryang.itch.io/logjam">Logjam by Robert Yang</a></iframe><p><a href="https://radiatoryang.itch.io/logjam" target="_blank">Logjam</a> 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.</p><p><i><b>CONTENT WARNING:</b> Some of the screenshots have some CG nudity in them. It is "NSFW".</i></p><p><i><b>SPOILER WARNING:</b> This post spoils what happens in the game. If you care about that, then you should play it first.</i></p><span><a name='more'></a></span><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKCUec2kSssGv5ZVY_XYtOSxGIlbTia9NkpFBVHqO9X1O9ydkY5WsI3ALegzCrCXHUe36uG2IETm09JZ616xHCWdFRSS9XkEfgltZZrNAIgBR9qCFyd-Vxg6XMvFS2TmRlj4l39BjSpvBsLiJc6vvkkqzHQfDWI_p1PsxknNcJZ67jtAQ6sZ8DNuFF/s5574/Logjam_Media1.jpg"><img border="0" data-original-height="3135" data-original-width="5574" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKCUec2kSssGv5ZVY_XYtOSxGIlbTia9NkpFBVHqO9X1O9ydkY5WsI3ALegzCrCXHUe36uG2IETm09JZ616xHCWdFRSS9XkEfgltZZrNAIgBR9qCFyd-Vxg6XMvFS2TmRlj4l39BjSpvBsLiJc6vvkkqzHQfDWI_p1PsxknNcJZ67jtAQ6sZ8DNuFF/w640-h360/Logjam_Media1.jpg" width="540" /></a></div><p>As with my previous gay games, the controls are simple: you move the mouse up to raise the axe, and then move the mouse down (or click) to chop, and that's pretty much it. I don't even use left or right input.</p><p>However, masterful chopping requires a bit of timing. Here I use a classic gamey-style back-and-forth aiming meter where you have to click at the right time, yet there's a delay between your input and the end of the animation. It's a sliver of Dark Souls meant to evoke the mastery of wood chopping technique: less about strength, and more about finesse and preparation.</p><p>I spent time animating the chopping feel, calibrating the hand movements and squatting posture to demonstrate good axecraft. This virtual forester is an experienced professional. I try not to repeat design aspects from project to project, so this is the opposite feel of the wobbly fumblecore masculinity in <a href="https://radiatoryang.itch.io/hardlads" target="_blank">Hard Lads</a>. </p><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube-nocookie.com/embed/4dmUYNumPNs" title="YouTube video player" width="560"></iframe><p>Yet in other ways, the game is quite similar to Hard Lads: you repeat the same action over and over across several sessions. </p><p>This time I decided to make it more gamey. I imply progression more directly with numbers on-screen, little "+1" point floaters and an in-game clock ticking away at one IRL minute = one in-game hour. (Across an 8 hour in-game work day, that's about 8 IRL minutes per play session.)</p><p>The first part of each work day is fairly, um, straight. You chop wood while fully clothed with full safety equipment. I expect my audience to have seen screenshots already, so when I prolong this straight stage for a whole IRL minute, it should feel like a mild agony. Then, finally, he takes off some clothes... Well, his helmet. Just his helmet. And then you continue to chop wood for another whole IRL minute.</p><p>We expect virtual sex to be frictionless. But mundane boredom is important to sell the workplace fantasy -- working late at the office, doing a repetitive task alone. Kinky mischief relies on a premise of relative drudgery.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVgMiW9XLo6kl7VmeZPVzXXtRark82yNnKvg6fHeLt81a3y-Ai2AUrd07MhmmL_n2aRA7nDYpiwfA8wuQUV0susJP6CPmat00I2xmGwyhd0uvLz9z3zWWym4zSV3ubDc0JEqrMRd2VXUscdVsaUWAZj9r1ltfNF57R50yvU5joJS1TTZVXK_G9GcSV/s5574/Logjam_Media7.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3135" data-original-width="5574" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVgMiW9XLo6kl7VmeZPVzXXtRark82yNnKvg6fHeLt81a3y-Ai2AUrd07MhmmL_n2aRA7nDYpiwfA8wuQUV0susJP6CPmat00I2xmGwyhd0uvLz9z3zWWym4zSV3ubDc0JEqrMRd2VXUscdVsaUWAZj9r1ltfNF57R50yvU5joJS1TTZVXK_G9GcSV/w640-h360/Logjam_Media7.jpg" width="540" /></a></div><p>But I don't think wood chopping is drudgery. In fact a little while ago I chopped some wood for the first time, a powerful experience which inspired this game.</p><p>The tactility and weight surprised me. Decades of video games had taught me that axes were slashing-type cutting-type weapons, yet I learned that sectioning and splitting wood is about positioning your body to harness weight and gravity. An axe is less like a knife and more like a sharp hammer. And this may sound obvious to my most butch readers, but I discovered that different types of wood feel very different to cut. I mean, I knew this intellectually, but I hadn't really felt it until I faced this one branch that just seemed invincible. You get a feel for it, this erotic dance of sensing hardness.</p><p><a href="https://www.blog.radiator.debacle.us/2018/10/queer-futures-in-game-feel.html" target="_blank">Previously I spoke about "queer carpentry"</a>, making things to help queer people be queer. Despite the carpentry metaphor I hadn't quite reckoned with wood as a material. </p><p>How do we treat wood, what do we put into it? Heat, pressure, anti-fungal chemicals, sure, but we also apply a heavy varnish made of ideas and politics too.</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWmDprpF0idjw_V0npmAI7di76mCv-UtUuz2c-CmeBgxTbY5DmkBKbUZt2rWiTpGG7X9G7Yq3mSlbVVWPjaLNklZYeHxPJZ4M-nDbfoWTIKGekHCFBzTxidkpVrw7SL0HBaFrO46p78AGLql0bEcSkxp6VUqdOGBC3sbN9byj06zMhyCgWEWNNjnol/s1920/1920px-American_Progress_(John_Gast_painting).jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1429" data-original-width="1920" height="410" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWmDprpF0idjw_V0npmAI7di76mCv-UtUuz2c-CmeBgxTbY5DmkBKbUZt2rWiTpGG7X9G7Yq3mSlbVVWPjaLNklZYeHxPJZ4M-nDbfoWTIKGekHCFBzTxidkpVrw7SL0HBaFrO46p78AGLql0bEcSkxp6VUqdOGBC3sbN9byj06zMhyCgWEWNNjnol/w640-h475/1920px-American_Progress_(John_Gast_painting).jpg" width="540" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i><a href="https://en.wikipedia.org/wiki/American_Progress" target="_blank">"American Progress" (1872)</a> by John Gast</i></td></tr></tbody></table><p>In the 2020 book <a href="https://newrepublic.com/article/160298/age-wood-roland-ennos-book-review-trees-human" target="_blank">The Age of Wood: Our Most Useful Material and the Construction of Civilization</a>, author Roland Ennos unpacks two important aspects of wood: (1) it is the oldest building material yet still in common use today, and (2) it was humankind's main fuel source until coal and oil. Wood is strong when it dries out and hardens, we can shape it and transport it, and it's also convenient to burn for cooking, heat, and light industry. The Stone Age is a misnomer! More accurately we lived in a "Wood Age" for thousands of years.</p><p>US historian Daniel Immerwahr applies the Wood Age lens to the mythical American frontier. In his 2022 lecture <a href="https://as.cornell.edu/news/environmental-degradation-focus-lafeber-silbey-lecture-march-10" target="_blank">"Axecraft: Settler Colonialism and Wood"</a>, he talks about how colonists used North America's vast forests ("the Saudi Arabia of wood") to domesticate the land with vast wooden cities, housing, and infrastructure. <i>(“The axe leaps!... The shapes arise!” - </i><a href="https://whitmanarchive.org/published/LG/1891/poems/91" style="font-style: italic;" target="_blank">Song of the Broad-Axe, Walt Whitman</a><i>) </i>Settlers frequently burned Native American towns and homes, yet when "Great Fires" shaped cities like <a href="https://en.wikipedia.org/wiki/1906_San_Francisco_earthquake#Fires" target="_blank">San Francisco</a>, <a href="https://en.wikipedia.org/wiki/Great_Chicago_Fire" target="_blank">Chicago</a>, <a href="https://en.wikipedia.org/wiki/Great_Boston_Fire_of_1872" target="_blank">Boston</a>, <a href="https://en.wikipedia.org/wiki/Great_Fire_of_New_York" target="_blank">New York</a>, and <a href="https://en.wikipedia.org/wiki/Burning_of_Washington" target="_blank">Washington DC</a>, the white settler sympathy rarely extended to the Native peoples they annihilated by arson.</p><p>The early United States and its history of settler colonialism is strongly rooted in the chopping and burning of wood. Wood was the medium for processing both trees and indigenous lands into resources.</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR91HN9xql56kMZQLvOtd1dNH71ko_NqIdi_ZKsIxLeyOaHWn2GuHE_ksc8YJICXuVIvRA4Ar4aVVHb3MbG5gyqtJAe6hHiD6kviHdRMVpnjvp6vOPS53NIAi0GrT8dV_oQLwCpzyr0rqkSnpRm8Is2pRxJv15O_vBzc0X22PPex02N3TaCstqbhMM/s635/Lincoln.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="335" data-original-width="635" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR91HN9xql56kMZQLvOtd1dNH71ko_NqIdi_ZKsIxLeyOaHWn2GuHE_ksc8YJICXuVIvRA4Ar4aVVHb3MbG5gyqtJAe6hHiD6kviHdRMVpnjvp6vOPS53NIAi0GrT8dV_oQLwCpzyr0rqkSnpRm8Is2pRxJv15O_vBzc0X22PPex02N3TaCstqbhMM/w640-h338/Lincoln.jpg" width="540" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i>old drawing of a young Abraham Lincoln splitting wood for fences, from Immerwahr's talk</i></td></tr></tbody></table><p>I need to reflect the ideological dimension of wood. So this is why I occasionally task the player with splitting something that isn't just a log. </p><p>Sometimes it's a sandwich or a pie, American food items that are frequently split and sectioned. Sometimes it's an adorable puppy or an innocent deer, things that feel transgressive and funny to chop. Sometimes it's an axe, chopping the means of chopping for a cute meta twist. </p><p>While chopping these objects in a forest is strange, I think it's important that this selection of food, animals, and tools are all vaguely related to the American frontier theme and aren't completely random. That's what foreshadows the overtly political objects like a bald eagle. </p><p>(Fun facts from this <a href="https://www.theatlantic.com/magazine/archive/2022/03/bald-eagle-america-history-jack-e-davis/621311/" target="_blank">2022 history of the bald eagle</a>: real-life bald eagles are really mean and unpleasant, and for decades settlers shot them on sight. Audubon famously hated bald eagles and thought they were cowardly thieves. Hmm.)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfWcqAlLAsgitrgdJdyI5k8AjKy7wXwjnHghMb0uZQWTunCZ2XkKOeu9sZu5pSrC52qJFAhrCHUCFRy7xUpuRpqJhKy8tXemauxqipVHhFbYTNkiAh2Pz-cyjK1ziGrIGnq5lUUhfq0nNRgSC7Ifix3u5MizqjADklQLG-enu7sYBDKWlojLm2ERqV/s698/axeman03.gif"><img border="0" data-original-height="388" data-original-width="698" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfWcqAlLAsgitrgdJdyI5k8AjKy7wXwjnHghMb0uZQWTunCZ2XkKOeu9sZu5pSrC52qJFAhrCHUCFRy7xUpuRpqJhKy8tXemauxqipVHhFbYTNkiAh2Pz-cyjK1ziGrIGnq5lUUhfq0nNRgSC7Ifix3u5MizqjADklQLG-enu7sYBDKWlojLm2ERqV/w640-h356/axeman03.gif" width="540" /></a></div><p><i>(About my splitting tech: I didn't manually model pre-split meshes, it's all dynamic via shader. When the axe animation reaches 100%, I set a <a href="https://www.ronja-tutorials.com/post/021-plane-clipping/" target="_blank">clipping plane (by Ronja)</a> on the target object, then duplicate it with a reversed clipping plane. This creates two halves, and I apply opposite physics forces on both to push them apart. You can see a bug in this approach in the GIF above, where the eagle halves still have full shadows.)</i></p><p>These non-wood objects makes crucial double use of the aiming mechanic. </p><p>Normally you want to chop within the central critical hotspot for maximum points, but what if it's something you don't want to chop? While I imagine many players will gleefully embrace the opportunity to chop a bald eagle in half, hopefully they also briefly contemplate the alternative. Like if it's an adorable puppy, should you miss on purpose, saving the puppy but earning +0 points and wasting precious time in your workday? I hope players realize timing a deliberate miss can be as hard as a crit (+3 points). Concentrated failure, or what the gays call "camp", is its own skill. The only thing worse than failing is failing to fail. Mediocrity earns you +1 point.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpfYi77K1TkCE7C93lRTHcI2jXc6ZFp5HtKn4ud8m4S6e4VuVffzV8jq1yOUEjFCwhOsqpIpc48bzOxEeUptfkcf91_n2bldqT5MLLxdMzIsv3OBLbnAGm0bvPPI2w_bMIZ2kC6l63vuxnFh497PWvHDXaTGg_oEr9SBd53WLxMmEOfgvEZaSpk3h0/s5574/Logjam_Media2.jpg"><img border="0" data-original-height="3135" data-original-width="5574" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpfYi77K1TkCE7C93lRTHcI2jXc6ZFp5HtKn4ud8m4S6e4VuVffzV8jq1yOUEjFCwhOsqpIpc48bzOxEeUptfkcf91_n2bldqT5MLLxdMzIsv3OBLbnAGm0bvPPI2w_bMIZ2kC6l63vuxnFh497PWvHDXaTGg_oEr9SBd53WLxMmEOfgvEZaSpk3h0/w640-h360/Logjam_Media2.jpg" width="540" /></a></div><p>All the points you get from chopping gradually accumulate in a wood pile (day 1) and a log cabin (day 2) in the background. The log cabin has obvious historical significance but I think it also symbolizes the new millennial American Dream of 2020: to leave a cramped apartment and move upstate into a cute eco-friendly off-grid tiny house where you work from home. Of course the exact shape of the cabin varies with your politics. Maybe you're dreaming of a queer vegan plant mom co-op, or maybe it's a concrete bunker where you hoard a 5 year supply of rations and ammunition, but either way there's a renewed collective fantasy of living and surviving in our imagined sense of nature.</p><p>There's at least one problem with this wild utopia: most of us don't know how to do any of it. Dumb city millennials like me have never even held an axe before, though really that's just the beginning. We have to learn how to chop wood, but we also have to learn how to live. </p><p>Fortunately these days you can learn anything by watching videos on your phone. And it turns out you learn even more if the teacher is hot.</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyGYCBvk6XGE-6UIwZYvOodJL522qZA0jt0Nq74HK9VR8CT0iLv7IBsR4anvJAF8EbLqCVCPCuG8JkpJx_Oj5bC4XbA-9NExkM8RHGncNnrXQ_tcTC0UkCYhFRf_rdDAf0nxbFxbHIdk8YX_qRM2jkDF4eu1I9ceHrqK_k3N3-PxsvxCEfU-0SZ10w/s3000/AxeVideos.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1426" data-original-width="3000" height="264" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyGYCBvk6XGE-6UIwZYvOodJL522qZA0jt0Nq74HK9VR8CT0iLv7IBsR4anvJAF8EbLqCVCPCuG8JkpJx_Oj5bC4XbA-9NExkM8RHGncNnrXQ_tcTC0UkCYhFRf_rdDAf0nxbFxbHIdk8YX_qRM2jkDF4eu1I9ceHrqK_k3N3-PxsvxCEfU-0SZ10w/w640-h304/AxeVideos.jpg" width="540" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">John Plant of Primitive Technology (left), Thoren Bradley (center), Dracon Blue censored (right)</td></tr></tbody></table><p>The pre-industrial construction YouTube channel <a href="https://www.youtube.com/channel/UCAL3JXZSzSm8AlZyD3nQdBA" target="_blank">Primitive Technology</a> has more than 10 million subscribers (<a href="https://www.theparisreview.org/blog/2018/02/06/walden-youtube-age/" target="_blank">"a Walden for the YouTube Age"</a>, gushed The Paris Review) and it's about hanging out with a fit shirtless dude building a hut with a rock. Every viewer wishes they could touch his rock hard adze.</p><p>But if you want to pretend you're learning forestry skills AND you're impatiently horny, go for the shameless woodland beefcake of <a href="https://www.cbc.ca/arts/how-tiktok-lumberjacks-wrapped-me-up-in-their-burly-arms-and-carried-me-away-from-my-pandemic-woes-1.5952365" target="_blank">TikTok lumberjacks</a> like <a href="https://www.tiktok.com/@bradley.thor" target="_blank">Thoren Bradley</a>. In between his shirtless thirst trap videos, he records wood chopping how-to videos with tips and advice, thus providing plausible deniability for straight men to follow him.</p><p>Then after all that educational edging, we finish off with OnlyFans dudes like <a href="https://twitter.com/Draconblue_OF" target="_blank">Dracon Blue (NSFW)</a> who struck gay porn gold by chopping wood while staying inexplicably erect. The wanton OSHA violations strengthen his allure.</p><p>A "log jam" is a "crowded mass of logs blocking a river" or a "situation that seems irresolvable." But we can also understand it erotically as jam from a log -- a sticky substance oozing out of a long hard thing.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPLEfFPW7aDaBmWqgsnhNHY9YjJF-ZFvfpJ64QDtB_-fk9DDXbdyzh4AtpBiGBU5slA_7RmzKfxxaRXeZRQZVKQXWQ-M_vhVW3JKr7jBh7u5Ghsk-PBwBatcKWxJngATrt4WNtCF3yguA9r_mOBkYM8wH0tFRExw_DQt36IJkkl69mgTe1w2Bava9-/s700/logjam_shirtless.gif"><img border="0" data-original-height="400" data-original-width="700" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPLEfFPW7aDaBmWqgsnhNHY9YjJF-ZFvfpJ64QDtB_-fk9DDXbdyzh4AtpBiGBU5slA_7RmzKfxxaRXeZRQZVKQXWQ-M_vhVW3JKr7jBh7u5Ghsk-PBwBatcKWxJngATrt4WNtCF3yguA9r_mOBkYM8wH0tFRExw_DQt36IJkkl69mgTe1w2Bava9-/w640-h366/logjam_shirtless.gif" width="540" /></a></div><p>Morning wood is a phenomenon where you wake up with an erection. I earn my pun by implementing a time of day system, where it gradually gets sunnier and hotter as play progresses. So at the start of the session it's 9:00 AM in the morning and it's a bit nippy, so he's wearing all of his clothes. As the day gets hotter, he takes off more of his clothes.</p><p>I thought it would be funny for the player to have zero control over their character's nudity. He will undress as his own pace. He's union! If he's not stripping fast enough for you, well, tough! (In this way it's also a gesture toward sex workers' rights.) He's happy to take off his clothes but it will be on his terms in response to his environment. As the sun sets, it gets colder, so he'll put on his clothes again, too bad.</p><p>There's some variation to how time / heat / environment interact with nudity. Sometimes during his lunch break he'll masturbate, albeit a bit uselessly with 0% chance of climax. (Perhaps a logjam is also when you're not feeling up for it.) Other times, when he takes off his clothes, he'll be inexplicably erect, as a nod to Dracon Blue. </p><p>On Day 3, instead of building a log pile or log cabin, your actions build a wildfire that engulfs the entire scene. This hellish inferno has the plus side of making him stay naked, a gay sex climate crisis twist on Aesop's <a href="https://en.wikipedia.org/wiki/The_North_Wind_and_the_Sun" target="_blank">The North Wind and the Sun</a>. ("Gentleness and kind persuasion win where force and bluster fail.") Now you get more nudity, and all you had to do was burn the entire world. (This is fine.)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyDXnOWDO4fVjY1TsX_PBasJ1rp5JLj6aVIfFpGOGYvEBHKvz3JAp9lTBmqYzMork86MSrT4HYseqSNmx1_Fuff0hX5ZUuYx3-rTNn1IXTbz7pSFFiGXzTaQ3QtU10Ikg7vwAYXGtC4HpSPDqfQLKq09P1bem4zdVjlDAm8PLYI7iiN3PnqUCeMewC/s5574/Logjam_Media6.jpg"><img border="0" data-original-height="3135" data-original-width="5574" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyDXnOWDO4fVjY1TsX_PBasJ1rp5JLj6aVIfFpGOGYvEBHKvz3JAp9lTBmqYzMork86MSrT4HYseqSNmx1_Fuff0hX5ZUuYx3-rTNn1IXTbz7pSFFiGXzTaQ3QtU10Ikg7vwAYXGtC4HpSPDqfQLKq09P1bem4zdVjlDAm8PLYI7iiN3PnqUCeMewC/w640-h360/Logjam_Media6.jpg" width="540" /></a></div><p>Log cabin masculinity is a powerful gender performance but relies on individualism. Being alone means you can only have sex with yourself. This can be liberating in a sense -- see <a href="https://www.youtube.com/watch?v=foEDIiSNbAY" target="_blank">Casey Frey's popular viral video</a> where he performs a sexy wood-chopping shirtless dance duet with himself. (As one commentator states, "God the sexual tension between him and himself is unbearable.") </p><p>But what if sex with yourself didn't feel particularly liberating? What if, uh, you don't like yourself? <i>What if America doesn't like itself? </i></p><p>I argue that sexy lumberjacking is about stoking / stroking the Wood Age, a nostalgic gesture to split off some aspect of Americanness that we can still tolerate. But this too is rotten wood.</p><p>So on the final ending day 4, the entire landscape has been rendered a charred wasteland. Sure enough, the player has burned down the world. There is nothing left to chop, nothing more to work towards. </p><p>At noon, the lumberjack sits on the stump to masturbate ineffectually like before -- except this time the game will seem to glitch out: both the chopper and the sitter are active at the same time, thus enabling the player character to chop the last thing remaining in this world: himself. With this last chop, he walks off the job and the game ends.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnOIiKONOnEbb_QDiPRM08b_BTNRZgf9ZeTcQMBGg0OynQsfm1jJ38GLHgCjf2tseu_ZSrIFfCNjIVfWcjMO8YvWrDTALuYNxIPwGjQkeRljOCjN2qNExpnvI1uyN8qLod-3aNuoGG6xUd20VPQf1VZFXgSRJTf9TgmdfQaELWefYZP-phNlUG303r/s5574/Logjam_Media8.jpg"><img border="0" data-original-height="3135" data-original-width="5574" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnOIiKONOnEbb_QDiPRM08b_BTNRZgf9ZeTcQMBGg0OynQsfm1jJ38GLHgCjf2tseu_ZSrIFfCNjIVfWcjMO8YvWrDTALuYNxIPwGjQkeRljOCjN2qNExpnvI1uyN8qLod-3aNuoGG6xUd20VPQf1VZFXgSRJTf9TgmdfQaELWefYZP-phNlUG303r/w640-h360/Logjam_Media8.jpg" width="540" /></a></div><p>I made Logjam in a whirlwind 2 weeks, after getting frustrated with my "creative blockage" / inability to finish three previous projects. In this personal way, Logjam was about me returning to the smaller games I made like <a href="https://www.blog.radiator.debacle.us/2015/01/succulent-as-hypnotizing-homo-hop-homage.html" target="_blank">Succulent</a> and <a href="https://www.blog.radiator.debacle.us/2015/04/stick-shift-as-activist-autoerotica.html" target="_blank">Stick Shift</a>, modest things I was able to finish and release. A lot of it was about practicing how to scope small and work fast in a formal way. </p><p>Conceptually it also shares the gestural focus of <a href="https://www.blog.radiator.debacle.us/2020/06/hard-lads-as-important-failure.html" target="_blank">Hard Lads</a> (I basically never move the camera) as well as the environmentalist domain of <a href="https://www.blog.radiator.debacle.us/2021/07/we-dwell-in-possibility-as-queer.html" target="_blank">We Dwell in Possibility</a>. </p><p>While those are mostly optimistic games, Logjam has a more ambiguous ending. The hopeless apocalyptic tone surprised me even while I was making it. I paired it with the music track "By The River" by <a href="https://sincity66.bandcamp.com/" target="_blank">Sin City</a>, a local New Zealand based country soul duo -- and if the player times it right, the screen fades to black just as the singer croons, "I guess I'll just go back home."</p><p>When the lumberjack walks away for the final time, what does it mean? Was it brave to chop himself and go do something else, or was it a sad metaphor for giving up? He doesn't know, but he had to do it anyway.</p>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-61851728772873742372022-04-18T20:18:00.016-04:002022-04-18T20:54:12.147-04:00Why I still use Unity<p>There's been some <a href="https://twitter.com/cmuratori/status/1514420516286709760" target="_blank">game dev twittering about Unity vs. Unreal lately</a>. Why use Unity when Unreal is better?</p><p>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.</p><p>Most recently, <a href="https://gist.github.com/flibitijibibo/035087d8736441786b10e8c3879d50dd" target="_blank">respected developer Ethan Lee has weighed in</a>. 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.</p><p>So why on earth would anyone still use Unity? Everyone has their own situation, and here's mine:</p><span><a name='more'></a></span><ul style="text-align: left;"><li><b><a href="https://debacle.us/" target="_blank">I make small non-commercial experimental 3D games about gay sexuality</a></b>. I would never maintain my own engine branch. I don't need built-in damage handlers or ability systems or behavior trees. My audience needs my games to work on their 5 year old laptop they bought for college, the new Nanite hotness is irrelevant. And whenever I reach a stability slog phase with these projects, that usually means I've overscoped and I need to make the game smaller.</li><ul><li>I'm also interested in making web browser games as a way to bypass platform censors. Unity's imperfect WebGL export is objectively more promising than <a href="https://forums.unrealengine.com/t/the-future-of-web-based-content-built-with-ue-html5-webgl/154853" target="_blank">Unreal publicly dropping web support in 2020</a> (not that Epic's web support was ever good anyway)</li></ul><li><b>I tried using UE4 already</b>, <a href="https://www.blog.radiator.debacle.us/2017/12/postcards-from-unreal-pt-2.html" target="_blank">learning enough to prototype basic game mechanics and build 90% art passed levels</a>. I'm not an expert, but I've learned much more than a beginner. There were some features I liked and some that felt painful, nothing felt mindblowingly better than Unity, not enough to overcome my biggest reason --</li><li><b>Lock-in effect:</b> all my existing code and assets are in Unity already, and I know Unity's intricacies pretty well. I've been using Unity for 10+ years, I'm at a point where my limitations are more in my mind than in using Unity. It'll be time-consuming to retrain myself to the equivalent in Unreal AND build-up the same war chest and pipelines. It's the same reason why people kept using UDK despite Unity's rise, or why artists stick with Max and Maya despite Blender's rise.</li></ul><div>Even with Unity's mismanagement, switching to Unreal still didn't make sense to me. So I haven't. For me to switch, I'd have to see a big benefit / big promise to match my needs while overcoming the prospective costs. </div><div><br /></div><div><i><strike>Other reasons why you might need to use Unity instead of Unreal:</strike></i></div><div><ul style="text-align: left;"><li><i><strike>You're on a Macbook (Unreal is basically unusable on MacOS)</strike></i></li><li><i><strike>You're making a 2D game (Unity's 2D tools aren't great but still better than Unreal's barely existent ones, and at least there's an ecosystem of active Unity 2D devs)</strike></i></li><li><i><strike>You don't have a big heavy PC desktop rig that can compile 50,000 shaders and load 8k textures</strike></i></li></ul></div><div>If only there was something that worked like Unity, yet was somehow free from Unity mismanagement forever...</div><div><br /></div><div>For me, it's not really about Unity vs Unreal. I'm waiting for <a href="https://godotengine.org/" target="_blank">Godot</a>. </div><div><br /></div><div>(Maybe in 5 more years?)</div><p></p>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-74855101417305390262022-04-01T18:43:00.009-04:002022-04-01T19:15:59.924-04:00new Quake map: The Close And Holy Darkness<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7whbA2uk-9VOIPdD73dkohEec2yRwGK85vwQP4LOzoeNwe4Py8AQZaWa_kUAvoPt4MYJFIsBHJ67gEQZ13jthlisIRw8FBZEg1cB9lGOCyrUfYxB5_Sh0fB4_N-aUpv55KOvjEjS3K77FrJ4laG1XCWMhGXtQNLyZkxNybfcAkm2kpB0ZJbqZLxFA/s1024/spasm0011.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7whbA2uk-9VOIPdD73dkohEec2yRwGK85vwQP4LOzoeNwe4Py8AQZaWa_kUAvoPt4MYJFIsBHJ67gEQZ13jthlisIRw8FBZEg1cB9lGOCyrUfYxB5_Sh0fB4_N-aUpv55KOvjEjS3K77FrJ4laG1XCWMhGXtQNLyZkxNybfcAkm2kpB0ZJbqZLxFA/w640-h480/spasm0011.jpg" width="540" /></a></div><p><i>This post spoils what happens in my Quake map. If you care about that, play it first.</i></p><p>I made another Quake map -- this one was for a map jam called <a href="https://www.quaddicted.com/reviews/retrojam7.html" target="_blank">Retro Jam 7</a>, where we all spent 2 weeks making level design homages to the greatest hits. </p><p>The theme here was "Koohoo" or <a href="https://www.quaddicted.com/reviews/koohoo.html" target="_blank">"The Castle of Koohoo" (2001) by Vondur</a>. 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.</p><p>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 <i>rosy morning brown</i> type of mood.</p><span><a name='more'></a></span><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGF8NHoGG1BqV27M95E8OICdhAg--ec8bfJAFJ-jZz8uWtEJh02SlpPZ-5-_Eh1mDNtvLM_vHK8fkG-ybLTi6WW-xBzOKlob2vM4nJqBtrjJq_GVMcrxdXgFw6Hj52I4Ve9poFlsQmRDJhvLyxodyvUWQKjWSRtlY3fQ280CPQs1GZdFFuhbB8uWRF/s1724/koohoo.jpg" style="margin-left: 1em; margin-right: 1em;"><br /><img border="0" data-original-height="797" data-original-width="1724" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGF8NHoGG1BqV27M95E8OICdhAg--ec8bfJAFJ-jZz8uWtEJh02SlpPZ-5-_Eh1mDNtvLM_vHK8fkG-ybLTi6WW-xBzOKlob2vM4nJqBtrjJq_GVMcrxdXgFw6Hj52I4Ve9poFlsQmRDJhvLyxodyvUWQKjWSRtlY3fQ280CPQs1GZdFFuhbB8uWRF/w640-h296/koohoo.jpg" width="540" /></a></div><p>I feel the Koohoo textures have similar weaknesses to the retro cr8 set I used in <a href="https://www.blog.radiator.debacle.us/2022/02/new-quake-map-heart-like-birds-nest.html" target="_blank">my previous map</a>: the textures are very dark, and would likely fail <a href="https://www.artstation.com/blogs/rogelio/jX8/texturing-values-for-environments-part-1" target="_blank">the midtones histogram test</a> that forms the basis of modern approaches to diffuse textures today. I had to compensate with powerful lights to get the sunny light bouncing effect I wanted and it was a bit annoying. Why are these textures like this?!</p><p>The texture theme is also a bit of an in-joke within the mapping community. Back in 1996, id Software designer American McGee notoriously rejected an Aztec-like visual theme for his Quake maps. There was gossip about whether McGee was being inflexible, or whether these Aztec textures really were so bad. So if you make a mod that does manage to make this theme work within the confines of Quake, you can easily interpret it as a commentary -- <i>don't be such a baby, McGee! The textures are fine! Go map!</i></p><p>Within broader game design culture, the theme also invokes an awkward aspect of <a href="https://www.blog.radiator.debacle.us/2017/06/some-recent-conversation-on-cultural.html" target="_blank">cultural appropriation</a> and reduction. Many games with lost temples in the jungle end up carelessly mixing Aztec / Mayan / Incan cultures together -- at worst, these games lazily recast indigenous people as mindless monsters to defeat so you can rightfully steal their treasures. It echoes colonizer arguments about "savages" who "need" to be conquered. For some reason, Amazon even thought their colonialism-themed MMO <a href="https://www.polygon.com/2019/2/8/18216053/new-world-game-mmo-impressions-preview-colonization-controversy" target="_blank">"The New World" could portray colonialism apolitically</a>.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAGcCgB5MFRpVH7GfYiJwpJe6T4ckdSCi8ZCTekx_busyW_wackQeRmCA2wSPBWXWHHQUvOr8WWV0gVQR2jmnxhHnozmoCUbpiqeCkprzYF7YtC-LMGUi_N4UCIoFb8h1mjlPmxSERodkFxMJzoFxJcwFIcY3AlutvMBgBmhJ3or5bHqoFJVjcbekh/s1024/spasm0008.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAGcCgB5MFRpVH7GfYiJwpJe6T4ckdSCi8ZCTekx_busyW_wackQeRmCA2wSPBWXWHHQUvOr8WWV0gVQR2jmnxhHnozmoCUbpiqeCkprzYF7YtC-LMGUi_N4UCIoFb8h1mjlPmxSERodkFxMJzoFxJcwFIcY3AlutvMBgBmhJ3or5bHqoFJVjcbekh/w640-h480/spasm0008.jpg" width="540" /></a></div><div><p>On the other hand, why shouldn't our fantasy settings involve Mesoamerican and Andean influences? How do we do this right? If I were making a big project with funding, I'd seek out experts and collaborators to do these cultures justice... Unfortunately this isn't a big project with funding. Instead I'm making a small level for a 25 year old game that no one plays. </p><p>So, at least, I can set some cultural design constraints to reduce harm:</p><p></p><ul style="text-align: left;"><li><b>no zombies;</b> <a href="https://en.wikipedia.org/wiki/History_of_smallpox_in_Mexico" target="_blank">the Spanish introduced smallpox to the Aztecs</a>, killing millions and conquering the survivors; zombies in a Mesoamerican temple would serve as a clear allusion to this, and without context, would justify colonialist beliefs about Aztecs somehow deserving the disease because of God or whatever</li><ul><li><i>somehow I doubt that Quake has the design tools to unpack this deep trauma</i></li><li>I don't even like how Quake zombies work anyway</li></ul><li><b>show the temple being invaded and settled by an outside force </b></li><ul><li>(sci-fi army enemies have settled the main courtyard)</li></ul><li><b>a non-triumphant ending</b> because the player is also basically a colonizer </li><ul><li>(you're sealed in the temple and die there)</li></ul></ul></div><div>I also set some formal design constraints for myself, to try to grow as a Quake level designer:</div><div><ul style="text-align: left;"><li>do more <b>exploration</b> bits</li><li>use more <b>shadowy</b> darkness</li><li>set more <b>ambushes</b> (I've been playing Elden Ring)</li><li>let players <b>ambush enemies</b> (I've been playing Elden Ring)</li></ul><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibMJqbNEWcxvYuU8vpsHzc0k2bE_cfALNuXvesn9jNt4_bcsaFRgPbLxwFJaNxkqWCBwcuDE8hZTPZqc3-kKBzVLe8X9ZOnHQPI2ZU6gFS44Dnk92Q3Y6UjYBHVEDq2zMwwA67_scin_naNOAOLfPf03ME6PlbnPTe65Y8sHmj1Nb4WCIIhcSALT4i/s1920/jonas-ellermann-temple-final.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1080" data-original-width="1920" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibMJqbNEWcxvYuU8vpsHzc0k2bE_cfALNuXvesn9jNt4_bcsaFRgPbLxwFJaNxkqWCBwcuDE8hZTPZqc3-kKBzVLe8X9ZOnHQPI2ZU6gFS44Dnk92Q3Y6UjYBHVEDq2zMwwA67_scin_naNOAOLfPf03ME6PlbnPTe65Y8sHmj1Nb4WCIIhcSALT4i/w640-h360/jonas-ellermann-temple-final.jpg" width="540" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><a href="https://www.artstation.com/artwork/580Vag" target="_blank">"Forgotten Temple" by Jonas Ellermann</a></td></tr></tbody></table><div><br /></div><div>To start, I skipped blockout and instead built a big stepped courtyard with three facades, which acts as a sort of hub that you criss-cross as you progress. The massing was inspired by this <a href="https://www.artstation.com/artwork/580Vag" target="_blank">"Forgotten Temple" concept art by Jonas Ellermann</a> (above). I liked the angular arches, overhangs, and sculpted heads, and you can see those features prominently in my version too.</div><div><br /></div><div>Combat-wise, I wanted to experiment with height-based cover; battles where you pop your head out over the trench, then dive back down. This is most explicit in the design of the silver key battle, where the only cover is in the form of these crater-like stairwell pits.</div></div><div><br /></div><div>I tried to constrain my enemy palette appropriately for this map. To sell the invader theme, I use grunts and enforcers only in the introductory section of the map. Then to try something new, I rely a lot on dogs -- low HP fast-moving melee enemies that work best in groups, but often get neglected in favor of knights. Here I omit knights in favor of just hell knights, versatile rushers with fan-like projectiles that force heavier strafing and/or height changes. Lastly there's an occasional ogre, a few scrags on hard difficulty, and a traditional shambler + vore battle at the end because I got tired and bored.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-1BTqPa5k-EzyAbTElWVHTvKrcmDkEp85dERwcAyAjN1WWSHPbfppix2U_xT7b8FZU1E6qmxAt-DnGekKkNHq3mPMSgexoyRYDiRaNKbX6ADG9aEt50orXIn8JxDFhCvgWFX3gf4N_fg-XMitlRL7BUsdssor7XkEn3m9tGara2H38wXYazy_QJ3s/s1024/spasm0017.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-1BTqPa5k-EzyAbTElWVHTvKrcmDkEp85dERwcAyAjN1WWSHPbfppix2U_xT7b8FZU1E6qmxAt-DnGekKkNHq3mPMSgexoyRYDiRaNKbX6ADG9aEt50orXIn8JxDFhCvgWFX3gf4N_fg-XMitlRL7BUsdssor7XkEn3m9tGara2H38wXYazy_QJ3s/w640-h480/spasm0017.jpg" width="540" /></a></div><br /><div>I improvised the main chunk of exploration here with very little planning. It's a bunch of dark twisty rooms and corridors that feed into a multi-level sunny side atrium with stairwell. </div><div><br /></div><div>There's one room with a spiral pattern. The idea is that you go into the spiral a bit paranoid, conscious that you'll have to backpedal rapidly when you aggro whatever's in the middle... except here I've secretly raised the middle up with a ramp, so when you backpedal, you end up pulling one of the hell knights up the ramp and so he gets a clear shot at you. </div><div><br /></div><div>It doesn't quite work to my satisfaction yet, but I'm going to try more spiral patterns in the future because I think there's something there.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK-fe1IEl5vQFP4Iyc9wZczyo5ogln1WJBjWVLQLlY41NKT1-J0sNC918L9ZCRFLALYiKVHSs1hd2Gb0cUQEgLtFg4mg-DJDj1if7YuiPN3V9iYUAkSIJLv73IeLCj59F13hNIXD1Cu7sY9rl-X2Y8-11RjP_s6BAvOi-Ecmdr3nMuWASjlzHkRhAL/s1024/spasm0014.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK-fe1IEl5vQFP4Iyc9wZczyo5ogln1WJBjWVLQLlY41NKT1-J0sNC918L9ZCRFLALYiKVHSs1hd2Gb0cUQEgLtFg4mg-DJDj1if7YuiPN3V9iYUAkSIJLv73IeLCj59F13hNIXD1Cu7sY9rl-X2Y8-11RjP_s6BAvOi-Ecmdr3nMuWASjlzHkRhAL/w640-h480/spasm0014.jpg" width="540" /></a></div><br /><div>The unmodded vanilla Quake "retro" constraint inconvenienced some of my fellow jammers. If you want to do anything more technically advanced than static monster placement in vanilla Quake, you basically have two options: (1) build a "monster closet" and open the door to start a fight, (2) build an inaccessible room filled with inactive teleporters, and trigger the teleporters to spawn-in monsters.</div><div><br /></div><div>The monster closet approach is less work, Though in the late 1990s, gamers started deriding Doom's monster closets as unrealistic and "un-immersive", reaching a fever pitch when Doom 3 had the audacity to pair monster closets with cutscenes.</div><div><br /></div><div>But I think <i>monster closet theory</i> has evolved a bit since Doom 1 / Doom 3. When you think about it, a sharp corner or critical path gate can also function as a closet door. Any layout device that can break line of sight to stagger waves / structure a fight can function effectively as a closet. If you build carefully, you might not even need any special monster closets at all.</div><div><br /></div><div>Or at least, that's how I justify my laziness with encounter scripting. After the complex scripting nightmare of <a href="https://www.blog.radiator.debacle.us/2021/09/new-quake-map-tell-me-its-raining.html" target="_blank">my wave-based map Tell Me It's Raining</a>, I don't even like configuring doors anymore.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvq7RGSMO9cVvEy0K2nD7hE3qTIATDY--m0p7sHR63tZwCZdU7YPbWydECYvzKczuAG6UZSAEhgTOXH2xwyOQkN-8fNdiOyNdCxs4tWuN0iUcWfNEieXMw6AwWts10jDQsX1tCrIgPX4GITzWv_iIsxnoWOYQtYZUc6qdv_lLxUudu_0bvosgWWpeg/s1280/retrojam7_preview.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="747" data-original-width="1280" height="324" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvq7RGSMO9cVvEy0K2nD7hE3qTIATDY--m0p7sHR63tZwCZdU7YPbWydECYvzKczuAG6UZSAEhgTOXH2xwyOQkN-8fNdiOyNdCxs4tWuN0iUcWfNEieXMw6AwWts10jDQsX1tCrIgPX4GITzWv_iIsxnoWOYQtYZUc6qdv_lLxUudu_0bvosgWWpeg/w640-h374/retrojam7_preview.jpg" width="540" /></a></div><br /><div>Anyway, I think the map turned out OK, and hopefully it's "retro" enough!</div><div><br /></div><div>My map is just one of 10 levels in this fantastic map pack. <a href="https://www.quaddicted.com/reviews/retrojam7.html" target="_blank">Download and play Retro Jam 7 today</a>! Thanks to Danz for organizing.</div><p></p>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-34178445840085644862022-02-16T22:47:00.000-05:002022-02-16T22:47:06.976-05:00new Quake map: "Heart Like A Bird's Nest"<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiZcpzO9zzYNJm2pcZCk3rroXQ4gzmPflbLmmQ_8i1AI9rq2ZiCUx7kIQyM3u_F52UV5bUJLTqfsN3zWvwR9ac3C28roSbaRuwgqslfBR3mQwYr-HxB-5NhdwJ2YXXCJmOZy3-m1ATJxyPF1rbVCPCE1cbaoAgFtnvg5F-9t48lOGx5jDZGJTj4yGP_=s1600"><img border="0" data-original-height="900" data-original-width="1600" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEiZcpzO9zzYNJm2pcZCk3rroXQ4gzmPflbLmmQ_8i1AI9rq2ZiCUx7kIQyM3u_F52UV5bUJLTqfsN3zWvwR9ac3C28roSbaRuwgqslfBR3mQwYr-HxB-5NhdwJ2YXXCJmOZy3-m1ATJxyPF1rbVCPCE1cbaoAgFtnvg5F-9t48lOGx5jDZGJTj4yGP_=w640-h360" width="540" /></a></div><p>Heart Like A Bird's Nest is my new Quake map made for the weekend level design jam <a href="https://celephais.net/board/view_thread.php?id=62150" target="_blank">"Quake Speedmap Snack Pack 2</a>" organized by Fairweather a few weeks ago.</p><p>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).</p><p>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.</p><span><a name='more'></a></span><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhH7AJxu-tfLOpuU8xJqGdqpLCjhgDbhRUAXlH6eWhR5t0-i30ID5N3mqLOTCBTE2EFi6HZvCEGbgdRQNgKXChe5FQ0Kkbqp_YIFMVilvfr0C4cfJW5v9W4kp80rh4-z9HNgWjA-NoO94zcYfujuB6mQYBZZjQeYLyG0z3ms2ifKZoM5IcJpD67FMrK=s1600"><br /><img border="0" data-original-height="900" data-original-width="1600" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEhH7AJxu-tfLOpuU8xJqGdqpLCjhgDbhRUAXlH6eWhR5t0-i30ID5N3mqLOTCBTE2EFi6HZvCEGbgdRQNgKXChe5FQ0Kkbqp_YIFMVilvfr0C4cfJW5v9W4kp80rh4-z9HNgWjA-NoO94zcYfujuB6mQYBZZjQeYLyG0z3ms2ifKZoM5IcJpD67FMrK=w640-h360" width="540" /></a></div><p>For combat I decided to confine myself mostly to a small encounter design palette of 3 monster types: army grunts (slow weak shotgun fodder), ogres (meaty grenade tanks), and scrags (ranged flyers). </p><p>Grunts are the traditional first enemy you encounter in a Quake episode but become challenging in groups or on elevation. The tanky artillery ogres are the best designed enemy type in all of Quake. Lastly, the scrags are great for crowded arenas since they don't need floor space.</p><p>Three monster types also lends itself to three arena variations. One with mostly grunts, one with mostly ogres, and one for the scrags. I kept the overall shape the same so I could copy and paste details later, but the middle of each arena has different platforms and cover patterns. Lastly, I leave it to the player to approach the arenas in whatever order they like, though a grunt > scrag > ogre order is probably ideal.</p><p>Following a pattern from one of my previous maps <a href="https://www.blog.radiator.debacle.us/2021/06/new-quake-map-daughter-drink-this-water.html" target="_blank">"Daughter Drink This Water"</a>, each arena gradually unlocks with neighboring arenas after the fight. By the end, the player has a huge compound arena to fight-off a big finale mob. Hopefully the player resisted using the quad damage powerup in the middle until this finale fight, when all the delayed gratification finally pays off, along with a grenade launcher.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjieerUL0WG8sc1vDU3IhloM0yCQ_aNC4E-lNE5xuZSjfY_mgd3dz0St5R-tmwfmcQX5byJaocDtJT5FbYegQRjWPU6VUuRGhBupWdQZWNAFTqItGvO9bDvgLVtUu0ihNey4g8K7ZDloXc9P44regZY-6hw1C8dDrXwgnqJudhaDImHQNcrkeS5IfuP=s1061"><img border="0" data-original-height="731" data-original-width="1061" height="380" src="https://blogger.googleusercontent.com/img/a/AVvXsEjieerUL0WG8sc1vDU3IhloM0yCQ_aNC4E-lNE5xuZSjfY_mgd3dz0St5R-tmwfmcQX5byJaocDtJT5FbYegQRjWPU6VUuRGhBupWdQZWNAFTqItGvO9bDvgLVtUu0ihNey4g8K7ZDloXc9P44regZY-6hw1C8dDrXwgnqJudhaDImHQNcrkeS5IfuP=w640-h440" width="540" /></a></div><p>After I got the arenas feeling OK, I woke up the next morning realizing I was falling into a design pattern that I get (softly) criticized for -- I tend to do a lot of "slaughter" style fights with big static mobs and little scripted progression. I think I do this because that's the "most gameplay" for the least effort, and I don't have the patience to test and tweak encounter scripting a lot.</p><p>Then I thought, OK, maybe that crit is more about the lack of variety in the level. Slaughters feel better if there's some initial no-slaughter to contrast with it. So I blocked out some simple rooms above the existing arenas, to serve as a short entry puzzle area <i>("Quake puzzle" = you have to press a button to open a door)</i> with a bit of exploration. I also designed it as a safe lobby gathering area for co-op players, since the map jam uses the mod Copper with its co-op design pillar.</p><p>Now the map had two halves, an explore-y approach bit and then a small hub with three arenas. So I needed two visual themes for it to feel like a progression.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhGgew_xJhhF3dv3H23MMKCaB5zqWA0NAyM8hxJE79lBuIhRb1gvwdOEtdJE3C_VuiGUUB1eSdEIlnpwk3f1yCyEUqNC06iibH-Zz3LrKQhlHcXeroqSwgKLWY1rBc526qgnEyMyeDuz5LxNDlXTema8rk1NkMHJ4MXKunoXlOg6gvYNaPq32ws7JAV=s1600"><img border="0" data-original-height="900" data-original-width="1600" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEhGgew_xJhhF3dv3H23MMKCaB5zqWA0NAyM8hxJE79lBuIhRb1gvwdOEtdJE3C_VuiGUUB1eSdEIlnpwk3f1yCyEUqNC06iibH-Zz3LrKQhlHcXeroqSwgKLWY1rBc526qgnEyMyeDuz5LxNDlXTema8rk1NkMHJ4MXKunoXlOg6gvYNaPq32ws7JAV=w640-h360" width="540" /></a></div><p>I've usually used Makkon's (excellent) textures for my Quake levels. This was an opportunity to go out of my comfort zone and try a new texture set I had never seen before. <a href="https://www.quaddicted.com/reviews/?filtered=cr8" target="_blank">"cr8"</a> by Speedy has a very 2000s feel, a gritty industrial theme via 128x128 textures with heavy trims; everything is a murky midtone and will feel dark no matter what.</p><p>For the exploratory top half I built out a fairly contemporary concrete brick sewer thing with vague holding tanks and pipes. <i>(Level design pro-tip: holding tanks are just big thick stubby pipes, very useful.)</i> </p><p>Then when the player opens the big floor gate and descends into the heart of the level and its three chambers, the visuals transition to more of a rusty sci-fi metal thing with big curvy pillars. The curviness is intended as my reaction to a comment on my previous map <a href="https://www.blog.radiator.debacle.us/2021/12/new-quake-map-when-there-were-wolves.html" target="_blank">"When There Were Wolves"</a>, where another mapper Kona pointed out how boxy it was. <i>(I'll show you!!!)</i></p><p>Texturing these machine shapes was a fun challenge made possible by TrenchBroom's excellent UV-like texture alignment interface. I could freely mix, match, and skew different parts for each face. Here I put an emphasis on aligning the bevels and highlights as if I were using Makkon.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhQbS_4NrdA8iqWQ81nlzd-G6bGbTbP7s6_Nz9QK-Ll_Q0Eidf6CBfKHD7EAxM5bGV1HxHKQlLRLxnvWqxMr_9AMDP8_0ls6CP-QXH_fGB3xgPAWWYIAD_KBu1CKbENXH48nZgw3sNCKnR9RgjOTL7Mz3nBIiAkY9rUNEAsMB5obJ8uww524TcKp3li=s1600"><img border="0" data-original-height="900" data-original-width="1600" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEhQbS_4NrdA8iqWQ81nlzd-G6bGbTbP7s6_Nz9QK-Ll_Q0Eidf6CBfKHD7EAxM5bGV1HxHKQlLRLxnvWqxMr_9AMDP8_0ls6CP-QXH_fGB3xgPAWWYIAD_KBu1CKbENXH48nZgw3sNCKnR9RgjOTL7Mz3nBIiAkY9rUNEAsMB5obJ8uww524TcKp3li=w640-h360" width="540" /></a></div><p>Overall, I think I did a good job for the random time I scraped together across a weekend. I think I scoped it just right, and I wisely invested in some very targeted brushwork that I wantonly copy-and-pasted for some decent art coverage.</p><p>You can play this map, along with 17 (!) others, as part of <a href="https://www.quaketastic.com/files/snack2.zip" target="_blank">the Quake Speedmap Snack Pack 2 release</a>. Thanks to Fairweather for organizing, Yoder for playtesting, and lastly thanks to everyone in the <a href="https://discord.com/invite/f5Y99aM" target="_blank">Quake Mapping discord</a>.</p>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-65434187518588841072022-01-16T19:05:00.004-05:002022-02-12T01:14:51.710-05:00Darner's Digest, vol. 3: on the Yarn Spinner v2.0 release + a YS primer<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiYQ9OcfWlIzruhNdBZzh1gS0-bBOEc4Q1GUqwQeZRGt-8y1-WHxLK1YKpOdrlGOz_dRpnzYX7BOZCxkR6SBoy9_RRpyhzNm4IEzGHQlQMXzCD4krizHhKjSy_OHlU4X1Cpe3tabmgaBgLMChgTuzui3OzncejieCvZ2ZshnrQKKvAeEixlYLPBrDC6=s1000"><img border="0" data-original-height="503" data-original-width="1000" height="282" src="https://blogger.googleusercontent.com/img/a/AVvXsEiYQ9OcfWlIzruhNdBZzh1gS0-bBOEc4Q1GUqwQeZRGt-8y1-WHxLK1YKpOdrlGOz_dRpnzYX7BOZCxkR6SBoy9_RRpyhzNm4IEzGHQlQMXzCD4krizHhKjSy_OHlU4X1Cpe3tabmgaBgLMChgTuzui3OzncejieCvZ2ZshnrQKKvAeEixlYLPBrDC6=w640-h322" width="540" /></a></div><i><p><i>Darner's Digest is a series of blog posts about Yarn Spinner, a free open source Unity dialogue tree plugin.</i></p></i><p></p><p>On December 21st, 2021, the Yarn Spinner project finally made its public <a href="https://github.com/YarnSpinnerTool/YarnSpinner-Unity" target="_blank">YS v2.0 for Unity release</a>. </p><p>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 <a href="https://github.com/YarnSpinnerTool/YarnSpinner-Unity/releases/tag/v2.0.0" target="_blank">changelog</a> for upgrade notes from v1.0 to v2.0.</p><p>But a lot about YS and its ecosystem have changed, so it's probably helpful to recap what's going on.</p><p>1. What is Yarn Spinner in 2022?<br />2. When to use Yarn Spinner<br />3. How to use Yarn Spinner<br />4. Current Strengths / Weaknesses<br />5. The Future</p><span><a name='more'></a></span><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhAWQ3uA_4Dp-R9m9yF0rzvBD1r3wY-tPlRKao1J1ekaVvqAC8Ufz56xnB9ETgZylvUShm1GeumBAZOVwZkHTa33Rs7AHgbhZ6sylmdUDMS3C-86wWIcOBn2viax4YxY4yKWre3LtdmVCIXsRIhK5pCBKmbxkmlN-m21jgSP1pO4blvmw-OVraQIk84=s1200"><br /><img border="0" data-original-height="675" data-original-width="1200" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEhAWQ3uA_4Dp-R9m9yF0rzvBD1r3wY-tPlRKao1J1ekaVvqAC8Ufz56xnB9ETgZylvUShm1GeumBAZOVwZkHTa33Rs7AHgbhZ6sylmdUDMS3C-86wWIcOBn2viax4YxY4yKWre3LtdmVCIXsRIhK5pCBKmbxkmlN-m21jgSP1pO4blvmw-OVraQIk84=w640-h360" width="540" /></a></div><br /><div style="text-align: left;">WHAT IS YARN SPINNER IN 2022</div><p>The Yarn Spinner project is made of two main parts, which can be confusing:</p><p></p><ul style="text-align: left;"><li><b><a href="https://github.com/YarnSpinnerTool/YarnSpinner" target="_blank">Yarn Spinner "Core"</a></b>, generic dialogue engine processor thing ("virtual machine") + script compiler written in C#. None of it is Unity specific. </li><ul><li>related: <b><a href="https://github.com/YarnSpinnerTool/YarnSpinner/pull/285" target="_blank">Yarn "language" spec</a></b>, a programming specification / standard for how Yarn should operate in any game engine</li></ul><li><b><a href="https://github.com/YarnSpinnerTool/YarnSpinner-Unity" target="_blank">Yarn Spinner Unity</a></b> plugs the core into Unity and adds a convenient wrapper. You will need to mod this and personalize it for your unique game project.</li><ul><li>there are decent updated ports for Gamemaker Studio 2, Godot, JavaScript (linked at the end of this post)</li></ul></ul><div>Yarn is inspired by <a href="https://twinery.org/" target="_blank">Twine</a>. It is meant to be simple and easy for writers:</div><blockquote><div><span style="font-family: courier;">// one line at a time, pattern is {CharacterName}:{Dialogue}</span></div><span style="font-family: courier;"><b>Alice: Hello, I'm a game character named Alice!</b></span><div><span style="font-family: courier;"><b>Bob: And I'm Bob!</b></span></div><div><span style="font-family: courier;"><br /></span></div><div><span style="font-family: courier;">// use "->" and indents for branching choices</span></div><div><span style="font-family: courier;"><b>-> Alice is cool (choice 1)</b></span></div><div><span style="font-family: courier;"><b> Alice: Thanks, I know I'm cool.</b></span></div><div><span style="font-family: courier;"><b>-> Bob is weird (choice 2)</b></span></div><div><span style="font-family: courier;"><b> Bob: I'm not that weird, am I?</b></span></div><div><span style="font-family: courier;"><b> Alice: No comment.</b></span></div></blockquote><div>But it's also meant to be very extensible for game developers:</div><div><div><span style="font-family: courier;"></span></div><blockquote><div><span style="font-family: courier;">// custom command example: "ChangeShoes" calls Unity C# game code to swap the character's shoe sprites</span></div><span style="font-family: courier;"><b><<ChangeShoes Alice ChaChaHeels>></b></span><div><span style="font-family: courier;"><b>Bob: Wow Alice, I love those cha cha heels!</b></span></div><div><span style="font-family: courier;"><br /></span></div><div><span style="font-family: courier;">// custom markup example: "[g]" hooks into Unity C# to make certain text glow and jiggle in-game</span></div><div><span style="font-family: courier;"><b>Alice: I dance like I am [g]possessed by a ghost[/g]...</b></span></div></blockquote><div><span style="font-family: courier;"></span></div></div><p>Some games do all their cutscene scripting and even enemy AI in Yarn Spinner, because really, it's just a simple scripting language that does whatever you tell it to do. Nothing stops you from adding more commands, functions, markup tags, or new ways to process the script.</p><div><span style="font-family: courier;"></span></div><blockquote><div><span style="font-family: courier;">// custom NPC AI script example?</span></div></blockquote><blockquote><div><span style="font-family: courier;"><b><<if GetHealth("Player") > 50>></b></span></div><div><span style="font-family: courier;"><b><<RunAway 10.0>></b></span></div><div><span style="font-family: courier;"><b><<else>></b></span></div><div><span style="font-family: courier;"><b><<Attack "Player">></b></span></div><div><span style="font-family: courier;"><b><<endif>></b></span></div></blockquote><div><span style="font-family: courier;"><b></b></span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjwmy7hiWmV6ufIpuuQxNgha5gQfbaaYaungDzPs_thBzGWzZgofwfvEVU2EY1l5qrgMEat33WhcVYoH06IAB5BHA38y2quHnbgaQSm6kE528dl0-GZENCYOwq6PJcyeduRpWpFDVks4i-I5e5B_KUzF5OP0NSKK-OhTXvy9QF23vC2XNaET_xzoFcT=s1920"><img border="0" data-original-height="1080" data-original-width="1920" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEjwmy7hiWmV6ufIpuuQxNgha5gQfbaaYaungDzPs_thBzGWzZgofwfvEVU2EY1l5qrgMEat33WhcVYoH06IAB5BHA38y2quHnbgaQSm6kE528dl0-GZENCYOwq6PJcyeduRpWpFDVks4i-I5e5B_KUzF5OP0NSKK-OhTXvy9QF23vC2XNaET_xzoFcT=w640-h360" width="540" /></a></div><h4 style="text-align: left;">WHEN TO USE YARN SPINNER</h4><p>The two most famous Yarn Spinner projects are Night In The Woods and A Short Hike. Both of those famous games are very typical video game RPG style things where you walk around a world and talk to NPCs, one at a time. And so this is the ideal use case for Yarn Spinner: action adventure games starring existential millennial animal protagonists.</p><p>There are three other common choices for game dialogue in Unity:</p><p><a href="https://www.inklestudios.com/ink/" target="_blank"></a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi9a3FzYksbUUTDgvXMeBwZYmx2W12M04SpuOcFOObxQP7s8vSX_I2d7OAGCBOdp35xRVejo1Qub-ALGGRCXfFHT454PtQ_i5Naok33pUJXkkWt417TWdnrpUpIbzSPB9j_SLdpw3wm9Mf_0iGSgZ5LU6Y939Ugiios2Xsp8lheAQr47wYOJODhM8-O=s1600" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="748" data-original-width="1600" height="94" src="https://blogger.googleusercontent.com/img/a/AVvXsEi9a3FzYksbUUTDgvXMeBwZYmx2W12M04SpuOcFOObxQP7s8vSX_I2d7OAGCBOdp35xRVejo1Qub-ALGGRCXfFHT454PtQ_i5Naok33pUJXkkWt417TWdnrpUpIbzSPB9j_SLdpw3wm9Mf_0iGSgZ5LU6Y939Ugiios2Xsp8lheAQr47wYOJODhM8-O=w200-h94" width="200" /></a></div><b><a href="https://www.inklestudios.com/ink/" target="_blank">Ink</a></b> is a popular free open source project by Inkle Studios. Their games (80 Days, Heaven's Vault) make heavy use of dynamic text and procedural generation, great for throwing paragraphs of text at the player. If your project goes beyond typical game dev needs, or does lots of experimental stuff with text or proc gen, or dips its toes into interactive fiction, then Ink is probably a better choice.<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg1rXhGpIiJNiXUN5pxxOWI67-BqfWa3ONS5LfPLBkZP8iGSLMgrD8x9bgD1190ezasQ2jalF4MnnrRgY6I-DtLS5mQJABtrUyL9iFSDqaj3hge30FTIfeXdDXq4iDKoijTPqMgcYFt24S2EoBOnwwh6QotVmBFhy31ZRUikOvbSBeYt_j2bxlfg7Xt=s654" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="444" data-original-width="654" height="136" src="https://blogger.googleusercontent.com/img/a/AVvXsEg1rXhGpIiJNiXUN5pxxOWI67-BqfWa3ONS5LfPLBkZP8iGSLMgrD8x9bgD1190ezasQ2jalF4MnnrRgY6I-DtLS5mQJABtrUyL9iFSDqaj3hge30FTIfeXdDXq4iDKoijTPqMgcYFt24S2EoBOnwwh6QotVmBFhy31ZRUikOvbSBeYt_j2bxlfg7Xt=w200-h136" width="200" /></a></div><a href="https://fungusgames.com/" target="_blank">Fungus</a> is another common free open source project, which prioritizes a visual node workflow and lots of built-in examples. Like any other visual node workflow, it seems nice and convenient at first, but once you have 1000+ words across multiple scripts, this workflow scales poorly and feels cumbersome. It is great for Unity beginners, or for small jams / prototypes with light dialogue requirements. <b>However, it isn't in active development anymore,</b> and maintenance since 2021 will be a bit spotty.<p></p><p><a href="https://assetstore.unity.com/packages/tools/ai/dialogue-system-for-unity-11672" target="_blank">Dialogue System</a> is an all-in-one node-based visual editor in Unity asset with ready-made samples for Mass Effect / Skyrim style dialogues. It seems fine and people have used it successfully <i>(Disco Elysium? really?)</i> but if you do decide to buy it, then (in my opinion) you should avoid the cumbersome visual node editor workflow and rely more on the text file importers.</p><p></p><div>So to review, here's my advice for Unity devs making games with dialogue:</div><div><ul style="text-align: left;"><li>know a good amount of Unity coding + making a typical gamey game with occasional conversations? <b>try Yarn Spinner</b></li><li>know a good amount of Unity coding Unity coding + making a big text-rich interactive fiction-y thing with paragraphs of text, or need heavy proc gen power? <b>try Ink</b></li><li>know very little Unity coding + making a small game? <b>try Fungus</b></li><li>have money to spare + lots of other Unity assets you need to hook into? <b>maybe buy Dialogue System</b></li></ul><div style="text-align: left;"><b>Q: How do I know if I'm experienced enough with Unity to make good use of YS?</b></div><div style="text-align: left;"><b><br /></b>A: Can you imagine 3+ different ways to architect a dialogue system for Unity? Can you name 3+ specific problems with the Unity UI system? <br /><ul><li>If yes to both (or "mostly yes") then I'd say you are experienced enough to get good use out of Yarn Spinner. </li><li>If you can't answer those questions, then you might have a bad time with YS</li></ul></div><div>Additionally, for any teams using source control, Yarn and Ink's text formats mean the scripts are easily diff-able and hand-edited.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgPwrgKgZMh8atPPwMLRd3t0eGcHe_JroQbmxSvv9JUhFoNXEW4i98WWf8mv_HhzEHKI9EW58PbTztWiJl-OdjdPV5Ok5MSjgETFIGeau4hxqN1kusI1ZT14Wi5QS02Xc0tVk6P8EnQK0P2RFFzGPLPRZ9WL0SSqo9hdnzatmfvPXBEgFH4ltJiDhB4=s1280"><img border="0" data-original-height="720" data-original-width="1280" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEgPwrgKgZMh8atPPwMLRd3t0eGcHe_JroQbmxSvv9JUhFoNXEW4i98WWf8mv_HhzEHKI9EW58PbTztWiJl-OdjdPV5Ok5MSjgETFIGeau4hxqN1kusI1ZT14Wi5QS02Xc0tVk6P8EnQK0P2RFFzGPLPRZ9WL0SSqo9hdnzatmfvPXBEgFH4ltJiDhB4=w640-h360" width="540" /></a></div><h4 style="text-align: left;">HOW TO USE YARN SPINNER</h4></div><div>A lot has changed since Yarn Spinner v1.0. Before I would've recommended my Unity editor plugin Merino, or the semi-official Yarn Editor. However, I've since abandoned my editor, and the semi-official editor feels a bit bloated and slow to me. I wouldn't recommend either anymore.</div><div><br /></div><div>So my new 2021 recommended Yarn Spinner Unity workflow for writers is now this: <b><a href="https://docs.yarnspinner.dev/getting-started/editing-with-vs-code" target="_blank">Write Yarn dialogue in VS Code</a>.</b> You'll want these two extensions --</div><div><ul style="text-align: left;"><li><a href="https://github.com/YarnSpinnerTool/VSCodeExtension" target="_blank">Yarn Spinner Extension</a>: adds basic syntax highlighting and visual node graph</li><li><a href="https://github.com/pappleby/YarnSpinnerLanguageServer" target="_blank">Yarn Spinner Language Server</a>: adds find references (!) and autocomplete (+ automatically grabs comments + overloads from Unity C#!!!) and highlights any compile errors... feels like the fuckin future, basically amazing</li></ul><div>VS Code is a solid writing interface: a big textbox that gets out of your way. Add the language server functionality and now writers have built-in autocomplete and help too.</div></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj_sAe_zg9p3VA8W5AWCIKXePV4txIYkEoqBrcwWaNu-HbvJ1Bi1YxS6ZiwAo7I6k1gFFNBmyOtkyZfXFYoaR9mEdCUtR-3twgR9D1IiTfxFe399JWNiw0dVlbdSHChTA1kXVmXeT-a213-3JJnwzbA_eVBEKf9Sv04PY2ZOmInmUKB9xAqrtl2chw3=s3398"><img border="0" data-original-height="1700" data-original-width="3398" height="280" src="https://blogger.googleusercontent.com/img/a/AVvXsEj_sAe_zg9p3VA8W5AWCIKXePV4txIYkEoqBrcwWaNu-HbvJ1Bi1YxS6ZiwAo7I6k1gFFNBmyOtkyZfXFYoaR9mEdCUtR-3twgR9D1IiTfxFe399JWNiw0dVlbdSHChTA1kXVmXeT-a213-3JJnwzbA_eVBEKf9Sv04PY2ZOmInmUKB9xAqrtl2chw3=w640-h320" width="540" /></a></div><div>Yarn syntax is, by design, simpler and more limited than most programming languages:</div><div><ul style="text-align: left;"><li>Put dialogue in a <span style="font-family: courier;">.yarn</span> text file (with UTF-8 encoding.)</li><li>All dialogue must be in a node; nodes start with a <span style="font-family: courier;">title</span> header, then <span style="font-family: courier;">---</span> to begin node content, and <span style="font-family: courier;">===</span> to end the node.</li><li>There's <span style="font-family: courier;">Dialogue Text, ->Choices, $Variables, <<Commands>>, Functions(), [Markup],</span> and <span style="font-family: courier;">#LineTags</span></li><ul><li><b><a href="https://docs.yarnspinner.dev/getting-started/writing-in-yarn/logic-and-variables" target="_blank">Variables</a></b> are static typed and can be bool, int, float, or string</li><li><b><a href="https://docs.yarnspinner.dev/getting-started/writing-in-yarn/commands" target="_blank">Commands</a></b> call one shot C# functions or manipulate variables / <a href="https://docs.yarnspinner.dev/getting-started/writing-in-yarn/flow-control" target="_blank">flow control</a> (e.g. <span style="font-family: courier;"><<set $apples to 3>></span>)</li><li><b><a href="https://docs.yarnspinner.dev/getting-started/writing-in-yarn/functions" target="_blank">Functions</a></b> call static C# functions and return data back into Yarn Spinner (e.g. <span style="font-family: courier;"><<if dice() == 6>></span> could return a random number Dice() function from C#)</li><li><b><a href="https://docs.yarnspinner.dev/getting-started/writing-in-yarn/markup" target="_blank">Markup</a></b> lets writers expose substrings to C# (e.g. <span style="font-family: courier;">I am very [b]hungry[/b]</span> could convert the word "hungry" to bold text when you display it in-game)</li><li><b>Line Tags</b> are hashtags that go at the end of a line, so you can <a href="https://docs.yarnspinner.dev/using-yarnspinner-with-unity/assets-and-localization" target="_blank">localize</a> or attach voice over to that line later. (e.g. <span style="font-family: courier;">Hello #line:85</span> could link to row 85 in your localization spreadsheet, and so the file French.csv line 85 would read "Bonjour" and the game could also play "/VoiceOver/French/85.wav")</li><ul><li><a href="https://johnnemann.medium.com/localizing-ink-with-unity-42a4cf3590f3" target="_blank">This is similar to how Ink does localization</a></li><li>If you don't like YS built-in localization or want to hook it into something else, you can override it with a little work (e.g. code your own <a href="https://docs.yarnspinner.dev/using-yarnspinner-with-unity/components/line-provider" target="_blank">Line Provider</a>)</li></ul></ul></ul><div>Make sure to <a href="https://docs.yarnspinner.dev/" target="_blank">read the overhauled YS v2.0 documentation</a>! There's also two comprehensive sample Unity tutorials, <a href="https://docs.yarnspinner.dev/unity-sample-projects/example-project-1" target="_blank">a simple example</a> and a <a href="https://docs.yarnspinner.dev/unity-sample-projects/example-project-2" target="_blank">more complex example</a>.</div><h4 style="text-align: left;">CURRENT STRENGTHS / WEAKNESSES</h4><div>Strengths:</div><div><ul style="text-align: left;"><li><b>medium-weight dialogue framework that does all the hard "backend" stuff</b> (virtual machine, scripting language, compiling, tooling, localization and asset linking) and then gets out of your way so you can make your own UI and game logic</li><li><b>free and open source, in active development</b></li><li><b>simple writer-friendly scripting language</b></li><ul><li><b>very extensible</b> with Unity C# and VS Code tooling <i>(auto complete!!!)</i></li></ul><li><b>static typed / static compiled, flag errors at editor time</b></li><li><b>human-readable</b> text-based file format</li></ul></div><div>Weaknesses:</div><div><ul style="text-align: left;"><li><b>not a turn-key beginner framework</b>, you need to be somewhat experienced with Unity already</li><li>Yarn language, by design, avoids some code constructs (e.g. no while() or for() loops) that some complex games may need</li><li>most code samples in the google results will be for the old v1.0 API and it'll confuse you when the code doesn't work in v2.0+ ... <b>as a general rule, if the Yarn tutorial or resource is dated from 2020 or before, then it's probably obsolete.</b></li><ul><li>the <a href="https://docs.yarnspinner.dev/" target="_blank">official YS 2.0 documentation</a> has been thoroughly updated</li><li><b>you should read the two official tutorials: <a href="https://docs.yarnspinner.dev/unity-sample-projects/example-project-1" target="_blank">beginner tutorial</a> and <a href="https://docs.yarnspinner.dev/unity-sample-projects/example-project-2" target="_blank">advanced tutorial</a></b></li><li>but unfortunately the only other way to find answers is to search the <a href="http://discord.com/invite/yarnspinner" target="_blank">Yarn Spinner Discord</a></li></ul><li><b>very difficult / impossible to save and load the dialogue state in the middle of a dialogue node</b>. That is: when you implement save states in your game, you'll only be able to load back to the start of the current node -- NOT the exact line and VM state. <a href="https://github.com/YarnSpinnerTool/YarnSpinner/pull/242" target="_blank">Smart people are currently working on better save support, but the "vm state save" feature is still a while away</a>.</li></ul></div><h4 style="text-align: left;">THE FUTURE</h4></div><div><ul style="text-align: left;"><li>People are porting the Yarn spec to other game engines and languages</li><ul><li>the JS port "bondage.js" has a great new fork + wrapper <a href="https://github.com/mnbroatch/yarn-bound" target="_blank">"YarnBound"</a> updated for v2.0!</li><li>the <a href="https://github.com/JujuAdams/Chatterbox" target="_blank">GameMaker Studio 2 port</a> and <a href="https://github.com/kyperbelt/GDYarn" target="_blank">Godot ports</a> are particularly far along</li><li>there's an official C++ port / Unreal Engine port in the works, but it's complicated so it'll take a while</li></ul><li>The core maintainers of Yarn Spinner have multiple sponsors to support continued development, so it'll still probably see some solid upgrades / improvements in the future. This isn't a small dead thing.</li><li>Again, if you want to use Yarn Spinner in your project, you should join the <a href="http://discord.com/invite/yarnspinner" target="_blank">Yarn Spinner Discord</a> for help and questions</li></ul></div><p></p>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-30668416207916616842022-01-05T02:57:00.002-05:002022-01-05T02:57:55.571-05:00Resolutions, 2022<p></p><div>Well, 2021 was a year, huh? Here's the work in 2022 that I'm looking forward to:</div><ul style="text-align: left;"><li><b>Release 1+ gay sex games.</b> 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??</li><li><b>"Launch" my <a href="https://leveldesignbook.com" target="_blank">level design book</a> project.</b> 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.</li><li><b>I'm going to start streaming again</b>, maybe in a few months. Since <a href="https://www.blog.radiator.debacle.us/2020/10/the-year-of-changes-kia-ora-aotearoa.html">my move to New Zealand last year</a>, 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.</li></ul><div>I also have a few other projects in the works, but those'll get announced later in the year. There's one in particular that's pretty unusual compared to my past work. I've been having a lot of fun making it though.</div><div><br /></div><div>Good luck everyone, and here's hoping 2022 treats us all a bit better.</div><p></p>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-29249609127734300662021-12-18T20:29:00.000-05:002021-12-18T20:29:17.426-05:00new Quake map: "When There Were Wolves"<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjESu86RUBbLFi0zg4ygpqU5pgDlL-qR3yEpswAtECIyhCdppcNAKgnF-RPPJDEm90vRdAQvzJmq7xk0DdhqWsgaiVTfoY-t8EAHsEATVja_vub7pkegLjUwd4asreh8HmzAlkoKJvTYUPr5FEb-dplK7W68niUrsJ6VFZkRTnGd5sM81cp3_drYWv5=s1600"><img border="0" data-original-height="900" data-original-width="1600" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEjESu86RUBbLFi0zg4ygpqU5pgDlL-qR3yEpswAtECIyhCdppcNAKgnF-RPPJDEm90vRdAQvzJmq7xk0DdhqWsgaiVTfoY-t8EAHsEATVja_vub7pkegLjUwd4asreh8HmzAlkoKJvTYUPr5FEb-dplK7W68niUrsJ6VFZkRTnGd5sM81cp3_drYWv5=w640-h360" width="540" /></a></div><p>I made another Quake map, this time in collaboration with fellow mapper <a href="https://twitter.com/mrtaufner" target="_blank">@mrtaufner</a> for <a href="https://www.quaddicted.com/forum/viewtopic.php?pid=5937#p5937" target="_blank">the 2021 Quake community Xmas Jam</a>. </p><p>Taufner handled the initial blockout and gameplay, while I did the art pass and tweaks. (With textures by <a href="https://twitter.com/makkon_art" target="_blank">Makkon</a> as usual.) </p><p>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.</p><span><a name='more'></a></span><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjd086VrL4AEcWFK2fuewkYwWK0l-oijIHiZiENmXbfA5MFiDsd3ZjtVHby6tsX51pG3xhcaL3SodRJcjE0qzj4RW8Q8vwZ_c5WxQy291eZuk6tTLAzl35CvVkQKIO-mDIrylARySjSZ0jCvhxfwyK4MLvX3zfAeOf7cXt1nHiMcHk46tVxxfzWdWvQ=s1600" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="900" data-original-width="1600" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEjd086VrL4AEcWFK2fuewkYwWK0l-oijIHiZiENmXbfA5MFiDsd3ZjtVHby6tsX51pG3xhcaL3SodRJcjE0qzj4RW8Q8vwZ_c5WxQy291eZuk6tTLAzl35CvVkQKIO-mDIrylARySjSZ0jCvhxfwyK4MLvX3zfAeOf7cXt1nHiMcHk46tVxxfzWdWvQ=w640-h360" width="540" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i>the original blockout version of the first encounter, by MrTaufner</i></td></tr></tbody></table><p><a href="https://www.quaddicted.com/reviews/?filtered=xmas" target="_blank">Since 2017, the annual Quake community Xmas Jam</a> has had one traditional constraint: all maps must fit within a 1024 x 1024 x 1024 volume. </p><p>This is pretty small for an entire level -- in real world terms, 80x80 feet is a bit smaller than a baseball diamond, and in Quake terms it's about the size of a big arena or two. It's a helpful scoping constraint to force everyone to make something small, and thus actually finish something at the end of the year. </p><p>The size constraint also pushes level designers to use space efficiently and creatively, which implies two design strategies: you can either (A) try to cram a bunch of different rooms that fit around each other, or (B) make one big complicated room that you repopulate and reconfigure multiple times. </p><p>Taufner chose approach A, so one of my main goals for the art pass was to try to get all these small rooms to feel less cramped while preserving the original player flow. Building off of Taufner's solid blockout, I knocked holes in a lot of walls and ceilings to try to unify the rooms and give more breathing room, while ensuring they still played in roughly the same way.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhgzjtlqcyBv9bjls-tSJmAVMTB2jM6bVFNkS5sein4X9kEvqKRG3rzFJln4Xzv0leGJHVou7JAiP8gRGS8v5tF5GLDEG_TJ8TDoR1pZHOP3B2jwTF_05u1L9scV2i5Q1cAW10DBw-pDuszcKzzeMDXS47XxtxF6rL7mHKgJWad8rDzq-xrin-1bGQL=s1600"><img border="0" data-original-height="900" data-original-width="1600" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEhgzjtlqcyBv9bjls-tSJmAVMTB2jM6bVFNkS5sein4X9kEvqKRG3rzFJln4Xzv0leGJHVou7JAiP8gRGS8v5tF5GLDEG_TJ8TDoR1pZHOP3B2jwTF_05u1L9scV2i5Q1cAW10DBw-pDuszcKzzeMDXS47XxtxF6rL7mHKgJWad8rDzq-xrin-1bGQL=w640-h360" width="540" /></a></div><p>My art pass also needed to punctuate Taufner's progression. The blockout has 4 beats:</p><p>1. Basement, teach player about buttons and door types, via two 512x512 quarter-rooms and small player-initiated fights</p><p>2. Halls, introduce wood barricades and more complicated fights, via two 512x1024 half-rooms of 2 waves each</p><p>3. Dark rooms, add breakable wood crates (an Arcane Dimensions feature) in four 512x512 dynamic lit rooms that you unlock into a full 1024x1024 arena with 3 waves</p><p>4. Roof climax, combine everything in a big open arena -- buttons, barricades, breakables -- all in one big outdoor 1024x1024 arena with 4 player-initiated waves featuring all the monster types from past fights.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhQ3ZXbFHx3HWfcwF3EwyEkYhcSB0J19M4WfAJZ_s15AwZ3L4z6y2VG9VSDJ8wXdNq__ItMKP4mpta_DyliIjCng4aaS_whcDpDBY_STIlV6ZiIKwxf9WRkaZaLTX_mj7eD7UHgvmnKVF1MYaWwJ8QlviJFXkylW5EI26dXevkYAbD28x-sCmToi-MR=s1600"><img border="0" data-original-height="900" data-original-width="1600" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEhQ3ZXbFHx3HWfcwF3EwyEkYhcSB0J19M4WfAJZ_s15AwZ3L4z6y2VG9VSDJ8wXdNq__ItMKP4mpta_DyliIjCng4aaS_whcDpDBY_STIlV6ZiIKwxf9WRkaZaLTX_mj7eD7UHgvmnKVF1MYaWwJ8QlviJFXkylW5EI26dXevkYAbD28x-sCmToi-MR=w640-h360" width="540" /></a></div><p></p><table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjifSiXX3M7OuOf67F5OcjejrxH59rx4cg8CaIbG0P_-OjH1ODFDTbpe8Q8YPH0B5L6bTknkT7XHBAKzzE3cBRl6cPVO-t7jx25ruSmjt44Z0zD01HHcuCIP-8xoEN_ZacBIidnJOxyHORR4qWGRbAGL4bhsVXWZA7BsPuTcSwog8IGA9YKT-0qGK86=s1600" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="113" src="https://blogger.googleusercontent.com/img/a/AVvXsEjifSiXX3M7OuOf67F5OcjejrxH59rx4cg8CaIbG0P_-OjH1ODFDTbpe8Q8YPH0B5L6bTknkT7XHBAKzzE3cBRl6cPVO-t7jx25ruSmjt44Z0zD01HHcuCIP-8xoEN_ZacBIidnJOxyHORR4qWGRbAGL4bhsVXWZA7BsPuTcSwog8IGA9YKT-0qGK86=w200-h113" width="200" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i>unreleased SMEJ Jam map</i></td></tr></tbody></table>I repurposed a lot of theming from one of my half-finished unreleased SMEJ Jam map, a snowy gothic stone compound full of flying buttresses and arches (a nod to Dark Souls). Reusing the light and fog settings, skybox, texture scheme, and architectural modules really helped me fit this jam into my schedule. If I hadn't reused stuff, it would've taken me much longer to get everything together.<p></p><p>I also wanted to adapt many of Taufner's sensibilities -- the Combine-like trellis barricade bars were inspired by his original blockout, and I enjoyed the little pool of water in the beginning and even added a second pool later on in the map as a sort of echo. Maybe the biggest functional improvement of the art pass was for the breakable crates; a fair number of blockout playtesters had trouble discerning that they were indeed breakable (breakable objects aren't in vanilla Quake) so I spent a lot of time making sure the final art-passed crates looked detailed, unusual, thin, and full of holes.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhxNpD04V9avTTXOAg7rNE7KAb0tS9TV2BT72Xkv3tRy4oG6dPnD-V59Gni8F4dijbU5C7ZZmVhtJkjUBgSp23_H3kmE2-ZAgG_lqZHk8XwdCvaSYpBg0GRwn8RN0H-gsRI6eyfcIsJsCFKJGbFWlRVfnUP1SaIBAzA9LYkDHoSsJLtYA0nk2QL8Cb2=s1600"><img border="0" data-original-height="900" data-original-width="1600" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEhxNpD04V9avTTXOAg7rNE7KAb0tS9TV2BT72Xkv3tRy4oG6dPnD-V59Gni8F4dijbU5C7ZZmVhtJkjUBgSp23_H3kmE2-ZAgG_lqZHk8XwdCvaSYpBg0GRwn8RN0H-gsRI6eyfcIsJsCFKJGbFWlRVfnUP1SaIBAzA9LYkDHoSsJLtYA0nk2QL8Cb2=w640-h360" width="540" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj601o9FCV4wqS_e0PwHtyn8iCGUw00WefXFpWmUb3yeH44GURhn-oUpc6o0p_1g6a2dvlYqUdy8g736lP2ZEo5X-tjmwxNTVh0877dStV8hfpRedV59jlr0LdVw8PzoiVzw1de9a1NbfHRTokmlqTP02NLbxQ29E65OF60ME8LZ5vuDMvHXqDcX37g=s1600"><img border="0" data-original-height="900" data-original-width="1600" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEj601o9FCV4wqS_e0PwHtyn8iCGUw00WefXFpWmUb3yeH44GURhn-oUpc6o0p_1g6a2dvlYqUdy8g736lP2ZEo5X-tjmwxNTVh0877dStV8hfpRedV59jlr0LdVw8PzoiVzw1de9a1NbfHRTokmlqTP02NLbxQ29E65OF60ME8LZ5vuDMvHXqDcX37g=w640-h360" width="540" /></a></div><p>Overall the collab was a success. Taufner got to focus on gameplay and ignore art, while I got to focus on decor and didn't have to run any playtest sessions or tune the battles. We all got what we wanted, and I think the final result plays pretty well. Honestly it's probably not the best or most interesting level in the entire 25 (!) count map pack, but I think it still confidently holds its own and doesn't waste anyone's time.</p><p>PS: the title "When There Were Wolves" is from a famous Christmas story by Dylan Thomas called <a href="https://en.wikipedia.org/wiki/A_Child%27s_Christmas_in_Wales" target="_blank">"A Child's Christmas in Wales."</a> The full sentence is a doozy: <i>"... Years and years ago, when I was a boy, when there were wolves in Wales, and birds the color of red-flannel petticoats whisked past the harp-shaped hills, when we sang and wallowed all night and day in caves that smelt like Sunday afternoons in damp front farmhouse parlors, and we chased, with the jawbones of deacons, the English and the bears, before the motor car, before the wheel, before the duchess-faced horse, when we rode the daft and happy hills bareback, it snowed and it snowed."</i></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhzxE3yIw6EFk9KvYEvJkexaWpg6W7TaXcG9wLTsIomUZ_LTl1d5qIYF3bHWLKE39c_UusYxpJi4PiWGeCAvVCxmVoLFrG3HyBW7zoxq1mXuzYlao8k8W-L7aoF9pyT7G_t0YECZdOLkEsO9GUPHwyhoMyZwUndU4xtgPfrhU4RG26oiKRzrHLU7s4M=s1024"><img border="0" data-original-height="768" data-original-width="1024" height="400" src="https://blogger.googleusercontent.com/img/a/AVvXsEhzxE3yIw6EFk9KvYEvJkexaWpg6W7TaXcG9wLTsIomUZ_LTl1d5qIYF3bHWLKE39c_UusYxpJi4PiWGeCAvVCxmVoLFrG3HyBW7zoxq1mXuzYlao8k8W-L7aoF9pyT7G_t0YECZdOLkEsO9GUPHwyhoMyZwUndU4xtgPfrhU4RG26oiKRzrHLU7s4M=w640-h480" width="540" /></a></div><p>You can play this map, as well as 24 other maps, by <a href="https://www.moddb.com/mods/arcane-dimensions/addons/xmasjam2021" target="_blank">downloading the Xmas Jam 2021 map pack</a>. Arcane Dimensions 1.8 is already included, so to install you just have to drop the mod folder in your Quake game folder and then you'll be good to go.</p><p>Thanks so much to the Quake Mapping Discord and our brave crew of playtesters, as well as Ionous and Sock for organizing the whole thing, and of course thanks to my collaborator MrTaufner. Happy holidays and happy new year everyone.</p>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-38184784772192146872021-11-10T17:00:00.009-05:002021-11-10T19:06:35.420-05:00Deathloop deconstruction / design thoughts<div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-9zZTsjRx1cY/YUkIO9F3ESI/AAAAAAAAICU/lpA25vLaifQAznDrXx_kvM3mR5cnMtyFQCLcBGAsYHQ/s1920/deathloop_publicity.png"><img border="0" data-original-height="1080" data-original-width="1920" height="320" src="https://1.bp.blogspot.com/-9zZTsjRx1cY/YUkIO9F3ESI/AAAAAAAAICU/lpA25vLaifQAznDrXx_kvM3mR5cnMtyFQCLcBGAsYHQ/w640-h360/deathloop_publicity.png" width="540" /></a></div><br /></div><div><i>SPOILER WARNING: this post spoils levels, main quests, and gameplay systems in Deathloop</i></div><div><br /></div><div>I guess this post is my contribution to <i>Deathloop discourse.</i> This is similar to my <a href="https://www.blog.radiator.debacle.us/2020/05/tactics-games-in-2020-game-design-notes.html">tactics games writeup</a> and <a href="https://www.blog.radiator.debacle.us/2021/05/open-world-rpg-design-notes-from.html" target="_blank">Enderal (huge Skyrim mod) writeup</a> where I spoil some interesting game designer / systems design things. I don't discuss much of the game narrative. I assume general game design knowledge but minimal Deathloop-specific knowledge. Perfect for pretending to have played Deathloop if you find yourself talking to a game dev. Not that you should ever talk to a game dev.</div><div><br /></div><div>Just to warn you, this post is 5700+ words with 3 sections:</div><div><ul style="text-align: left;"><li>General systems overview</li><li>More specific gameplay stuff -- stealth and level design notes, combat notes, invasion implementation</li><li>Critical path / progression overview with "beat sheet" tables</li></ul><span><a name='more'></a></span><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-K_f3v5thooA/YUgDfuv-MAI/AAAAAAAAIB0/N-qwNEVkgG4A1EDnLjE7IrOM5MO03BpTACLcBGAsYHQ/s960/deathloop_premise.jpg"><img border="0" data-original-height="540" data-original-width="960" height="320" src="https://1.bp.blogspot.com/-K_f3v5thooA/YUgDfuv-MAI/AAAAAAAAIB0/N-qwNEVkgG4A1EDnLjE7IrOM5MO03BpTACLcBGAsYHQ/w640-h360/deathloop_premise.jpg" width="540" /></a></div></div><h3 style="text-align: left;"><b>SYSTEMS OVERVIEW</b></h3><div><b>Pillar 1: Dishonored-style assassination single player FPS RPG;</b> sneak in with magic powers, then kill someone / fight your way out / run away<ul style="text-align: left;"><li>8 bosses to assassinate <b>(but actually 7)</b>, each with unique 30 minute lair / encounter</li><ul><li>only 2 require some stealth (more on stealth later)</li></ul><li>use magic powers and feel like a hot dad ninja</li><ul><li>design constraint -- powers must be useful for both PvE and PvP (e.g. no mind control)</li><li>only <b>5 powers</b> (+1 PvP only power)... streamlined from Dishonored arsenal</li><li>only equip 2 at a time per mission, can't change during mission</li></ul><li>power list</li><ul><li><b>Shift</b> (short range teleport, "Blink" from Dishonored)</li><li><b>Nexus </b>(chaining, kill one enemy = kill others nearby, "Domino" from Dishonored 2) but feels less useful than in Dishonored because stealth de-emphasis</li><li><b>Karnesis </b>(knockback / stun, later upgraded into BioShocky cyclone juggling trap... NOT telekinesis, only works on NPCs / PvP)</li><li><b>Havoc </b>(temporary shield / damage buff), very useful for people who keep dying (i.e. me) or PvP buff but conceptually rather boring</li><li><b>Aether </b>(cloak + invisible to laser sensors, attacks cancel it, can be upgraded to only consume mana while moving)... feels D-tier since stealth is so de-emphasized</li><li><b>Masquerade</b> (PvP invader only, swap character models with an NPC)</li></ul><li>Shift and Nexus are the most interesting, and the game knows this, you get these first</li><li>you have enough base mana for ~3 Shifts / ~15 seconds of something else; mana always regens to 100%, it's quite generous</li></ul><b><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-3gHoyBj_PLg/YUfseHtqfgI/AAAAAAAAIA8/ua8Ip2UnthghPhPISfUIVtnSObO2KU2vwCLcBGAsYHQ/s1920/deathloop_dashboard_ui.jpg"><img border="0" data-original-height="1080" data-original-width="1920" height="320" src="https://1.bp.blogspot.com/-3gHoyBj_PLg/YUfseHtqfgI/AAAAAAAAIA8/ua8Ip2UnthghPhPISfUIVtnSObO2KU2vwCLcBGAsYHQ/w640-h360/deathloop_dashboard_ui.jpg" width="540" /></a></div><div><b><br /></b></div>Pillar 2: Outer Wilds time loop <a href="https://twitter.com/pentadact/status/1151887660014821377" target="_blank">information game</a> puzzle;</b> memorize shortcuts, use passwords from previous loops<ul style="text-align: left;"><li>each day loop has 4 time slots (morning, noon, afternoon, evening) to visit a level</li><ul><li>unlike Majora's Mask and Outer Wilds, time does not progress while in world; time is turn-based</li><li>some Prey Mooncrash players disliked its continuous timer, discouraging leisurely exploration; turn-based format solves this anxiety?</li><li>QoL: you can press a button to "wait" until a future time phase if you want</li></ul><li>4 large nonlinear free roam levels (each with 1-2 boss lair areas) that change for each time of day</li><ul><li>different enemy placement, details, env storytelling; core layout always stays the same</li><li>some side areas (especially boss lairs) are only open at 1 of the 4 times</li><li>areas get snowy later in day, but no systemic effect (e.g. no foggy blizzard LoS blocking, no Kojima-y footstep trail or breath vapor stealth etc)</li><ul><li>nice storytelling via enemy placement -- guards patrol much less and gravitate to glowing fire barrels, some shiver (especially the naked guy hidden in every level)</li></ul></ul><li>goal is a <b>golden loop</b>: kill all 7 bosses in a single day loop</li><ul><li>which missions / levels should you choose and when? etc.</li><li>unlike Outer Wilds, golden loop here is heavily hard-gated by quest progression, not a "true" information game, compromise with AAA market?</li></ul></ul><div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-WP0croB6Vho/YUfreK2nTQI/AAAAAAAAIA0/EC2d1LOVDOIj8eBM3XhZ51eiEdk_nxbNgCLcBGAsYHQ/s1920/deathloop_fristad.jpg"><img border="0" data-original-height="1080" data-original-width="1920" height="320" src="https://1.bp.blogspot.com/-WP0croB6Vho/YUfreK2nTQI/AAAAAAAAIA0/EC2d1LOVDOIj8eBM3XhZ51eiEdk_nxbNgCLcBGAsYHQ/w640-h360/deathloop_fristad.jpg" width="540" /></a></div><br /></div><b>Pillar 3: Dark Souls roguelike; </b>if you die, you lose everything you didn't bank and have to corpse run; there's invasion PvP where people fuck with you<ul style="text-align: left;"><li>if enabled, other human players can <b>"invade"</b> your game (more on this later)</li><li><b>if you die, you corpse run</b></li><li><b>dying 3 times in a single time of day = semi-permadeath,</b> lose unbanked items and powerups and restart loop back to morning</li><li><b>you can bank weapons, powerups, and spells </b>("Infuse") across loops by spending <strike>souls</strike> time-money ("Residium") before you enter a mission</li><ul><li>get time-money by killing bosses, random collectibles, or recycling bad loot</li><li>time-money doesn't persist across loops; spend it or lose it (+ if you survive the entire loop, you get one last banking opportunity at the end of the night)</li><li>time-money feels scarce for like the first 5-10 hours of a first playthrough; but by midgame you have plenty and can bank any item even if you never use it</li></ul><li>it all acts like it's going to be tough but <b>it's generous;</b> as someone who can't tolerate the anxiety of Souls games, this felt gentle</li><li>but in terms of usability... you can't bank during a mission, so it forces you into<b> 1-2 hour play sessions with no pause / load / save</b> (it's multiplayer, remember)</li><ul><li>if you don't have uninterrupted 1-2 hour time windows to play this game... sorry</li><li>if your game happens to crash, or you get a dreaded UI freeze... sorry</li><li>fix: let players soft-bank / soft-checkpoint some of their progress? but feels silly when half the problem is engine crashes, hard to disentangle whether this is also a player QoL design problem worth solving</li></ul></ul><div><a href="https://1.bp.blogspot.com/-JD6JfWFKkWY/YUf-BB3XLRI/AAAAAAAAIBc/lQiwWtnvj7c0Bzatd77O6Bu7SJigYUKjwCLcBGAsYHQ/s1200/Deathloop-Updaam-map.jpg" style="text-align: center;"><img border="0" data-original-height="675" data-original-width="1200" height="320" src="https://1.bp.blogspot.com/-JD6JfWFKkWY/YUf-BB3XLRI/AAAAAAAAIBc/lQiwWtnvj7c0Bzatd77O6Bu7SJigYUKjwCLcBGAsYHQ/w640-h360/Deathloop-Updaam-map.jpg" width="540" /></a></div><ul style="text-align: left;"></ul><div>STEALTH / LEVEL DESIGN NOTES</div><div><br /></div><div>This is maybe Arkane Lyon's least stealthy game yet. Very streamlined, much faster, low stakes, and often just setting up the inevitable ensuing gunfight.</div><div><ul style="text-align: left;"><li><b>none of Dishonored's morality</b> system and <i>I think this is good,</i> the "stealth puzzle = humane cage free assassination" philosophy has aged poorly imo</li><li><b>69% less stealth... </b>no "non-lethal" attacks or KO, no non-lethal puzzle solutions to kill bosses, no ghosting, no body dragging, no lockpicking</li><ul><li>to LGS hardcore fans, maybe feels like the last bastion of smart AAA stealth finally surrendering, but <i>personally I think I'm ok with this</i></li></ul><li><b>higher elevation still gives huge stealth bonus</b> like in Dishonored; if you're crouching on anything above NPC head height, you're basically invisible</li><ul><li>the solution to most stealth encounters is "teleport on top of overhead light fixtures"</li><li>but realizing "that chandelier is actually a platform!!" still feels good</li></ul><li><b>streamlined hacking</b> = no contrived hacking minigame, just hold down F for ~7 seconds</li><li><b>guard placement</b></li><ul><li>when unalerted, they follow hand placed patrols / schedules, always the same every loop</li><li>once alerted, they take cover and flank etc. but stay mostly leashed to their arena </li><li><b>no lengthy observation and memorization of patrols;</b> patrols are simpler, slower, shorter, more static, <b><i>fantasy of guard coverage</i></b></li><li>these aren't Thiefy stealth patrol puzzles; <b>guards often face inward or at walls, rarely patrol</b></li></ul><li><b>typical guard placements:</b></li><ul><li>when player has LoS, guards cluster for conversation, then disperse</li><li>lone NPC "sentry" uselessly looking out at skybox</li><li>lone NPC stands on tall tower in middle of arena, facing the center</li><li>lone NPC faces wall / machinery, with one lookout behind them <i>facing the same direction</i></li><li>perimeter guard has 3 point patrol (at most) with long stops (~20 seconds?)</li></ul><li><b>typical mob sizes:</b></li><ul><li>1-3 for small entry approach areas near your spawn room</li><li>5-7 for typical free roam courtyard arenas (floor plane + mixed-height stuff in middle)</li><li>6-12 for big central boss atrium arenas (dense multi-elevation, like a DM level)</li></ul></ul><div><a href="https://1.bp.blogspot.com/-Do1eRPSZc8I/YUf-gXDZqRI/AAAAAAAAIBk/TSVOfngmOHwlep_3fSweBYAzk48SWWGmACLcBGAsYHQ/s1200/Deathloop-Fristad-Rock-Maps.jpg" style="text-align: center;"><img border="0" data-original-height="675" data-original-width="1200" height="320" src="https://1.bp.blogspot.com/-Do1eRPSZc8I/YUf-gXDZqRI/AAAAAAAAIBk/TSVOfngmOHwlep_3fSweBYAzk48SWWGmACLcBGAsYHQ/w640-h360/Deathloop-Fristad-Rock-Maps.jpg" width="540" /></a></div><ul style="text-align: left;"><li><b>maps segmented into areas / arenas</b></li><ul><li>each area has 4+ entrances and exits, with elegant mix of primary + secondary circulation, everything flows really well</li><li>this chunking streamlines the stealth encounters: you rarely have to worry about the whole map, only current arena is salient / takes up all your mental RAM</li><li>kinda feels like a Counter-Strike map sometimes; "library plaza" or "transmission tower" or "cave club" or "trainyard" or "hangar yard" are distinct concepts / callouts</li><li><b>liminal in-between border areas are often safe</b>; transitions, airlocks, bulkheads, foyers, gatehouses, stairwells, have no guards... recovery from stealth failure is easy-ish</li></ul><li><b>"local alerts" = full combat alerts local only to that area / arena</b></li><ul><li>when you tag an NPC, some tag icons have little radio waves; these are "scouts" who will hide behind cover and trigger local alert; kill them first or hack their radio</li><li>if area enters alert, reinforcements spawn (~4-6 more guards)</li><li>to end alarm, kill everyone; <b>no alarm station</b> mechanic (this is good)</li></ul><ul><li>boss zone alert = aggro boss, they'll use their powers and move around randomly (harder to stealth kill)</li></ul><li><b>only 2 (of 7) boss encounters enforce some hard-fail stealth:</b></li><ul><li>Fia boss zone alarm: triggers ~2 minute self-destruct countdown that *ends your entire loop* unless you defuse the reactor based on a clue in a random side room -- probably surprises most players, you get little warning this can happen</li><ul><li>certainly surprised me, I didn't even understand there was a countdown / that it was a special alarm... until I saw the game over screen</li><li>your only indications of countdown: some monitors (easy to ignore as set dressing) and some loudspeaker voice over (easy to ignore as alarm feel)</li><li>this one needed some more iterations I think</li></ul><li><i>(I never actually encountered this myself because I'm a pro gamer but --</i>) Aleksis boss zone alarm: <i>(I think this is how this works:)</i> if he's the only boss present and you didn't solve his reveal puzzle yet, then alert = he runs away and escapes, you have to loop to try again</li><ul><li>whenever I alarmed the level, he stayed and fought; player QoL thing? again I've just heard that it's possible for Aleksis to escape</li><li>if this is a real feature, I guess it would feel really bad if his escape kept ruining the end of a golden loop run</li></ul></ul></ul><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-dV70p98d0uM/YUfpV-ZrHII/AAAAAAAAIAs/TMYF7McMq6Aug2iwGXfsbmcFzH5lCzxAACLcBGAsYHQ/s1200/Deathloop_weapons_guide_Vopat_Trencher.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="675" data-original-width="1200" height="320" src="https://1.bp.blogspot.com/-dV70p98d0uM/YUfpV-ZrHII/AAAAAAAAIAs/TMYF7McMq6Aug2iwGXfsbmcFzH5lCzxAACLcBGAsYHQ/w640-h360/Deathloop_weapons_guide_Vopat_Trencher.jpg" width="540" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i>the weapon jamming stuff is to make Far Cry 2 nerds happy but it never really comes up</i></td></tr></tbody></table></div><h3 style="text-align: left;"><b>COMBAT DESIGN</b></h3><div>Fast paced modern shooter feel. Aim-down sights, cover boxes, short TTK, etc. <a href="http://gangles.ca/2021/10/13/boring-tactics/" target="_blank">Matthew Gallant has better combat design insights</a> than me.</div><div><br /></div><div><b>Weapons</b> are your typical shooter hierarchy -- pistols, SMGs, shotguns, rifles, sniper rifles. The gun feel is solid but nothing really different here. Loadout is 3 guns. (4th slot is always melee weapon)</div><div>Some of the more unusual details:</div><div><ul style="text-align: left;"><li>The "legendary" unique guns are gorgeously designed and sculpted (like Destiny quality) and have fun special features --</li><ul><li>"Constancy Automatic" is an uzi with two Pez-like feeds to reload while firing</li><li>"Strelak Verso" can switch between akimbo pistols and battle rifle mode</li><li>"Sepulchera Breteira" is the only sniper rifle with a scope (!!!)</li><li>"Heritage Gun" can switch between shotgun and rifle mode</li></ul><li>There are also "epic" tier guns with special modifiers -- silenced SMG, stealth pistol with auto-tagging radar nails, a rifle with exploding bullets, a revolver with poison gas bullets, etc. rely on CS:GO-like gun skins to look special</li><li>You get a silent stealth glock-revolver "nailgun" early on. It has its own ammo type (nails) so you can keep an SMG full of ammo too. Really slow fire rate though, some players might decide it's not worth the special ammo pool and opt for a silenced SMG instead.</li><li>You can add 2-3 perks ("weapon trinkets") to guns, e.g. faster reload for a revolver, narrower spread for a shotgun</li><ul><li>gun perks never affect the gun model or appearance, just affect stats</li><li>the usual gun upgrades (silencers, scopes) aren't available as swappable trinkets, baked into gun</li></ul><li>There's a weapon jamming mechanic but it never really comes up after the first few hours, you find some never-jamming purple tier guns pretty soon</li></ul><div><div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-O2Z0BJeEdKQ/YUfo8npXROI/AAAAAAAAIAk/IralKjbLhHM48OfS489NPliCGCFuIjEIACLcBGAsYHQ/s2048/deathloop-fizzpop.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1152" data-original-width="2048" height="320" src="https://1.bp.blogspot.com/-O2Z0BJeEdKQ/YUfo8npXROI/AAAAAAAAIAk/IralKjbLhHM48OfS489NPliCGCFuIjEIACLcBGAsYHQ/w640-h360/deathloop-fizzpop.jpg" width="540" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i>wow why aren't these health pickups glowing and screaming??? wow</i></td></tr></tbody></table><div><br /></div></div></div>The <b>health</b> design is interesting.<br /><ul style="text-align: left;"><li><b>Limited regen</b> (e.g. hide for 10 sec = recover fraction of lost health)</li><ul><li>you can upgrade the regen fraction or regen delay, but imo a waste of upgrade slots</li><li>I'd prefer full regen with less max health, or Halo-style shield meter. This fighting game health mechanic is too fussy and unreliable for a busy shooter.</li></ul><li><b>No health potion inventory</b>, big change from Dishonored / Prey. No hoarding / shopping trips. Good potion budgeting meta requires too many RPG systems, so this simpler thing is better I think.</li><li>So to survive fights for the first half of the game, you have to trust the level designers to leave enough <b>health consumables</b> around, Doom / Quake style. And they usually do! Like 2-4 piles per arena.</li><li><b>... but health pickups aren't big glowing breadcrumb items</b> (unlike shooters today). They're small little bottles that blend-in with junk prop set dressing from a distance. (see screenshot above). So you have to memorize / guess where to scavenge --</li><ul><li>diegetic-based placement: kitchens, cafes, bars, breakrooms, lounges, sometimes bathrooms</li><li>encounter-based placement: sitting on a cover box in middle of arena</li></ul><li>enemies respawn sometimes, so there are also big infinite health chargers too as a safety, but impractical to use during a fight (leaves you vulnerable, like a Half-Life charger)</li><li>anyway I found this to be surprisingly subtle, midpoint between immersive sim and shooter</li></ul><div><div>There are equipable <b>player perks</b> ("player trinkets"). You have 4 slots.</div><div><ul><li>Trinkets have 3 tiers; gray (trash), green (ok), purple (best).</li><li>Like the other perks, the game doesn't tell you specific numbers or stats.</li><li>Some perks are fun (grenades heal, double jump, glass cannon)</li><li>Some perks are situational (poison gas heals, can hack mines) depending on map / loadout</li><li>Some are S-tier (+50% max health, melee kills heal you) and basically break the game, useful if you're bad at combat like me</li><li>Some feel like F-tier ("damage slows down enemy health regen") but maybe that's ok</li></ul></div></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-8uqoRYU3lZ0/YUf_BOwg71I/AAAAAAAAIBs/ylPPNp0pO1UK2J4o7CG6qSbkFp0WX-bPgCLcBGAsYHQ/s1920/Deathloop-Weapon-Trinkets-Screenshot.jpg"><img border="0" data-original-height="1080" data-original-width="1920" height="320" src="https://1.bp.blogspot.com/-8uqoRYU3lZ0/YUf_BOwg71I/AAAAAAAAIBs/ylPPNp0pO1UK2J4o7CG6qSbkFp0WX-bPgCLcBGAsYHQ/w640-h360/Deathloop-Weapon-Trinkets-Screenshot.jpg" width="540" /></a></div><i><br /></i></div><div><b>Max ammo capacity feels unusually low for a shooter;</b> it's common to run out of ammo during a fight. I think the intention is to make you scrounge around for ammo during a fight and/or swap weapons more often.</div><div><br /></div>This ties into a common complaint: the melee weapon <b>machete is very powerful,</b> like a 1-3 hit kill (maybe 10-15 hits against a boss?) where the main drawback is you're still vulnerable during the 2 second execution animation. But for a medium mob (4-6 enemies) in a cover-y arena you can just run in and safely slice up everyone.<br /><ul style="text-align: left;"><li>... but you can only safely do this if you have 50% or more health already. You're trading health for ammo / convenience.</li><li>... and I think this balance tuning is intentional. Imagine running out of ammo for all your guns, and all you have is a silly little knife. It would feel terrible. Instead, with an OP melee weapon, you feel like "no ammo, no problem"</li><li>there's some nice tuning where if you run toward an NPC with the machete, seemed more likely their gun will jam / reloading, and NPC will panic</li><li>In late game, you can find a "melee kills heal you ~15%" perk. Combined with the shield power, it is free license to machete through any PvE battle in the game.</li></ul><div>There's also some secret <b>dynamic difficulty magic</b> going on, but I couldn't really figure it out. The game says killing a boss increases the difficulty <b>("loop stress")</b> per loop, so at 0 bosses dead the game is easy but at 4 bosses dead it's supposed to be harder. Anecdotally it seemed like:</div><div><ul style="text-align: left;"><li>mobs will use grenades more</li><li>mobs have more health / deal more damage</li><li>mobs are bigger / reinforcement waves are bigger?</li><li>mobs more likely to flank? maybe?</li><li>mobs flank turrets / use grenades on turrets</li><li>Juliana is stronger? uses "Havoc" shield power?</li><li>the only effect the game UI tells you straight-up: better loot drops</li></ul><div>One last combat note: Sniper-type enemies felt rare, which is surprising for a squaddie ninja shooter. The usual design move here is to make players stealth around to clear the lone unprotected snipers isolated on towers, and/or ninja their way to snipers while juggling an aggro'd mob. But here the main sniper enemy is your nemesis Juliana.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-_WzxkFtIAew/YUfu_vUD6eI/AAAAAAAAIBM/uAJOGDhlq4QR9pSkX00r6Tb0TgFx-z06ACLcBGAsYHQ/s1024/deathloop_aleksis_arena.jpg"><img border="0" data-original-height="576" data-original-width="1024" height="320" src="https://1.bp.blogspot.com/-_WzxkFtIAew/YUfu_vUD6eI/AAAAAAAAIBM/uAJOGDhlq4QR9pSkX00r6Tb0TgFx-z06ACLcBGAsYHQ/w640-h360/deathloop_aleksis_arena.jpg" width="540" /></a></div></div><div><br /></div><div><b>INVASION IMPLEMENTATION</b></div></div><div><br /></div><div>The most risky part of the core design. Imagine a stealth game where a rando player can drop in and fuck up your stealth and alert the entire level. It's a big reason why they had to go hard on high-chaos direction, and why stealth had to get streamlined so much -- if you try to ghost this game, you're going to hate it and feel it's unfair when GokuInMyMouth420 destroys your precious stealth immersion. </div><div><br /></div><div>Wisely, the game doesn't really explain invasion conditions, and the uncertainty is a lot more interesting (until it isn't). But from what I can tell, here's how it works:</div><div><ul style="text-align: left;"><li>You can limit invaders to single player bot AI, friends only, or public multiplayer</li><ul><li>the bot AI is, unfortunately, pretty clumsy and tends to get stuck on map geometry, really straining the navmesh and parkour anims</li><li>it's pretty easy to run up and machete them, or just put mines near a door and wait</li><li>but imo this ease is intentional, because if you actually wanted the invasions to feel challenging and scary, then you wouldn't activate single player bot AI mode</li></ul><li><b>Invaders only appear on maps with bosses,</b> and usually early in the map run, in the middle of the free roam area. Bot invaders often don't interrupt a boss fight...</li><ul><li>... except the "Egor" boss fight, which takes place in a free roam area and gets much more interesting with an invasion.</li></ul><li>When invaded, you get a new objective: <b>before you can exit the map, you must hack a control point in the middle of the map.</b> Easier with hacking perks.</li><li>Odds are generally stacked in defender's favor, invader's there more to fuck with them</li><ul><li>defender has 3 lives, invader only has 1</li><li>invader has much more limited loadout selection unless they level up a lot</li></ul><li>Killing an invader refills your lives and grenades (I think?) so defender's run isn't ruined</li><li>Killing an invader is like killing a boss; they drop a lot of upgrades and time money.</li><li>After you finish the core game, the game pushes PvP as a perpetual end game, but the appeal doesn't quite make sense to me --</li><ul><li>matchmaking will only take longer as CCU count falls</li><li>unlocking stuff as an invader feels like it takes a long time</li><li>I played it a few times but ultimately lost interest with how long it'd take, sorry devs</li></ul></ul><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/--XQU_ZgV14o/YUfufL4ob_I/AAAAAAAAIBE/M6JP-m7kHaELtToeR-EOLURFkRNS7QV1gCLcBGAsYHQ/s1920/Deathloop-Invasion-Julianna.jpg"><img border="0" data-original-height="1080" data-original-width="1920" height="320" src="https://1.bp.blogspot.com/--XQU_ZgV14o/YUfufL4ob_I/AAAAAAAAIBE/M6JP-m7kHaELtToeR-EOLURFkRNS7QV1gCLcBGAsYHQ/w640-h360/Deathloop-Invasion-Julianna.jpg" width="540" /></a></div><div><br /></div></div><h3 style="text-align: left;"><b>CRITICAL PATH</b></h3><div>Ok now that we've covered the core game stuff, let's talk about all the complicated schedule design.</div><div><br /></div><div>I've broken down the major beats of the critical path into "beat sheet" tables. Hopefully it's self-explanatory. Remember the time rules:</div><div><ul style="text-align: left;"><li>Each loop has 4 times of day: morning, noon, afternoon, evening</li><li>You can visit one district per time of day</li><li>There are four districts: Updaam (dense castle town), Complex (research lab complex), Fristad Rock (craggy Dear Esther-y coastline), and Karl's Bay (old port / docks). Different places unlock based on the time of day.</li></ul></div><div><b>TUTORIAL</b></div><div><b><br /></b></div><div>The tutorial happens across 3 in-game loops. During this time, mission selection is restricted and progression is heavily scripted / controlled.</div><div><i><br /></i></div><div><google-sheets-html-origin data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><google-sheets-html-origin data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><table border="1" cellpadding="0" cellspacing="0" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" dir="ltr" style="--darkreader-inline-border-bottom: initial; --darkreader-inline-border-left: initial; --darkreader-inline-border-right: initial; --darkreader-inline-border-top: initial; border-collapse: collapse; border: none; font-family: Arial; font-size: 10pt; table-layout: fixed; width: 0px;" xmlns="http://www.w3.org/1999/xhtml"><colgroup><col width="100"></col><col width="100"></col><col width="405"></col></colgroup><tbody><tr style="height: 21px;"><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Time"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Time</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Location"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Location</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Event"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Event</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"morning 0"}" style="--darkreader-inline-bgcolor: #214f3f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7e1cd; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">morning 0</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"TutorialBeach"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">TutorialBeach</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"basic tutorial, die in cutscene, learn about Town"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">basic tutorial, die in cutscene, learn about Town</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"morning 1"}" style="--darkreader-inline-bgcolor: #214f3f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7e1cd; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">morning 1</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"go to apartment, learn about the Complex"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">go to apartment, learn about the Complex</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"noon 1"}" style="--darkreader-inline-bgcolor: #5f4704; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #fce8b2; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">noon 1</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Complex"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Complex</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"go to control center, learn about security protocol"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">go to control center, learn about security protocol</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"afternoon 1"}" style="--darkreader-inline-bgcolor: #4f140f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #f4c7c3; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">afternoon 1</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Coast"}" style="--darkreader-inline-bgcolor: #35393b; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #cccccc; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Coast</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"go to security office, learn about safe in apartment"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">go to security office, learn about safe in apartment</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"evening 1"}" style="--darkreader-inline-bgcolor: #362958; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b4a7d6; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">evening 1</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"go to apartment, but safe emptied; fight Juliana bot"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">go to apartment but too late, safe empty; fight Juliana</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"morning 2"}" style="--darkreader-inline-bgcolor: #214f3f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7e1cd; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">morning 2</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"go to apartment, open safe, learn: must kill 8 bosses"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">go to apartment, open safe, learn: must kill 8 bosses</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"afternoon 2"}" style="--darkreader-inline-bgcolor: #4f140f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #f4c7c3; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">afternoon 2</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Complex"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Complex</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"fight boss #1 Wenjie, unlock loadout"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">fight boss #1 Wenjie, unlock loadout and banking</td></tr></tbody></table></google-sheets-html-origin></google-sheets-html-origin></div><div><google-sheets-html-origin data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><ul style="text-align: left;"><li>Very meticulously and carefully designed. It sets up the premise, walks you through most free roam areas, and guides you through the time logic. You visit the same location (the apartment in town) at three different times so you can see how it changes.</li><li>Schedule conveniently keeps you clear of most bosses (compare vs. Early Game schedule)</li><li>The Security Office step is kinda extraneous (and the Security Office location isn't important in future runs) but I think it's there to waste time + force you to visit town in evening mode</li></ul><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-aDj36hVH33w/YUkhqy16n9I/AAAAAAAAICs/excllEAnhKckYTdi7rp60Ch-sLA0bRzmACLcBGAsYHQ/s1920/deathloop_dashboard_ui.jpg"><img border="0" data-original-height="1080" data-original-width="1920" height="320" src="https://1.bp.blogspot.com/-aDj36hVH33w/YUkhqy16n9I/AAAAAAAAICs/excllEAnhKckYTdi7rp60Ch-sLA0bRzmACLcBGAsYHQ/w640-h360/deathloop_dashboard_ui.jpg" width="540" /></a></div></google-sheets-html-origin></div><div><div><br /></div><div><b>EARLY GAME</b>, unlock powers and guns, fight bosses one-on-one</div><div><br /></div><div>Once you finish the tutorial, the game opens up and you can freely choose where to visit and when.</div><div><br /></div><div>The UI foregrounds the boss fights to you above all, with the pink boss portrait icons.</div><div><br /></div><div>In the table below, the "..." rows below are the downplayed options, where their usefulness only becomes clear later, if ever.</div><div><br /></div><div><google-sheets-html-origin data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><google-sheets-html-origin data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><table border="1" cellpadding="0" cellspacing="0" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" dir="ltr" style="--darkreader-inline-border-bottom: initial; --darkreader-inline-border-left: initial; --darkreader-inline-border-right: initial; --darkreader-inline-border-top: initial; border-collapse: collapse; border: none; font-family: Arial; font-size: 10pt; table-layout: fixed; width: 0px;" xmlns="http://www.w3.org/1999/xhtml"><colgroup><col width="100"></col><col width="100"></col><col width="405"></col></colgroup><tbody><tr style="height: 21px;"><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Time"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Time</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Location"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Location</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Event"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Event</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"morning "}" style="--darkreader-inline-bgcolor: #214f3f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7e1cd; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">morning</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Port"}" style="--darkreader-inline-bgcolor: #414649; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7b7b7; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Port</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-textstyleruns="{"1":0,"2":{"5":1}}{"1":22}" data-sheets-value="{"1":2,"2":"fight boss #2 Harriet, get chain power"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;"><span style="font-size: 10pt; font-weight: bold;">fight boss #2 Harriet (easy),</span><span style="font-size: 10pt;"> get chaining power</span></td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"morning "}" style="--darkreader-inline-bgcolor: #214f3f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7e1cd; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">morning</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Coast"}" style="--darkreader-inline-bgcolor: #35393b; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #cccccc; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Coast</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-textstyleruns="{"1":0,"2":{"5":1}}{"1":19}{"1":37,"2":{"5":1}}" data-sheets-value="{"1":2,"2":"fight boss #3 Frank, get unique smg, start questline"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;"><span style="font-size: 10pt; font-weight: bold;">fight boss #3 Frank (hard)</span><span style="font-size: 10pt;">, get smg, </span><span style="font-size: 10pt; font-weight: bold;">start quest</span></td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"morning"}" style="--darkreader-inline-bgcolor: #214f3f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7e1cd; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">morning</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Complex"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Complex</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"start questline"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;"><span style="font-weight: bold;">start questline (power station)</span></td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"morning"}" style="--darkreader-inline-bgcolor: #214f3f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7e1cd; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">morning</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"(later do quest here)"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-style: italic; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">... (later do quest here)</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"noon"}" style="--darkreader-inline-bgcolor: #5f4704; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #fce8b2; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">noon</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-textstyleruns="{"1":0,"2":{"5":1}}{"1":22}{"1":37,"2":{"5":1}}" data-sheets-value="{"1":2,"2":"fight boss #4 Charlie, get teleport, start questline"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;"><span style="font-size: 10pt; font-weight: bold;">fight boss #4 Charlie (easy),</span><span style="font-size: 10pt;"> get teleport, </span><span style="font-size: 10pt; font-weight: bold;">start questline</span></td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"noon"}" style="--darkreader-inline-bgcolor: #5f4704; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #fce8b2; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">noon</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Coast"}" style="--darkreader-inline-bgcolor: #35393b; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #cccccc; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Coast</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-textstyleruns="{"1":0,"2":{"5":1}}{"1":18}" data-sheets-value="{"1":2,"2":"fight boss #5 Fia, get shield power"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;"><span style="font-size: 10pt; font-weight: bold;">fight boss #5 Fia (hard),</span><span style="font-size: 10pt;"> get shield power</span></td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"noon"}" style="--darkreader-inline-bgcolor: #5f4704; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #fce8b2; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">noon</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Complex"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Complex</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"get unique pistol-smg"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">... get unique pistol-smg</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"noon"}" style="--darkreader-inline-bgcolor: #5f4704; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #fce8b2; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-decoration-line: line-through; vertical-align: bottom;">noon</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Port"}" style="--darkreader-inline-bgcolor: #414649; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7b7b7; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-decoration-line: line-through; vertical-align: bottom;">Port</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"(disabled)"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-decoration-line: line-through; vertical-align: bottom;">... (disabled)</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"afternoon"}" style="--darkreader-inline-bgcolor: #4f140f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #f4c7c3; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">afternoon</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Complex"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Complex</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"re-fight boss #1 Wenjie"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;"><b>re-fight boss #1 Wenjie (easy)</b></td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"afternoon"}" style="--darkreader-inline-bgcolor: #4f140f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #f4c7c3; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">afternoon</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"get unique sniper rifle"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">... get unique sniper rifle</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"afternoon"}" style="--darkreader-inline-bgcolor: #4f140f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #f4c7c3; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">afternoon</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Coast"}" style="--darkreader-inline-bgcolor: #35393b; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #cccccc; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Coast</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"(later do quest here)"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-style: italic; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">... (later do quest here)</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"afternoon"}" style="--darkreader-inline-bgcolor: #4f140f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #f4c7c3; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">afternoon</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Port"}" style="--darkreader-inline-bgcolor: #414649; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7b7b7; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Port</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"(later do quest here)"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-style: italic; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">... (later do quest here)</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"evening"}" style="--darkreader-inline-bgcolor: #362958; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b4a7d6; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">evening</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Complex"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Complex</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-textstyleruns="{"1":0,"2":{"5":1}}{"1":19}{"1":37,"2":{"5":1}}" data-sheets-value="{"1":2,"2":"fight boss #6 Egor, get cloak power, start questline"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;"><span style="font-size: 10pt; font-weight: bold;">fight boss #6 Egor (easy),</span><span style="font-size: 10pt;"> get cloak power, </span><span style="font-size: 10pt; font-weight: bold;">start questline</span></td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"evening"}" style="--darkreader-inline-bgcolor: #362958; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b4a7d6; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">evening</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-textstyleruns="{"1":0,"2":{"5":1}}{"1":23}" data-sheets-value="{"1":2,"2":"fight boss #7 Aleksis, get knockback power"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;"><span style="font-size: 10pt; font-weight: bold;">fight boss #7 Aleksis (hard), </span><span style="font-size: 10pt;">get knockback power</span></td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"evening"}" style="--darkreader-inline-bgcolor: #362958; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b4a7d6; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">evening</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Port"}" style="--darkreader-inline-bgcolor: #414649; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7b7b7; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Port</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"get unique shotgun-rifle"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">... get unique shotgun-rifle</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"evening"}" style="--darkreader-inline-bgcolor: #362958; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b4a7d6; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-decoration-line: line-through; vertical-align: bottom;">evening</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Coast"}" style="--darkreader-inline-bgcolor: #35393b; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #cccccc; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-decoration-line: line-through; vertical-align: bottom;">Coast</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"(disabled)"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-decoration-line: line-through; vertical-align: bottom;">... (disabled)</td></tr></tbody></table></google-sheets-html-origin></google-sheets-html-origin></div><div><google-sheets-html-origin data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3;"><ul style="text-align: left;"><li data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;">Lots of trailheads in the morning and noon, which makes sense.</li><li data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;">Other than the afternoon, each time slot offers an easier boss and a harder boss.</li><ul><li data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;">Some boss encounters are technically optional (e.g. Frank) but in a practical sense, you'll still probably have to fight them to complete a different quest / trailhead to their quest.</li></ul><li data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;">The other time slots offer low stakes chill-out free roam exploring times to get a unique gun. Or at worst, they are leftover consequences of the design and they had to fudge some random content for it. </li><ul data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><li>The totally blocked-out slots (noon Port, evening Coast) feel like design gap kludges, like "we ran out of time and cut these areas so uhhh don't go there." There's no in-game explanation why these places are disabled at these times?</li></ul><li data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><span data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;">Very unusual narrative design: first you fight a boss AND THEN you do their quest to learn more about them.</span></li><ul data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><li><span data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;">Opposite flow of Dishonored, where you spend an hour in the lair + doing their quest before you climactically murder them.</span></li><li><span data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;">But that means in Deathloop, you often murder a boss without having an idea why you're doing it or what they're about.</span></li><li><span data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;">For some characters, this narrative flow works really well. For most others, it's confusing and a bit disappointing.</span></li><li><span data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;">I can see a case for unfolding a character arc across multiple runs, e.g. when you kill a boss a 3rd time, you realize something new about them. This happens with Juliana and a bit with the Wenjie / Charlie / Fia, but no one else really.</span></li></ul><li data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;">My main pacing nitpick here is that Egor is one of the easier bosses and quests, yet you only encounter him later.</li><ul data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><li>First, you might die a lot before evening (especially vs. Fia's tricky self-destruct encounter)</li><li>Second, when evening rolls around you have to choose between Egor or Aleksis. So far, Egor is a random guy you know nothing about. Meanwhile, Aleksis is an entertaining character with a big complicated party setpiece that invokes past Arkane games and the game marketing. So who's the player gonna pick first, I wonder?</li><li>Maybe this is intentional? But for me, it felt confusing. As I killed Egor, I was just thinking "oh, that's it?"</li></ul></ul><div class="separator" data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; clear: both; color: black; text-align: center;"><a href="https://1.bp.blogspot.com/-n6UBKXbOuhg/YUgJrAnZbYI/AAAAAAAAICM/XmXzRu_vPkQ8Acca6RCqXSYstP21MzVrgCLcBGAsYHQ/s2048/DEATHLOOP_visionary_leads_ui.jpg"><img border="0" data-original-height="1152" data-original-width="2048" height="320" src="https://1.bp.blogspot.com/-n6UBKXbOuhg/YUgJrAnZbYI/AAAAAAAAICM/XmXzRu_vPkQ8Acca6RCqXSYstP21MzVrgCLcBGAsYHQ/w640-h360/DEATHLOOP_visionary_leads_ui.jpg" width="540" /></a></div><br /><div data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right;"><tbody><tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-ri7tqWgO3N0/YUktcyVVv8I/AAAAAAAAIC0/xyF8IigbXbEDMbIutwC1OVS3PWDg_eDqQCLcBGAsYHQ/s2048/outerwilds_rumor-map.png" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1152" data-original-width="2048" height="113" src="https://1.bp.blogspot.com/-ri7tqWgO3N0/YUktcyVVv8I/AAAAAAAAIC0/xyF8IigbXbEDMbIutwC1OVS3PWDg_eDqQCLcBGAsYHQ/w200-h113/outerwilds_rumor-map.png" width="200" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i><b>warning: Outer Wilds spoilers!</b><br />don't read too closely</i></td></tr></tbody></table>Deathloop tries to do its own version of the Outer Wilds "Rumor Map" quest tracker UI, but organized into more linear per-questline threads instead of a free form mind map. <span data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;">I admire the intent but as a player it didn't quite work for me. </span></div><div data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><ul style="text-align: left;"><li>it made me appreciate the Outer Wilds rumor map a lot more...it's image-based with minimal text, yet it is still pretty functional</li><li>usability-wise, I ended up wishing Deathloop just went with an old fashioned sidebar with bullet points</li><ul><li>scrolling around and zooming in to read little node texts didn't work well, it's better not to zoom... but if you don't zoom, it never feels like a mind map</li><li>even in an old fashioned quest UI, this would still be way too much text, you need to cut like 50-75% of this, yes even the fun flavor sentences, sorry</li></ul><li>as an information game fan, it made the linear thread structure too obvious, and the shape of the mystery felt a lot less interesting</li><ul><li>I think Deathloop would've felt +30% more genius if they faked the UI for this node structure so that it seemed like intersecting clusters of clues, rather than 8 parallel quest lines; you don't even have to change the actual quests, just change how they're presented!</li><ul><li>that probably tested poorly but I DON'T CARE</li></ul></ul></ul></div><div data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><b><br /></b></div><div data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><b>MID GAME: simple quests</b> that use only 2 day loops and 2-3 locations.</div></google-sheets-html-origin></div></div><div><br /></div><div><b>The Egor sabotage questline</b> is the simplest one, and weirdly, one of the last quests you might start. Perhaps as a result, Egor is one of the least interesting and less developed characters in the game unfortunately. The other game characters don't give a shit about him, and it seems like the player doesn't either. Kind of sad.</div><div><br /></div><div><google-sheets-html-origin data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><table border="1" cellpadding="0" cellspacing="0" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" dir="ltr" style="--darkreader-inline-border-bottom: initial; --darkreader-inline-border-left: initial; --darkreader-inline-border-right: initial; --darkreader-inline-border-top: initial; border-collapse: collapse; border: none; font-family: Arial; font-size: 10pt; table-layout: fixed; width: 0px;" xmlns="http://www.w3.org/1999/xhtml"><colgroup><col width="100"></col><col width="100"></col><col width="405"></col></colgroup><tbody><tr style="height: 21px;"><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Time"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Time</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Location"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Location</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Event"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Event</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"evening 1"}" style="--darkreader-inline-bgcolor: #362958; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b4a7d6; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">evening 1</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Complex"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Complex</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"fight Egor, discover he's investigating data"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">fight Egor, discover he's investigating data</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"morning 2"}" style="--darkreader-inline-bgcolor: #214f3f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7e1cd; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">morning 2</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Complex"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Complex</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"sabotage data array so Egor never sees data"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">sabotage data array so Egor never sees data</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"evening 2"}" style="--darkreader-inline-bgcolor: #362958; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b4a7d6; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">evening 2</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Egor goes to Aleksis' party"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Egor goes to Aleksis' party</td></tr></tbody></table><br /></google-sheets-html-origin></div><div><google-sheets-html-origin data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><br /></google-sheets-html-origin></div><div><google-sheets-html-origin data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><div><b>The Frank fireworks questline</b> works OK, but unfortunately his character didn't really make sense to me. He's a bisexual crime lord Buddy Holly-like radio host, and by the way his secret weakness is his love of fireworks?.... wait, what? It just felt like too much stuff going on, no clear psychology or arc. I feel like Arkane had something else planned for his encounter (he operates a club, yet we don't get to hangout in it!) but then had to cut it.</div><div><br /></div><div><google-sheets-html-origin data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><table border="1" cellpadding="0" cellspacing="0" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" dir="ltr" style="--darkreader-inline-border-bottom: initial; --darkreader-inline-border-left: initial; --darkreader-inline-border-right: initial; --darkreader-inline-border-top: initial; border-collapse: collapse; border: none; font-family: Arial; font-size: 10pt; table-layout: fixed; width: 0px;" xmlns="http://www.w3.org/1999/xhtml"><colgroup><col width="100"></col><col width="100"></col><col width="405"></col></colgroup><tbody><tr style="height: 21px;"><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Time"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Time</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Location"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Location</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Event"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Event</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"morning 1"}" style="--darkreader-inline-bgcolor: #214f3f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7e1cd; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">morning 1</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Coast"}" style="--darkreader-inline-bgcolor: #35393b; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #cccccc; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Coast</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"fight Frank, discover he orders fireworks from shop"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">fight Frank, discover he orders fireworks from shop</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"noon 1"}" style="--darkreader-inline-bgcolor: #5f4704; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #fce8b2; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">noon 1</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"go to shop, find it burned down already"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">go to shop, find it burned down already</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"morning 2"}" style="--darkreader-inline-bgcolor: #214f3f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7e1cd; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">morning 2</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"go to shop, stop it from burning down"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">go to shop, stop it from burning down</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"noon 2"}" style="--darkreader-inline-bgcolor: #5f4704; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #fce8b2; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">noon 2</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"go to unburned shop, get fireworks password"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">go to unburned shop, get fireworks password</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"afternoon 2"}" style="--darkreader-inline-bgcolor: #4f140f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #f4c7c3; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">afternoon 2</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Port"}" style="--darkreader-inline-bgcolor: #414649; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7b7b7; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Port</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"unlock fireworks container, sabotage fireworks"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">unlock fireworks container, sabotage fireworks</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"evening 2"}" style="--darkreader-inline-bgcolor: #362958; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b4a7d6; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">evening 2</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"fireworks automatically kill Frank"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">fireworks automatically kill Frank</td></tr></tbody></table></google-sheets-html-origin></div></google-sheets-html-origin></div><div><google-sheets-html-origin data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><b><br /></b></google-sheets-html-origin></div><div><google-sheets-html-origin data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><b><br /></b></google-sheets-html-origin></div><div><google-sheets-html-origin data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><b>The Charlie + Fia romance questline</b> is probably the best developed storyline. The literally brain-damaged game dev nerd and the fashionable mean girl artist are two humorous caricatures, but by the end of this quest chain, you find out they're a super fucked-up couple who ruin each others lives. One of the darker stories in this game, and one of the times where the kill-first-and-learn-about-them-later narrative design works very well.</google-sheets-html-origin></div><div><google-sheets-html-origin data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><br /></google-sheets-html-origin></div><div><google-sheets-html-origin data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><google-sheets-html-origin data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><table border="1" cellpadding="0" cellspacing="0" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" dir="ltr" style="--darkreader-inline-border-bottom: initial; --darkreader-inline-border-left: initial; --darkreader-inline-border-right: initial; --darkreader-inline-border-top: initial; border-collapse: collapse; border: none; font-family: Arial; font-size: 10pt; table-layout: fixed; width: 0px;" xmlns="http://www.w3.org/1999/xhtml"><colgroup><col width="100"></col><col width="100"></col><col width="405"></col></colgroup><tbody><tr style="height: 21px;"><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Time"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Time</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Location"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Location</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Event"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Event</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"noon 1"}" style="--darkreader-inline-bgcolor: #5f4704; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #fce8b2; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">noon 1</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"fight Charlie, discover romantic photo"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">fight Charlie, discover romantic photo</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"afternoon 1"}" style="--darkreader-inline-bgcolor: #4f140f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #f4c7c3; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">afternoon 1</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Coast"}" style="--darkreader-inline-bgcolor: #35393b; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #cccccc; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Coast</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"find romantic hideout but it's locked"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">find romantic hideout but it's locked</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"noon 2"}" style="--darkreader-inline-bgcolor: #5f4704; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #fce8b2; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">noon 2</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Coast"}" style="--darkreader-inline-bgcolor: #35393b; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #cccccc; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Coast</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"fight Fia, get hideout password"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">fight Fia, get hideout password</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"afternoon 2"}" style="--darkreader-inline-bgcolor: #4f140f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #f4c7c3; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">afternoon 3</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Coast"}" style="--darkreader-inline-bgcolor: #35393b; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #cccccc; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Coast</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"can now fight both Charlie and Fia at same time"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">can now fight both Charlie and Fia at same time (but if you already killed one, then the other won't be here)</td></tr></tbody></table></google-sheets-html-origin></google-sheets-html-origin></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-yxWMbNt9R3M/YUgG1pl4-OI/AAAAAAAAICE/aerM8ztvzeE-Md5HJUTeAUkkKo36NOYjwCLcBGAsYHQ/s1920/deathloop-charlie-fia.jpg"><img border="0" data-original-height="1080" data-original-width="1920" height="320" src="https://1.bp.blogspot.com/-yxWMbNt9R3M/YUgG1pl4-OI/AAAAAAAAICE/aerM8ztvzeE-Md5HJUTeAUkkKo36NOYjwCLcBGAsYHQ/w640-h360/deathloop-charlie-fia.jpg" width="540" /></a></div><div><br /></div><div><br /></div><div><b>LATE GAME: the most complex quests</b> that involve 3+ days and all 4 locations.</div><div><br /></div><div><div>My first instinct was to think, well, these "most complicated quests" aren't actually very complicated? But maybe anything more complicated would've been way too much stuff. 2 simple quests in parallel feels like 1 complicated quest. So I think they got this balance right, even if I whine about it.</div><div><br /></div><div><br /></div><div><b>The Wenjie party questline</b> works well conceptually because it combines the first boss with the last boss. It's also interesting how it branches out from another questline, and encourages more Charlie / Wenjie / Aleksis runs in a fairly organic way. </div><div><br /></div><div>The weakest part of the quest is when it makes you to go to the port to open Charlie's safe, hidden inexplicably in a trivia game show room at the port. Feels like a random excuse to make you visit this somewhat neglected level.</div><div><br /></div><div>Once you complete the quest to upload a fake voice sample to transmit a fake message to Wenjie, you never have to do it again. It feels like a cop-out a little. I assumed it was going to make me use the Transmission Tower at the afternoon-coast to make me do this for every golden loop run, and it felt like a weird loose end when it didn't. (I never found out what the Transmission Tower was for.)</div><div><br /></div><div><google-sheets-html-origin data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><table border="1" cellpadding="0" cellspacing="0" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" dir="ltr" style="--darkreader-inline-border-bottom: initial; --darkreader-inline-border-left: initial; --darkreader-inline-border-right: initial; --darkreader-inline-border-top: initial; border-collapse: collapse; border: none; font-family: Arial; font-size: 10pt; table-layout: fixed; width: 0px;" xmlns="http://www.w3.org/1999/xhtml"><colgroup><col width="100"></col><col width="100"></col><col width="405"></col></colgroup><tbody><tr style="height: 21px;"><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Time"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Time</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Location"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Location</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Event"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Event</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"noon 1"}" style="--darkreader-inline-bgcolor: #5f4704; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #fce8b2; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-decoration-line: line-through; vertical-align: bottom;">noon 1</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-decoration-line: line-through; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"fight Charlie, discover romantic photo"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-decoration-line: line-through; vertical-align: bottom;">fight Charlie, discover romantic photo</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"afternoon 1"}" style="--darkreader-inline-bgcolor: #4f140f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #f4c7c3; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-decoration-line: line-through; vertical-align: bottom;">afternoon 1</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Coast"}" style="--darkreader-inline-bgcolor: #35393b; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #cccccc; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-decoration-line: line-through; vertical-align: bottom;">Coast</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"find romantic hideout, get Charlie's safe code"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;"><span style="text-decoration-line: line-through;">find romantic hideout,</span> get Charlie's safe code</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"evening 1"}" style="--darkreader-inline-bgcolor: #362958; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b4a7d6; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">evening 1</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Port"}" style="--darkreader-inline-bgcolor: #414649; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7b7b7; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Port</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"open Charlie's safe to get Wenjie's password"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">open Charlie's safe to get Wenjie's password</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"afternoon 2"}" style="--darkreader-inline-bgcolor: #4f140f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #f4c7c3; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">afternoon 2</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Complex"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Complex</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"unlock Wenjie's bedroom, read diary"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">unlock Wenjie's bedroom, read diary</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"noon 3"}" style="--darkreader-inline-bgcolor: #5f4704; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #fce8b2; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">noon 3</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"to trick Wenjie, computer needs voice sample"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">to trick Wenjie, Charlie's AI needs voice sample</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"evening 3"}" style="--darkreader-inline-bgcolor: #362958; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b4a7d6; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">evening 3</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"go to Aleksis' party, find Library note"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">go to Aleksis' party, find Library note</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"noon 4"}" style="--darkreader-inline-bgcolor: #5f4704; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #fce8b2; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">noon 4</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"bring Library voice sample to computer"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">bring Library voice sample to Charlie's AI</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"evening 4"}" style="--darkreader-inline-bgcolor: #362958; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b4a7d6; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">evening 4</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Wenjie goes to Aleksis' party"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Wenjie goes to Aleksis' party</td></tr></tbody></table></google-sheets-html-origin></div><div><b><br /></b></div><div><b><br /></b></div><div><b><br /></b></div><div><a href="https://1.bp.blogspot.com/-wAlNFu4PtX0/YUf2H6D4__I/AAAAAAAAIBU/FqB4YBm0WXsCFyrEcfiYbcELli6J3vIYACLcBGAsYHQ/s1920/Deathloop_Radio_Silence_walkthrough_6.jpg" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"><img border="0" data-original-height="1080" data-original-width="1920" height="113" src="https://1.bp.blogspot.com/-wAlNFu4PtX0/YUf2H6D4__I/AAAAAAAAIBU/FqB4YBm0WXsCFyrEcfiYbcELli6J3vIYACLcBGAsYHQ/w200-h113/Deathloop_Radio_Silence_walkthrough_6.jpg" width="200" /></a></div><div><b>The Power Station questline</b> involves redirecting power in the morning to unlock bunkers later in the day. If you don't unlock all the bunkers all at once in a single loop, then you have to keep going back in future loops to do the power station process over and over. So many hard gates and buttons and back and forth, and the power station feels tedious on a third visit. There's 4 different audio passwords you have to learn?</div><div><br /></div><div>The pacing is confusing. On one hand, it feels like a flexible side quest you're supposed to fit around your other tasks. But if you do it gradually, it's tedious and locks up your morning.</div><div><br /></div><div>So then it feels like you're supposed to do it all at once. But if you complete it before your golden loop, then the game kinda tut-tuts you. "This is for the ending! Too early, dummy!" </div></div><div><br /></div><div><google-sheets-html-origin data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><table border="1" cellpadding="0" cellspacing="0" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" dir="ltr" style="--darkreader-inline-border-bottom: initial; --darkreader-inline-border-left: initial; --darkreader-inline-border-right: initial; --darkreader-inline-border-top: initial; border-collapse: collapse; border: none; font-family: Arial; font-size: 10pt; table-layout: fixed; width: 0px;" xmlns="http://www.w3.org/1999/xhtml"><colgroup><col width="100"></col><col width="100"></col><col width="405"></col></colgroup><tbody><tr style="height: 21px;"><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Time"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Time</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Location"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Location</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Event"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Event</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"morning 1"}" style="--darkreader-inline-bgcolor: #214f3f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7e1cd; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">morning 1</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Complex"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Complex</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"go to power station, can only power 1 bunker"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">go to power station, can only power 1 bunker</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"afternoon 1"}" style="--darkreader-inline-bgcolor: #4f140f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #f4c7c3; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">afternoon 1</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"go to archives + rocket hangar; need 3 passwords"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">go to archives + rocket hangar; but need 3 passwords</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"morning 2"}" style="--darkreader-inline-bgcolor: #214f3f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7e1cd; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">morning 2</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Complex"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Complex</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"go to power station, power other 3 bunkers"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">go to power station, power other 3 bunkers</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"noon 2"}" style="--darkreader-inline-bgcolor: #5f4704; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #fce8b2; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">noon 2</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town / Coast</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"get password 1 from bunker"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">get password 1 from a bunker (you choose which)</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"afternoon 2"}" style="--darkreader-inline-bgcolor: #4f140f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #f4c7c3; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">afternoon 2</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Coast"}" style="--darkreader-inline-bgcolor: #35393b; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #cccccc; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Coast / Town / Port</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"get password 2 from bunker"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">get password 2 from a bunker (you choose which)</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"evening 2"}" style="--darkreader-inline-bgcolor: #362958; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b4a7d6; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">evening 2</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Port"}" style="--darkreader-inline-bgcolor: #414649; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7b7b7; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Port / Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"get password 3 from bunker"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">get password 3 from a bunker (you choose which)</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"evening 3"}" style="--darkreader-inline-bgcolor: #362958; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b4a7d6; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">evening 3</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"can now ride rocket to end the game (if 7 bosses dead)"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">can ride rocket to end the game (only if 7 bosses dead)</td></tr></tbody></table></google-sheets-html-origin></div><div><br /></div><div>(Why is a secret 20 year old military rocket plane locked-down unless you kill 7 people? Because video games!)</div><div><br /></div><div>(I'm assuming Arkane tested the Good Design -- let players fly the rocket prematurely without killing 7 bosses, confront Juliana, only to fail and loop again -- and opted for this hacky clarity rather than systemic consistency. Still... SOMEONE CALL THE IMMERSIVE SIM POLICE)</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-JxaLb7uT2jI/YUgF8nZgXdI/AAAAAAAAIB8/MXTbpQNVNHsXQO83_-5FqWo9_oEm5PRLgCLcBGAsYHQ/s1920/Deathloop-rocket.jpg"><img border="0" data-original-height="1080" data-original-width="1920" height="320" src="https://1.bp.blogspot.com/-JxaLb7uT2jI/YUgF8nZgXdI/AAAAAAAAIB8/MXTbpQNVNHsXQO83_-5FqWo9_oEm5PRLgCLcBGAsYHQ/w640-h360/Deathloop-rocket.jpg" width="540" /></a></div><div><br /></div><div><br /></div><div><b>GOLDEN LOOP</b></div><div><br /></div><div>Once you've completed all the quests, the game finally enables the golden loop, and even spells out all the required steps in your quest log UI menu. </div><div><br /></div><div>Which felt like a shame to me. Deathloop couldn't trust the player as much as Outer Wilds. Ultimately you're a baby who couldn't schedule your own life by yourself after all.</div><div><br /></div><div>I know it's easy for armchair indies like me to complain about pulling punches. I imagine Arkane debated this a lot, and over the years, had to bow to AAA approachability and clarity. Which is understandable, but still, it's a bit of a shame. </div><div><br /></div><div><google-sheets-html-origin data-darkreader-inline-color="" style="--darkreader-inline-color: #e8e6e3; color: black;"><table border="1" cellpadding="0" cellspacing="0" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" dir="ltr" style="--darkreader-inline-border-bottom: initial; --darkreader-inline-border-left: initial; --darkreader-inline-border-right: initial; --darkreader-inline-border-top: initial; border-collapse: collapse; border: none; font-family: Arial; font-size: 10pt; table-layout: fixed; width: 0px;" xmlns="http://www.w3.org/1999/xhtml"><colgroup><col width="100"></col><col width="100"></col><col width="405"></col></colgroup><tbody><tr style="height: 21px;"><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Time"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Time</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Location"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Location</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Event"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Event</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"morning 1"}" style="--darkreader-inline-bgcolor: #214f3f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7e1cd; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">morning 1</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Port"}" style="--darkreader-inline-bgcolor: #414649; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b7b7b7; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Port</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"kill Harriet, sabotage Frank's fireworks"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">kill Harriet, sabotage Frank's fireworks</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"noon 1"}" style="--darkreader-inline-bgcolor: #5f4704; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #fce8b2; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">noon 1</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Complex"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Complex</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"trick Egor into going to the party"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">trick Egor into going to Aleksis' party</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"afternoon 1"}" style="--darkreader-inline-bgcolor: #4f140f; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #f4c7c3; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">afternoon 1</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Coast"}" style="--darkreader-inline-bgcolor: #35393b; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #cccccc; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Coast</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"kill Charlie + Fia"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">kill Charlie + Fia</td></tr><tr style="height: 21px;"><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"evening 1"}" style="--darkreader-inline-bgcolor: #362958; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #b4a7d6; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">evening 1</td><td data-darkreader-inline-bgcolor="" data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"Town"}" style="--darkreader-inline-bgcolor: #212425; --darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; background-color: #efefef; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Town</td><td data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" data-sheets-value="{"1":2,"2":"watch Frank die, kill Wenjie + Egor + Aleksis at party, ride rocket"}" style="--darkreader-inline-border-bottom: #3e4446; --darkreader-inline-border-left: #3e4446; --darkreader-inline-border-right: #3e4446; --darkreader-inline-border-top: #3e4446; border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Frank dies, kill Wenjie + Egor + Aleksis, ride rocket</td></tr></tbody></table></google-sheets-html-origin></div><div><br /></div></div><div>But the bigger problem: as a result of other design decisions, <b>the drama of the golden loop isn't really there. </b></div><div><br /></div><div>Deathloop's turn-based time makes it much more approachable, but relies on the threat of dying 3 times, rather than time itself. By the end of the game, that threat has disappeared and your build is fun and OP.</div><div><br /></div><div>So then the golden loop schedule ends up feeling too simple and doable. When I realized what it would be, I thought, "ok, sounds very reasonable." And it was.</div><div><br /></div><div>(Comparatively, when you realize the Outer Wilds' golden loop schedule, you think "oh my god how the hell am I going to do all that", even though it's actually not that bad on a second try. But the initial shock is crucial.)</div><div><br /></div><div>The Harriet boss (and her entire character, really) sadly stays the same. The game says you must kill her first, like this, always -- and if she always dies so early, that means her concept doesn't get to interact with anyone else. Not that her concept makes much sense; why does this apocalyptic suicide cult leader like poison gas specifically? Why doesn't her backstory (survived a near-death plane crash) affect anything other than her arena theming? Like the Frank character, she feels like she's made of loose ends. I thought we were going to have to use one of her planes to do something, or pipe her poison gas into someone else's lair, but no, she's pretty one note unfortunately.</div><div><br /></div><div>The noon and afternoon steps also feel a bit empty and flat to me. It would've felt satisfying (but maybe too cumbersome upon repetition) to make the Wenjie steps more manual instead of automatic: e.g. at noon in the Complex, break into her lab annex and hack her computer system -- then at afternoon in the Coast, send her the fake message from the transmission tower.</div><div><br /></div><div>Other stuff I thought the golden loop was going to involve / would've been cool to do:</div><div><ul style="text-align: left;"><li>Per-level timed objectives that don't kill you, but make a golden loop impossible if you're too slow. Thus necessitating some genuine "labbing" (speedrun research) to find faster shortcuts and sequence breaks.</li><li>More than one possible golden loop solution, like an easy one and a hard one.</li><ul><li>e.g. trick all 7 bosses into attending the party, and you have to fight all of them at once, but you can basically only do this if you max out a combat build</li></ul><li>Visit a boss encounter to perform a task but DON'T kill the boss or else it's ruined</li><li>Offer a secret way to travel between two districts within the same time slot (ClassPass run hints at this type of multi-district interaction)</li><li>Exploit invasion system</li><ul><li>trick Juliana into invading, to trigger a specific effect in that district</li><li>or, find a way for you to invade an AI Juliana</li></ul><li>Looping past the game ending (false ending) to create a mega loop made of multiple loops</li></ul></div><div>The ending(s) are... abrupt. In particular <a href="https://www.polygon.com/22702961/deathloop-spoilers-twist-ending-analysis" target="_blank">there's a weirdly "happy" ending that makes no sense for the characters</a>. But oh well, endings are hard.</div><div><br /></div><div><br /></div><div><b>EXECUTIVE SUMMARY AND LOOSE ENDS</b></div><div><br /></div><div>Deathloop is a big beautiful complicated good game that's smartly made, but overall, it's maybe just a bit too safe to be as stunningly brilliant as a Dark Souls or Outer Wilds.</div><div><ul style="text-align: left;"><li>synthesizes a lot of game design trends together from the past decade, they clearly did a lot of homework, and it feels very smart</li><li>some of the best rocks in AAA, those fuckin rock sculpts man</li><li>I didn't even talk about the environmental storytelling, the env-storytelling-mass equivalent of three BioShocks, or like two Witnesses, condensed into a single game world. Like the layout tells the story, it's really impressive. Some of the Lost vibes are fun too.</li><li>despite all these strengths, it falls short of being a brilliant important game to me; I understand why it held back and don't blame anyone for it, but I still wish it took more risks</li><ul><li>information games trust the player to piece it together; Deathloop documents and connects everything together for you</li><li>building the golden loop doesn't involve lateral thinking or approaching something in a new way, it's just a matter of doing enough quests to unlock the right doors</li><li>time loop games make time your greatest enemy; meanwhile Deathloop makes you duel a random PvP player sometimes -- and these days maybe you'll be dueling no one</li><li>the PvP multiplayer feels like a funny compromise -- a cool Dark Soulsy design risk reskinned to feel like a progression-focused "live" game to make money men happy</li></ul></ul><div>While I think it's just a bit short of brilliant, I still really enjoyed my time with it and look forward to the next Arkane Lyon game and/or Deathloop DLC and/or blockchain battle royale.</div></div>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-23769232723553052532021-11-03T18:41:00.009-04:002021-11-09T07:14:27.230-05:00The Forgotten City (2021) revisited<div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-mC5_fA_k8qM/YYMG6Vztb_I/AAAAAAAAIEc/PHAdsd4DJoEaoJXwfluW6MEYuPtdNnMgACLcBGAsYHQ/s1200/forgottencity2021_2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="675" data-original-width="1200" height="320" src="https://1.bp.blogspot.com/-mC5_fA_k8qM/YYMG6Vztb_I/AAAAAAAAIEc/PHAdsd4DJoEaoJXwfluW6MEYuPtdNnMgACLcBGAsYHQ/w640-h360/forgottencity2021_2.jpg" width="540" /></a></div><p>I've written previously about <a href="https://www.blog.radiator.debacle.us/2013/03/you-sleep-rather-soundly-for-murderer.html" target="_blank">murder in Skyrim</a>, <a href="https://www.blog.radiator.debacle.us/2021/05/open-world-rpg-design-notes-from.html" target="_blank">epic Skyrim fan game Enderal</a>, and <a href="https://www.blog.radiator.debacle.us/2018/06/the-forgotten-city-skyrim-mod-as-dense.html" target="_blank">a very bushy Skyrim mod called The Forgotten City</a>. Since then, the mod makers have remade it into a UE4 standalone time loop first person RPG called... <a href="https://forgottencitygame.com/" target="_blank">The Forgotten City (2021)</a>. </p><p>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.</p><p>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.</p><p><b>SPOILER WARNING: this post spoils much of what happens in The Forgotten City (2021).</b></p><span><a name='more'></a></span><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-gog_SdY7J1Y/YYMJzs-qpeI/AAAAAAAAIFE/pPrZTrxwaCsAk9ygcqs5cIqbxmETpQtQACLcBGAsYHQ/s1920/forgottencity2021_5.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="320" src="https://1.bp.blogspot.com/-gog_SdY7J1Y/YYMJzs-qpeI/AAAAAAAAIFE/pPrZTrxwaCsAk9ygcqs5cIqbxmETpQtQACLcBGAsYHQ/w640-h360/forgottencity2021_5.jpg" width="540" /></a></div><br /><p><b>PREMISE:</b> There's a cursed ancient city where if a single person commits a crime, then everyone dies as a golden statue. Each time this happens, you must time-loop back and reset the city. Eventually you solve various quests / mysteries to free the city from its curse.</p><p></p><ul style="text-align: left;"><li>progress unlocks new dialogue options + shortcuts for future loops</li><li>not a true <a href="https://twitter.com/pentadact/status/1151887660014821377" target="_blank">information game</a>, you can't theoretically reach the best ending instantly on a first run; you still have to complete all the quests and unlock the gates</li><li>time loop implementation: relaxed / bespoke, you retain all items and progression, basically only NPC state gets reset</li><ul><li>This results in one funny dynamic: stealing money triggers the failure state (stealing is a crime) so it seems like the game is discouraging theft right? But then you find out you get to keep the money in the next loop anyway. The punishment is fake; it's what makes stealing fun, like you're getting away with something.</li><li>The game plays with this a little: there's a treasure door that opens only during the fail state. (A hostile NPC statue wakes up, which means you can lure it away from the door.)</li></ul></ul><p></p><p><b>SHINY ART STYLE:</b> The most obvious difference vs its Skyrim mod roots is the art style -- it went from 2011 pre-PBR Skyrim to 2020 UE4 Quixel 4k photoscans with subsurface scatter'd Character Creator NPCs. "It looks better than Skyrim" is a key selling point here, but everything is over-reflective and screaming. The individual assets seem nice, but together they sort of clash -- a random junk prop will have the 4k photogrammetry HDR treatment, overwhelming the nearby gameplay pickup that you're actually supposed to notice. So I'm not sure if it actually looks better (or reads better) than Skyrim in the end. Less would've been more here.</p><b>HISTORICAL SETTING:</b> The underground city is not some random repurposed Skyrim precursor ruins anymore -- now it's a distinctly ancient Greco-Roman pseudo-Pompeii, grounded with many historical details and touches. This Kingdom Come Deliverance / Assassins Creed Origins approach to history ("look at all this detail") works well for the first hour as you marvel at all the random jars of fish oil and household shrines, but eventually, you have to wonder, what's the point of this detail? I suppose it elevates the game into something smarter, but it's also a very superficial treatment of history as a pile of random trivia. This is a shame, because there are times when the design engages with the history more substantially...<div><br /></div><div><a href="https://1.bp.blogspot.com/-f_e7xHIbmis/YYMHHi0C-tI/AAAAAAAAIEg/rhRF7fmrHXM1vHYeZc7DsJfUb29ltBO4QCLcBGAsYHQ/s1920/forgottencity2021_3.jpg" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="1080" data-original-width="1920" height="320" src="https://1.bp.blogspot.com/-f_e7xHIbmis/YYMHHi0C-tI/AAAAAAAAIEg/rhRF7fmrHXM1vHYeZc7DsJfUb29ltBO4QCLcBGAsYHQ/w640-h360/forgottencity2021_3.jpg" width="540" /></a><br /><div><br /><b>MODERN STORYTELLERS:</b> ... like when you first meet a <a href="https://en.wikipedia.org/wiki/Vestal_Virgin" target="_blank">Vestal priestess</a> NPC, she's confused why you're speaking to her directly instead of brokering a formal introduction through a rich patron like in ancient Roman times. And as the Vestal, she administers the local election, and in this ancient Roman city only the male NPC citizens are allowed to vote. So then you have to go talk to the male NPCs and solve their side quests to persuade them to vote for your candidate. Gender, class, and nationality clearly shape your choices.<br /><ul style="text-align: left;"><li>another story critique: every NPC explains the structure of ancient Roman society too readily, when in reality, fish in water cannot describe wetness... but a more subtle approach would've failed against gamers, who have been trained in <a href="https://www.blog.radiator.debacle.us/2018/11/notes-on-sparking-dialogue-great.html" target="_blank">anti-subtext reading-for-gameplay strategies</a>, so I forgive the writers for leaving nothing unsaid -- which extends to the philosopher NPC who exists just to quote Plato's Republic back at you</li></ul><div><b>COMBAT CONCESSIONS: </b>The game's biggest weakness is its slimmed down take on Skyrim combat. You have a bow and you must sneak past / or shoot dozens of zombies in dark tunnels. It's too simplistic for the hour it lasts. The Palace level, in particular, just drags on and on with the same modular tileset and room layouts. In a past era of game design, we complained when combat games had obligatory stealth sections -- now we have story games with obligatory combat sections.</div><ul style="text-align: left;"><li>Before you begin the zombie-filled Palace quest, the game UI helpfully advises, "if you're not a fan of action or horror gameplay, feel free to decline this quest." Interesting approachability / accessibility UX here.</li></ul><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-ixppCwOEGvY/YYMIhmBOeUI/AAAAAAAAIE0/sqSB7k0SsNYbohVcw1t_Cz52NDwE9bH6wCLcBGAsYHQ/s1920/forgottencity2021_4.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1080" data-original-width="1920" height="320" src="https://1.bp.blogspot.com/-ixppCwOEGvY/YYMIhmBOeUI/AAAAAAAAIE0/sqSB7k0SsNYbohVcw1t_Cz52NDwE9bH6wCLcBGAsYHQ/w640-h360/forgottencity2021_4.jpg" width="540" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i>you'll be doing a lot of this: standing on a ledge and taking pot shots at zombies</i></td></tr></tbody></table><br /><div><b>ON THE LEVEL:</b> Room-to-room, wall-to-wall, the world is OK. The main level design issues are on a zoomed-out macro level, where the general pacing and organization felt suboptimal to me.</div><div><ul style="text-align: left;"><li>The underground city doesn't feel quite subterranean since there's so much sunlight. At the same time, the random rock forms above the skybox don't make it feel outdoor enough either. This is the type of video game liminality I usually shrug off (who doesn't love a good combination sewer-warehouse-shrine-Pizza Hut) but it clashes with the game's insistent historical aesthetic. It somehow feels very researched yet implausible, too sparse yet also constrained and cramped.</li><ul><li>The strong sunlight serves 3 functions: (a) look like a pretty RPG place, (b) show off skin pores and subsurface scattering on characters, (c) contrast with dark dusty abandoned modern-day version of the map. </li><li>These 3 features are clearly more important than the cave theming, so here I think the better move would've been to cut the cave stuff and set it in a generic lost valley or something. I mean, they certainly deserve credit for trying to make the sunlit cave paradox work, and maybe for most players it works. But personally I think it's not worth obstructing the horizon like this.</li><li>Later in the game, when you descend underneath the city, it actually does feel much darker and more subterranean. But it would've been too dreary to make the entire game this dim and dark.</li></ul></ul><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-R-hbQM2m5h4/YYMI8cmeMZI/AAAAAAAAIE8/J0ZFB4hKGa04hOIGl3-PINbVCl0ur9B2QCLcBGAsYHQ/s1920/forgottencity2018.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1080" data-original-width="1920" height="320" src="https://1.bp.blogspot.com/-R-hbQM2m5h4/YYMI8cmeMZI/AAAAAAAAIE8/J0ZFB4hKGa04hOIGl3-PINbVCl0ur9B2QCLcBGAsYHQ/w640-h360/forgottencity2018.jpg" width="540" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i>old screenshot of The Forgotten City in 2018; note how much darker it all feels vs. 2021 sunlight pivot</i></td></tr></tbody></table><ul style="text-align: left;"><li>When you first spawn into the time loop and begin the game properly, the nearest side area is a tavern cavern dorm zone. There I was, 5 minutes in, already digging into these random NPCs' bedrooms and uncovering clues about these people I knew nothing about. In level design there's an adage to "show the lock before the key" -- here I'd add "show the NPC before their bedroom."</li><ul><li>The bartender also functions as a "rumors" hint system. This is yet another thing you'd want to pace for later in the playthrough, and not the second NPC you meet after you spawn.</li><li>This whole commoners zone would've worked much better if it were placed far away from the spawn, to discourage premature exploration. Instead the game is like "don't visit that tavern cavern first, wink wink"</li><li>The game does initially attempt to steer you away from the tavern with a confidant NPC who offers to give you a guided tour, and you have to reject his offer like 3 times before the game just lets you go freely. But my hunch is that 50% of players reject the guided tour.</li></ul><li>There's no real public square, so this ancient Greco-Roman city doesn't feel particularly Mediterranean nor city-like. There's some sense of districts, like a market square of 4 shops, a cluster of 3 rich people villas, and a shamefully underutilized amphitheater space. Comparatively, the original Skyrim mod felt like more of a city with more buildings, more organization, more density.</li><ul><li>Worldbuilding wise, it doesn't quite make sense. This community doesn't care about art or theater. Why would they build (and maintain) a big theater space that they never use? What use are shops (or money) when you're trapped in a city with 20 people? The game tries to lampshade this in the NPC dialogue, but the level design is louder.</li><li>A lot of the city feels empty and unused. Felt like they had to cut down 50% of their planned content, which is never easy.</li></ul></ul><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-XNpqjI-qqCc/YYMHWa9dKlI/AAAAAAAAIEo/VyM-ubl5YrsJfwjYDqyWQK3k5p6l8Q_YACLcBGAsYHQ/s1920/forgottencity2021_1.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1080" data-original-width="1920" height="320" src="https://1.bp.blogspot.com/-XNpqjI-qqCc/YYMHWa9dKlI/AAAAAAAAIEo/VyM-ubl5YrsJfwjYDqyWQK3k5p6l8Q_YACLcBGAsYHQ/w640-h360/forgottencity2021_1.jpg" width="540" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i>this big interesting amphitheater space only get used for 1 minute in 1 quest; a pity</i></td></tr></tbody></table><br /><div><b>THE ENDING:</b> is still the same as the mod, it's not great. After completing several quest arcs that culminate with several macguffins, you finally meet the god figure pulling all the strings. The final boss fight is a conversation, and the ultimate weapon is... philosophy and logic!! Take that, god! Unfortunately it didn't really work in the mod and it doesn't really work now either. Planescape Torment's final boss fight conversation works because the god stuff is a metaphor for the protagonist's personal arc <i>-- the final boss isn't god! it's going to therapy! </i>Final Fantasys end with god-killing because that's what changing your life requires! The Forgotten City features a near-total blank slate cypher protagonist with zero personal stakes, and not even the vague Skyrim arc of becoming a foretold messiah. Here, the god stuff symbolizes only god stuff. </div><div><ul style="text-align: left;"><li>This 2021 version even adds a flat epilogue sequence where all the good people live good lives and all the mean people live bad lives, and then the game literally applauds you. This game seems to be about the complex uncertainty of the world / history, and now suddenly that uncertainty is supposed to be completely resolved thanks to you the hero. Weird.</li></ul></div></div><div><b>CONTEXT-FREE: </b>You can probably trace a lot of these problems to one underlying problem that was impossible to solve -- this is a standalone game that doesn't take place within the larger context of Skyrim as a huge gestalt RPG experience. So much of the original mod's charm relied on how it was a commentary on Skyrim's sense of crime and community. Crime in Skyrim has relatively few consequences, and this was a mod that suddenly raised the stakes in the middle of your Skyrim playthrough.</div></div><div><br /></div><div>Still, overall this was a very impressive achievement for just 3 indie developers. <a href="https://www.blog.radiator.debacle.us/2017/10/the-second-death-of-immersive-sim-2007.html" target="_blank">Even AAA has given up on immersive sim RPGs</a>, so any dev deserves praise just for attempting this genre I think. In this case, my praise is a hopefully thoughtful critique that comes from a position of respect and wanting more from it. It's worth playing and thinking about, and I definitely look forward to their next game.</div></div>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-30664171198788153332021-09-04T21:46:00.001-04:002021-09-04T21:46:43.890-04:00new Quake map: Tell Me It's Raining<div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-jjwQnp_NJQI/YTP65UbvUKI/AAAAAAAAH-s/ulO4cCWW8TURChTXhofVz_jSYuoblvN0QCLcBGAsYHQ/s1600/spasm0008.jpg"><img border="0" data-original-height="900" data-original-width="1600" height="320" src="https://1.bp.blogspot.com/-jjwQnp_NJQI/YTP65UbvUKI/AAAAAAAAH-s/ulO4cCWW8TURChTXhofVz_jSYuoblvN0QCLcBGAsYHQ/w640-h360/spasm0008.jpg" width="540" /></a></div><p><i>This post spoils what happens in my Quake map. If you care about that, then you should play it first.</i></p><p><i>NOTE: there are reports that my map crashes FTE Quake, so make sure you use Quakespasm or vkQuake to play. Sorry about that.</i></p><p>"Tell Me It's Raining" is my fifth released Quake single player map, part of the <a href="https://www.celephais.net/board/view_thread.php?id=62095" target="_blank">Alkaline Jam</a> where we all made sci-themed "base" maps with a mod kit called <a href="https://www.quaddicted.com/reviews/alkaline.html" target="_blank">Alkaline</a>.</p><p>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.</p><p>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.</p><span><a name='more'></a></span><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-cbM6fSMDUus/YTP9ey5pz3I/AAAAAAAAH-0/TpsZILW5ImYym4YG_Oku4FPhBfsuiCj5ACLcBGAsYHQ/s1451/iceworld_quake.jpg"><br /><img border="0" data-original-height="725" data-original-width="1451" height="300" src="https://1.bp.blogspot.com/-cbM6fSMDUus/YTP9ey5pz3I/AAAAAAAAH-0/TpsZILW5ImYym4YG_Oku4FPhBfsuiCj5ACLcBGAsYHQ/w640-h320/iceworld_quake.jpg" width="540" /></a></div><p>First, the map has one big inspiration that may or may not go over players' heads. <a href="https://www.blog.radiator.debacle.us/2021/06/new-quake-map-daughter-drink-this-water.html" target="_blank">Last time</a> I adapted Hang 'Em High from Halo 1 for Quake single player, a big wide open outdoor multiplayer killbox. I wanted to continue this process but with a different type of space, a small dense interior -- so for this map, I've adapted the layout from fy_iceworld from Counter-Strike. </p><p>fy_iceworld is somewhat controversial among level designers, <a href="https://www.blog.radiator.debacle.us/2020/04/fyiceworld-feature-for-rps.html" target="_blank">a debate that I documented for Rock Paper Shotgun</a> last year. Some argue it destroys the beauty of Counter-Strike and it's just a lazily decorated killbox with four blocks in it, while others argue the simplicity reveals multitudes of elegant eternal truths about multiplayer map design.</p><p>How do you make fy_iceworld interesting enough for a single player format? I quickly settled on the idea of a wave-based arena map that mostly takes place in one big room, and decided the arena should be constantly reconfiguring itself to keep things fresh enough. Is it still fy_iceworld if you remove one of the blocks? What if you sink one block into a giant vat of urine? etc.</p><p>The title "Tell Me It's Raining" comes from a pop culture catchphrase from a US TV judge named <a href="https://en.wikipedia.org/wiki/Judge_Judy" target="_blank">Judge Judy</a>, who would often warn litigants, "don't pee on my leg and tell me it's raining." My first instinct, for some reason, was to make a urine-themed piss temple draped in gold. But I quickly realized that without specular, all the matte yellow metal just read as Egyptian-themed sandstone or at best a typical Quake brown-yellow-beige sci-fi base. So much of Quake is already piss-themed! My carefully constructed piss pool also looked too much like radioactive slime, even though, you know, pee is generally sterile, so my dreams of encouraging Quake players to bathe in piss were thwarted. The water is now boring and blue.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-76hUiR9pt7A/YTQACqX0kaI/AAAAAAAAH-8/-KEhunPOR-Albuv9wWu7L33yZCy17BSCQCLcBGAsYHQ/s798/alkjam_elevators.gif"><img border="0" data-original-height="450" data-original-width="798" height="320" src="https://1.bp.blogspot.com/-76hUiR9pt7A/YTQACqX0kaI/AAAAAAAAH-8/-KEhunPOR-Albuv9wWu7L33yZCy17BSCQCLcBGAsYHQ/w640-h360/alkjam_elevators.gif" width="540" /></a></div><p>I also tried to tackle another design weakness of mine -- I rely a lot on fights with shotguns. So here I completely omit the shotgun and nailgun from this map, and only provide Alkaline's new plasma weapons, and then later some grenades and rockets. But giving the player some of the most powerful weapons in the game, right from the beginning, quickly led to pacing problems. Mowing down 5 grunts with a plasma gun felt trivial; clearing 10 grunts used all the player's ammo; only like 15 grunts could actually force the player to run. From there, I escalated everything too much, spawning too many monsters in too dense of a space.</p><p></p><table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left;"><tbody><tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-zIk3X68ofq0/YTQLndKDZRI/AAAAAAAAH_g/6FZLZoyQJ4cfAzhD74CHX4rhUZ9JgK6YgCLcBGAsYHQ/s608/alkjam_entities.jpg" style="clear: left; margin-bottom: 0.25em; margin-left: 0px; margin-right: 16px;"><img border="0" data-original-height="471" data-original-width="608" height="155" src="https://1.bp.blogspot.com/-zIk3X68ofq0/YTQLndKDZRI/AAAAAAAAH_g/6FZLZoyQJ4cfAzhD74CHX4rhUZ9JgK6YgCLcBGAsYHQ/w200-h155/alkjam_entities.jpg" width="200" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><i>scripting the wave logic<br />was very painful</i></td></tr></tbody></table>Quake mapping culture generally looks down on wave-based survival arena maps -- dropping a bunch of monsters in a room is thought to be lazy encounter design, and most of the surviving Quake audience today strongly prefers to explore large sprawling maps with hand-tuned encounters. These huge labor-intensive maps are hard to make for a variety of reasons, but in this particular context, the most relevant problem is that playtesting the same hand-tuned encounter repeatedly quickly drains its charm and it becomes difficult to gauge whether it's still interesting or not. Compared to that, a big horde in an open space has more replay value and survives the dev grind a bit better. Combined with dynamic map geometry, my personal playtests felt slightly less painful, and making the last 5% of this map felt a bit fresher than my previous maps.<p></p><p>But the dynamic blocks in the middle of the room led to a vertical flow problem -- playtesters would rarely jump on the rising blocks, and usually keep doing their circuits around the floor area, just like so many Counter-Strike and Call of Duty players before them. To try to push players upwards, I activate low gravity on wave 7 of 10. And after I watched another playtester stubbornly manage to never jump at all,and thus never engage with the low gravity, I added some ramps to interrupt the player's circuit and force them to get a bit airborne.</p><p>The bigger problem with low gravity in Quake is how to keep the combat still interesting. Ogres and fiends become comically useless, while hit scan monsters like grunts and shamblers become way too strong against a helpless player gently drifting through the air. I added some flying enemies who can chase the player, and make use of Alkaline's new rocket ogres. The only hit scan monsters in this map are near the end, when I spawn 1-2 "arachnofloyds" (jumping lightning robot crabs) as a boss.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-VHYIm9SoVAs/YTQF9iy_HSI/AAAAAAAAH_E/-CZxtNXyMmcgE_8veVGiFllUhnFlaQrVACLcBGAsYHQ/s1600/spasm0003.png"><img border="0" data-original-height="900" data-original-width="1600" height="320" src="https://1.bp.blogspot.com/-VHYIm9SoVAs/YTQF9iy_HSI/AAAAAAAAH_E/-CZxtNXyMmcgE_8veVGiFllUhnFlaQrVACLcBGAsYHQ/w640-h360/spasm0003.png" width="540" /></a></div><p>To support the somewhat dense monster count (~150 monsters on Normal, 200+ on Hard) much of the ammo and health around the arena respawns after 45-60 seconds. That's long enough that you can't just stay there and camp the same spot, and short enough where it'll usually respawn by the time you've made your rounds again. There's also a respawning quad damage in the middle of the arena, my fusion of fy_iceworld's funny buyzone placement and Sandy Petersen's liberal use of quad damages. The hope here is that for particularly hard waves, players will take a risk to penetrate through the mob, grab the quad, and then go on a quad run.</p><p>Once I finished most of the encounter design, I was surprised at how intense and combat-heavy the map had become. I had planned all these little platforming sections and puzzles to make use of the dynamic blocks; the 4 map secrets correspond to 4 collectible circuitboards which unlock arrays of shootable buttons that let you raise or lower each block at a whim. But now with so much combat and escalation, there was no downtime to explore or take advantage of this system. At the same time, I couldn't pad out the delay between the waves for too long -- it would feel like a loading screen rather than an opportunity to walk around. So a lot of this map's features and verticality ended up feeling like a waste.</p><p>Despite these flaws, I think this level has a solid ending. After wave 10, the whole sequence breaks down and the observation windows burst. With a well-timed low gravity jump, the player can now escape the arena and fight through the scientists' lab to escape in a way that evokes Portal. </p><p>This is my nod to my audience -- I understand they don't like wave-based arenas and they don't like fy_iceworld, so now I'm letting them break the map and massacre the scientists who forced them to go through all that shit... an arena level about how Quake players don't like arena levels.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-7TrcBsUv7PI/YTQK1pFZBWI/AAAAAAAAH_Q/4FdbpgnSAdQLLmW35QWAwLH0Eq0FZGxHQCLcBGAsYHQ/s1600/spasm0009.jpg"><img border="0" data-original-height="900" data-original-width="1600" height="320" src="https://1.bp.blogspot.com/-7TrcBsUv7PI/YTQK1pFZBWI/AAAAAAAAH_Q/4FdbpgnSAdQLLmW35QWAwLH0Eq0FZGxHQCLcBGAsYHQ/w640-h360/spasm0009.jpg" width="540" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-dL3Vs-2adOk/YTQK7rB3KII/AAAAAAAAH_U/zm-tzBE8jpoePc7LvH9Jbup0Ng4aUCSxACLcBGAsYHQ/s1600/spasm0007.jpg"><img border="0" data-original-height="900" data-original-width="1600" height="320" src="https://1.bp.blogspot.com/-dL3Vs-2adOk/YTQK7rB3KII/AAAAAAAAH_U/zm-tzBE8jpoePc7LvH9Jbup0Ng4aUCSxACLcBGAsYHQ/w640-h360/spasm0007.jpg" width="540" /></a></div><p>Big thanks for Greenwood for organizing the jam, bmFbr for scripting help, and beta testers alexUnder, Zothique, Greenwood, dougm_nyc, unghabungha, and Nostalgick.<br /></p><p>Check out this map as well as the many other sci-fi Quake maps in the Alkaline Jam pack, available now. <a href="https://www.celephais.net/board/view_thread.php?id=62095" target="_blank">Download and discuss at func_msgboard</a>, or whenever it gets posted on Quaddicted.<br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-TkmlIU0WMs0/YTQKtLjSt8I/AAAAAAAAH_M/RdTVrWceULgNHA5Ltc61pdgsqS9T7p2IQCLcBGAsYHQ/s1920/alkaline_jam.jpg"><img border="0" data-original-height="1080" data-original-width="1920" height="320" src="https://1.bp.blogspot.com/-TkmlIU0WMs0/YTQKtLjSt8I/AAAAAAAAH_M/RdTVrWceULgNHA5Ltc61pdgsqS9T7p2IQCLcBGAsYHQ/w640-h360/alkaline_jam.jpg" width="540" /></a></div>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.comtag:blogger.com,1999:blog-1130622109425093301.post-74273015976115834172021-08-25T21:15:00.007-04:002021-08-25T22:53:58.810-04:00"Quake Renaissance" for Rock Paper Shotgun<div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-uBmYElCsqmM/YSbn51Xh0sI/AAAAAAAAH98/Wod-Ukk3ZUQ3bjZxH2c-YDqSCt17wp5JwCLcBGAsYHQ/s2633/quakeRenn.jpg"><img border="0" data-original-height="1195" data-original-width="2633" height="250" src="https://1.bp.blogspot.com/-uBmYElCsqmM/YSbn51Xh0sI/AAAAAAAAH98/Wod-Ukk3ZUQ3bjZxH2c-YDqSCt17wp5JwCLcBGAsYHQ/w640-h290/quakeRenn.jpg" width="540" /></a></div><p>For Rock Paper Shotgun, I recently wrote a three-part series <a href="https://www.rockpapershotgun.com/topics/quake-renaissance" target="_blank">"Quake Renaissance"</a>.</p><p><a href="https://www.rockpapershotgun.com/quake-renaissance-where-is-quake-and-how-did-it-get-here" target="_blank">Part 1</a> is an industry history of Quake's cursed development at id Software, <a href="https://www.rockpapershotgun.com/quake-renaissance-a-short-history-of-25-years-of-quake-modding" target="_blank">Part 2</a> is a primer to 25 years of Quake community modding, and lastly <a href="https://www.rockpapershotgun.com/quake-renaissance-how-to-start-playing-quake" target="_blank">Part 3</a> is a how-to guide for getting into Quake and enjoying its mods.</p><p>This series had some goals:</p><span><a name='more'></a></span><ul style="text-align: left;"><li><b>Address a complex disparate audience.</b> I had to somehow appease hardcore Quake nerds AND interest a general gamer readership who thinks Quake is boring. Ideally, try to convince the latter that Quake is worth thinking about.</li><li><b>Push against typical game industry histories</b> ("the great men of id Software") by showing how deeply flawed all these famous developers were + highlight a community history approach. Hell has no gods.</li><li><b>Write the type of history that the average academic, fan, or developer wouldn't be able to write alone</b>, by combining all their approaches. I tried to respect the deep engagement of a fan, use the technical knowledge of a dev, and maintain the critical distance of an academic.</li><li><b>Revise my <a href="https://www.rockpapershotgun.com/a-peoples-history-of-the-fps-part-1-the-wad" target="_blank">earlier writing about mod communities</a>.</b> The retro modders of the 2010s are very different from the teen modders of the 1990s, with contrasting motivations and resources. People (and the world) change a lot in 20 years.</li><li><b>Show how Quake community is surprisingly anarchist / radical</b> -- they have complete control over themselves, from their social hubs to their source code to their dev tools. They basically own their own game -- a warning for today's modern game communities that have very little ownership or control, and thus will watch their culture die off quickly, assuming they ever even thought of themselves as a community in the first place.</li><li><b>Interview current community members </b>and synthesize their perspectives to try to capture the current zeitgeist. While I appreciate "oral history" approaches at Polygon like with their <a href="https://www.polygon.com/2019/3/27/18281082/elder-scrolls-morrowind-oral-history-bethesda" target="_blank">Morrowind roundtable</a>, this type of format is, less charitably, just a <strike>lazy</strike> loosely organized transcript with minimal analysis.</li><li><b>Write the Quake guide I needed myself a few years ago. </b>There are plenty of "how to install Quake" guides, but I think the real barrier is actually the culture. What are people playing and talking about? How do you read and understand each mod? Newbies need more help with curation and interpretation, rather than technical know-how.</li></ul><div>I think I was successful enough on most of those points, but I didn't quite hit the mark on that first bullet. </div><div><br /></div><div>Writing part 2 was difficult. Fans want to see proper credits and name dropping and arcane references, they want to be acknowledged and to be seen. But dumping a bunch of names and links on a newcomer / regular person doesn't actually help them understand anything about the culture either. </div><div><br /></div><div>In the end, I couldn't quite synthesize these two disparate audiences together, and so each section sits awkwardly with a "link dump" half and then an "actual analysis" half. If I had another month of energy, I could've tried to throw it all away and rewrite everything with a new structure, but writing the current draft was already so exhausting. This is the curse of being a mediocre writer -- knowing enough to communicate ideas and see the problems, but not having the time and/or skill to solve them elegantly or beautifully.</div><div><br /></div><div>(I think my <a href="https://www.rockpapershotgun.com/the-legacy-of-fy_iceworld-counter-strikes-divisive-and-hugely-popular-custom-map" target="_blank">previous retro FPS culture writing for RPS about a single Counter-Strike map fy_iceworld</a> was a lot more elegant and focused with a stronger hook. It felt a lot better to write and to read. The audience felt more coherent to me too. Maybe the problem was more that I was trying to do too much with this series here? Oh well, I'll live with it.)</div><div><br /></div><div>The publishing schedule was timed to coincide with QuakeCon 2021. Thus it also coincides with the <a href="https://www.rockpapershotgun.com/quake-gets-a-new-expansion-enhanced-graphics-and-splitscreen-multiplayer-for-its-birthday" target="_blank">2021 Quake remaster rerelease</a>, which makes for an interesting contrast. Should the community embrace this remaster and cooperate actively with Bethesda, or should it stay suspicious and protect itself when Bethesda inevitably loses interest? In another 5-10 years, we may look back on this moment as the beginning of an even higher renaissance -- or perhaps the end of it.</div><div><br /></div><div>Thanks to RPS editor Alice Bell for help with word wrangling, and thanks to all the Quake community members consulted for the series. And extra special thanks to <a href="https://twitter.com/makkon_art" target="_blank">Ben "Makkon" Hale</a>, who made the amazing Quake logo renders you see in the articles.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-FunP_I5MIbw/YScCB-Q7k8I/AAAAAAAAH-E/XnqUW79a618K7RxODqEZPvZV8GBeRk-yQCLcBGAsYHQ/s1600/quakeRock_BenHale.jpg" imageanchor="1"><img border="0" data-original-height="900" data-original-width="1600" height="320" src="https://1.bp.blogspot.com/-FunP_I5MIbw/YScCB-Q7k8I/AAAAAAAAH-E/XnqUW79a618K7RxODqEZPvZV8GBeRk-yQCLcBGAsYHQ/w640-h360/quakeRock_BenHale.jpg" width="540" /></a></div><div><br />EDIT: for anyone's curiosity, I've pasted below my raw working "Quake community timeline" from my writing notes. Sadly I had to simplify a lot and cut a lot for the final article:<br /><div></div><blockquote><div><i><b>Early Period, 1996-2001: pan-Quake unification, shared community and assets</b></i></div><div><i>Zerstorer: Testament of the Destroyer</i></div><div><i>IKSPQ, "ikblue" style</i></div><div><i>Beyond Belief https://www.quaddicted.com/reviews/bbelief.html</i></div><div><i>Team Fortress, Threewave CTF</i></div><div><i>Fantasy Quake</i></div><div><i>The Shadow Over Innsmouth</i></div><div><i>The Nehahra Project</i></div><div><i>Insomnia https://www.quaddicted.com/reviews/czg07.html</i></div><div><i>PlanetQuake begins (1997)</i></div><div><i>Quake 2 (1997)</i></div><div><i>QBoard (1998-2001?)</i></div><div><i>Quake 3 Arena (1999)</i></div><div><i>QMap (2000-2002)</i></div><div><i>Speedmaps begin (2001)</i></div><div><i><br /></i></div><div><i><b>Transitional Period, 2002-2004: relating Quake to larger game industry context, source port graphics enhancements</b></i></div><div><i>The Castle of Koohoo</i></div><div><i>Soul of Evil</i></div><div><i>The Marcher Fortress https://www.quaddicted.com/reviews/kinn_marcher.html</i></div><div><i>Contract Revoked / Knave</i></div><div><i>GeoComp2 (2002) -- Quake 3 Arena / bsp level design at high modernist apex</i></div><div><i>Func_msgboard founded (2002)</i></div><div><i>Fitzquake (2002-2009)</i></div><div><i>DarkPlaces (2002-2014)</i></div><div><i>Doom 3 (2004)</i></div><div><i><br /></i></div><div><i><b>Pre-Modern, 2005-2009: Quake 1 soul-searching, facing end of history, re-commit to retro</b></i></div><div><i>Quake 4 (2005) disappoints everyone</i></div><div><i>Quoth: the first major framework mod, "platform mod"?</i></div><div><i>Quaddicted founded (2005)</i></div><div><i>Warpspasm (2007) https://www.quaddicted.com/reviews/warpspasm.html</i></div><div><i>Travail (2007) https://www.quaddicted.com/reviews/travail.html</i></div><div><i>PlanetQuake closes (2009), commercial community hubs can't be trusted to preserve?</i></div><div><i><br /></i></div><div><i><b>Early Renaissance, 2010-2016: new faith and preservation, formal end of DarkPlaces</b></i></div><div><i>Tronyn's history (2010)... the community is old enough to look back on itself</i></div><div><i>Quakespasm (2010)</i></div><div><i>Rubicon 2 (2011)</i></div><div><i>Honey (2012)</i></div><div><i>Something Wicked This Way Comes (2012) https://www.quaddicted.com/reviews/something_wicked.html</i></div><div><i>bsp2 file format (2012+)</i></div><div><i>J.A.C.K editor released, becomes main editor of choice (2013)</i></div><div><i>func_mapjams begin (2014)</i></div><div><i>Retrojams begin (2014-2017)</i></div><div><i>DarkPlaces last update (2014); irrelevant vs Unity / UDK / UE4</i></div><div><i>Sock's maps (2013+) "The Horde of Zendar", Arcane Dimensions (2015-2021); contemporary echo of Nehahra? Quake 2 / Quake 3 people returning to Quake 1?</i></div><div><i><br /></i></div><div><i><b>Renaissance, 2017+: flood of new blood, tools, interest</b></i></div><div><i>AD: "The Forgotten Sepulcher" (2017)</i></div><div><i>AD: "Tears of the False God" (2020)</i></div><div><i>Trenchbroom v2 released, becomes main editor of choice (2017)</i></div><div><i>Quake Mapping Discord (2018) as strongly-moderated place for newcomers</i></div><div><i>big revival of Speedmapping (2018)</i></div><div><i>Copper (2019) as direct critique of vanilla Quake</i></div><div><i>Makkon texture set (2020), AAA workflow that's still "faithful"</i></div><div><i>Dwell (2020), Alkaline (2021)</i></div><div><i><br /></i></div><div><i><b>End of the Renaissance: when? it'll happen, don't panic, might already be here</b></i></div></blockquote><div></div></div><p></p>Robert Yanghttp://www.blogger.com/profile/05595128450637115574noreply@blogger.com