[ Content | Sidebar ]

internet media and false familiarity

December 13th, 2020

One thing I see periodically on Twitter these days is people who are Twitter-popular but not full-on celebrities complaining about the responses that they get. Maybe it’s somebody providing the 20th identical answer to a question, maybe it’s getting dozens of bad joke responses, maybe it’s a respondent acting overly familiar, maybe it’s a respondent assuming that the original poster should care specifically about what that respondent says.

This sort of behavior is a pretty natural consequence of the way Twitter is designed: it gives you a way to let your friends know what you’re up to, to chat with them. That’s not the only way to use Twitter, but if you’re posting that way, then part of people’s brains are going to read you that way, and so as a result, as a reader of somebody’s feed, you can feel like you’ve got a personal connection with somebody who has never heard of you, who has no reason to care about you specifically.

Which, honestly, feels to me like a hard design problem to solve? So I don’t necessarily want to come down hard on either Twitter or overly familiar repliers for that situation. (Though there’s no excuse for being an asshole, don’t get me wrong, lots of repliers are toxic in ways that are amplified by a feeling of anonymity rather than a feeling of personal connection.) I’m sure that doesn’t make it fun to be on the receiving end of such behavior, though, and I’m thinking more about whether and how I reply now than I did three or five years ago.

 

And, now that I’m more sensitized to this question of false familiarity, I’m seeing it in other places, too, in podcasts, in particular. Don’t get me wrong, it’s good for the hosts in multi-person podcasts to have good chemistry, to enjoy talking to each other, and to care about each other. But when they start talking about their daily lives, there’s a human part of my brain that likes that, sensing human connection, before I realize that I actually don’t have any real connection to these people, and that, at a certain level, this whole thing is creepy!

Not that it’s necessarily me that’s being creepy, I don’t actually act like I know these people: it’s more a context that encourages a creepy feeling. And a context that many podcast hosts actively play into; now that I’m more aware of that, I respect those podcasts less.

The other behavior from podcast hosts that plays into this is when the hosts spend significant amounts of time talking about things they like that are outside of their scope of expertise. (Video game podcasts where the hosts also talk about their favorite movies, or whatever.) It’s nice to talk with friends about whatever we’re into, and I actually kind of appreciate hearing a bit about that sort of thing on Twitter: there’s some virtue in getting ambient art recommendations from non-experts. But at podcast discussion length, the calculus changes: just because I want to spend time listing to, say, programming experts talk about programming, that doesn’t mean that I want to spend significant amounts of my time listening those same people talk about other stuff.

And it certainly doesn’t mean that I want to listen to those people spend entire shows talking about stuff that they don’t know anything more about than I do or my friends do! That kind of thing is great for shooting the breeze with my coworkers about, but if you, say, look at the Relay FM show list, it’s a bizarre list of shows that are genuinely informative next to shows where those same people are talking about stuff that they don’t know anything more about than some random person on the internet. Not to pick on Relay FM, it’s just the first example that came to mind, and if they can get listeners and advertisers, then more power to them, I guess? But that sort of thing is starting to feel like an unhealthy way for me to spend my time.

 

Not that this sort of artificial familiarity is a brand new phenomenon: my whole life I’ve seen celebrity culture magazines in the checkout lines in supermarkets, and it’s the same sort of thing. It just plays out a little differently on the internet, with the immense scale and lack of barriers to entry that the internet brings: now micro-celebrities can pop up everywhere. And it’s also tied, I think, to the specific formats that have become popular on the internet, where celebrities and random people largely have access to the same tools; yay for democritization, but the flip side of that is that, if traditional celebrities, micro-celebrities, and your friends all show up in the same place on your computer, then it can worm into your brain in ways that maybe aren’t so great.

Anyways, the upshot is that, once I realized this, I’ve unsubscribed from a handful of podcasts, and gotten significantly choosier on which episodes of a handful of other podcasts I listen to, and the quality of my podcast listening has increased noticeably; yay. And it’s gotten me more actively appreciative of the good ones; yay for people actively working over years and decades to hone their craft.

And also, it makes me wish there were more actively scripted shows out there: don’t be just some person who is going on about what they think, instead take what you do seriously and lean into that. Of course, podcasts like that exist, and I listen to some of them; I should probably seek them out more.

eastshade

November 30th, 2020

I haven’t played many open world games, so I’m probably not the best person to talk about Eastshade, but the idea of an open-world game about painting without any combat at all sounded neat to me. And it is! I don’t love everything about it, but I am completely on board with the basic idea.

The main thing that I’m not on board with is the tone of the game’s quests. Early on, when you’ve talked to most of the people in the first town, your quest list looks something like this: 1) a list of paintings your mom asked you to paint; 2) a mysterious tower to investigate; 3) try to find out something about a person nobody has seen for a while; 4) find 10 feathers for somebody else to turn into writing quills; 5) deliver some food to the brother of one character that’s made out of something that he doesn’t like; 6) report a parent to the police.

So, basically: one overarching story quest, two quests to learn more about the world, and a fetch quest; that’s all great. That fifth quest, though: you’re not just delivering food the other person doesn’t like, you’re tricking the other person into eating something different than what he thinks it is, which really isn’t cool? The characters are brothers, and it’s presented as a sort of practical joke that they frequently play on each other, but still: I have my doubts.

That last quest, though, is horrible. There’s a single father raising a child; and yeah, the child is odd. But he’s not odd in a way that’s hurting anything, or that is a sign that he’s being hurt. (It might be a sign that he’s on the autistic spectrum, though.) Basically, the obvious reading is that the person asking you to report is a horrible person who is willing to use the power of the state against things that make her feel uncomfortable, even if that means ripping the family apart; this is a very delicate subject to handle, but Eastshade just throws it out there as some random side quest like any other one.

 

So yeah, there’s something tonally off about the quests in Eastshade: that last one is the most egregious, but there are other ones that felt off to me. And, while I’m in a grumbling mood, there were several quests in which I got stuck where, if I were in a situation like that in real life, I’d have an easy remedy: e.g. quests where I can’t remember where a person with a given name is, and where the game doesn’t give me any option to ask around after that person.

But the flip side is: there’s no combat, and there wasn’t a single time in the game where I thought “this game would be better if I were killing people in it”. (Though, to be fair, you do kill fish…) There weren’t even very many quests of the form “gather X items for a certain person” (in fact, the one in my list above might be the only one), and there also weren’t quests that were just using you as a delivery person. So there’s a lot of reason to like the quests in Eastshade: there’s definitely room for improvement, but it also shows that going without combat absolutely isn’t a problem, and there’s other fluff that the genre can get rid of.

And also: it’s a game about painting! Which is a neat idea, and a good fit for an open-world game: it works well with the desire to explore the world, giving you an excuse to look for different features of the terrain. And it works fine as a mechanism for the most basic quests, too: not every quest is going to be an elaborate multi-step main-plot-relevant affairs, and as filler, being asked to paint something is rather pleasant. (And Eastshade gives you some leeway in that, it’s not prescribing exactly where to paint.)

 

So yeah: more of this, please. Not necessarily something exactly like this identically, but more games that skip violence. And also more games that aren’t overstuffed: Eastshade is a pleasant enough world, and it would be fine if it were larger, but it’s fine the way it is, and I’m glad they stopped with the quests before they ran out of ideas.

paper mario: the origami king

November 22nd, 2020

Paper Mario: The Origami King is an odd game, and a refreshing one; Nintendo works within genres, but they don’t feel tied to genre conventions, or even series conventions, and so you’ll just run into decisions that seem totally out of left field, but that end up being unexpectedly interesting, and unusally positive. And we see that in The Origami King, both on a small scale and on a larger scale.

To me, the prototypical RPG divides its world into towns, overworld, and dungeons. Which has a certain refreshing familiarity to it, but the problem I always have with that is that I mostly enjoy the towns, and that overworlds in particular often feel like filler material. If I’m remembering correctly (it’s been a while!), earlier Paper Mario games stuck with that structure as well; in The Origami King, though, there’s quite a bit of leakage of town-like aspects into the overworld, often to the extent that there’s no real distinction between the two. (Though dungeons are still there, following a pleasantly strict formal rule of two dungeons in each region, one to give you a new power and a second to make progress fighting the big boss.)

To be sure, this isn’t new to The Origami King: I wrote about a similar town / overworld interpenetration in Okami, and watching my wife play through the Final Fantasy 7 remake, it looks like that game completely eliminates the town / overworld distinction. (No wonder, given the parts of the original Final Fantasy 7 that it’s remaking; I’m now genuinely curious how the subsequent games in the remake will handle the overworld.) This blurring does feel entirely in character for Nintendo, though: one hallmark of their games is that you’ll so frequently find something interesting around the next corner, which in turn lends itself to adding the lived-in virtues of towns to what would otherwise be overworld areas.

 

A much odder aspect of The Origami King, though, is the way the game handles combat. The Paper Mario series has always been unusual in that regard; Pat Holleman has some great analysis of this in his Patreon, but one top-level take is that, because the numbers involved in attacks all fit within a small range, the combat in the games (and how that combat changes as you level up) has always felt quite different from traditional JRPGs: there just isn’t the room in Paper Mario games for the traditional JRPG numeric growth curve as you and your enemies level up.

In fact, what ended up happening in previous Paper Mario games is that, most of the time, a reasonable goal is to exit most battles having taken zero net damage. And so the combat ends up having a bit of a puzzle feel, where you try to figure out the right combination of choice of battle tactics, execution on those tactics, and badge equipping to let you defeat all the enemies while taking no more damage than your badges allow you to heal for free.

 

Combat in the previous games had a bit of a puzzle feel; The Origami King goes all in on that, where every battle is a tile-shifting puzzle. So, boss battles aside, you can literally finish every battle without getting hit at all, if you can solve the tile-shifting puzzle within the time permitted. (And if you pick the correct tier of weapon.)

This is a very different skill from other Paper Mario games, or indeed from the vast majority of other games period! It was interesting watching reviewers of the game grapple with this fact, because several of them were people who are good at platforming, good at RPGs, but who weren’t good at this sort of spatial puzzle. Which raises interesting questions about what we expect from a reviewer: it would be odd, for example, to read a review in a gaming publication of a first-person shooter where the reviewer wasn’t good at and familiar with the genre. But The Origami King just doesn’t fit into those genre boxes, and I’m sure when reviewers were being assigned to the launch reviews, it wasn’t so clear to them just what sort of beast the game was, and what that meant in practice. Which means that we got a glimpse of a world of what it would look like without an assumption of expertise for reviewers; I kind of think that that would be a healthier world, because it would in turn mean that reviews would be accepting of a larger segment of the potential player population for games, and that in turn would both put pressure on games to potentially appeal to a broader population and would give more space for games to play around with? Though the flip side is that there’s something valuable about digging down deeply into genre conventions, to explore more of the potential depth there.

Because of its unexpected nature, The Origami King also has to provide affordances for players of different levels of tile shifting skill. Money is fairly plentiful in the game, and you can use money to buy time and to get other forms of help in puzzles. But also the game contains accessories, and one kind of accessory gives you extra health in battle; the way this is implemented, if you, say, have 50 max health, get 10 extra health in the battle, and enter the battle in full health, then you’ll fight at 60/60 health; as long as you don’t get hurt for more than 10 points, then you’ll end up still at 50 health after the battle. Or if you enter the battle at 40 health, then you’ll start the battle at 50 out of 60 health, and if you don’t get hurt in the battle, then you’ll exit at full health. What this means is that you don’t have to be perfect in every battle: as long as you can find the correct solution half the time, you’ll end up spending most of the game at full health.

 

The battles are the most unusual thing about the game, but otherwise it’s a really well done Mario RPG game. You can poke around all over the place, whacking things with your hammer, and are rewarded for doing so (by finding origami toads, by hitting invisible blocks); and there are optional affordances to make it easier to track down that stuff, if you so choose. So there’s a nice video game “watch the numbers go up” feel (where the numbers in question are percentages of different kinds of items to have found), without that feeling abusive in any way: it’s an interesting game of understanding your environment, with many off-ramps when you feel like you’re banging your head too much.

And it’s a funny game. Nothing to write home in terms of overall plot, but individual lines and scenes were good, so I was always happy to talk to people and find out what was happening next.

It’s also one of the few games recently that Liesl and I have both been playing at the same time. Which is testament to the quality of the game, and to the fact that being a weird game doesn’t necessarily shrink the potential player base. And it was nice to see somebody else discovering stuff, and to learn from them; as I said above, I do think the game provided enough affordances for poking around and finding stuff, but still, sometimes it was nice to have Liesl point out something I missed.

 

Anyways, very good game. Not necessarily going to go down as one of the all-time greats or anything, but it’s extremely solid, and also unusual in ways that I was glad to experience.

i love hue too

November 10th, 2020

I Love Hue Too is, of course, the sequel to I Love Hue. That was a puzzle game about color gradients that I ended up liking a surprising amount, so I was excited to see the sequel.

The sequel has the same color gradient matching gameplay as the original, but with one significant change: rather than trying to fill in a uniform grid (of squares, of hexagons, of triangles), you’re instead trying to order the colors in a space that’s tiled with two different shapes. Which is a neat change, it gives a bit more texture to the experience.

So I started out rather enjoying I Love Hue Too: the initial puzzles are quite easy, of course, but they’re pleasant to interact with. The problem, though, is with the harder puzzles: in the original game, as you progressed in the puzzles, it started getting really unclear exactly what was wrong, you just knew that something didn’t look right and maybe one specific boundary between tiles was a sign that things were misplaced, but it wasn’t so clear how to fix it. So you had to train yourself to be sensitive to those subtle differences and to feel out moves that would improve things, eventually resolving all of that uncertainty.

With I Love Hue Too, though, the feeling even for hard puzzles was quite different: the multiple shapes meant that your search space was significantly smaller. Concretely, one of the shapes would be less common than the other one, and often much less common; so, if you start by focusing on that shape, then instead of having subtle color differences between adjacent tiles, you have much more noticeable color differences between nearby tiles of that shape. So it was much easier to solve the rarer shape, and once you’d done that, filling in the other shape in the gaps wasn’t a real challenge.

To be sure, I didn’t end up going through all the puzzles in the game: I still haven’t gone through the last several batches of puzzles. But I’m quite sure that, by the time I’d played I Love Hue that much, it had turned into something rather interesting and intense; maybe I Love Hue Too will eventually start touching on that feeling with its very hardest puzzles, but maybe it never will, and it certainly won’t spend as much time there.

Anyways, it’s not a bad game by any means; it’s pleasant enough. And if what you want is just a chill way to relax, I Love Hue Too is just as good as I Love Hue, and maybe even better? But the original game went to an unexpectedly deep place; the sequel just isn’t the same in that regard…

good sudoku

November 8th, 2020

Good Sudoku is, of course, a Sudoku app, but one that takes a rather different angle from most Sudoku apps: it wants to expose the conceptually interesting parts of solving Sudoku puzzles, instead of having you spend time on surface rules.

Some of this is done via mechanical shortcuts. Typically, a part of solving a Sudoku puzzle involves marking what the potential legal moves are for a given cell, based on the basic Sudoku rules: only allowing the numbers that don’t already occur in the same row / column / house. (A “house” is the term for one of the 3×3 groups that a Sudoku puzzle is divided into.) This is a purely mechanical operation, and a boring one; Good Sudoku gives you a single button to press to carry out this task for the entire board.

Also, once you’ve entered a number into a cell, Good Sudoku (like most other Sudoku apps I’ve used) automatically removes that number from the set of potential solutions for all the other cells that it’s connected to. But Good Sudoku goes further: for cells in the same house as the cell where you entered the solution, if there’s now only one possible number for that second cell, then Good Sudoku will automatically enter the solution for that second cell as well. This leads to a pleasant cascading effect, where entering one solution sets off a chain of other solutions; the developers decided (correctly, I think) to restrict that chain to single houses instead of the entire board, but it’s a noticeable reduction in busywork.

 

That’s the ergonomics of interacting with the app, removing a layer of busywork. But there’s a deeper point to this as well: Sudoku has some interesting patterns buried within it, and those patterns are a lot easier to see if you’re not spending all of your time at surface-level implications of the rules. And Good Sudoku wants to help you see those deeper patterns.

To that end, Good Sudoku has a few ways to gradually teach you about new techniques. At a given puzzle difficulty level, Good Sudoku has an explicit set of techniques that suffice for solving any puzzle that the game will throw at you. At the easiest level, those techniques are very basic: if a cell shares a row / column / house with every number but one, then that remaining number must be the value of that cell. Or if every cell but one in a given row shares a column / house with a specific number, then that number must be the value of that remaining cell. But, as you work up the difficulty levels, the techniques get quite a bit more subtle: for example, a technique called “X-Wing” says that if, for a given number and for two specific rows, and if that number only appears in two specific columns on both rows (same columns in both rows), then that number can’t show up in any other cells in those columns.

That last example sounds complicated! But Good Sudoku uses a few methods to help you learn that technique. It lets you highlight which squares can possibly contain a number, so if you’re aware of the technique, you’ve got a chance of seeing when it’s applicable. If you can’t find any way to make progress, there’s a Hint button, which will point out a technique that will help with the current state of the puzzle: it gives a description of the technique, shows you the squares that are involved, and, when you’ve carried it out correctly, confirms that you’ve done the right thing.

Also, the game tries to figure out what techniques you’re applying just by observing your actions; and, if it notices that you’ve correctly applied X-Wing three times without requiring a hint, it will congratulate you on learning the technique. And, if you like traditional book learning, there’s a technique guide available as well.

 

I can’t recall seeing a game that does this kind of on-demand instruction, or that deduces the intent behind your actions in this way. Honestly, a lot of human teachers don’t provide this sort of on-demand just-in-time instruction: human teachers have a habit of focusing on scripted book learning too! But Good Sudoku carries it off, and it’s very effective: I was decent at solving Sudoku puzzles before, but I’m much better at them now. Honestly, even if you don’t care about puzzles at all, Good Sudoku is well worth playing if you have any interest in computer-aided learning.

 

So, that’s the core of what makes Good Sudoku interesting. Now I’m going to go in a more tangential direction, though, about the nature of puzzle games.

The basic premise of a Sudoku game is simple enough: you’ve got the rules for the game, you’ve got some numbers filled in, and you want to fill in the rest of the numbers to get to a legal solution. But, it turns out that there are actually three different things that the phrase “solve a puzzle” can mean. One is “find any legal solution to the puzzle”. A second is “prove that there is a unique legal solution to the puzzle”. And the third is “assume that there is a unique legal solution to the puzzle, and find that solution”.

Temperamentally, when solving a puzzle, I’m usually going down the second route: I’ve seen puzzle games that go the first route, and they annoy me a little. Certainly in the past, when solving Sudoku puzzles, I’ve taken the second route.

I was vaguely aware, though, that there are actually techniques to solve Sudoku puzzles that go down the third route. Good Sudoku generally stays away from requiring those techniques, but if you select the highest difficulty level, then it’ll start using a technique called Unique Rectangles / Avoidable Rectangles. (Actually, it’s a family of techniques, but never mind that for now.)

 

So, when I made it to that difficulty level, I ended up learning Unique Rectangles. Which, in turn raises two questions: what do I think about that technique from a philosophical / aesthetic point of view, and do I actually enjoy using the technique?

As mentioned above, I don’t really feel great about using Unique Rectangles philosophically. But, once I learned how to use them, it turned out that they were kind of fun! So that helped me get over my misgivings: not only did it unlock a different level of puzzle, I ended up enjoying solving them.

And there were actually some other techniques where those feelings were flipped. From an aesthetic point of view, I really like the Y-Wing technique: it leads to a nice pure form of a proof by contradiction. And if I can spot one in a puzzle, then that’s great, I really enjoy that.

But spotting it requires finding a certain configuration of three different cells each of which has two legal numbers in a certain configuration. And, if you’ve got lots of cells in the puzzle with two possible numbers, then finding a triple that leads to a Y-Wing can take a lot of searching. So it was pretty common for me to think I’d searched everywhere, to not find anything, then to give up and ask for a hint, and for the game to point out a Y-Wing that I missed.

 

So that’s one question that the game raised: what kinds of techniques do I want to use, either from a point of view of propriety or from a point of view of enjoyment? But I also noticed something else while playing the game: I’d use techniques that weren’t on the game’s list at all.

Consider this puzzle:

If you imagine entering a 6 in the blue cell, then the cell at the top of that column has to be a 2, the cell beneath it has to be a 1, and the cell to the right of that one has to be a 5. Whereas if you instead put an 8 in the blue cell, then the cell diagonally beneath it to the right has to be a 1, and the cell at the top of that column has to be a 5. That’s the same cell that we ended up at before, so we’ve shown that, whether we start from a 6 or an 8, we end up with a 5 in that one cell, so we can go fill that in.

This is a lot like a Y-Wing, it just involves an extra step along one of the paths. And Good Sudoku will never give you a puzzle that requires you do this kind of multi-step deduction: every technique in the game is of the form “if these cells satisfy these properties then these other cells either can’t have or must have this number”.

 

I went along with that for a long time: trying to use the official techniques until I got stuck, then asking for a hint. And then, usually, being annoyed at myself for missing something in my search, but sometimes I learned something, even beyond my initial exposure to new techniques. (In particular, I wouldn’t have understood the depth that’s hidden behind the terms “Unique Rectangle” and “Avoidable Rectangle” if I hadn’t seen multiple variants in hints.) So I’m glad that I took that approach.

But, at some point, I got tired of doing that. Good Sudoku lets you mark individual numbers on a cell in blue, so, for a lark, I picked a cell with only two choices that seemed kind of central, marked one of the choices with blue, and started following a chain of deductions, marking more numbers with blue. And, ten or fifteen marks later, I had the same number in two cells that could see each other, so I knew my initial choice was wrong; I filled in the other choice, and had the whole puzzle solved in short order.

It turns out that that wasn’t a fluke: pretty reliably, once I got to where I was stuck, I could make progress by trying something out and seeing how things went. And it was more fun than banging my head against pattern matching: I was able to succeed without asking for hints, and also I was spending more of my time doing something active instead of staring at things and hoping I’d see a pattern.

 

This is something I’ve seen in other puzzle forms that I enjoy: I spend most of my time just narrowing down possibilities by finding and applying patterns, but it’s honestly sometimes a bit of a disappointment if that’s all that I’m doing. There’s something pleasant about going as far as I can through that route, feeling stuck, and then saying “this area looks funny, let me try something out there” and breaking through that way.

That approach isn’t what Good Sudoku is focused on, though. I’m actually curious what a Sudoku game would be like that did focus on that sort of exploration of the possibility space: fewer tools for pattern matching, more tools for trying out a hypothesis, and backtracking if that hypothesis didn’t pan out? But Good Sudoku provides enough tools: having two colors to mark numbers with plus an undo button is really all you need.

And, of course, I don’t want every game to try to please you in every way. Good Sudoku is very good at the approach that it takes, teaching skills in a way that I’ve literally never seen in software before. That alone would be enough; the fact that it then pushed me beyond its limits to teach me something about aesthetics and possibilities is a bonus.

yakuza kiwami

October 4th, 2020

I probably should have written about Yakuza Kiwami more quickly after playing it, but honestly I don’t have much to say about it. The series has totally turned into comfort food to me: the familiar cast of characters, the familiar location, the familiar patterns of gameplay.

And the dance between Majima and Kiryu; I think that’s one of the things that was added in the remake? Honestly felt like a bit much at the start, and then a bit much in a different way at the end, but in the middle, I liked that quite a bit.

Which is a part of one thing that surprised me about the game in general: I was surprised about how much of the optional stuff (Majima Everywhere, the side stories, even some of the minigames) I spent time on.

 

Not sure how to compare Kiwami to Yakuza 0. Obviously they have huge amounts in common; I kind of miss Sotenbori (as a place, as playing Majima, as cabaret management), but there’s something to be said to just diving into Kamurocho. I liked Haruka as a character (and I think she shows up more in future games?); I’m a little sad how things turned out with Nishikiyama, but not necessarily sad in a bad way, the game earned at least some amount of the payoff there. It was kind of neat building your original fighting style back up, and also having an excuse to learn the other fighting styles in the meantime; I feel like that aspect of the game might have worked better here than in Yakuza 0? (At least once I realized that, yes, you really do have to change fighting styles, you can’t just stick with your original one: I had one very long miniboss battle before I realized that.)

Anyways: very good game, great series. I’d been thinking I’d play through the series at about a rate of one game per year, and that’s still my tentative plan, but I am getting more tempted to just mainline the series…

the app store

September 29th, 2020

I hope that the way Apple runs its App Store is finally coming to a head; certainly the tone of the discussion around Apple’s behavior has changed this summer, though who knows what will actually end up happening.

I also think it’s at least a somewhat subtle problem; so I’m writing down some notes on the different aspects I see of the situation, to try to better ground how I should think about it, before talking about possible improvements.

Considerations

Here’s a list of factors that go into how I think about the situation.

Computer security is important and hard

Obviously.

Sandboxing is an useful tool for improving security

I feel like apps on my phone are less likely to be malicious than apps on a computer, and sandboxing has a lot to do with that.

By ‘sandboxing’ I don’t just mean that different apps can’t see each other’s stuff, but that they also don’t have access by default to system services (contacts, photo libraries, sending notifications, etc.).

A lot of important security issues are social and/or go beyond the device

E.g. being able to trust your payment system has real value: being able to trust that you’re not going to get malicious charges, that you’ll be able to cancel recurring subscriptions when you want, etc.

Apple likes money

I don’t blame them, I like money too! (Also, full disclosure, I actually do have some amount of Apple stock, so I have a personal interest in Apple getting money.)

Apple feels entitled to money

From the outside, it looks like Apple feels like they deserve a share of any transaction that involves one of their products somehow. Makes me glad the Apple Car never showed up, I feel like Apple would want to take 30% of my paycheck if I used one to drive to work…

Apple likes control

Or maybe: Apple is nervous about app developers. They want Apple-provided aspects of their platforms to be more important to users than non-Apple-provided aspects.

User experience is important but not primary to Apple

Witness their continued refusal to allow Amazon to sell books in the Kindle App, or to allow Netflix to provide any sort of in-app indication as to how you get the login credentials that the app requires.

Apple wants control over content, not just safety

As Apple’s guidelines formerly stated:

We view apps different than books or songs, which we do not curate. If you want to criticize a religion, write a book. If you want to describe sex, write a book or a song, or create a medical app. It can get complicated, but we have decided to not allow certain kinds of content in the App Store.

That wording isn’t there any more, but the general restrictions remain. And Apple has used this to reject apps taking a serious look at real-world situations, including apps that comment on Apple itself.

Letting Apple control its stack has been a good thing

Apple has repeatedly made huge advances in how we interact with computing; their control over the software and hardware (down to the chip level!) has been a huge part in that.

Apple holds half of a duopoly on one of the most important classes of device that has ever existed

Once you’re in a billion pockets, the calculus changes for how people might reasonably want to restrict your behavior.

Developers can’t count on the rules

Apple changes not just the rules but their interpretation of the rules without notice, to the extent that entire business models for developers can be invalidated without warning.

What To Do?

I have no idea what Apple will actually do, or how Congress and the courts will decide to change or interpret antitrust law. But I’m going to talk about what I, personally, would like to have happen.

I really like feeling that apps on my phone are safe to install and use. And in general I have a pretty strong default belief that it’s good for companies to be able to make useful stuff and earn money off of that, even quite a lot of money.

But, ultimately, what matters is what’s good for society, not what’s good for an individual company; smart phones are hugely important devices in billions of people’s lives, their operating system is controlled by a duopoly. So I’d be surprised if the outcome that’s best for society is to let the manufacturers of those phones and phone operating systems do whatever they want.

 

I’m a developer; I don’t work on iOS software, but I very much appreciate being able to use good third-party software, and I want my fellow developers to be able to have a good living making that software! Most of my time on devices is spent with third-party software rather than OS-provided software, and I want more of that rather than less.

Also, as somebody who cares about art in general and video games in particular, the way Apple censors and infantilizes games on its platform feels wrong to me at a fairly fundamental level.

Reading through my list of considerations with that in mind, I want to keep sandboxing, and in general I’m happy to have Apple make money in areas where they’re competing. But I want them to have to compete, instead of setting up rules that give them an unfair advantage. (Especially when those rules lead to a worse user experience or when the rules change capriciously!) And I don’t want content restrictions on what kinds of subjects games (or other apps) can cover.

 

So: break app review into two parts. Keep the part of app review that’s directly tied to on-device security (sandboxing in particular), keep the operating system constraints that back those up. But get rid of app review for content, and get rid of app review for payment. Yes, there are real user benefits to using Apple’s payment platform, and I personally would choose to use apps that go with Apple’s system, all other things being equal. But all other things aren’t equal; so sometimes I pay for items in other ways on web pages, I can do it in apps too.

And, as part of this, allow users to download security-vetted apps from anywhere: other app stores, individual developers’ pages. Don’t put up a permissions dialogue with big scary language for this: just allow it, the goal here is to get a thriving app ecosystem.

And the other advantage of allowing multiple app stores is that, as far as I’m concerned, Apple can then put whatever additional restrictions it wants on apps through its own app store. And, honestly, I would like Apple to put more restrictions on what it allows in its app store! (Only once it’s allowed third-party app stores, to be clear.) Apple, please, have some self-respect as to what you allow in your app store: it’s full of scammy apps, of copycat apps, of apps that I’m sure many people at Apple aren’t proud of. So get rid of those, show the rest of us your vision for what a good third-party app is!

Apple will have to find a way to pay for the manual labor involved in security review, if there is any. And removing content restrictions while leaving in manual review can impose psychological costs on reviewers. I don’t want to go into details here but these both feel like tractable problems to me. And, of course, automate the security review as much as possible, and, as much as possible, enforce it via the OS rather than via review in the first place.

 

I’ve also heard people advocate for a “developer mode” that power users can put their devices in that loosens restrictions still further, even breaking down sandboxing. I’m mostly dubious of that as a solution to most of the issues I’ve talked about here, because I think something like that should be implemented in a way that scares users, which means that it won’t lead to thriving broad app markets. Though I’m more sympathetic to a developer mode for the iPad: I’d like for it to be a real development machine, and Apple hasn’t figured out how to do that within its current OS constraints.

But, seeing how home screen customization has taken off with the release of iOS 14, I’ve changed my mind: it’s important to let people do stuff with their devices that the OS developer didn’t intend. So yeah, let people use the devices that they bought as general purpose computer if that’s what they want!

 

But, for now, what I want is to allow widespread app distribution while keeping core security restrictions: that feels to me like a much healthier position to be in than our current state.

visual novel grab bag

August 23rd, 2020

A few short visual novels that I played recently between larger games:

Eliza

There’s some good stuff there, but it didn’t quite click for me. It’s about a woman who had a key role in what I think was a skunkworks project in a tech company, who left and disappeared for a few years, and who has re-emerged, poking at her former project in an unusual way. Which is an interesting premise; but ultimately I thought it didn’t come together.

I actually kind of wish Eliza had been a little less interactive, at least in one key way. The game leads up to a big choice where you have to decide from five significantly different ways you want the protagonist to respond. And, tracing back, the game had to make those five different ways feel plausible, which in turn meant that the designers had to leave the main character be a bit of a cipher? Whereas I felt that she was potentially pretty interesting, so I think I’d have preferred a game where I’d gotten to understand her better.

Or maybe it’s just that I didn’t like those final choices. Because those five choices consisted of three choices of the form “the protagonist will do what this or that NPC wants her to do”, one choice of the form “the protagonist will do thing X that she wants to do”, and one choice that was basically a shrug. The first three choices made very little sense to me: some of them made no sense whatsoever, and while I could imagine one of them making a sense if it was supported well, it wasn’t supported well. I wanted to make the choice where the protagonist did thing X that she wanted to do, but I wasn’t actually convinced at all that that specific path is what she wanted to go down. (I wish there had been three different choices of doing different things that she wanted to do and only one choice of her doing what somebody else wanted; if that had been the options, I suspect I would have found that one of the choices for her to act would have made sense.) So I ended up with the fifth choice; unsurprisingly, it wasn’t satisfying, either.

It did come with a good solitaire game, though. And the main character and setting were potentially pretty neat, and I liked the visual design and voice acting! Ah well…

Mutazione

Not sure if calling this a visual novel is quite right, to be honest, but it is a very narrative-heavy game. And it’s rather good: charming, but also meaningful? The protagonist is visiting her grandfather in a small island town; and it turns out that that’s a pretty good way to get at some real stuff around interpersonal relationships, around worries and pains and recovery. And the mixing in of supernatural stuff and the art style both worked for me, too. Quite glad that I played it.

Necrobarista

I started off kind of cool on this game: the writing was trying too hard, the first-person navigation during the interludes didn’t really work for me, and I don’t think I’ve ever had my iPad heat up before. But I turned around on the game in the second half; it’s a game about a group of misfits dealing with personal issues, and it works pretty well as that?

death stranding

August 3rd, 2020

So: Death Stranding. It’s actually the first Kojima game that I’ve played, or at least that I’ve finished: I dipped into the first Metal Gear Solid a while back, but it wasn’t really my thing, and I haven’t played any of his subsequent games.

It turns out, though, that I kind of like Kojima’s approach to world building, at least if Death Stranding is representative. Like, the basic world building doesn’t make sense, but that’s okay: it’s coherent and stylish enough? For a while, I actually was wondering if I was getting a Killer 7 vibe; ultimately, I decided that no, I wasn’t, but still, I respect a game that’s doing its own thing.

The way the game’s worldbuilding played into the combat was something that I wasn’t so into: I set the difficulty down to Easy fairly early on, and that was definitely the right choice. But the way the game’s worldbuilding played into the navigation and package delivery: that’s a completely different matter.

 

This isn’t an original observation, but: I started playing Death Stranding soon after COVID started, and it is shocking how well the two pair together. (I came to Death Stranding after Kentucky Route Zero, and I mixed in some Animal Crossing as well; I can’t imagine a more topical trio of games.) You’re playing as a character who doesn’t want to be touched, traveling through a mostly empty world to keep isolated outposts in connection by delivering packages and putting them online: yes, this is relevant.

But also: even setting COVID aside, Death Stranding turns out to be totally my thing. You spend a large portion of your game time traversing environments; the game treats this with respect, as something that’s a worthy activity on its own right.

I’ve played through so many RPGs that have you traveling from place to place, that constantly interrupt that traveling through battles, and where, if you skip those battles; you’ll find that upcoming required battles are somewhere between unpleasantly difficult and impossible. In a game like that, the priorities are clear: traversal is tertiary, battles are secondary, the leveling curve is primary. Whereas, in Death Stranding, most of the time, you’re just trying to get yourself and whatever stuff you’re carrying from A to B (possibly with the idea in mind of traveling to C after that): the game makes it clear that this is a worthy activity, even a primary activity on its own, one that the game actively leaves space for you to enjoy.

Challenges are present during your traversals, but they mostly take the form of the environment: making it through mountains or past bodies of water while carrying large amounts of cargo, trying to stay out of the rain. There are occasionally enemies: some are humans, some are supernatural creatures, and in general my feeling is that their presence mostly makes the game slightly worse; after turning the difficulty down to Easy, though, they were fine, and there was some benefit in terms of the occasional heightened edge that it gave to certain of your traversals. And the supernatural creatures tied in with the overall plot, and the game generally only seriously deployed them in a way that did help with the overall frame story; I’m less convinced that the human enemies added anything to the game, but, if you’re playing in Easy, it’s easy enough to beat up all the enemies in a region, after which they won’t respawn for many many hours, quite possibly not until you’ve left that region of the game.

 

The traversal isn’t an isolated activity, though, either in gameplay terms or philosophical terms. You’re traveling from place to place to help people, and to help rebuild a world. And that notion of a collective rebuilding effort is reflected in the gameplay as well.

In terms of rebuilding, the environments have places where roads are planned; if you deliver materials to them, then an auto-paver will come alive, and all of a sudden, you’ll have a nice smooth road cutting through some hills or even making a path around mountains; it makes things easier on foot, and makes it possible to haul large amounts of cargo by truck. And, for areas less amenable to roads, you’ll eventually unlock the ability to build ziplines to quickly take you from place to place, over ravines and up and down mountains; makes traveling hugely easier, and they’re fun as well! You can only have so many ziplines, but you can also place ropes and ladders to let you navigate particularly steep bits.

But it’s not just you doing this: the game’s world is a loosely shared world. So you’ll periodically get a notification that somebody else has delivered materials to one of the road’s auto-pavers; or you’ll come across zipline pylons that another characters has placed. The game does something interesting with the shared world nature: as far as I can tell, I don’t have access to all the structures that some fixed set of other players have placed, I only see a subset of their structures. But it’s enough to make a real difference: on an emotional level, it makes you feel like part of a group with a common goal, and on a practical level, it’s quite a bit easier to traverse a region once you’ve hooked it onto the game’s version of the internet and other players’ ropes and ladders and pylons pop into view.

 

So there’s something at the core of Death Stranding that I really like: it’s about an embodied world, about a collective world, about making things better in concrete ways. Yes, there’s this big overarching plot, and that plot is kind of remarkable in its own way. But there’s something more unusual and more powerful at its heart.

apple arcade games, round two

June 21st, 2020

My PS4 bricked itself during a system update a couple of months ago, so I needed to take a break from playing Death Stranding. Which was bad timing: Sony’s repair centers were closed because of COVID. (They reopened this past week, so hopefully I’ll get it repaired soon…) I decided the next large game I’d play would be the Switch version of Tokyo Mirage Sessions, but first I decided try out a few more Apple Arcade games.

Notes on the games I tried:

Sayonara Wild Hearts

I gave this one another try: I went through the whole thing again in the full album playthrough version, and also played through the first level or two a few times to get a gold medal. Still didn’t click for me: stylish, though.

Roundguard

I played it for a few hours, enough make it through the first boss once on the first character. I don’t yet have a feel for whether I think there’s something there: there’s an awful lot of randomness inherent to the second-to-second play of a Peggle-style game, and to me that seems fairly seriously at odds with the kind of potential control you’d want in a Roguelike? But maybe there’s more skill than is evident (I haven’t played the original Peggle much), or maybe they’ve designed the game in such a way that the randomness doesn’t matter as much as it seems, that you can manage it okay once you know when to spend your magic and how to best use your upgrades? I’m certainly willing to believe it’s the latter one, but ultimately I decided that, if I was going to spend time on a Roguelike, I should stick to Slay the Spire. (Which I’m playing a lot again, and which I like quite a bit more than I did when I first posted about it, I’ve gotten over the initial learning curve hump and I like what I see on the other side. Incidentally, they just released it on iOS, and I prefer the iPad interface over the Switch interface, but it’s great either place.)

Hexaflip

The only Apple Arcade game I’ve seen with a privacy policy when you launch it; I should have deleted it then, but I pressed on, and it’s an uninspired action puzzle game with a free to play energy mechanic only barely removed. By far the slimiest feeling game that I’ve played on the service.

Tangle Tower

A Phoenix Wright-ish detective game. Doesn’t have the same soul, and I was a little afraid that I’d miss stuff in the hunting and pecking through rooms and in the logic deduction, but it ended up having a decent system to support the player and help me not get stuck? Pleasant, even somewhat charming; happy to have spent three hours or so with it, not something that I would actively recommend, but if you’re already subscribed to Apple Arcade and have some time to kill, it’s not a bad choice? (I’m surprised they’re charging $20 for it on Steam, though.)

Manifold Garden

This one honestly probably deserves a post of its own. A 3D puzzle game that’s well worth playing: good core mechanics: you can change gravity so that any of the six directions of walls can be down, and sections of the world are like a 3D torus. Which takes a while to wrap your head around, but basically you can get to almost anywhere you want by combining those two facts. So you get used to the consequences of that for a few hours, and learn about a couple more mechanics and rules of engagement; and they do a very good job of dribbling out the learning, keeping me feeling smart most of the time, feeling frustrated some of the time, but always making it past my frustration. (I was very close to having to look things up in a walkthrough once or twice, but I didn’t.) And also the game didn’t outstay its welcome, and was divided up into sections that were well paced for making progress over an evening.

Also, the graphics style is super distinctive, in a way that worked for me; I certainly wouldn’t want every game to look like this, but the rectilinear nature, the symmetry of the six directions, and the repeating nature of the geometries added up to something honestly kind of special.

It’s playable with touchscreen controls, but they made one bad choice there (around the controls for dropping blocks) that was frustrating and kind of an unforced error. So most of the time I played it with an Xbox controller; and then I ran into a problem where using the controller interferes with Bluetooth audio through my AirPods. Which is a problem, since Apple removed the headphone jack on the current iPad Pros! So I’m annoyed at Apple both because of the wireless interference bug (I mean, maybe I’ve got a bad Xbox controller, but I doubt it) and because of the lack of headphone jack. Still, it’s a good enough game that I recommend giving it a try even if you have Apple Arcade but don’t have a controller; if I’d been in that position, I probably would have given up after an hour and a half, but I also still would have felt that that hour and a half was interesting and rewarding?

Spelldrifter

This game calls itself a Deck Building Tactical RPG, which sounds fun? But when I gave it a try it didn’t click for me. Part of that is that it didn’t match what I think of as a deck builder: when I went through the introduction (which was fairly lengthy, and included arcs for four separate characters), there wasn’t any deck building: your deck did increase in size, but in ways that were completely predetermined. Which maybe makes sense from a didactic point of view if you want to teach people how the mechanics work, but which wasn’t at all what I expected given the label.

It did seem to open up after the intro, giving me an option to construct a deck, but I guess it’s a game about selecting a complete deck instead of about gradually growing a deck? Presumably your card pool continues to change as you progress through the game, though.

I’m also not entirely convinced that card play and tactical RPG elements are a combination I particularly enjoy: I’m not sure but I suspect that I prefer games that focus more on one side or the other.

Anyways, I’m willing to believe that there’s something here, I don’t feel like I’ve given it a fair shake; but, as per the above, right now I’d rather spend my time on Slay the Spire.

using an ipad as a laptop

June 7th, 2020

For years, I’ve been using a laptop in the evenings when writing blog posts and what not, using an iPad for most of my other computer stuff at home (at least most of the other consumption-oriented stuff, though I did some of that on the laptop in the evenings too), and I have an iMac upstairs for situations where I want to archive data or where I want to do some programming. Which is probably one device too many; I’d been thinking for a while that I might switch to using an iPad as a laptop, since it’s my favorite of those three computers, but I’d held off, mostly because I wasn’t sure there was an iPad keyboard that I thought would work well in lap usage.

When Apple released pointer support and announced their iPad Magic Keyboard, I got curious again. And my iPad Air 2 was finally showing signs of being too old, so I was ready to replace it as well. (It lasted for most of 5 years, though! That was a really good machine.) So, when the reviews of the Magic Keyboard said that yes, it not only is as good as it sounds but it’s stable on laps, I went and ordered one; and I’ve been using the iPad instead of my laptop in the evenings for the last month or so.

 

And it’s really good! It’s really good with the caveat of it being an 11-inch laptop with narrow bezels, which means that it’s not particularly wide; I’m okay with the width of the keys themselves, but I’m finding it works a little better on a pillow in my lap instead of flat on my legs so that the keyboard doesn’t start to fall into the gap between my legs. (Part of me wishes I’d gone with the larger iPad size, largely for that reason; I’m honestly not sure which would be better for me, and I’m certainly not about to swap sizes now.) But it’s an entirely credible laptop setup; and yeah, it turns out that having a trackpad on an iPad really does work well, much better than I would have imagined before iPadOS 13.4 was released.

There was still an issue of psychological resistance, though: I’m just used to pulling out the macOS laptop in certain circumstances. So I’ve been forcing myself to use the iPad even in the face of that resistance, so I can figure out when it arises, what I can do about it, and if it’s pointing out a real situation where a traditional laptop works better.

 

For starters, I needed to be able to switch the iPad into laptop mode quickly! I’d been in the habit of leaving my iPad locked in portrait orientation; every once in a while, I’d experiment with leaving rotation lock turned off, and every time I do that, I quickly come to the conclusion that, no, I really do want rotation lock turned on when I’m using the iPad in handheld mode and not watching a movie. But I’m getting past my resentment of Apple removing the physical rotation lock switch, at least, so now I flip into landscape when that would be better. And the other part of laptop mode is, of course, the keyboard; I’m leaving the keyboard lying up against the side of the chair where I’m in the habit of typing. This all works: I now get the iPad into laptop mode quickly and regularly.

The next bit of psychological resistance was using web pages where I needed to log in to do stuff. I store all my account information in 1Password, and for not-very-well-thought-out reasons I’d never set up Touch ID or Face ID for 1Password on my phone or iPad. I’m still a little nervous about using biometric authentication for 1Password on my phone, but I decided that the same threat considerations don’t apply for the iPad (because it spends almost all of its time in my house), and, even with the keyboard to type the password on, the friction of having to type the password on the iPad really is very large. (Especially since, unlike the Mac, you don’t have to unlock 1Password once per session, you have to unlock it every single time that you use 1Password.)

So I switched to allowing Face ID for 1Password on the iPad. And it’s great! It now feels lower friction than on the Mac: I never have to type my password, Safari usually figures out when to offer on its own to fill in with 1Password and the share sheet action is there for situations where Safari can’t figure that out. So that reluctance has almost entirely disappeared, and I’m logging into stuff with abandon on my iPad. The one exception (for now, at least), is Google websites: I’m not logging into those on the iPad (and basically not using them other than Google search). I read my personal mail through Mail.app, if I want to check on my work calendar while I’m away from my work laptop then I look at that through the Google Calendar app on my phone, and I just don’t use other Google stuff that requires login very much, it turns out.

 

I’d already been writing blog posts like this in Byword using Markdown on the Mac; and Byword has a quite credible iPad app. So that part of the transition was easy: I’m using it to write this post, it’s great for that. (Or at least good: I’m a little worried that Byword doesn’t seem to be getting actively updated, so it might start bitrotting.) And I’m using Byword for some amount of other random text file editing as well; it works fine there too, maybe a little bit more annoying than I’d like switching between directories where I spend time, but I can live with that. (The files in question are in Dropbox; my guess is that I’ll move to iCloud Drive at some point over the next year, but who knows.)

I write shorter blog posts straight in the WordPress editor, and there I actually did run into an issue: when I’m there, I like to write in raw HTML, and the iPad insists on inserting curved quotes instead of straight quotes. Which is, of course, better most of the time, but not in that circumstance. Maybe I should even write short posts in Markdown; or maybe I should use the WordPress visual editor? Not sure.

Speaking of keys behaving differently on the iPad, I’m doing what everybody else is doing and remapping Caps Lock to Escape; I was worried that would clash with my fingers’ habits, because I have Caps Lock mapped to Control on my other keyboards, but it’s fine. I haven’t done anything else that would make me miss the function key row, so that’s also not a problem. The main thing that I miss is actually forward delete: it turns out that I use that surprisingly frequently in macOS (by typing fn-delete); ah well.

 

One idea that I had in the back of my head is that I might use this to remotely connect to my iMac; I haven’t tried that yet, though. But I have used it to ssh into the Linux server that hosts this blog; I haven’t done any super serious work there, though, but right now my take is that it works well enough but there’s probably some potential friction lurking?

I’d had a copy of Termius around, but for whatever reason I’d convinced myself that the free version wasn’t going to be good enough: I think I’d misread it as not supporting authentication via ssh keys, but actually that’s there in the free version. Anyways, the paid version was super expensive and had some network sharing of keys that I didn’t want to figure out whether I should trust or not. So I googled around and came across Prompt: it also has network sharing of keys, but they’re quite upfront about exactly how it works and why it’s safe, and it’s from Panic, which is a company that I trust.

Prompt isn’t great, though. I’m not sure exactly what I want out of an ssh client, but Prompt doesn’t have the feel to me of an app that’s trying to be great, it feels more like an experiment that Panic didn’t decide to invest in? The basics are there, and it’s largely fine, but it’s problematic for Emacs users, because it doesn’t pass through the Option key as a meta key, it instead treats it as a way of inserting non-ASCII characters. Which is bad when using Emacs, but also a problem when just using bash, because my fingers are used to using option commands for a fair amount of shell navigation. The escape key is, of course, there, but a lack of Option support feels like a pretty basic oversight in a terminal program?

So I should probably give Termius another try; and in retrospect I probably should have looked harder at Blink instead of just assuming that Panic would do a good job, Blink looks quite a bit more focused on being a quality ssh client / terminal application.

 

Anyways: current iPad Pros are great machines (even though the most recent update wasn’t even a speed bump update), and the Magic Keyboard is also great. Basically, for the price of a MacBook Air, you can get a mix-and-match computer that behaves like a laptop when that’s best, behaves like a tablet when that’s best, and that has a CPU that’s quite a bit more powerful than the CPU in the Air. There are usability plusses and minuses, but for me they’re turning out mostly plusses: I like using the iOS share sheet when getting stuff between apps, I like having the device in portrait mode when I’m just reading stuff. If I were doing serious programming on a laptop, then yeah, the iPad would almost certainly not be what I wanted. But that’s not how I use my laptop at home; so right now I’m thinking it’ll probably be a while before I get another macOS laptop for personal use…

changing my server upgrade strategy

May 24th, 2020

The server that hosts this blog is one that I administer; it runs Ubuntu, so I’d been in the habit of doing an OS upgrade every 6 months, as Ubuntu releases a new version. I’d do an upgrade in place; most of the time it would work smoothly, sometimes it would be less smooth but I’d be able to figure it out. (For example, the upgrade to Apache 2.4 brought in some pretty significant configuration differences.) But every once in a while something would go horribly wrong to the extent that it wouldn’t even boot after the upgrade or networking would be broken, and if I couldn’t figure it out, I’d have to build a new server from scratch, copying things over from the old server.

Upgrading in place had been starting to feel wrong, though. I’m willing to accept that this server is, to some extent, a pet instead of cattle, but still, that doesn’t mean that I want random packages and configuration accumulating. I’d been taking notes on those occasions when I did have to rebuild from scratch, and the last time I did that, I figured out the exact packages I needed to install instead of just blindly copying over the list from the previous server; so rebuilding isn’t a big unknown, though it does take more time than an in-place upgrade.

Anyways, when I went to upgrade from 19.04 to 19.10, networking broke completely, so it was time for another rebuild. And that got me thinking: I should just give up on the strategy of upgrading in place, it’s too error-prone, and leads to too much downtime. (I’ll talk about that a little below.) But I didn’t feel like rebuilding the server every 6 months; so I decided to get on the Ubuntu LTS train. In general, I like to do things incrementally, but I already had evidence that the incremental upgrades weren’t actually all that smoothly incremental in practice, so I figured doing one full rebuild every two years was a better use of my time.

Which raised the question of what to do about 19.10. It made me nervous, but I decided to skip it: if a bad security vulnerability showed up, I’d have to figure out whether to do an emergency rebuild or to hope that Ubuntu would backport the fix to 19.04, but I was optimistic that nothing horrible would appear in the three months until 20.04 appeared.

 

I like to do server maintenance on long weekends, so this weekend I rebuilt a server with 20.04. And it went really smoothly! My notes were good; the main thing that had changes since last time was that I’d started using Let’s Encrypt, so I had a new section to add to my notes, but it was super simple, I just had to add one directory to the list of directories that I had to copy over from the old host. (It’s a pretty short list: my home directory, the directory that contains websites, the mysql data directory, the Apache sites-available directory, and now the Let’s Encrypt directory.)

And, right from the beginning, some surprise benefits of the strategy showed up. There were some packages that I’d had pinned at old versions on my previous host, because something weird had happened in an upgrade; I don’t remember the exact history there, but I had more or less resigned myself to losing one bit of minor functionality, but the package was still there on 20.04 and worked fine. (It might have been in the Universe repository instead of the main one? But I needed that for something else anyways.)

Also, right from the beginning: much less down time. If I’m going to upgrade in place, then I need to stop the old server, take a snapshot just in case something goes wrong (which takes half an hour or so), then do the upgrade, then hope everything goes well. So there’s a noticeable and potentially unbounded amount of down time; honestly, the number of 9s for this server isn’t that high (since I stop it once a month to take a snapshot anyways), but still, I don’t like downtime. Whereas if I’m building a new server, then I can leave the old one running while I set things up on the new server; if I were getting constant comments on the blog or something, then syncing mysql over could be a little delicate, but I don’t, so I don’t have to worry about writing to the old mysql for an hour or two. (I just have to make sure to avoid reviewing Japanese vocabulary during that period.)

In the past, rebuilding the server had caused delays because of DNS propagation; if I’m thinking about it, I can turn down the TTL a day in advance, but still, kind of a pain. But Digital Ocean finally added floating IP support a few years back, and I’d turned it on a few upgrades ago. (Which actually turned out to be another thing that was improved by the rebuild – initially you had to do some magic configuration on your server for that to work, but Digital Ocean improved things so that was no longer required on new servers.) So, once I thought I had Apache working, I could just flip over the IP and try to hit the web pages; turned out it was broken, so I flipped the IP back while figuring things out, and flipped it again after I’d fixed the problem. (I’d gotten something wrong when copying files over: I’d even left myself a note saying “pay attention to this potential mistake”, I just hadn’t actually taken that note seriously…)

 

Anyways: took a few hours, but all things considered, it was quite smooth. And the floating IPs continued to be useful: e.g. once I had the new server working, I wanted to take an initial snapshot of it, and that’s fine: the old server was still running, I could point the IP back at the old one while taking the snapshot.

I guess if I wanted, I could go even further: Digital Ocean has an RDS analogue now, so I could switch to using that as my database. Or I could move over to AWS, just to be in a slightly more familiar setting? I have mixed feelings about Digital Ocean, but it’s been okay, though, and it’s possibly a better match for this server than AWS, though. (Especially now that they’ve fleshed things out a little more.)

Pleasant enough way to spend a morning, at any rate: good to keep my hands dirty with this sort of thing, and always nice when computer maintenance goes well.

kentucky route zero

May 10th, 2020

I didn’t play the first four episodes of Kentucky Route Zero when they came out: I generally try to avoid playing games on PC, and while I was willing to make an exception for Kentucky Route Zero, I figured I’d at least wait until all the episodes were released and hope for a console port. And, fortunately, the last episode and a console port arrived at the same time, so I played through it. (Doing one episode plus one interlude a week: I wanted to make it through reasonably promptly, but I wanted to leave a bit of a gap between episodes.)

It’s quite a game? Enough so that I’m having a hard time putting a finger on what I think of it, or perhaps more accurately how to think about it: I can’t just slot Kentucky Route Zero into an existing conceptual framework and use those expectations as a starting point. So I’ll just talk…

 

The first couple of episodes were a sort of pleasant meandering through a story: enough interactivity to take advantage of the medium, enough character moments to make me care, and enough magical realism to make it interesting. And then I reached the second interlude, talking about the precarious life associated to working at marginal jobs: and yeah, this game has something to say politically.

Which dovetailed rather well with what else is going on right now: I realized that I was accidentally playing three games each of which shines a rather direct light on the experience of living in a world with COVID. Death Stranding talks about the experience of being isolated, only connected by package delivery (and, honestly, I still can’t believe that that game came out when it did!); Animal Crossing is the shared escapism where we’re all spending time; and Kentucky Route Zero speaks to millions of people losing their jobs and the depression that’s suddenly arrived.

 

Which had me looking forward to playing the third and fourth episodes; I actually had mixed feelings about them, though. They went on just a little bit too long: not necessarily too long in any absolute sense, in fact I managed to finish each of them within an evening, but they took enough longer than the earlier two episodes that the back of my mind wanted them to end earlier than they did. And, in both of them, I ran into strange bugs (probably having to do with the controls of the console port?) that really made me want the episode to end.

And the way the third episode ended just didn’t make sense to me, with our protagonist suddenly having been forced into something that seemed more like slavery than a job just because somebody claimed he acted in a misleading way during a conversation. Like, I’m sure there are real-world scenarios where that makes sense, but in general, no, that’s not the way things work? And if you want to talk about being trapped in a job, there are a lot of other more plausible options to get there: for this story, medical debt and a need for insurance is just staring right at you as a possibility! (Medical care certainly is a situation where you can wander into a situation, sign some forms because you don’t feel that you have a choice, and all of a sudden end up in enourmous debt.) I dunno, maybe I’m missing something; I was listening to a podcast discussing the game that had a different enough take on what was going on there that I’m willing to believe that I did miss some context that would have helped the whole thing make more sense.

The fourth episode was disconcerting in some of the same ways (length, bugs), but also marked a shift towards an ensemble cast instead of a protagonist plus companions. Which was pretty interesting, conceptually? But the episode also felt to me like it was missing a problem-solving through line: the earlier episodes certainly left room for random encounters (with people, with locations), but the fourth episode felt like that’s all that was going on?

And then the person I’d thought of as the protagonist just left us, going away with his new employer. By which point I’d already mostly realized that he wasn’t he protagonist any more, so that was less jarring than it might have been; a relief to some extent, given my feelings about what had happened in the prior episode?

 

It took me a little while to decide what I thought about the fifth episode, but I ended up really liking it. It leaned even farther into the ensemble cast aspect of the game, but by now my attitude towards that had flipped: you see people coming together, you see the importance of groups and interactions.

And it gives a cooldown period at the end. That’s something that, in general, video games don’t handle well: plots lead to a big confrontation and then end almost immediately. That’s what really made Shenmue II stick with me: instead of ending with the big battle in Kowloon, or maybe that plus a scene of tearful farewells, it spends two full hours on a walk through the countryside.

Kentucky Route Zero doesn’t have the same sort of climactic battle as most narrative games, of course. Still, episode 4 does end with an important departure and reconfiguring of our team; and the fourth interlude is, if anything, more climactic, with a storm literally destroying buildings. And, on a quieter note, the fourth interlude also is an important transition in whom the game is about: we’ve seen the story shift from being about an individual to being about an individual with sidekicks to being about an ensemble, and the fourth interlude in retrospect marks the transition to being about communities.

Which all comes together in the fifth interlude. It actually has a candidate climax early on in it as well, with the team finally completing the delivery that the game has been working towards ever since the beginning; but that ends up just being one strand of what’s going on, and not one that particularly stands out. Instead, you see your cast of characters trying to figure out what they want to do next in their lives (and where and with whom to do that); you see the townspeople carrying on after the storm; you see the town as an actual place with its own history and goals instead of just a mythical destination. And there’s a rather lovely little ritual to cap the whole game off.

 

I dunno; I still don’t know what to make of this game. But I mean that in the most positive sense: I don’t know what to make of it not because I’m not sure that there’s something there, but rather because there’s so much there, so many threads, that I can’t weave them all together. I’m not sure if the game can, either, but that’s okay? Not everything has to be tied up into a neat answer; far too many games are simplistic in just that way, it’s very refreshing to see a game take such a different tack, and, ultimately to carry it off so fruitfully.

blogging less

April 23rd, 2020

I expect I’ll be blogging somewhat less here, at least for the next while. (Not that I blog a lot these days!) Damo Mitchell started up an Internal Arts Academy, providing online Nei Gong training. Which is very good timing: I’d been getting more interested in Nei Gong, and with the COVID lockdown, my in-person Tai Chi classes aren’t happening and I’m not playing board games over lunch most days. So I both have some amount of extra time to work on internal arts stuff in general and a slot in my schedule where I can practice daily even during the weekdays.

So the upshot is that, I’m going to spend a few hours a week watching course videos; some of that time is time that I would have spent at Tai Chi class, but some of it is probably time when I otherwise would have blogging. So if you see fewer posts here, that’s why.

I don’t expect to stop blogging entirely: I’ll keep up my habit of writing about games when I finish them, and I’ll still probably occasionally write here about other topics. But I imagine my frequency will be more like one post a month, and sometimes not even that.

learning something you don’t believe

April 12th, 2020

I’ve been doing Tai Chi for four and a half years now; and I’ve been doing Nei Gong (literally, “internal work”: Qi Gong and the like) over the last year. And it’s been super interesting; but also, especially as I dig more into the Nei Gong work, I keep on having to face concepts that I feel embarrassed to take seriously.

Qi is a good example: am I really supposed to think that there’s some substance energizing our bodies and present in the world around me, a substance that science is completely unaware of? That I can drink it in through the air, through my feet; that, if I do the latter, I’ll get rooted to the ground? It sounds ridiculous.

But there’s enough interesting stuff going on in my Nei Gong practice that I don’t want to stop the practice, either, and in fact I want to do it more seriously rather than less. So I’m left with an uncomfortable choice: do I try to do it but ignore all the bits that don’t fit with my pre-existing world view? Do I say “yup, I’ll just believe that Qi exists”? Do I try to maintain a split brain approach to this?

 

The latter of those is what I’ve been doing: my current attitude is “it’s more interesting to behave as if I believe in Qi”, while remaining neutral on the question of whether or not I actually do believe in Qi. (Or to behave as if I believe this whole system: Daoist Nei Gong, the theoretical concepts in Traditional Chinese Medicine, etc.) In other words, I try to suspend disbelief enough to take the system seriously, to figure out how to analyze various situations in terms of that system, and then I see where that leads me. If it leads me somewhere interesting (and not dangerous) then great!

It’s been ages since I’ve read Thomas Kuhn, but I think the notion of “paradigm” is useful here, especially Kuhn’s point that different paradigms are incommensurable. So I shouldn’t particularly try to fit, say, Traditional Chinese Medicine (TCM) concepts into a modern Western medicine view: instead, it’ll be much more useful (or at least more interesting!) for me to try to understand how TCM practitioners think about a certain situation, without constantly short-circuiting that evaluation by noting ways in which it falls short from a different point of view.

 

Of course, taken far enough, this leads to cult behavior: I don’t want to completely disconnect my critical facilities. (Though maybe “cult” isn’t actually quite the right word: any random thing that somebody comes up with isn’t a paradigm, it needs a somewhat broad and battle-tested set of practices and practitioners.) What I’m finding useful there is to take a more oblique approach: keep my critical facilities intact, but don’t apply them in places of maximal conflict between paradigms. Instead, apply them in much more prosaic situations, about which, say, modern Western science doesn’t have much to say. (Which, ironically, actually gives my critical facilities more of an exercise, because I don’t necessarily know what the answer to a question is supposed to be in advance!)

Take, for example, the question of Qi. If I try to force the question of “do I believe that there’s a substance called Qi running through my body?”, then that sets up a high stakes conflict in a way that I don’t currently find productive. Whereas if one of my Tai Chi teachers says “when you do the Peng move in the Eight Energies drill, then you’ll bring your Qi to your hands, and you’ll feel that as a tingling sensation in your palms”, then now we’ve reached something that I can poke at myself: do I in fact feel a tingling in my palms in that move in the drill? The answer is yes; and, further more, I get a similar feeling carrying out in other places in the form. (And that feeling connects to a more subtle feeling moving along the inside of my arms.)

So here I feel like I’m on firmer ground: yes, this action does reliably lead to certain physical sensations. And, by paying attention to those sensations, by noticing other moves when I get a similar sorts of feeling, and by listening to my teacher talk about Peng, I can at least start to understand the concept of Peng, coming to terms with that part of a Tai Chi paradigm. I still don’t know whether those feelings really come from a movement of Qi, but they’re not in conflict with a Qi-based explanation, and I can let that thought sit without it bothering me too much.

 

And the reason why I’m finding Nei Gong interesting is that that sort of things happens pretty often: a Nei Gong teacher will, say, start by saying something like “we want to gather Qi in the Dantian and then circulate the Qi up the Du meridian and down the Ren meridian”. Which involves lots of concepts that I could struggle against; but then the teacher will say “and to gather the Qi in your Dantian, figure out where your consciousness is interacting with your body, and gradually let that point of interaction sink; and if you do that for a bit, it’ll settle down in your lower abdomen, which will make your abdomen feel a little taut”.

So I try that, and, after a bit of experimenting, I think I understand what he’s saying about where my consciousness is interacting with my body; pretty high up, at first it would only sink a little, but after experimenting a while, it started to sink farther and more quickly. And, sure enough, my abdomen would feel more taut when I did that. (And some other, weirder, stuff would happen sometimes, like I’d feel like I was looking out through my eyes as if they were a high window on the wall.)

Again, who knows what’s going on physiologically, and who knows whether or not Qi exists. But by going through this exercise, I at least start to understand a little bit more about what it would mean to operate within that part of the Daoist Nei Gong paradigm.

 

Interesting stuff; turns out that, if you pay attention to your body in an appropriately directed way, you’ll find all sorts of surprising things happening, and ditto with your awareness. And, as long as I can keep up this cycle of “a teacher makes a relatively concrete physical / perceptual prediction about the outcome of a certain behavior, they link it to a conceptual framework, and I try out the behavior and get something plausibly like the predicted outcome”, then I’ll keep on giving it a try; and, by doing so, I’ll be able to understand this paradigm better from the inside.

I don’t want to do anything dangerous; but I should be able to avoid that. And if it means that I sound a bit silly when talking about this stuff, well, it won’t be the first time that happens, I can live with that…

i love hue

March 22nd, 2020

I Love Hue starts off as this super chill game about colors. You get presented with a rectangle full of colored squares; some of them are fixed in place, and you want to move the rest around so the whole thing makes a smooth color gradient. And it’s all very pleasant: more or less obvious what to do, though sometimes it takes a couple of guesses as to which shade of green goes in a specific place, a nice way to spend some time.

As the levels progress, it gets harder. There are fewer fixed squares; eventually the norm becomes for only the four corner squares to be fixed, with you having to interpolate the rest. Which is fine, that’s actually not inherently particularl hard, it just makes things a little more interesting.

 

What does start to get hard, though, are where the color palette shrinks. At the start, you’ll maybe have blue in one corner and yellow in another corner and purple in another; so the differences are clear. But then it starts getting quite a bit more subtle: maybe the whole board is in a blue to yellow to green range, with no reds showing up at all, for example.

And, at this point in the game, I realized that I actually don’t understand how color perception works. Like, the tiles that belong on the edge always felt brighter somehow than the tiles that are in the middle; I assume that’s a perceptual artifact rather than anything about the specific colors that the game chooses, but who knows? Also, my notion of color is very naive, modeled on a circle of red/orange/yellow/green/blue/purple combined with a lighter/darker continuum, but that’s only two dimensions, whereas color is actually more of a three-dimensional thing? (Looking up terms, I think “saturation” is the concept that I’m missing.)

 

And, eventually, the game morphs into a whole different sort of thing. Take this picture, for example:

This is no longer a chill game about rearranging squares, or even rearranging hexagons. (They add in triangles later on, which turns out to be extra challenging.) I think the left half is correct, but there’s one place I’m not sure of? And pretty clearly there’s something wrong in the upper right.

But there’s something more subtle wrong in other places. If you look at the middle column, for example: the one that’s the third from the bottom seems too dark compared to the one that’s second from the bottom. But it wasn’t at all clear to me what to do about that: when I tried to swap in other nearby colors, that bit seemed better but other bits seemed worse.

 

For that particular level, I gave up and restarted, and somehow it worked out better the second time. And I didn’t hit that sort of roadblock in all of those later levels.

But I did hit roadblocks in a bunch of them; sometimes situations like the above, where the whole level was across a narrow color spectrum, sometimes situations where the set of fixed tiles was chosen in a way that made it particularly hard to interpolate between them. (Or extrapolate from them, if they were on the middle instead of the edges.)

And it was an experience that I’m not used to. Interesting to grapple with color perception; interesting from a gameplay perspective, too, to uncover some non-atomic conceptual moves. (For example, if you hit a hard-to-analyze discontinuity like the one above, then a certain kind of oblique shift of a whole row of tiles ends up helping.)

 

Great game. Not the sort of game you’ll sit down with for hours, probably; but I enjoyed doing a puzzle or two most days for months. (Probably for about a year, actually.)

And now there’s a sequel out, playing around with shapes; I haven’t yet hit the part in that game where it starts to mess with me, and I don’t even know if the sequel goes as far, but it’s pleasant to be back to a chill game about sliding colored tiles around, too!

heaven’s vault

March 16th, 2020

At first, I was actually a little put off by Heaven’s Vault. I expected the game to mostly be about translation, with maybe a bit of clicking to select options, but somehow the controls ended up being surprisingly fiddly when I was first getting used to them? (Somehow I was always hitting the wrong button while browsing the timeline.) And then I was confronted more than once with dialogue choices where I didn’t like any of the options, and at least once with a dialogue choice where what my character ended up saying wasn’t at all what I intended.

Eventually, I got used to it, though: the game doesn’t have you play yourself, but I got used to the character I was playing, and that character started mellowing out a bit. And, of course, the character you play isn’t the hook for the game: it’s the translation mechanic.

 

And the translation is fun! It doesn’t feel like a realistic depiction in the slightest of figuring out a language, it gives you way too narrow a set of choices. But that’s okay, it’s a game, and it’s a pleasant puzzle to think about. And, from my point of view, well judged in difficulty: I usually had to think at least a little about choices, I got my translations right a significant majority of the time, but I got it wrong enough to keep me on my toes.

And there’s more depth there, if you want it. It’s basically a simplified ideographic writing system, so you can try to figure out what the meaning is of the different visual constituents of the words. The game doesn’t shove that at you super hard, but it’s there if you want to spend time thinking about that.

Though that’s also another area where the game’s interface could be significantly better. When you’re choosing the translation for a given word, the game shows you a collection of four related words, words whose components are similar. But if you want more than four comparisons, you’re out of luck. Or, more annoyingly, if it’s a word that you’ve seen before, but that the game either hasn’t told you is correct or has told you isn’t correct, there’s no way to see the previous phrases where you’ve seen the word (other than, I guess, tediously scrolling through every single phrase the game offers you): frustrating.

 

At any rate: a core mechanic that I like. And the basic plot is fine, and I enjoyed the character interactions more as the game progressed. There’s even a “chat with your companion while traveling” mechanic that reminded me a little bit of the last part of Shenmue II; not as good, and I have mixed opinions about the traveling in the game in general, but it did help in building connections.

But the flip side is that I was hoping for more than I saw…

what should i tweet?

March 8th, 2020

I have a fairly strict rule when tweeting: no retweets. I just scrolled through the last fifty tweets on my timeline: no unquoted retweets, two quote retweets, and I remember one of the latter because it felt odd when I posted it. And a similarly small number of tweets linking to external web pages, other than my own blog. So, basically, my timeline is just me.

The thing is, though: I follow people who retweet other stuff, who link to other stuff, and I enjoy that. (At least if they’re not basically tweeting out ads for their employers…) And I do share external links, I just do it on Tumblr instead of on Twitter. I even share tweets of cute animal pictures, I just do it on a channel in my work Slack.

 

So maybe that rule is silly? I certainly don’t have any reason to believe that people who follow me on Twitter are any less into cute animal pictures than my coworkers. And the Tumblr account made sense five or ten years ago, but I can’t imagine starting an account like that now.

The flip side, though, is that I kind of like having different accounts for different purposes. And one big side of the current setup is that it helps me try to avoid thinking of conversations on Twitter as being more important than they are: I really don’t have to try to have and broadcast an opinion on everything that shows up on that site.

 

I dunno; I’m still thinking this through. But don’t be shocked if I decide that it’s okay to retweet cute animal pictures, I really don’t have a good reason why those should show up on my work Slack…

shenmue 3

March 2nd, 2020

I’d given up hope that I’d ever see another Shenmue game; but then the Shenmue III Kickstarter happened, and here we are.

And, unsurprisingly but gratifyingly: Shenmue III is very much a Shenmue game. There are tweaks to the formula: martial arts practice is a little different, fighting is a little different, there’s an mild energy mechanic serving as a gentle money sink. But the core feel is very, very familiar. And also very, very unusual.

 

At its heart, Shenmue is a daily life simulator. A daily life simulator in the context of a martial artist who is trying to get revenge for the death of his father: but still, he has to do fill the hours of each day.

So Ryo gets up each morning. Is woken up by Shenhua, actually, the first half of the game takes place in the village at the end of Shenmue II. (For whatever reason, I found it amusing that, when Ryo returned to being woken up by the beep of your watch in the second half of the game, I discovered that Shenhua was waking Ryo up a little earlier than he’d normally set his watch for…) And then I’d have Ryo exchange pleasantries with Shenhua, and head out for his daily routines.

I’d start them by heading to the local dojo; Shenmue III added in some training minigames, Horse Stance and One-Inch Punch. So I’d do a round of each of those; and I felt surprisingly well represented by that, I actually try to spend 15–30 minutes a day standing in a slightly uncomfortable position (not as uncomfortable a position as Horse Stance, to be sure!), so yay to see that in games too. After that, I’d do some sparring to level up moves, and then have one real fight (to practice combat, and to increase my rank in the dojo), and I’d head into town.

In town, I’d usually put in an hour or so of work (chopping logs most of the time, a pleasant enough minigame, sometimes fishing but I didn’t like that minigame as much). I’d do a bit of shopping (food, mostly), maybe get some capsule toys to try to trade them for martial arts scrolls. And then I’d wander around, maybe chatting to people and maybe watching people practice Tai Chi (they modeled the first quarter or so of the main form I practice: again, representation!), and I’d try to make a bit of progress on the main plot every day. Which usually would take me through the afternoon; I’d probably chop some more wood on the way back home.

And then I’d head home to Shenhua, and talk to her. Evenings turned into basically a continuation of the walk at the end of Shenmue II: I’d ask her about some aspect of her life, she’d ask me about some aspect of my life.

 

And this is the most chill experience: but also an experience that’s very familiar from life but not from games, and a very human one. As I mentioned above, there are a couple of touch points that relate specifically to my life; but also, there’s an extremely familiar basic rhythm of getting up, doing some practicing, doing some work, trying to make progress on some bigger project, and having some real human contact mixed in.

Sure, I spend more time at work than Ryo does; sure, the bigger projects that I work on don’t have the drama of the project that he’s working on; and I’m nowhere near as serious a martial artist as he is. But, even with all of that, the contours are familiar, and familiar in ways that relate to how I find my life enriching.

 

The second part of the game is more of the same. You’re staying in a hotel, so you have to actually pay money for your room every day, but you’re quite used to making money by then. And everybody’s favorite part-time job, namely forklift racing, makes an appearance; yay.

You don’t have quite as many nice evenings with Shenhua; you get to talk to her sometimes, but not always. But the game makes up for that by letting you call your friends from previous games, to check in on how they’re doing. (And Ren shows up in person.) Which is super charming; my favorite is one of the conversations with Joy, where clearly neither of you is comfortable talking about yourself; adorable and familiar.

And you make friends in town, too; and this all comes together in a final sequence with your friends having your back as you storm a castle.

 

On the one hand, spending a noticeable amount of a game’s play time doing a minigame about standing in an uncomfortable position sounds ridiculous. But most video games, or at least most narrative action video games, have you spend much much more time doing things that don’t sound as ridiculous on the surface but actually are ridiculous. Fighting a standard enemy in an RPG or in Yakuza is only marginally more engaging (and actually may be less engaging than the “chopping wood” minigame in Shenmue III); the Shenmue series just forces you to confront that mindless behavior.

And I can imagine going multiple ways as you engage with that sort of question. Maybe keep games flooded with combat but make the combat interesting? Maybe get rid of the filler entirely, focusing on narrative highlights and focusing on combat to the extent that it supports that? Maybe say that one potential virtue of games is to give you a pleasant way to spend time without demanding too much of you, so a mixture of mindless combat and narrative bits is totally fine?

But I really like the answer that the Shenmue series gives, and that it’s, if anything, getting better at delivering. Our lives aren’t all a series of sparkling highlights, but that in no way means that our lives are bad: there’s real richness to be found in our lives nonetheless. Shenmue helps me see that: in the game, even in my non-game life.

 

Now to wait another couple of decades for Shenmue IV

moved off of itunes

February 29th, 2020

As I mentioned a couple of months ago, iTunes lost track of most of my music in the transition to Catalina, so it was time for me to find some other way to store my music. (With the criteria being that I wanted archival storage on my Mac and an easy way to keep copies of everything on my phone.) Unfortunately, the presence of iTunes has destroyed most of the other competitors in that space, but there has to be something, right?

I’d been hearing people talk about Plex for a while; mostly in the context of organizing and streaming video content, but presumably it works for music, too. And, indeed, it does, so that’s one possibility. For a while, it was the only serious possibility on my list, but then I ran across Vox: if I want to go music-only, then it seems like a possibility?

Both of those offer iPhone clients, but unfortunately they’re kind of expensive to do what I want. The Plex client won’t let you copy stuff to your phone unless you get a “Plex Pass”: $40/year, or $120 lifetime. And Vox makes you sign up for “Vox Premium” for that functionality, which is $50/year. I’m all for supporting good software, and actually those prices felt reasonable to me if I wanted to enable the full functionality that those premium plans enabled (basically, increased cloud streaming options); but it felt a little expensive to me if the only feature that I wanted was to copy music from my Mac to my iPhone while on my own WiFi.

For a while, I was wondering if I’d end up using VLC on my phone; I had a hard time believing that was a good idea, but it might be a reasonable initial step while I’m experimenting? And actually using Plex on the Mac and Vox on the phone seemed like it might be possible, too. But then I found Prism: an iPhone music client that includes Plex as one of the music sources, and that enables downloads for a one-time $5 fee. So that’s perfect: I can use Plex as an archive store for all of my media, and pair that with a music-focused client on the device that I actually use to listen to music, all at an extremely reasonable price.

 

Next step: create a clean copy of my music. It’s all there in the iTunes folder, but there are duplicate copies of purchased stuff there, because I redownloaded purchased music after iTunes lost track of most of it. So I copied my iTunes music library to a Music/Archive folder, looked for duplicates, and deleted them.

The criterion that I started with was: which directories contain a file whose name ends in “ 1.mp4”? That algorithm has both false positives and false negatives: some track names legitimately end in 1 (e.g. Art of the Fugue recordings typically contain a track “Contrapunctus 1”), and some of the duplicates were mp3s or were copy 2 instead of copy 1. So that involved manual work; tedious, and it’s certainly possible that I made mistakes, so I’m not going to delete the original files from my iTunes library. But it was a limited amount of work, just one and a half evenings.

The one annoyance there is that the names of some of the tracks had changed between the original and subsequent times I’d downloaded them from the iTunes store: Korean tracks in particular sometimes went from having English titles to Korean ones. (Or maybe vice-versa?) So for albums like that, I had to do a bit more manual work.

 

Once I was done with that, I copied the Music/Archive directory to Music/Plex. I wasn’t going to point Plex at the Archive directory: if there’s one thing I’ve learned over the last few years, it’s that I shouldn’t trust music software to not mess with my music files. Also, for all I knew, I’d want to run a similar experiment with Vox; I didn’t want to point both of them at the same directory. And music just isn’t that big: I have a decent-sized collection, but even so tripling the size of my music collection still leaves me with lots of space.

Then I downloaded Plex and pointed it at that directory. It thought for a while, but then everything showed up, and it looked nice! There were, unfortunately, still duplicates; when I poked into those, I realized that I’d missed the case where the album name changed between the first and second times that I’d downloaded the album. (Korean albums, again.) So I went through and removed the duplicates in both the Archive and Plex directory. Which, actually, pointed at one issue with Plex: it doesn’t have a native Mac client, it’s implemented as a web app, and navigating back from the single-album view to the all-albums view was quite a bit slower than I would have liked. And, after doing that a few times, Safari started giving me warnings about the amount of memory the page was using; looking in Activity Monitor, that page was using over a gig, I think I saw it go up to two gigs?

So that also made me happy with my choice to go with a third-party iOS client; probably the official iOS Plex client is better than how it works on the Mac, but that wasn’t a great first impression. Though actually other aspects of the transition gave me an actively good impression of Plex: in particular, I appreciated how it sorted the names of Japanese and Korean artists into the letter that corresponds to their name in the romanization of their name, instead of sticking all off them into a single “numbers and weird stuff” list at the end.

 

And then I launched Prism, pointed it at my collection, purchased the ability to download files, poked through the UI until I found an option to download everything (it wasn’t hard to find), and waited. Took a while, and I kept on waking up my phone to make sure it was making progress; which I think it really wasn’t doing while it was asleep, because it still had a lot of work to do when I woke up the next morning. But I don’t blame Prism for that, I bet iOS doesn’t even provide a mechanism that allows apps to download thousands of files in the background. A handful of them (I think 5?) didn’t download right the first time, presumably because of the app going to sleep at the wrong time, but I told it to download everything again, it grabbed those last files, and I was all set.

 

So: yay, I’ve ended up basically exactly where I wanted to be. And I also have an archive system set up, so that if I want to transition how I do this in five or ten years, I’ll be able to do that. And it means that I’m no longer tied to Spotify: if I decide that I want to switch back to Apple Music at some point in the future, I can do that without worrying that it’s going to mess up my music collection. (Which it did in multiple ways: not just the file modification stuff I linked to above, Apple Music also broke albums into multiple parts and removed the ability to fix metadata.)

The one gap in my flow is newly purchased music: it was kind of convenient to buy music on my phone and have it just show up everywhere? But I can deal with that, I just set up a once-a-month reminder to copy new music over to the new system. A small price to pay to get an archive system that I trust; and, if I want to stop paying that price, I can just stop buying music…

Though of course the new archive system isn’t complete: I probably have hundreds of albums only on CD. I know for a fact that some of those CDs are no longer readable, but presumably most of them still are; and it’s probably high time for me to digitize all of the ones that I can. So maybe I’ll start chipping away at that? But that’s a later thing, for now I’m going to enjoy the current state of affairs.