1. Building Icons with GNU Make

    Desktop icon formats are a mess. No platforms share formats - Windows uses .ico (and for various reasons so does the web), Mac OS X uses .icns, and desktop GNU/Linux doesn't even have an icon format, you just throw PNGs into the air and pray.

    But let's say you are foolishly trying to write a cross-platform application, yet intelligently want to automate creating most of these from source data.

    A reasonable "source data" for icons is a directory full of PNGs.1 Apple uses a format called .iconset for this, with filenames like example.iconset/icon_64x64.png. Since it's just a directory of images, it'll serve for making Windows/website icons as well, and GNU/Linux build scripts can copy files out of it directly.

    To convert this to the desired formats, you'll need GraphicsMagick, and either build on a Mac OS X system or install libicns.

    Now for the Makefile:

    ICONUTIL := $(word 1, $(shell command -v iconutil icnsutil) iconutil)
    .SECONDEXPANSION:
    %.icns: %.iconset $$(wildcard $$(@D)/$$*.iconset/icon_*.png)
            $(ICONUTIL) -c icns -o $@ $<
    
    .SECONDEXPANSION:
    %.ico: %.iconset $$(wildcard $$(@D)/$$*.iconset/icon_*[0-9].png)
            convert -background transparent -colors 256 $(filter-out $<,$^) $@
    

    (You'll need to replace those spaces with tabs. Sorry. Complain here.)

    This uses a couple unusual tricks.

    First, the ICONUTIL assignment figures out whether you've got the genuine iconutil from Mac OS X, or the compatible icnsutil from libicns. If you don't have either, it picks iconutil so you get a sensible error.

    Second, it uses GNU Make's secondary expansion feature. This specifies a wildcard dependent on the pattern and target name when generating the list of source names.

    Third, it depends on the source directory. This is uncommon in Makefiles because directories update when contained files are added or deleted, not when files are modified. The modification case is covered with the .SECONDEXPANSION trick but we also need to handle the case where an icon size was removed, because the target files need to be rebuilt without the removed file.

    Finally, please note the slightly different glob patterns. .icns files support high-DPI ("Retina") icons using the format icon_WxH@2.png - so icon_16x16@2.png is actually 32 pixels on each side. .ico files, as far as I can determine, have no such feature; they will use the 32x32 icon instead. So @2x files should not be included when building the .ico.

    Assigning a .ico to a .exe

    I've not found a good cross-platform tool for doing this. You can use Resource Hacker with Wine, but its license prohibits redistribution, and no one's going to have it installed already.

    $ wine ResHacker.exe -addoverwrite "example.exe,example-new.exe,example.ico,ICONGROUP,MAINICON,0"
    

    Assigning a .icns to a .app

    Mac OS X .app files are directories. The usual place to put an icon would be Contents/Resources/Icon.icns, and you may simply need to copy it over the file already there.

    If you're building the package from scratch, you'll need to create the Info.plist file referencing the icon in the first place. This can be done on any platform with Python's plistlib.


    1. Another reasonable source format is one or multiple SVGs. Turning an SVG into a directory of PNGs is left as an exercise for the reader. 

  2. Stanisław Lem on Big Data

    tech

    [Is Big Data] necessary? A member of the French Academy, writing in Le Monde, said that it was inevitable, it had to appear. This civilization of ours, he wrote, which measures everything, counts everything, evaluates everything, weighs everything, which breaks every commandment and prohibition, desires to know all. But the more populous it becomes, the less intelligible it is to itself. It throws itself with the most fury at whatever continues to resist it. There was nothing strange, therefore, in its wanting to have its own portrait, a faithful portrait, such as never existed, and an objective one – objectivity being the order of the day. So in the cause of modern technology it took a photograph like those done with a reporter's flash camera: without touch-ups.

    ... I would substitute for it another, more modest question: Does [data science] truly show all of humanity? The statistical tables are a keyhole, and the reader, a Peeping Tom, spies on the huge naked body of humanity busy about its everyday affairs. But through a keyhole not everything can be seen at once. More important, perhaps, is the fact that the observer stands eye to eye, as it were, not merely with his own species but with its fate.

    Stanisław Lem, "One Human Minute"

  3. PDF.js, Sausages, and Numeracy

    How fast is PDF.js? purports to tell you how fast Mozilla's PDF renderer, PDF.js, is - and therefore presumably also why Opera will be choosing it. What it actually tells me is that someone thinks it's important to get an "Opera and Mozilla, open web together!" puff piece on a Mozilla development blog.

    Let's say you're a software engineer from San Francisco visiting Berlin. You're hungry, and stop to grab lunch. Berlin's street specialty is currywurst, which they're offering with fries and a drink for €7. Is that a good deal? How can you tell?

    Opera and Mozilla say, look at the other items on the menu. If you see a €10 kebab - well, that's more expensive, so €7 must be a good deal. Maybe do a quick conversion in your head - that's about $10, which compares to ever-gentrifying SoMa prices, and you were told to expect things being a bit more expensive in Europe anyway.

    How cheap is this restaurant? Well, 80% of its menu items cost less than what's in my wallet, which is cheaper than the other 20%.

    Of course you don't do that. You check the prices at the place next door, and see that things should cost at least 30% less. You'd be a sucker to buy lunch at the first place!

    You can't benchmark something against itself. The post describes largely unspecified PDFs (guessing a target of "about 4x as bad as this one PDF is OK" as if the measurement were linearizable to begin with), on an unspecified machine, with no points of comparison with the half dozen other PDF readers doing the same thing. Then shows off a graph that doesn't tell me anything beyond the complexity of PDFs approximate a Zipfian distribution, which, no shit.1

    How fast is PDF.js? Well, 80% of the time, it's not terrible, which is faster than PDF.js the other 20% of the time.

    This answer is great if you're trying to befuddle Opera users into not worrying about their new PDF reader, developers into not worrying about platform consolidation and ever-taller stacks of leaky abstractions, investors into remembering Opera exists at all.

    But how much of my phone's battery (née milliliters of dead dinosaur and cm³ of greenhouse gasses) does it take to render it? How many weeks/months/years of median salary does it take to afford a computing system that lets me read it "fast enough"? How far can we lower those numbers? These are the kind of questions you need to answer if you want to show you care about high-quality software for sustainable and broadly-available computing.2 To answer them, you need to do actual benchmarks. In the absolute, and relative to other software, but never against yourself - after all, you're cheating.


    1. I'm not saying PDF.js is too slow. It feels slower than other readers to me, but all that means is that someone should run a benchmark. A real benchmark. 

    2. Or in the rhetoric of Mozilla, which obfuscates the actual concerns so they feel good publishing worthless articles, "the open web." 

  4. I died: rymdkapsel

    rymdkapsel (Android, iOS, PlayStation Mobile, soundtrack) by grapefrukt is a minimalist space strategy game that takes most of its cues from the tower defense genre. It takes 60-90 minutes per game.


    I came out of the protein vats right before wave 8. Back then we were still counting. We had just discovered the first monolith and needed as many hands as possible: to run the generators, to decipher the ancient messages, to guard the path to the slab itself... And to run the kitchens. That was my job.

    Up into the early 'teens it was a good deal. Central Planning had the foresight to make it a short walk. I'd fill up a bag of vege-goo and drag it across the hall to the kitchen. By the time I got there the last bag I dropped off would be fully processed into a chem-cake. Sometimes a construction worker would drop by and requisition it to patch up the bio-interface somewhere else. If not, I took it to one of the birthing quarters and watched the vats do their work. It was always great to help someone new learn their way around the kapsel.

    Everything changed mid-14 when the researchers came back from the monolith crowing. During a routine scan the artifact had forced a signal back along the EM freqs they were using to examine it. It fried their scanners and shook the whole station, but within minutes they'd re-jiggered our extractors to work twice as hard. They couldn't explain how they did it - or they could, but no one else could understand the explanation.

    They also told us about the other three they'd found on the map.

    Backed by our new processing facility we started expanding outwards. We strip-mined the local system and when the well ran dry we ripped apart the well itself. Everything, all the matter, fashioned into ad-hoc corridors, weapons arrays, and more vats for more workers. Endless workers. Anything to get the secrets of the ancients before someone else did. My job? The same as always. Goo from the garden to make cakes in the kitchen to fill vats in the quarters. Hell, in the rush sometimes it didn't even make it to the vats - techs would run by and snatch it from the hopper without even asking. Even when they didn't, by the time the worker popped out I was off to the next room. There was always more goo, more cakes, more vats.

    With the remaining extractors spread out our defensive network was weak in some areas of the kapsel. Old weapons were decommissioned, old soldiers re-garrisoned closer to the most important research. We started taking casualties. It didn't matter. Goo to cakes, cakes to vats, just this time it was the second, third, fifth time we'd fill them. More room for people; more weapons for people; more work for people; more people.

    The next monolith we reached gave us the schematics for a signal jammer. The next, a new program for our laser targeting systems. Finally the last one unlocked its secrets - a retrovirus, giving us legs that keep running, arms that don't tire. Relentless efficiency.

    Those damned rocks. They weren't libraries. They weren't weapons caches. They were waste disposal. The ancients fashioned them as locks to keep us out, not puzzles to solve. Prisons to hold science no one could use responsibly.

    It's 27 now. Or maybe 28? They're coming too fast to keep track, alarms never-ending. I'd thank the stars we don't need to sleep anymore, but there aren't any stars left. We turned them all into goo. Goo to cakes, cake to vats. Vats to people. No more weapons for people - now it's people for weapons. Even I can't make them fast enough. And now they're all gone. Now the alarm. It's finally my turn in blue.

    A game over screen in rymdkapsel. The kapsel survived for 72 minutes / 29 waves. Missiles are converging on a single weapons room.


    I've played rymdkapsel several times now, and no matter how I build the station - sprawling with several production areas or tightly-packed fortified center, a caution extension towards the monoliths or a mad approach and retreat in the open - the game ends the same way.

    Two ╻s holding the line, and one running desperately from the garden to the kitchen to an empty room, making more doomed soldiers as fast as its experimentally-modified appendages can. And eventually, that one must stop as well.

    In most RTS/TD games, your loss is marked by the destruction of your base or some critical buildings. But often the game continues on, and you can use your hero avatar or your remaining units to make a futile but narratively satisfying last stand. In rymdkapsel only you can destroy your buildings. At the end of the game you will probably start destroying the outer ones en masse. You will do it to make more minions, with full knowledge they are soon doomed. So the game, for me, becomes a story about growth and (un)sustainability and how we handle its eventual collapse.

  5. Pacific Rim & Attack of the Friday Monsters!

    Yesterday I watched Pacific Rim1 and played Attack of the Friday Monsters.2 It's not likely I'll write more about either specifically but they're both fun and worth engaging if you think you might like them. Pacific Rim is about if giant monsters were real in today's world; Friday Monsters is about if they were real in the 70s when the genre was new.

    What I want to point out is how both do one important thing that's also becoming rare in nerd culture - they're tightly-focused-genre works that are actually new works! I've grown tired of most things of this kind because they end up being mostly in-jokes, callbacks, or worst, incompetent aping. This pushes me to more avant-garde things, which I enjoy, but I also want to see more work in the areas I'm comfortable with and know about.

    Both of these works are about basically the same thing, and both are not derivative. I mean, yeah, they're derivative in the sense they are obviously in the same space as Godzilla, Ultraman, Gundam, and so on. But they are not loaded down in a way that requires "nerd literacy" to enjoy nor do they break your focus by making references to things outside themselves. They stand as quality works in the genre rather than the most recent/egregious self-back-patting. They remind me of why I like those things instead of just reminding me that I like them.


    1. Quick review: Needs more women, and the women need to say more things. 

    2. Quick review: Actually near-flawless? 

  6. Going back through Problem Attic

    Liz Ryerson put together a list of some writing on Problem Attic (graciously including my own piece).1 I'd read Chris Priestman's article before writing mine (even before finishing the game - when I was stuck a bit over halfway through) but the rest were new to me.

    Kim's piece4 drew my interest because her tone and conclusion match mine closely (or that's how I read it, at least). She has the same inability to find words to describe the base elements. But her interpretation of the "contents" of the game is the exact opposite. I saw a world of complex "accreted details"; she saw "decay" and "collapse".2

    First, I think that particular symmetry is interesting - that the same material reads as overbuilt and collapsed is itself worth some reflection. But it also points to two fundamental ways to make sense of the game. As it relates to Problem Attic specifically we might also be focusing on the two halves of the game.

    To make sense of an overly-complicated system, you need to strip it down. As a programmer I know that the rules of any given level of Problem Attic can be expressed as a dozen or so lines of code. I played the game trying (mostly unconsciously) to see the rules at that level.

    The approach Kim suggests is an alternative I didn't see (likely because I am a programmer). If the world is in a state of decay you make sense of it by finding and mentally inserting the parts that are missing. We understand the function of the the Roman Forum not because we can strip it down to constituent marble and grass with well-understood physical properties but because we can add imagined orators and produce stalls.

    And this isn't exclusive to Problem Attic. All game mechanisms are in some way reducible to something formally "simpler" than they are visible as in the game. A rule book is easier to understand than just watching a game, or it's failed as a rule book. And all game mechanisms are in some sense incomplete with regards to the richness of objects and interactions in the real world.3

    What might be special about Problem Attic is the way it resists explanation from both sides. Nothing in our daily experience prepares us for Tetris or Pac-Man but we grasp and can re-explain a sufficient set of rules quickly. At the other end games like Animal Crossing or The Last of Us have rule systems that contain so much code they're beyond formal explanation by any one person but we can understand them via their presentation, even when it bears only a cursory resemblance to the real-world objects we are using to understand them. Problem Attic admits neither straightforward instruction manuals nor analogies - as I half-described before, it's only "comfortable being a videogame".


    1. For a game I struggle to find words for, I'm sure writing a lot about it. 

    2. This different frame extends even to Liz's music. I've described the sound as "excessively layered" to a friend. 

    3. Or even their virtual worlds. It makes perfect sense to ask something like "what's Isabelle's favorite song?" but the formal systems in New Leaf prohibit this even though Isabelle, songs, and favorite songs are all things in the game. That doesn't stop us from understanding the game through analogy with the real world though. 

    4. Since removed from any site I can find. :( 

  7. Review: Dungeon Heroes

    I played Dungeon Heroes, by Gamelyn Games (which seems to be mostly Michael Coe). It's a one- or two-player boardgame which takes 10-30 minutes per play; I've played it twice with my wife (who Kickstarted it) and four times solo.


    The back of the box promises a "roguelike strategy game" and I admit I scoffed when I heard it. I have played many games - board and video - that self-described as "roguelike" but didn't deliver anything close to the tactical-puzzle feel associated with the genre.

    This one, though, works. Nothing in the game feels over-designed, my usual first objection to dungeon-crawl boardgames. Somewhat like FTL the characters play out as resources to expend and extensions to the space of possible actions. Unlike FTL but like other roguelikes these actions are mostly non-fungible - only the rogue can disarm traps; only the cleric can heal. Randomness plays a small but critical role, as incomplete information demanding contingency planning rather than variable small-scale outcomes. In the two-player version, there's an added element of bluffing on the dungeon player's side.

    There's some hints of zugzwang; rare in "classic" roguelikes but common in some of the more recent minimalist ones (Ending, Bump by Aaron Steed; Zaga-33 and 868-HACK by Michael Brough); entirely unknown to me in other boardgame dungeon crawls. Most of the time it's not relevant to the game - and the cleric can burn two actions if necessary - but the dungeon player can sometimes force very bad moves on the hero player near the end of the game.

    The material quality is great. We have several Kickstarted games in our house and the quality varies a lot. This one has a high-quality box reminiscent of Fantasy Flight's Silver Line and beautifully cut wooden figures.


    This acted as a flashpoint for my disappointment at the amount of latent sexism in themed boardgame design. I don't want to take it to task specifically right now because it's not uniquely or especially gross in any way. But several parts are troubling.

  8. Varieties of Animal Experience (or, 動物クロス Postmodern)

    So PBS Idea Channel did a bit about Animal Crossing tying it into Hiroki Azuma's theory of otaku as narrativelessness. I was shocked and not sure how to respond to someone who says Animal Crossing has an "absence of narrative". Or makes the base critical mistake that "the point" of a work is merely one thing that happens in the work. So I snarked and then this happened, and I really don't know how to respond to someone who thinks writing YouTube comments - and therefore reading YouTube comments - is a good use of anyone's time.

    But I still feel I owe a response of more than 140 characters, because I think this is a serious issue on a couple axes. It goes beyond just Animal Crossing and into more fundamental issues of what games do and how we talk about them.

    Animal Crossing has a narrative. It even has a canonical "story," just not a three-act plot. Everything else in the video falls apart at that one fact. But even ignoring that the analysis is shallow.

    Collecting is a thing you can do in Animal Crossing, yes. But while "collecting" is semantically broadened to near-meaninglessness in the video, that still ignores dancing with friends and designing clothes and planning roads and writing letters and rocking out and appreciating artwork and appreciating fake artwork and glitching your way into the river and watching TV and sitting on a stump and just enjoying the 2AM music. And still I wouldn't call any of these things "the point" of the game. (I'm not ready to stake out any claim on that yet.)

    Why I am trying to "collect" a villager's picture before they move out? Why am I filling my back room with musical instruments for jamming when friends come over? It's because of the memories of the time I spent in the game and a desire to make more - the narrative - not in spite of it.

    I don't want to tell you how Animal Crossing should be played! I just don't want you telling people how it should be played. I will tell you what I get out of playing it, and I want you to tell me what you get out of playing it. This is the difference between the basis of pseudo-science and critical discourse. A personal account is missing from Rugnetta's video and offering an analysis of the play experience sans reference to real player is one of the few wrong ways to do it.1

    So the best long-form response I can muster is to continue to document my own experience with the game, and read a diversity of others' experiences. Unlike Rugnetta I'm not universalizing or essentializing mine - it is mine, real but one of many. (I am also not getting paid via YouTube hits.)


    Partway through composing this, Gamasutra posted this series of letters between its authors which saves me the effort of writing the second half. There's no better way to highlight the variety of experience - and the shallowness of the one offered by Rugnetta - than an actual discussion around it. Here's what approaching the game with "otaku citizenship" gets you, from Mike Rose:

    I was hooked on collecting things and being part of something, and now that that feeling has died off, I can't really see why I was playing it in the first place.

    And here's what other approaches get you, from Kris Ligman:

    As we become more urbanized and these natural and small-town spaces disappear, we escape to a sort of virtual outdoors out of comfort. In fact, I love how Animal Crossing also serves as a critique of the encroach of modernity...

    Or Christian Nutt:

    In the end what I am left with is this: how long can this go on? I don't see an obvious end to it. I'm sure it'll taper down and down, but for right now, I've forged a real emotional connection to my game, and I can still see uncharted territory, too.

    There's nothing wrong with jumping at collection or stopping a game after two weeks (though like Mike, you might realize in retrospect it was a poor choice). There is something wrong with saying that since you stopped after two weeks, that's all there is to the game. Try actually engaging with it; if you can't do that, don't tell other people what they're doing.

    PBS Idea Channel is often social media garbage, more thinkfluencing than thinking.2 So why bother responding? Because it's also getting more attention than, like, any of the other critical writing about Animal Crossing I've linked to. When Warren Spector (or other big-mouthed-dev-of-the-week) says there's no quality mainstream games criticism, this is why. Lazy nerd pop culture callbacks get tens of thousands of views and big branding - more than twice as many as Leigh Alexander's Kotaku post of about the same age, and everything else is on sites much smaller than Kotaku. Thoughtful analysis is buried.


    1. This is a vast oversimplification driven by not wanting to drag in the whole discussion of games-centered criticism vs. player-centered criticism. All I mean here is that if PBSIC wants to do the player-centered approach they're trying to do, they can't ignore the player. 

    2. No better example of this than tip-toeing around offending climate change denialists at the end of the same video. Very "fair and balanced," not at all the PBS science broadcasting I grew up with. 

  9. I played: Problem Attic

    I played Liz Ryerson's Problem Attic (play online, direct download, soundtrack, other good music). It's an exploratory platformer and will take most players at least a couple hours to finish. It demands relatively high skill to play. (More than most modern platformers, less than Super Mario Bros.)

    It made my laptop draw a lot of power and run very hot. This is probably some issue with Stencyl.

    A screenshot of Problem Attic's first level hub

    I feel like the game works to defy writing / talking about its contents. Very little is representational. It doesn't offer any text in-game to describe its elements (beyond, for a couple rooms, a pair of letters). Its contents generate descriptors like "the horizontally-controllable crosses" or "the striped alternative foreground" which are meaningless unless you play it, and then you don't need them anyway. It is comfortable being a videogame and uncomfortable being a rules sheet or essay.

    Accordingly it asks, but also rewards, a high degree of videogame literacy as you parse out the contents yourself.

    There were a few levels that reminded me of other games. One scene in particular dredged up a strong memory of Braid. Several moments were reminiscent of VVVVVV. The game is radically unlike either of these, though.

    I think this is an indescribably important game.


    Liz Ryerson says the game is "about prisons," which I see, but there was a more personal touchstone for me.1 I have recurring nightmares of forms and queues and a general fear - not just "dislike" but something more visceral - of bureaucracy. Think of the anxiety you get when walking near the edge of a tall cliff; that's a reasonable comparison to how I feel engaging relatively mundane bureaucratic arms like a post office or bank teller.

    In Problem Attic I felt less jailed than lost, in the same way I do in those dreams. The environments hinted at an underlying structure / design / purpose which layers of accreted details and incidentals obscured or broke. Navigating something that at first blush looks like unstructured garbage (or worse, parsing out a structure that turned out incorrect), vomitus of numbers and symbols that withdraw while simultaneously demanding engagement. It was the same feeling I got trying to prepare my taxes or my health insurance forms - a fear of being lost in a system just outside my mental grasp.

    As a trivial, early, and easily explicable example: Riding the "enemies" that chase you and shake the screen and play discordant noise is key to solving many of the rooms. The only way to succeed is to engage the system despite your ignorance and its apparent hostility.


    1. Which comes with the acknowledgment that the closest I've come to a physical prison is a US CBP waiting room at EWR. If you've never been in either it's probably closer than you think, but still leagues apart. 

  10. The Labelle Litanizer

    I made the Labelle Litanizer, a program which generates random Animal Crossing: New Leaf outfits.

    Latour litanies confront us with objects in a way that defies our usual methods of grouping or reduction. In a similar way the Labelle Litanizer asks us to consider the possible rather than merely the desirable or expected.

    I was surprised at the tonal bluntness sometimes - a hint of disgust in Have you considered a bathrobe?, a winking flirt in Have you considered a pink wet suit, gas mask, and timer? The in-game text often captures this effect too, the "mere" substitution of objects changing the sentence's meaning in ways beyond simple reference. (Take that, positivism!)

    Along with the variety it does suggest it's worth noting what the constraints prevent. In Animal Crossing you are forbidden from holding a balloon and an ice cream; a false nose and glasses; two different shoes. Tools (shovels, axes) and toys (balloons, tweeters) are indistinguishable. Eventually every player asks whether Animal Crossing is real play or fake work; this ontography only contributes to blurring that line.

    The point of such things is that they mostly speak for themselves, so that's all I'm going to say for now.

  11. Animal Crossing and Living Spaces

    I'm playing a ton of Animal Crossing: New Leaf. I don't have a lot to say holistically about it. I'll leave that to Christian Nutt at Gamasutra, and some further insight about what it means for Nintendo vs. what it means for humans from Anna Anthropy's essay at Tiny Cartridge. It's a good game, and a nice game, and cuts broad and deep and expressive, and if you can afford a Nintendo 3DS and the game and you think you might like it, you probably will and should get it.


    Like many players I've been rushing to upgrade my house. My main room is at maximum size, as is my second floor, and my left and back rooms have been upgraded. This house is bigger than any I will ever actually own. The rooms all have themes - the left is doubling-down on balloons for HHA points; the back is a music studio full of instruments; the basement is a display for my mask collection.

    But actually, the room I've spent the most time organizing is my right-side room, and it's still 4x4.

    A blond-haired boy sitting at a go board in a small room

    For a game with a reputation for being laid-back and rustic Animal Crossing play is often rushed and concerned with growing, expanding, filling, saturating. This room is a slight push-back against that. It's as small as it can be and the pieces in it, though carefully curated, are also haphazard. The desk is "rococo" but the room lacks ostentation; the lamp "regal" but most of the furnishings are cheap; the stools "modern" but there's no sign of the machined lines and precision bevels we associate with a modern aesthetic.

    Despite this mixture the room remains cohesive, cozy, and my main design goal, fictionally functional.

    The same boy; a chair is now in front of the small table containing a feather quill and inkpot

    Many rooms in New Leaf are designed as set-pieces. Christian's 7-Eleven is a good example here. I don't want to denigrate this kind of design in any way - I'm working on rooms like this myself! - but there's also something about it that rubs me the wrong way. Do you really want an orchestra in your house, or a dinosaur, or a 7-Eleven? What's the role-play going on here - you're playing a fictional character opening a 7-Eleven? You're playing a fictional character playing at running a fake, toy 7-Eleven? The character is "you" playing at running a fake 7-Eleven? All the answers I have bring forward awkward inconsistencies; does the consistency matter at all?1 Even the rooms that are not "play rooms" look more like an IKEA catalog than a lived-in space.

    I don't have an answer. I still enjoy doing it at the same time I wonder what, if anything, the play is doing to me.

    Again the same room, this time the chairs around the small table with a teapot

    This room rejects that view of what an Animal Crossing room "should" be. You can do things in it, not in the sense of "it has lots of interactable objects," but in the sense that you can invite someone in for tea, or a game of go; you can turn on the lamp and pull out the chair and write a letter at night. The game's surface promise of a "virtual life" can occur in this room. It's imbued with the purpose of human living, not theater or bragging. Its composition is dense, suboptimal, and ad hoc.

    The same room, the boy standing in the middle; an hourglass rests on the table

    Plainly though, that's a lie. It's just as considered and unnatural as any of the other rooms. The "human living" that happens is still only theater when your "human" has no material or psychological needs. The honest natural state of an Animal Crossing room is a pile of fish and bugs and twelve kinds of chairs you're worried you won't be able to reorder later.

    But no one - not the HHA, not other villagers, not us - is comfortable with that, either.


    1. This also stands in contrast to a lot of the clothing I see, which are designs the people who make them would love to make and wear in real life, if they had the resources. 

  12. Open Letter to XSEED: Rune Factory 4's Homophobia and Transphobia

    At E3 this year you (XSEED) announced a North American release of Rune Factory 4.

    Rune Factory and the Harvest Moon series in general has been depressingly heteronormative in most of its entries.1 Marriage is a common element in the games, but it's almost always between a man and a woman. Unlike previous entries in the Rune Factory series RF4 allows you to play as a young woman in addition to a young man. And yet despite this step forward, in this version they've managed to design something even more offensive than just ignorance and erasure.

    After you beat the game, you can play as a character of the same nominal gender you played before but with any character model regardless of gender. This means if you want a gay or lesbian relationship, first you need to play through the game as the other gender. Then you can play as the gender you want, while everyone in the game constantly misgenders you.

    If there's a mainstream game with a better analogue for how our culture treats transgender and genderqueer people, I've yet to play it. Except it's being sold as a norm-reinforcing funny bonus "feature" rather than an analysis of how awful that is.

    XSEED, you've still got a chance to make this right. Throw that out. Let both player characters romance and marry any of the bachelor/bachelorettes. Write dialogue that works for gender-neutral relationships. It's twenty-fucking-thirteen. I'm playing AAA games with gay relationships. I'm playing AAA games with gender sliders. Don't pretend you can roll that back ten years and aren't making a political - and offensive, dehumanizing - statement in doing so.


    1. The two exceptions are Magical Melody where one character, ambiguously gendered, is available for the male and female player characters to marry, and Harvest Moon DS Cute where the mandatory female player character may marry a female character - a welcome change, but also one that felt more like diffusing any concerns a male player might have of "being gay" than a legitimate nod towards alternative relationships. Also, in Save the Homeland and Innocent Life, the mandatory male player can't marry anyone. 

  13. (Some) Writing is Hard (But I'll Keep Trying)

    Last month I read this exchange on Twitter between Merritt Kopas, John Brindle, and Porpentine:

    I'm under no illusion that they're talking about me - most likely they are not aware of my existence - but writing about the sort of games they make, both to help surface them on my parts of the Internet and to process my experience playing them, was a major impetus for me starting this blog. Many times in my life I've written privately about games that have affected me and I wanted to make some of that public; to improve my own skills and to give what little publicity I could to important yet mostly-invisible games.

    So far I've failed. I wrote a lot about Monster Hunter, exactly the kind of game that doesn't need more writing. And I've got a dozen "I played" posts about small games half-written but they're not coming together.

    BioShock, and all AAA games, have a glut of symbols outstripping their actual meaning. They are thematically and semantically shallow and that leaves their unanchored signs floundering near the surface for any dumbass critic to come along and write a 10k word middlebrow essay. It's the same problem that plagues their mechanical design - the games are decorated with "content" and "systems," little of which is worth intaking or interacting with; they glitter with references and designators but few point to any objects or events worth noting.

    In contrast games like Kopas's A Synchronous Ritual and Porpentine's How to Speak Atlantean are critically difficult. There's precious little visible surface and things are buried deep, but everything you do find is affecting and challenging. Even when the games are lavish - a word I would use to describe about half of Porpentine's games including Atlantean - the lavishness acts like a "here there be dragons" treasure map - Dig at the X, way down. There's gold, I promise, but it's going to take you a while. Oh, and in the same place I've also buried your most erotic fear.

    Again I think there's an analogy with the traditional meaning of "difficult games" (e.g. Dark Souls). In a difficult game the player and game negotiate détente. The game promises itself but only once the player offers up part of themselves as well - a piece of procedural memory, a bruised thumb. In a critically difficult game the game reveals itself but the player-critic can't emerge uncritiqued themselves - an acknowledgment of limited personal experience, limited imagination, internalized bigotry, complicity in dangerous systems. (In a, let's call it critically casual game, the player-critic still emerges changed, but in a way that reinforces whatever views they had going in.)

    The first essay I wrote intending to publish here (which I still have not done) is about Micha Cárdenas's A Survivor is #Reborn. I have essentially rewritten it three times now and each time one section of it grows: This game is (correctly) calling me out on my blindness to sexism - how can I critique something that has already so effectively criticized me?

    So writing about these games is super-hard! At every step you're critiquing yourself and your critique as much as the work in question. That's not a reason to not do it, though. Rather the opposite - it's why we must do it, because this is change we need. We are all starving, and we need to learn to prepare food other than AAA capitalism candy.

  14. I played: Fear Less!

    I played Fear Less! by Innomin and atpalicis. It's an endless runner that takes probably 10-60 minutes to "complete" depending on your skill. It deals with nightmares about dying.

    I love the visual style. The desaturated palette with big pixels but still relatively high resolution reminds me of Game Boy Color games. The high detail with the simulated pixel grid makes it feel unreal and dream-like.1 The look on the character's face captures exactly a feeling which starts as fear and progresses into defiance without ever needing to change.

    There's all sorts of small ways the game puts forward descriptions of fear. The specificity of the skulls with ribbons as passive reminders of your previous attempts. Losing ground by tripping over tombstones, fear of failure leading to failure. Later in the game pacifism is available as a tool of the strong and able compared to violence as a tool for the weak and afraid.

    Many games have started including F2P-style "upgrades," usually to a frustrating end - Ridiculous Fishing being a recent high-profile game I thought suffered from its unnecessary slow pacing. This is the first game I recall that uses that upgrade process to tell a story rather than just eat time. (Again, compare Ridiculous Fishing which has a story but upgrades exist only to trigger rather than reinforce it.)

    Unfortunately it still has some parts which only exist to eat time. To reach the ending you need to unlock all the medals (achievements) and some of those require failing in specific ways or passing milestones that feel arbitrary. I think it would benefit from removing the achievements and replacing the ending trigger with simply having all upgrades. Flawless running could provide a coin multiplier or speed increase rather than a binary on/off trigger.


    1. A similar effect was used to similar ends in the exploration/horror game Dawning

  15. Technical Illusions's augmented reality glasses

    I can't get excited about Google Glass. The public privacy concerns are too great. The platform is too closed, the software too crappy. The company making it has too patchy a history of support and too disgusting a commercial mandate.

    I can't get excited about Oculus Rift. The issues I want to see more game designs tackle right now are ones it makes worse. It's a device that cuts out everyone around you, that makes 25% of people motion sick, that seems basically purpose-built to re-sell the same first-person action games and designs in an era where the usual rasterization improvements have hit diminishing returns. Its backers crow about immersion, but videogame immersion is bullshit. On a purely technical level I care more about color-accurate and high-DPI displays and it's a big step backwards for both these things.

    But yesterday Sean Hollister at The Verge interviewed Jeri Ellsworth and Rick Johnson and demoed some new AR glasses from Technical Illusions, a company being described as "spin-off," but sounds more like a cast-off, of Valve.

    This is what I want. They don't take pictures. They don't tell me where to go. They don't encourage me to come back to Doom, Team Fortress, or other designs that worked perfectly well on traditional displays. Instead they show me something new; they let me interact in new kinds of spaces with other people; they let people who are not plugged in spectate.

    It's actually all in the name, right? They augment my experience. They don't replace it, they don't virtualize it, and they certainly don't "smooth," "simplify," or "filter" it.

  16. Fathers, Daughters, and ROMs

    Rachel Weil at Femicom wrote an incisive article about female agency and female-inclusive NES ROM hacks:

    I would suggest that the recent popularization of these harassment stories has created a sort of anxiety around men's culpability in these scenarios, and that these pieces on "daddy hackers" aim to relieve this anxiety. They are heartwarming stories that present men as problem solvers rather than problem creators. These men use the technical knowledge that only they seem to possess in order to, as PC Mag reports, "empower female gamers."

    It's really cool that these hacks are happening. It's not cool how they're being framed - as an afeminist, male-driven pursuit; a way to defuse concerns about women in nerd culture while still ignoring them. It immediately reminded me of when male progressives in the US talk about issues affecting "our wives, daughters, mothers" - women are liminally present, but they're never the ones speaking and never the ones spoken to.

    So here's a list of games hacked to have more women, without any of that commentary, from Pauli Kohberger.

  17. Game loops in JavaScript

    I'm learning JavaScript! I mean, I already wrote some crap in it before, but now I'm learning enough to write something substantial. Like a (non-Perlenspiel) game.

    One of the things you need for a game is a game loop. In large games these are increasingly tricky affairs spread out over multiple threads and designed to optimize memory access patterns. In JavaScript, you can't do that, but you can at least implement the basics correctly. The canonical tutorial on this stuff is deWiTTERS Game Loop which goes over several implementation strategies. Only one of those implementations, "Constant Game Speed independent of Variable FPS," is worth pursuing. (To know why, read the article.) So how to do it in JavaScript?


    This post used to be a lot longer and full of bad advice. Here is good advice: Use only requestAnimationFrame. Just do everything the deWitters article says inside of requestAnimationFrame. After more testing I've discovered browsers' schedulers are basically awful, unreliable, and this is the only way to make a main loop appropriate for a game. If you are targeting one specific version of one browser on one platform, you can maybe manage a better loop with the setInterval-based method I had described before, but if you're doing that you're better off writing a native application in the first place.

  18. Linkspam, May 11th, 2013

    A bit over a hundred years ago, California was all set to build a great-looking bike highway. Unfortunately they built car highways instead and pretty much doomed good urban planning, air quality, international politics, etc. More alternate history stories should pick events like this as divergence points, rather than boring crap like who won wars.

    California continues its century-plus history of bad decisions through to today, as documented in a beautiful letter from Robert Meister to Daphne Koller about Coursera's state lobbying efforts to delegitimize and destroy public education:

    I will know my course has been successful when my students understand Coursera’s business model behind offering free higher education globally (along with the promise of greater social equality) as an exciting venture capital investment opportunity through which to increase privately-held wealth and lock in existing educational hierarchies.

    Relatedly (I promise) bees are still dying for unknown reasons:

    Rising food prices led farmers to plant crops in fields previously considered marginal or set aside as grasslands. Honeybees forage in those grasslands, and can’t get the nutrition they need from flowering crops alone.

    This is a positive feedback loop, since without bees fruits don't get pollinated and food gets even more expensive. If this was, say, a college education, or health care, the solution is obvious: large-scale private pollination efforts. If you want fruit, you'd better spend your lunch hour pollinating that garden to earn a fruit certificate to exchange for a shitty melon. (Hah hah, just kidding, who gets a lunch hour anymore?)

    Shane Carruth has released his new film, Upstream Color, as a $20 DRM-free download. His previous film Primer is one of my favorites. I don't feel quite as good about Upstream Color, but I still recommend it.

    Someone (an adult) reviewed every Goosebumps book. Eight-year-old-me is jealous. Today-me hopes the reviewer is still okay.

    Here is a version of Astroids that is also a security hole and the author, Michal Zalewski, explaining how it works. This attack is oblique, involves multiple levels of the platform stack, and the information immediately leaked is not usually thought of as a security problem by those under attack. This also describes things like cache timing attacks or the BEAST and CRIME TLS attacks. The biggest challenge facing computer security right now isn't even just plugging all the holes, but explaining to laypeople and novice programmers what kinds of things are risks and threats.

    God of Blades came out for personal computers (a while ago, and I missed it). I'd previously played it on iOS. Satisfying slow-paced hack-and-slash with an underused aesthetic. A bourbon to Devil May Cry's wine. (Bayonetta's tequila? God of War's jello shots?)

    Porpentine's essay, 7 Thoughts on Women in Games had a line that I thought was a critical takeaway for any kind of activism, because it succinctly sums up what's broken about the hyper-libertarianism in so many parts of the Internet today:

    Communities aren’t “just friends”. Sure, they’re often groups of friends based around a common interest, but when a community of friends overlaps or encompasses technical resources, they must take responsibility.

Page 1 / 2 »