GioCities

blogs by Gio

Atom feed Recent posts

politics Twitter Blue is a late-stage symptom

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.

fandom 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.

Redbubble forcing predatory licensing on people🔗

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

dev 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.

fandom 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.

dev 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.

gaming 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.

dev Stanley and the Death of Sourcemods

  • Posted in dev

My first published, “successful” piece of game content was The Raphael Parable, a little exploration game about exploring an impossible office. I say “game content” here because The Raphael Parable isn’t a game per se, but a map. 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“. 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.

fandom More on the Hiveswap Odd Gentlemen Debacle

  • Posted in fandom

EDIT 2021-04-13:

As of Kickstarter Update #36, What Pumpkin made the following statement about the accuser from this article: (They didn’t tell you it was the source in this article, I’m telling you that)

As an addendum, WP has identified the primary source of a disclosure to a well-circulated document of the Hiveswap development process. WP has been aware of a pattern of false claims this former employee has made since the end of their employment at the beginning of 2014. As this individual was not present during the end of the development contract with GC, nor the WP NYC development period, all of the information they have shared is based on speculation and conjecture.

There is a detailed analysis of this update in The Hiveswap Fiasco, but to summarize:

According to What Pumpkin, this is a disgruntled ex-employee who left the team in early 2014, meaning anything they said later than that is speculation. In addition to the obvious — that a whistleblower doesn’t like the practices they’re whistleblowing — this would mean they were not privy to the events of 2014 or later, making anything they said about that only semi-informed speculation.

This makes sense. Many of the claims made here early in the timeline turned out to be correct, and even verified by What Pumpkin later on. Some of the later ones seem incorrect; semi-informed exaggerations to make a point. As with everything else, I will note which claims are dubious. It is entirely possible some of this information was provided in bad faith, but some of still holds up.

In the same Kickstarter update, though, they explicitly confirm a significant amount of the news I broke, including multiple major points in this very article! I have also noted those cases.


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.

For the rest of the story about Hiveswap, see The Hiveswap Fiasco, to which this is a kind of sequel.

By the request of the source (because Andrew is known to be aggressively litigious), I have edited our conversation into a synthetic document. 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:


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:

politics Tweets about the attack on the Capitol

Twitter is an ephemeral medium. You scroll through tweets just fast enough for them to register in your head, and then they’re gone forever. If you want to find something again, you can go to somebody’s profile and scroll through, one tweet at a time, until you find what you wanted.

This is a lousy way of capturing history. That’s not great, because Twitter does such a good job of capturing important moments, as they happen. If you want to save that moment, though, what can you do? What do you do if you think a day’s tweets are important? Print them out?

Well, I did. Here is what I tweeted and retweeted, on a page. Tactile. To be read.