Atom feed Latest essays

YouTube broke links and other life lessons

  • Posted in cyber

This morning YouTube sent out an announcement that, in one month, they’re going to break all the links to all unlisted videos posted prior to 2017. This is a bad thing. There’s a whole lot bad here, actually.

Edit: Looks like Google is applying similar changes to Google Drive, too, meaning this doesn’t just apply to videos, but to any publicly shared file link using Google Drive. As of next month, every public Google Drive link will stop working unless the files are individually exempted from the new security updates, meaning any unmaintained public files will become permanently inaccessible. Everything in this article still applies, the situation is just much worse than I thought.

The Basics

YouTube has three kinds of videos: Public, Unlisted, and Private. Public videos are the standard videos that show up in searches. Private videos are protected, and can only be seen by specific YouTube accounts you explicitly invite. Unlisted videos are simply unlisted: anyone with the link can view, but the video doesn’t turn up automatically in search results.

Unlisted videos are obviously great, for a lot of reasons. You can just upload videos to YouTube and share them with relevant communities — embed them on your pages, maybe — without worrying about all the baggage of YouTube as a Platform.

What Google is trying to do here is roll out improvements they made to the unlisted URL generation system to make it harder for bots and scrapers to index videos people meant to be semi-private. This is a good thing. The way they’re doing it breaks every link to the vast majority of unlisted videos, including shared links and webpage embeds. This is a tremendously bad thing. I am not the first to notice this.

See, I just kind of sighed when I saw this, because this isn’t the first time I’ve lived through it. On March 15, 2017, Dropbox killed their public folder. Prior to that, Dropbox had a service where you could upload files to a special “Public” folder. This let you easily share links to those files with anyone — or groups of people — without having to explicitly invite them by email, and make them register a Dropbox account. Sound familiar?

Twitter Blue is a late-stage symptom

  • Posted in cyber

Twitter Blue! $5/mo for Premium Twitter. It’s the latest thing that simply everyone.

News articles about twitter blue

I have an issue with it, but over a very fundamental point, and one Twitter shares with a lot of other platforms. So here’s why it’s bad that Twitter decided to put accessibility features behind a paywall, and it isn’t the obvious.

Client/Server architecture in 5 seconds

All web services, Twitter included, aren’t just one big magic thing. You can model how web apps work as two broad categories: the client and the server. The client handles all your input and output: posts you make, posts you see, things you can do. The server handles most of the real logic: what information gets sent to the client, how posts are stored, who is allowed to log in as what accounts, etc.

Trouble a-brewin' at Redbubble

  • Posted in fandom

Homestuck is once again lit up over fan merch. Homestuck and fan merch have a long and troubled history, but this latest incident is between artists, Redbubble, and Viz media. Here are my thoughts on that!

In late May 2021, artists who sold Homestuck merch on Redbubble got this email:

Dear [name],

Thank you for submitting your fan art for Homestuck and/or Hiveswap as part of Redbubble’s Fan Art Partner Program.

At this time, our partnership with the rights holder VIZ Media has come to an end. When a partnership expires, we are required to remove officially approved artworks from the marketplace. This means that your Homestuck and/or Hiveswap designs will be removed from Redbubble soon.

Here are a couple of things to keep in mind:

  • It is important to know that licensors do not allow previously approved designs once sold on Redbubble to be sold on any other platform, even after the program ends.
  • Because this removal is not in response to a complaint, your account will not be negatively impacted.

Partnerships come and go, but don’t worry. We’re looking forward to partnering with more awesome brands in the future.

Check out our Current Brand Partnerships list to see all the properties that are actively accepting submissions. For additional information, we recommend checking out the Fan Art Partner Program FAQ.

Thank you, Redbubble

This hit a lot of people, and hit them hard:

Rut-roh!

Unfortunately for Twitter and brevity this is actually the intersection of a couple different complicated issues, which I’ll try to summarize here.

Just gonna get this one out of the way right off the bat. Copyright law gives IP owners a tremendous amount of power over what’s done with their characters and designs, even extending far into derivative fanart. If you own Homestuck, you actually can take someone to court over selling merch of their fantroll, and probably win. That’s not a great starting point, but it’s the truth.

Eevee has a great write-up of why this is bad. I’d also point you to Tom Scott’s video about how copyright law isn’t designed for intermediate platforms like Redbubble, but suffice it to say, yeah, copyright law really sucks for fanartists, actually.

This is the most complex thing going on here, certainly, but it’s not new and interesting. What is new and interesting, though, is

Redbubble forcing predatory licensing on people

Now, copyright law sucks for fanartists, but that doesn’t explain what happened here.

Positioning Things in Ren'py

  • Posted in dev

As is common in Python, the mechanical process of displaying something on screen in Ren’py is at once easy to execute and deceptively complicated to execute correctly.

The Ren’py documentation does a fine job of defining the specifications of position properties, but intuitively understanding how to use those properties can still be hard because it doesn’t include much in the way of examples or elaboration, so here are some of those.

Your basic properties

These names come directly from atl transform on the documentation. Note that these are generally parallel with the style properties of the same names.

W.D. Gaster and fake depth

  • Posted in fandom

or, “W.D. Gaster undercuts Undertale’s cohesiveness as a work”

When I wrote The Raphael Parable, I updated it with a little ARG. “The ARG Update”, I called it. There were scattered clues, and a puzzle, and secret notes so the diligent scavenger could piece together what really happened. Except nothing did really happen. There wasn’t a story I wanted to tell, there wasn’t an interesting mystery to solve, there were just clues tied to more clues tied to an arbitrary ending. It was the trappings of mystery without any of the meaning.

Petscop, on the other hand, has a substantial depth to it because it keeps tying itself to reality. The viewer is given a real person recording themselves playing a game. It’s set in our world. The game itself seems to be intricately tied to real-world events; too. Disappearances, the player’s family, even the YouTube account managing the videos. Petscop tells a deep mystery story because the mystery is backed by a story: a death, an abuse, a revenge. There’s meat to the mystery.

Sans (Undertale) is a fun character. He’s spooky. He breaks an unbreakable log, he teleports, he’s figured out something about the timelines. Then there’s a fight with Sans, where he’s very tough and has a gun. Then he needed a backstory for his gun and science, and we got Gaster, who is almost those things. Gaster was a fun idea, though, so he got some extra Easter eggs. We get room_gaster, the gaster followers, Mysteryman, the wrong number song, and the sound test. He’s fun, and mysterious, and ended up carrying most of the mysterious lore bits of Undertale that were never quite explained.

The Hiveswap Fiasco – 2020-2021

  • Posted in fandom

This point, early October 2020, is when I originally published this article. Time keeps ticking on, and Hiveswap updates continue to slowly drip out.

October 2020

Act 2 Trailer

A new trailer is posted for Hiveswap Act 2. It opens with “years ago, but not many” as a reference to how slow the development process has been going, I guess?

Hiveswap Act 2 is delayed to November 2020.

Hiveswap.com is also updated with a more “streamlined” design. The new design removes many links to other projects and independent artists that were previously only accessible through the Hiveswap home page, so all of that content is now inaccessible unless you have a direct link already.

In the background, the entire whatpumpkin.com domain now force-redirects to hiveswap.com, breaking innumerable important links like this one and this one and that one.

New Troll

The new website also has a screenshot with this troll who has not previously been seen in promotional material or as part of the Troll Call. This is Fefsprites’ fantroll Idarat Catlaz, in the game due to them winning the comic contest. Nice!

How we made Befriendus Ludicrously Accessible

  • Posted in dev

Befriendus; everybody’s favorite visual novel about making alien friends. It’s got trolls, yes, but it also has a slew of accessibility options. You can adjust everything: color, font, motion, even spelling. It’s clean, it’s easy, and it works. Here’s how we did it.

Befriendus in-game menu, with accessibility options

When I was designing the basic accessibility framework I had these principles in mind:

  • Accessible scripts must be easy to write; work should never be duplicated
    • Demanding people write multiple versions of work is bad design and encourages accessibility to eventually be dropped in favour of efficient production
  • Humans should never do postprocessing tasks
    • We’re writing software; a computer should do any and all mechanical work, not writers
  • Accessibility options should have as granular control as possible
    • Whenever possible, players should be able to select exactly what they need, not be forced to use something that doesn’t match their needs.
    • Options should be compatible with each other whenever possible
    • Just pushing out transcripts is not accessible design.

The best way to explain these is probably to explain what we ended up doing, and how each design choice was made carefully in accordance with those principles.

VR First Thoughts

  • Posted in gaming

I got myself an Oculus Quest 2 a couple weeks ago on a recommendation, and I have some thoughts! If you haven’t done VR before (like me, before I had my first thoughts) you might be wondering what you might notice besides the obvious. So, here are my observations, in no particular order.

Haptic feedback is really important

Haptic feedback is really important. Even though it’s just vibration, the difference between feeling something and feeling nothing when you touch things is worlds. The vibration does a decent job of simulating the feeling of resistance and letting you “feel out” the world, which is very important in games where the alternative is getting your prop stuck in a shelf.

You can actually stream games and it works

When I first saw that the recommended way to play PC games was over local wifi, I thought “no way. There’s no way you can get a high-quality video stream at that resolution with those latency requirements over wifi. I’m going to get a good USB cable and stream directly at 300 mbps and it’ll be excellent.” Turns out, no! With my (fairly normal) router, Virtual Desktop can stream a steady game at 1832x1920@60fps x2 over ~70 mbps with an imperceptible loss in quality. (Those numbers mean it’s good.) The connection is actually way more reliable than using the USB connection, and the Virtual Desktop app has a unified game launcher for both Rift and Steam which works great. If you look closely at dark areas you can see some artifacts, but in general I think this is a case where the video compression is extremely effective.

Stanley and the Death of Sourcemods

  • Posted in gaming

My first published, “successful” piece of game content was The Raphael Parable, a little exploration game about wandering through an impossible office. I use the word “content”, here because The Raphael Parable isn’t a game per se, but it’s a mod for the Steam release of The Stanley Parable that bootstraps the assets and mechanics to create a totally different game.

A new version of The Stanley Parable is releasing soon: The Stanley Parable: Ultra Deluxe is slated to be a remake with improved graphics, new endings, and console support. When I first saw this, I thought it would be a fun opportunity to go back to The Raphael Parable and tighten up some of the work that didn’t age well (I slapped it together pretty quickly, in hindsight, and it shows in places) as a new mod for the new version of the game.

"I love my car, I just hate my engine" Unity logo mug “I love my car, I just hate my engine”

Unfortunately, I quickly realized this was a non-starter for one simple reason: Unity. Ultra Deluxe is made by crowscrowscrows in Unity, which unfortunately stops this iterative development in its tracks. Let me explain:

The Weird Genealogy of The Raphael Parable

The Stanley Parable itself started as a mod. The original published version is a Half-Life 2 mod from 2011, of which the 2013 Steam release is an HD remix. The Source Engine, which Half-Life 2 is built on, makes it easy to author a set of new maps and release it as a “sourcemod”. Sourcemods are a fascinating artifact of Valve history, and function as a kind of mod support for source games built directly into the Steam client. Davey Wreden did exactly this to make The Stanley Parable; he took the basic 3D engine and a few generic office-themed assets and made a completely new experience.

More on the Hiveswap Odd Gentlemen Debacle

  • Posted in fandom

When I wrote the Hiveswap article, I left a note asking for people to contact me if there were any facts I got wrong or major events I missed. A number of people took me up on that, which I am thankful for.

However, there was one big report I got that was too significant to just edit into the article. Because these allegations were new, and from a credible source, I thought they warranted their own article and research.

By the request of the source (because Andrew is known to be aggressively litigious), I have edited our conversation into a synthetic document summarizing their position. This is a summary of the claims from the source to preserve their anonymity and ensure clarity. I am not yet asserting anything, just stating what the source said; I’ll hold my personal comments until after the whole thing. Here is that report:


Supposedly: What actually happened with The Odd Gentlemen

The biggest reason there’s an NDA in place about The Odd Gentlemen’s involvement is that Andrew wanted to cover up the fact that much of the blame is on Andrew’s failure to deliver a workable plan to the studio in the agreed-upon schedule.

While parts of the ipgd post are true, the post distorts what happened into a story designed to make Andrew look like he did no wrong. What actually happened is this: