CD-ROM Compilation Search Engine

Set Side B often verges into adjacent tech areas, especially for older software, especially when those areas happen to contain a lot of games. This is just a note that the always-great Jason Scott of the Internet Archive has a great post about Discmaster, which is hosted at the IA, and is a search engine into the contents of a bunch of old CD-ROM file compilations. Many of these were shareware collections put out by companies like Walnut Creek, intended in the age immediately before the internet to put out collections of shareware, but sometimes bundling freeware, or libre-free software.

The error, presented in class Web Gray and Times New-Roman.

Some of these files are very hard to find on the wider internet. When I visited Discmaster myself it was down for an upgrade (it’s a bad sign when your filesystem runs out of inodes) but I look forward to scouring its archives often in the future!

DiscMaster (Internet Archive)

Random Pac

Pac-Man is rightly heralded as a classic, not just the best-selling arcade game of all time at over 100,000 units (even more when you consider every Ms. Pac-Man arcade machine has the elements of a Pac-Man machine inside it), but it’s solidly well-designed. All of its elements come together to produce a solid test of skill and strategy.

It’s not perfect though. The game possesses two major flaws that, in retrospect, made it a little less interesting to play now. The ghosts behave deterministically when they’re not vulnerable, meaning that patterns work against them and turning the game into a test of memorization and execution. And, every level’s maze is the same, which gets kind of monotonous. Tellingly, while Pac-Man was extremely popular for its time, its GCC-made follow-up Ms. Pac-Man had a much longer life in arcades, and it addressed both of these issues with the first game: ghost movement at the beginning of boards is randomized, and it had four mazes, instead of the original’s one.

Random Pac is a fan game, available on itch.io and made by Luca Carminati, that also solves the issues, and a bit more simply: it randomizes the maze for each level. This one change makes the game immune to memorization, and makes each level a kind of situational puzzle, as the player must use the maze layout as best they can to avoid being caught.

It’s not the only change made, but the others are, for the most part, in line with that one. Since the game is much less likely to extend endlessly, extra lives are awarded multiple times, first at 10K then every 50K points, instead of the once, by default, of the original. There are bonus levels in place of the intermissions that can be worth a considerable number of points.

The fruit bonus items that showed up twice during each level of the original game may now appear up to four times per level, which can be worth the majority of the player’s score if they can get up to the 5,000-point Key boards. Getting all four Keys is 20,000 points, which is two-fifths the way to an extra life by itself.

The game increases in difficulty a bit more slowly than classic Pac-Man. I’ve been to the 7th Key level; in the original, on the the 5th Key board, and from the 7th Key on, ghosts no longer become vulnerable when eating an Energizer (a.k.a., a power pill). Vulnerable times kept decreasing in my 7th Key game, but hadn’t cut out completely yet.

Another difference, and I’ll be going into some deep Pac-Man internals here. In classic Pac-Man, ghosts have three states, Scatter, Chase and Vulnerable. If Pac-Man doesn’t eat an Energizer, ghosts periodically enter Scatter state for a few seconds, then change back to Chase. You can tell when ghosts change between these states because they all reverse direction.

In most boards there are two Scatter periods, and the timers, both for entering Chase and Scatter, freeze while an Energizer is active on any ghost. In Random Pac, the timers don’t freeze; Chase and Scatter periods continue even when the ghosts are vulnerable. This makes Energizer timing very useful for decreasing the amount of danger you face: a short way into a Chase period, eat an Energizer and disrupt their pursuit! By the time they catch back up to you after it wears off they may be time for them to Scatter!

In place of intermissions there’s a bonus round that asks you to eat as many randomly moving targets as you can in 35 seconds

Ghost AI seems to be mostly the same, although unlike classic Pac-Man, each ghost doesn’t seem to have a set “home” location. They don’t intend to chase Pac-Man during Scatter, but instead fixate elsewhere on the board. The Orange Ghost’s Chase AI also makes use of its home location, making its behavior much less predictable, although it’s still easily the least threatening ghost.

Random Pac was Luca Carminati‘s first classic game remake. Since then, they’ve made many others, including Tutankham Returns, which we’ve linked to before. They’re terrific!

Random Pac (itch.io, $0)

Zelda Podcasts

Ryan Veeder has made (and continues to make) podcasts about playing various Zelda games.

The Hero’s Path is about replaying Breath of the Wild. 54 episodes, about 42 hours in total. Here’s the RSS link.

The Complete Guide to Koholint was his first Zelda podcast, and it discusses each of the 256 overworld screens of Link’s Awakening. 256(!) episodes. They vary in length between one minute and 47, with most being just a few minutes long. RSS.

The Complete Guide to Termina covers various elements of Majora’s Mask. It’s at 21 episodes, and is ongoing. RSS.

Apple Kracker’s Guide

Back in the days of the Apple II, there was a thriving scene in trading copies of commercial software. Means to prevent this, through copy protection schemes, were just as rampant, as publishers sought to protect their work from those who would use it without paying. The process of figuring out a disk’s copy protection and making it so it could be copied and run by others was called cracking, or sometimes, kracking.

Cracking was, and still is, a black art. There are many ways to protect a disk from being copied, and just as many to deprotect that data. Some disks remain uncracked to this day. It is the work of Apple II cracker 4am (Mastodon) to try to unlock the data on these rapidly aging pieces of media so they can be preserved. (On 4am, jump to the bottom.)

The Apple II Kracker’s Guide seems to have been written by a anonymous user known as The Disk Jockey. It’s a good overview of basic forms of copy protection and ways to defeat them. A copy is at the Internet Archive, but I encountered it in the collection at bitsavers.org, here. It’s like candy to someone of the right frame of mind. Like me!

Aside: If the name 4am sounds familiar, and you find yourself thinking “Didn’t he used to be on Twitter?” He was. He’s not anymore. This happened several months before the Age of Musk. Twitter’s automated processes decided somehow that a video he tweeted of Apple II software Super Print booting was revenge porn and banned him, even rejecting an appeal. He moved to Mastodon. Now that Twitter is missing half of its employees, situations like this will probably become more common. 4am is not the subject of this post, but if you want to read more about Apple II protection and its breaking, you should follow him on Mastodon. He has about one tenth of the followers there that he had on Twitter, which is a shame.

AGDQ 2023 Approaches!

Everyone’s favorite, or at least the most famous, charity speedrunning marathon is back! It’s January 8 through 14. This is the one with Awful Block, BTW! This year AGDQ is being run to support the Prevent Cancer Foundation.12

This year I have a schedule conflict and so I won’t be able to watch it as carefully to report on day to day here. But I can try to say something where I can when I happen to catch a stolen moment!

Of note, AGDQ 2023 this year is completely online again. SGDQ this year went back to being in person, but particular issues resulted in AGDQ going back to online-only. Specifically, back in 2020 before the pandemic happened, they had locked in a venue in Florida. Since then not only did the pandemic hit, but Florida went absolutely anti-vaccine crazy, not to mention anti-trans!

Both of these factors resulted in their decision to not hold the event in Florida, even though it requires paying substantial cancellation fees. That sucks, but I support them in this decision, and I say this as someone who lives in a state close to Florida.

Even though I won’t be able to follow it as closely as last time, they will still be posting archives of all their runs to Youtube so they can be watched after the fact! And I can still take a moment to have a look at their schedule right now and find some things that might be of interest out our audience of three, maybe even four people. All times here are US Eastern:

SUNDAY, January 8th

Noon: Splatoon 3, still a really new game so you’ll probably to be able to see a lot of new tech!

1:30 PM: The Legend of Zelda: Breath of the Wild. The past six years this game has been absolutely blown apart in strange and entertaining ways! This may be its last year in the spotlight though, since its sequel is coming out this year!

4:29 PM: Castlevania: Symphony of the Night. An old favorite!

11:19 PM: Pokemon Mystery Dungeon: Explorers of Sky. This is a randomizer run, so unusual events may be in the offing!

MONDAY, January 9th

4:30 AM: Ax Battler, A Legend of Golden Axe. A fairly obscure Game Gear game, focusing on the least charismatic character of the original Golden Axe trio.

7:35 AM: Bomberman 64: The Second Attack.

11:39 AM: Shovel Knight Dig. A race!

2:54 PM: Teenage Mutant Ninja Turtles: Shredder’s Revenge. This is that recent game made as an homage to the classic Konami arcade titles! This is described as a “chill race,” and is being played in co-op mode.

6:59 PM: Portal. A “bonus game,” which will be done if a donation incentive is met. Portal is another game that’s been annihilated by speedrunners.

10:59 PM: Fable Anniversary.

TUESDAY, January 10th

12:29 AM: Ape Escape 2.

3:39 AM: Goat Simulator. “Here comes that goat again….”

10:29 AM: Castlevania: Harmony of Despair.

11:39 AM: Castlevania: Aria of Sorrow.

2:30 PM: Super Mario Galaxy 2.

7:05 PM: Outer Wilds.

WEDNESDAY, January 11th

4:02 AM: FEZ.

6:28 AM: Final Fantasy VII. Over seven hours!

2:03 PM: Stardew Valley. A glitchless race.

2:53 PM: A Sonic the Hedgehog block, with Sonic Unleashed, Sonic Colors: Ultimate and Sonic Advance 2, which is the subject of a character bidwar. #teamamy

5:21 PM: Pokemon Red “or Yellow,” I don’t know what that means. Glitchless, but only two hours long. How?

7:36 PM: Ocarina of Time 3D.

8:21 PM: Last year’s hit Stray as a bonus game.

11:54 PM: Kirby Star Allies, with a “Guest Star?”

THURSDAY, January 12th

12:44 AM: Pac-Man: The New Adventures. This is that funky 16-bit game where you don’t directly control Pac-Man but instead try to influence an AI-controlled Pac to do what needs doing. This may be intended to kick off Awful Block, but I don’t think it’s really awful, just, not really much of a Pac-Man game.

1:23 AM: AWFUL BLOCK! Yo! Noid 2: Game of a Year Edition, Yolanda, Lizard Lady vs. The Cats, Office Race, Salamander County Public Television, Battle of the Eras, Morodashi Sumo, Dokkaebi-ga Ganda, I’m going to die if I don’t eat sushi!, Sonic Blast, Bad Guys At School, and Steven Seagal is the Final Option, at 7:05 AM.

8:59 AM: The World Ends With You: Final Remix.

12:54 PM: Metal Slug. Oh I’m sorry, that should be Metal Slug!, with an exclamation point.

2:00 PM: BS The Legend of Zelda. Not only is this a terrifically obscure game, only released on the Satellaview in Japan (and only coming down to us in any form due to the hard work of preservationists and hackers), but it’s a 100% race!

6:17 PM: Puyo Puyo Fever 2.

6:57 PM: Mario Kart 8 Deluxe DLC tracks as a bonus game.

8:27 PM: The Simpsons Hit & Run.

11:43 PM: Power Wash Simulator.

FRIDAY, January 13th

3:06 AM: Kirby Air Ride. A hugely underrated game! Although sadly this is normal racing and not its stand-out mode, City Trial.

3:39 AM: A short NES block, with Jackal, Mickey Mousecapade and Chip ‘n Dale Rescue Rangers.

5:33 AM: Beautiful Katamari.

7:03 AM: Gunstar Heroes.

8:28 AM: Kirby’s Adventure.

10:35 AM: Metroid Prime 1+2. Multiworld Randomizer Co-op. How will this even work?

1:45 PM: Cult of the Lamb.

6:00 PM: Elephants and Snakes and Crocodiles. On the SNES? I’ve never even heard of this one!

6:55 PM: Final Fantasy XIV. The description of this one is a jumbled alphabet of abbreviations and initialisms, I have no idea what any of that means.

8:05 PM: Arcade Stepmania, as a bonus game. This is a demonstration, not an actual speedrun, but these tend to be insane anyway!

9:35 PM: Super Mario All-Stars Shuffler.

SATURDAY, January 14th

2:38 AM: Blinx the Time Sweeper.

5:29 AM: Mega Man 64 and Mega Man Rock N Roll. The first of these two is the N64 version of Mega Man Legends, the second is a fan game.

9:08 AM: Donald (Duck) in Maui Mallard.

11:27 AM: Metroid Dread. All boss glitchless. To think we went from this game being a vaguely rumored cancelled title to an official release being speedrun at AGDQ in a little over a year.

1:17 PM: Terraria.

6:02 PM: The Legend of Zelda: A Link to the Past as a bonus game.

10:53: Super Mario 3. Warpless, but any%.

That should be it, although of course they like to put in unannounced bonus games toward the end, so keep your eyes open!

Breath of the Wild Cel Shading Break Glitch

The Legend of Zelda: Breath of the Wild is a gigantic game, and where content proliferates, so too do bugs. Many of these bugs are highly entertaining (my favorite is the bullet time bounce), but there are some that are just head-scratching, leaving one to wonder why does this happen? That the occur pulls back the curtain on the many technically complex things a big game like BotW does behind the scenes to realize its world, for, every step of a process that a system must go through is one more opportunity for something to go wrong.

Image from Nintendo Everything

Youtuber Jasper has made a 35 minute video about why, if Link stands in a specific spot in BotW, inside the broken corner of a stone wall, the cel shading usually applied to his model goes away, and he appears with normal light shading. In the way of Youtubers, the explanation is contained within a 35-minute discursive video that goes into the history of game lighting, why some older 3D games have graphics that have aged well while others don’t, the basics of cel shading, and still other topics. Here is that video, embedded:

The whole video is pretty interesting, and if you have the time and interest you should watch the whole thing. However, in the event that this is all tl;dw, allow me to summarize.

  1. Because Breath of the Wild is both a huge game and has a dynamic world, baking lighting in into textures would consume way too much storage and memory, so lighting has to be done dynamically.
  2. As an optimization measure, the more complex steps of cel shading are deferred to later in each frame’s rendering. The main rendering is done, then the cel shading is applied afterward, when the visibility of the area has been determined, so this effort-expensive process is only done for visible pixels.
  3. One of the deferred steps of rendering marks which of nine different kinds of material will be applied to each pixel. Terrain in BotW is not cel shaded, while characters link Link are, so they have different types of material that determine whether that shading is applied to them.
  4. In the location where Link’s cel shading disappears, there is a decal applied to the crumbling bridge that erroneously extends over the corner, and overwrites Link’s character material type with the terrain material, causing the cel shading not to be applied to him.

Animal Crossing New Horizons (Lack Of Recent) Updates

This is a bit of an expansion over a couple of Mastodon posts I made yesterday. (On what account? Here!)

Animal Crossing New Horizons was an amazing hit for Nintendo. It hit right at the start of the pandemic, and so quickly became the second best-selling game on the system.

The Legend of Zelda: Breath of the Wild? 27 million copies. Super Mario Odyssey? 23 million copies. Super Smash Bros. Ultimate? 29 million copies. These are all very high sales figures. Nintendo has made bank during the Switch era.

Animal Crossing: New Horizons? 40 million units sold. That’s over 2.4 billion dollars in gross revenue, and not even counting Nintendo Online subscriptions and the paid DLC! The only Switch game to surpass it has been Mario Kart 8 Deluxe, which has sold 47 million units.

You’d think a game like that would have a long support life, but you’d be wrong. Three years in and it’s been over a year since the last meaningful update. Nintendo has largely abandoned the audience of the most popular Animal Crossing game ever made, by a huge margin.

Why is this so strange? Most games don’t update after a couple of years, after all. There are games that have made a go of a long-lived, if no perpetual, update cycle. Team Fortress 2 famously went on for like a decade of frequent updates, and while Valve has cooled on it since it still sees a lot of play. Stardew Valley is still updated from time to time, and it’s an indie game, although one with a very low overhead.

Animal Crossing, however, has, from the beginning, been a form of gaming that almost demands to be played for a significant period of time. People have played the Gamecube version for many years, keeping their island alive through decades of real time.

Before consoles could connect to the internet, of course, they couldn’t even be updated. But with the introduction of the internet a lot of options became available. The possibilities for a game-as-service approach to Animal Crossing have been great and, in large part, unexplored.

Image from Animal Crossing Wiki
Image from Nookipedia

The thing that really made this all visible is the New Year’s Arch item. The first year the game was released, they made available an archway, made of balloons, with the number 2021 set at the top of it. Then for 2022 they made another version of it, but notably, it didn’t involve hardly any new geometry; it was just the 2021 arch with different colors, and a 2 in place of the 1. It looked almost a if it had been auto-generated, like maybe the game itself had support to make arches programmatically. The item’s catalog description, which was identical for both arches, is even careful not to mention the year on the model: “An arch bearing the Gregorian calendar’s number for the new year.” Why be so elliptical about it if it wasn’t intended to be reused many times?

Behold them in their generic splendor

But no, that wasn’t the case. 2023 saw no new arch at all. The first two arches now stand out in the inventory as a stark reminder of that brief window of time when New Horizons saw active support. Ten years from now, people who come back to the game, or (heaven help them/us) never left it will still see only those two arches, mementos of the time when the game was new. It’s not like a new arch would be a huge addition: there’s obviously already a content pipeline that can be used to add new items fairly easily, and a 2023 arch made along the lines of the 2022 one would probably be about five minutes of work.

No one expects Nintendo to add new features indefinitely, or always for free, but the lack of a new arch, the lowest-effort update imaginable, makes it clear that absolutely no additions will be coming to the game, probably ever, not even extremely minor things like updated yearly items. ACNH updates were something that Nintendo could have comfortably milked for years. It’s not like we aren’t already paying them for online server access.

Animal Crossing is not like other games, but Nintendo doesn’t seem to realize that, has never really understood what the series is about. The archway is just another example. And it doesn’t make a fan of series want to buy any new versions if they know they’re going to be supported only for a brief period of the game’s lifetime.

Sundry Sunday: Mort Strudel’s Tales of Dwarf Fortress

It doesn’t feel like that long ago that Dwarf Fortress tales were the toast of the internet. They made the viral rounds in a way few things had before, or since for that matter, partly because of the downfall of community sites, especially Something Awful, that had gathered them together. That energy seems to largely gone into social media, and we’re all poorer for it.

But there are people who are still doing Dwarf Fortress stories, and that game is still as wonderfully deep and weird as it has ever been. Youtuber Mort Strudel does video playthroughs, and while he doesn’t release them quickly or often, he is consistent, and his work is interesting.

In particular I’d like to point out the saga of Chantedfins, over three-and-a-half hours of dwarven weirdness in nine videos.

If you’d like to jump to specific chapters, here’s direct links to all nine, with general descriptions of what each contains:

Part 1 (30m), founding, undead siege
Part 2 (31m), underground caverns, necromancy
Part 3 (32m), undead werellama
Part 4 (31m), tantrum, forgotten beasts
Part 5 (31m), the Observatory
Part 6 (15m), the Cursed Year
Part 7 (16m), forays against the goblins
Part 8 (14m), the mayor’s backstory
Part 9 (14m), the new age

PC Gamer’s Article on a WoW Ultra Rare Mount

It’s December 31st and our offices are empty for the end of the year. We’re kind of slacking off, so let me link to something out intrepid and gelatinous news reporter linked before. It’s a really great longform article from PC Gamer and is worth a look if you didn’t see it then.

Someone’s looking grumpy!

In summary:

For a long long while, there have been ultrarare mounts in World of Warcraft. Most items, a 1% drop rate is as rare as they go, but a few mounts are generated much more rarely than that. People have spent years grinding for a specific mount and never gotten it. It was dropped by a world boss called “The Sha of Anger.” (Hey, I didn’t name it.)

One such ultrarare item is The Reins of the Heavenly Onyx Cloud Serpent, which allows the very lucky acquirer to summon a nifty glowing black-and-white flying dragon to ride. So popular, and rare, are these items that when they go up on auction they regularly go for the maximum supported price: 9,999,999 Gold.

Players had long rued the immensely high odds of acquiring this item, and others, but had put up with it because Blizzard was the kind of company to just rule things like that to happen, and what you gonna do? Go to City of Heroes?

Early in the item’s existence, however, players noticed that the item wasn’t just generating hardly ever, but in fact, entirely never. A bug in the game meant no one had gotten it. It was just so rare that everyone assumed they just hadn’t seen it yet. Oops!

Much more recently, however, due to another bug, the item became much more common to players of a certain race. The players who had discovered this faced conundrum: be responsible and report the bug to Blizzard, or hoard the knowledge to prevent Blizzard from knowing about it, keeping it off of forums as long as they could, which resulted in the greater player base not realizing it was possible, in order to allow the precious loophole to persist for as long as possible.

If this kind of thing is fascinating to you, and if it isn’t then I wonder why you’re reading this blog, it’s one of the best pieces of game reporting I’ve seen lately.

PC Gamer: How World of Warcraft’s new dragon race brought a 10-year-old loot system to its knees

The Digital Antiquarian on the Infocom Z-Machine

The Digital Antiquarian‘s website contains a wealth of information, but rather than let my works get too gummed up in describing it all right now, here’s is one page from 2012, on the creation of ZIL, the Zork Implementation Language, and the virtual machine that runs it, the Z-Machine.

When we left off last time, Marc Blank and Joel Berez were considering how to bring Zork to the microcomputer. Really, they were trying to solve three interrelated problems. At the risk of being pedantic, let me lay out them for you:

1. How to get Zork, a massive game that consumed 1 MB of memory on the PDP-10, onto their chosen minimum microcomputer system, an Apple II or TRS-80 with 32 K of RAM and a single floppy-disk drive.

2. How to do so in a portable way that would make it as painless as possible to move Zork not only to the Apple II and TRS-80 but also, if all went well, to many more current and future mutually incompatible platforms.

3. How to use the existing MDL source code to Zork as the basis for the new microcomputer version, rather than having to start all over again and implement the game from scratch in some new environment.

The Digital Antiquarian

The Digital Antiquarian: ZIL and the Z-Machine

Pretendo

Pretendo is a recreation of the Nintendo Network, Nintendo’s online networking infrastructure for 3DS and Wii U software. It’s still under development, but when it’s fully operational it may even be able to resurrect lost and lamented services like Miiverse and Wii U Chat.

To help avoid legal entanglements it’s a clean-room reimplementation that doesn’t use Nintendo confidential documentation, which does slow their work, and users will have to make new accounts since they don’t have access to Nintendo’s account information (and wouldn’t want it if they did have access).

Even when Pretendo is usable by normal users, unless you’re playing using an emulator (Cemu is the only one that supports it), you’ll have to hack your system to use Pretendo’s servers. Currently the servers for some 3DS and Wii U games are still operational, but it’s only a matter of time before Nintendo shuts them down, just like they did with the Wii, despite its popularity. It is nice to know that people are working for replacement infrastructure for that eventuality.

A similar service, Wiimmfi, is in operation to replace the Nintendo Wi-Fi Connection that Wii and DS games used.