Nethack 5.0 has been released

@Play‘ is a frequently-appearing column which discusses the history, present, and future of the roguelike dungeon exploring genre.

So yesterday the Devteam (it is always the Devteam) released version 5.0 of legendary and venerable rogueike compuer game NetHack. It is 39 years old.

Nethack (I am more used to writing it without the capital H) is a venerable roguelike computer game, and by some measures the greatest roguelike of them all. Long before Caves of Qud or Dwarf Fortress it was, and still is, a game of surprising depth, and for many years no other games were anything close to it. Even today, few games do.

Level 1 of the Dungeons of Doom

The history of the game is recounted on the excellent Nethack Wiki. It got its start as a remake of Jay Fenalson’s Hack (1981), itself a recreation of Rogue (1980), and which was remade by Andries Brouwer (1984). The first version of Nethack, sometimes stylized ad”NetHack” was 1.3d, posted to Usenet by DevTeam leader Mike Stephenson in June 1987.

Nethack 3.0 (July 1989) saw major changes to the gameplay. Nethack 3.1 (January 1993) greatly changed the dungeon, and in large part all following versions are modifications and elaborations upon it. In the time since sometimes there have been great pauses in its history. Nethack 3.2 arrived April 1996; Nethack 3.3 in 1999; Nethack 3.4 in 2002; Nethack 3.5 in 2002; Nethack 3.6 in December 2015; and now, Nethack 5.0 on May 2, 2026.

Level 5 of the Dungeons of Doom

Here is a list of major changes, though it contains significant spoilers, and a note tells us that this is a renamed changelist from 3.7. With 3.4 the Devteam switched to a Linux-style numbering system: even minor numbers (like 3.6 and 5.0) are releases for wide play, and odd minor numbers (like 3.5 and 3.7) are development versions mostly intended for work and bug testing. Even so, as with all major versions of Nethack, bugs almost certainly exist in this version. Nethack jumped past version 4.0 probably because a notable fork called itself Nethack 4.

Three major architectural changes made in this version: the code now supports C99, bringing its source to the cusp of the 21 century. Much better support for cross-compiling exists now, building it on a system it’s not intended to run on. And the old yacc/lex special level construction system has been replaced with Lua. This make Lua a build requirement.

Exploring the Gnomish Mines

So, how do you play it?

For three systems binaries are provided: Windows, MS-DOS and Amiga. Yes, Nethack still supports MS-DOS, and yes, it still supports classic Amiga: it explicitly supports AmigaDOS 3.0, meaning it can still run on 68000 machines. While Atari ST support isn’t explicitly claimed, plenty of references to it are left in the code. (Does Lua exist for ST?)

That these are the only systems they provide binaries for shouldn’t be seen as an indication that these are the “most important” platforms for Nethack, it’s more that, since it’s entirely open source, building it yourself is entirely possible, and more expected than with most software. Nethack can be built for Linux, Windows 8-11, AmigaDOS, MacOS (I’m not sure if this includes classic Mac too but it might), Windows CE (wow), OS/2 (additional wow), BeOS, VMS and multiple Unixes.

The town in the Gnomish Mines

Linux poses a special challenge for releasing binaries since there are so many distributions, so until 5.0 becomes the main Nethack in their repositories you’ll probably have to built it yourself. I have done this on two systems and can vouch that it’s doable, make sure to read the directions carefully though. After reading the README in the top level of the gzip tarball, the file you want to follow is in sys/unix/NewInstall.unx, which will tell you the manner in which to invoke sys/unix/hints/linux.500, and then ultimately, again from the top level of the source, make fetch-lua, make all, then make install. I ended up with a directory in my home called nh/install/games/, which contains a script that starts the system-installed nethack. Note that nethack supports multiple play styles: ordinary tty, curses, Windows UI, X11, Qt, Gnome and more, and configuring any of those besides the standard game will mean you’ll have to find an option to enable in include/config.h.

Another option is to play through public Nethack servers. The most popular of these are probably alt.org and Hardfought. alt.org doesn’t seem to make 5.0 itself available yet, and I’ve been able to get through to Hardfought today via ssh (possibly due to a misconfiguration on my end). If you can set them up for play then not only do you not have to build or install the game yourself, but you can even play with public bones, the remnants of other players’ games, adding an additional layer of high-stakes randomness to the dungeon.

A shop on level 2

For New Players

I wish I could point you to my old @Play column on learning Nethack, but its home blog GameSetWatch has been gone from the living internet for four or five years now. My book Exploring Roguelike Games from CRC Press has it, but it’s quite expensive unfortunately. It’s still buried somewhere in the Internet Archive. I must hunt it down some day.

If you haven’t played Nethack before you are in for a bit of a learning curve. Nethack 5.0 now has an optional tutorial in the early phases of the game that might help you. You can always press ? during the game to find its help system. If your keyboard has a numpad you’ll really want to enable it, or else you’ll have to learn vi keys, hjkl, for movement, as well as yubn for diagonals. This will also push several important commands into the “extended” input system, where you either hold Alt (aka Meta) and press a letter, of if you don’t even have that, you press “octothorpe” (#) and then type a command name. This is especially annoying for the #kick (Alt-K) and #loot (Alt-L I think) commands, needed for opening locked doors and chests, and getting items out of chests. You can set options during the game with #option (Alt-O), or in .nethackrc, defaults.nh, or NetHack.cnf, depending on your platform.

A statue garden on Level 2

I can’t impress enough how much fun Nethack still is, even after all this time. There is a ton to learn before you can play well (read the wiki if you don’t mind spoilers), but it’s mostly entertaining knowledge. What other computer game freely quotes from sources ranging from Edmund Spenser to Terry Pratchett? It plays much faster than roguelikes of more recent vintage. Every level is only one screen in size, characters advance through the early levels rapidly, and its monsters and item systems are still top class. It’s true that I do miss the days when they’d introduce huge new features (3.0 and 3.1 each made it into almost an entirely new game), but there’s still a lot of things to discover. Gehennom, the deeper areas of the dungeon, has been changed greatly, and I look forward to reaching those hellish climes once again.

Happy hacking!

TheZZAZZGitch Explains Mystery Dungeon Generation

We’ve linked to TheZZAZZGlitch’s videos before, their obsession with the Pokémon and Pokémon Mystery Dungeon games is both admirable and somewhat worrying.

The video I’d like to point out today is this one on the dungeon generation in the first Pokémon Mystery Dungeon game (19 minutes), which basically lays bare the entire scheme by which nearly all Mystery Dungeons construct their procedural death labyrinths.

I’ve played quite a few Mystery Dungeon games, including nearly all of the many versions of Shiren the Wanderer (Rainbow Labyrinth is the only one I’m missing), and these dungeon level types keep coming up again and again. I’d be very surprised if essentially the same code, or close to it, wasn’t used in all of them. The beginning of the dungeon generation explainer is at 5:03.

One interesting thing is that the dungeons generated by the various routines often create maps that can be seen as variations upon the dungeons from the original roguelike, Rogue itself. Rogue used a distinctive 3×3 grid of rooms. Sometimes a “room” might be a winding corridor, a dead-end or a dark maze, but it doesn’t take much playing to see the patterns used, and the Mystery Dungeon games obviously use a similar system for most of its floors, using differently-sized grids. Sometimes extra dead-ends are generated, and there are a few extra styles, but in its overall plan it’s Rogue-standard. It’s what the video calls the “standard generator.”

This isn’t all that the video explains, for just one example it goes over the details of how the game’s random number generators work, and also how they can be abused (the dungeon RNG is seeded to 1 at boot, which can be used to ensure dungeons generate the same way). I think it’s essential viewing for any Mystery Dungeon enthusiast.

I’m on Roguelike Radio Talking About Omega Labyrinth Life

AH I had forgotten that I did do something for April 1st, I talked with Darren Grey on Roguelike Radio on ultra-pervy Japanese roguelike Omega Labyrinth Life!

My play time for this game on Switch is 30 hours. I do not recommend it.

For most of the episode we try to treat the game as if all that skeevy stuff doesn’t exist, but don’t close it when it seems like it’s over….

As for the skeeve, the game’s official website has a section marked OPPAI, which I do not link to directly from here, in case it gets Set Side B on some kind of list.

I don’t make many @Play posts these days, and I’m sad that I have to drag out the tag for something like this. I am working on a lot of discussion about Caves of Qud (if I can link to Omega Labyrinth Life here I can certainly call out Qud), but the game is so blasted huge! Hopefully I can bring you something on that front soon.

Upcoming: Roguelike Celebration 2025

It’s a time for annual reminders, so here I am holding up a sign, reading “ROGUELIKE CELEBRATION THIS WAY ->“. And another sign, “<- ROGUELIKE CELEBRATION SHOP’S OVER HERE!” And a third sign, “ROGUELIKE CELEBRATION STEAM SALE AROUND THAT CORNER ⤷!” Yes, I’m carrying three signs. It’s a trick I picked up from Zaphod Beeblebrox.

This year it’s happening between Saturday and Sunday, October 25-26. That’s the day after tomorrow! There’s an unusually good roster this year, and I don’t just say that because I helped find speakers for it this year.

We’ve already had a preview event with a couple of great talks, including a real star, Jon Perry, who created two of the best games in UFO 50, Mini & Max and Party House. While I spent a lot of time with Mini & Max uncovering its many secrets, it’s but a small fraction of the time I’ve played Party House. (If you want to hear Jon Perry’s talk, from September, you can find it here, as well as Ezra Stanton’s talk on Synergy Networks in roguelikes, and Alexei Pepers’ Designing for System Suspense.)

I’ve already gushed voluminously about Party House here. Let’s move on to this year’s talk schedule. Times given here are Eastern/Pacific/GMT. (The later times in GMT are pushed into the following day.)

Saturday, October 25th

TimeSpeakerTalk
12:30 PM
9:30 AM
6:30 PM
Michael BroughThe Roots of Roguelikes in Fantasy Fiction
1 PM
10 AM
7 PM
Sébastien “deepnight” BenardMixing Hand-Crafted Content with Procgen to Achieve Quality
1:30 PM
10:30 AM
7:30 PM
Max SahinStuff: The Behavioral Science of Inventory
1:45 PM
10:45 AM
7:45 PM
Florence Smith NichollsRoll for Reminiscence: Procedural Keepsake Games
2:30 PM
11:30 AM
8:30 PM
Alexander Birke and Sofie Kjær SchmidtHoist the Colours! Art Direction and Tech Art in Sea Of Rifts, A Naval Story Generation RPG
3 PM
Noon
9 PM
bleeptrackFrom Code to Craft: Procedural Generation for the Physical World
3:30 PM
12:30 PM
9:30 PM
Zeno RogueThe Best Genre for a Non-Euclidean game
4:30 PM
1:30 PM
10:30 PM
Cole WehrlePlay as Procedural Generation: Oath as a Roguelike Strategy Game
5 PM
2 PM
11 PM
Jeff LaitTeaching Long Term Consequences in Games
6 PM
3 PM
Midnight
RayA Mythopoetic Interface Reading of Caves of Qud
6:15 PM
3:15 PM
12:15 AM
Johnathan PagnuttiWait, No, Hear Me Out: Simulating Encounter AI in Slay the Spire with SQL
6:30 PM
3:30 PM
12:30 AM
Jamie BrewRobot Karaoke Goes Electric
7:30 PM
4:30 PM
1:30 AM
Stephen G. WarePlanning and Replanning Structured Adaptive Stories: 25 Years of History
8 PM
5 PM
2 AM
Tyriq PlummerScrubbin’ Trubble: The Journey to Multiplayer Roguelikery
8:15 PM
5:15 PM
2:15 AM
Andrew DoullRoguelike Radio 2011-Present

Sunday, October 26th

TimeSpeakerTalk
12:45 PM
9:45 AM
6:45 PM
Ada NullDyke Sex and Ennui: Generating Unending Narrative in “Kiss Garden”
1 PM
10 AM
7 PM
Younès RabiiWe Are Maxwell’s Demons: The Thermodynamics of Procedural Generators
1:30 PM
10:30 AM
7:30 PM
Dennis GregerThe Procedurality of Reality TV Design – An Overview
4:15 PM
1:15 PM
10:15 PM
Paul DeanPicking up the Pieces: Building Story in a Roguelike World
4:45 PM
1:45 PM
10:45 PM
Patrick Belanger and Jackson WagnerHand-Crafted Randomness: Storytelling in Wildermyth’s Proc-Gen World
5:15 PM
2:15 PM
11:15 PM
NifflasMusic algorithm showcase
6:15 PM
3:15 PM
12:15 AM
Seth CooperBuilding a Roguelike with a Tile Rewrite Language
6:30 PM
3:30 PM
12:30 AM
Quinten KonynAnatomy of a Morgue File
6:45 PM
3:45 PM
12:45 AM
Alexander KingDon’t Pick Just One: Set-Based Card Mechanics in Roguelike-Deckbuilders
7 PM
4 PM
1 AM
Brian CroninPlaytesting Process for Ultra Small Teams
8 PM
5 PM
2 AM
Mark GritterSol LeWitt, Combinatorial Enumeration, and Rogue
8:15 PM
5:15 PM
2:15 AM
Dan DiIorioLuck be a Landlord – 10 Lessons Learned
8:45 PM
5:45 PM
2:45 AM
Liza KnipscherThe Form and Function of Weird Li’l Guys: Procedural Organism Generation in a Simulated Ecosystem

If some of these talks seem like they’re spaced closely together, some of them are “lightning talks,” very short. Those have their titles in italics in the above list.

If you follow indie gaming circles, there are a fair number of exciting speakers among the talks! Jeff Lait (homepage) has made twenty highly interesting roguelikes, many as 7DRLs. Nifflas of course is the creator of Within a Deep Forest, the Knytt games, Affordable Space Adventures and others. Dan DiIorio is the creator of the oft-mentioned (at least in my hearing) Luck be a Landlord, and Zeno Rogue makes the long-lived, and brain-bending, HyperRogue.

And make sure to have a look at the Redbubble and Steam links too! In this year’s Steam selection, MidBoss and Shattered Pixel Dungeon are already on sale.

Gamefinds: mumble mumble Dungeons of Infinity

We love it when we find weird and unique indie games to tell you all about! Our alien friends to the left herald these occasions.

Writing about Nintendo fangames is fraught. Not that something might happen to me, the insidious grasp of their legal team doesn’t stretch that far yet, but for the games being written about. Remember AM2R, a fan remake of Metroid II that many believe was superior to Nintendo’s own revision? Then some big sites mentioned it, Nintendo heard about it, and they sent the creator a nastygram demanding they take it down. Set aside the fact that the game can still be readily obtained from numerous other sources; it still dumped a big bucket of freezing cold water on the hard work of its maker, which is hardly a way to treat fans, especially since the company’s prosperity depends on their good will. Nintendo must be really certain those enthusiasts won’t reject them.

About our own blog, I don’t think anyone at Nintendo personally reads Set Side B. I’m sure their well-paid legal staff has plenty better things to do than read an obscure little daily retro/niche/indie blog, even if it’s one that posts articles on their products really often. But it does seem possible that someone at Nintendo might run a spider, an automated program that scans the internet for derivative works related to their products.

Not romhacks, mind you. For some reason Nintendo doesn’t take a lot of interest in romhacks of their work in most cases. But fanwork that uses their IP in one way or other has been known to attract the attention of the legal Warios. That is why AM2R got stomped upon by the Kuribo’s Shoe of Civil Law, and it’s why Zelda Online had to retitle to Graal Online (a project that continues to this day under that name).

I tell you this so you’ll know why I don’t give the full name of the project I’m going to refer solely by the second half of its title: Dungeons of Infinity. Any person looking at the screenshots will be able to easily tell what game it’s referring to, and uses assets from, but web crawlers won’t, or at least I won’t make it any easier for them than the Youtube videos that contain footage of its play. If you figure you want to try it, which I hope you will, if you search for it you’ll probably find it. I’ll help you out by telling you it’s not the board game Dungeons of Infinity, which had a Kickstarter in 2024. Many of the top hits for that phrase will be about that, but not all of them. I trust you’ll be able to tell them apart.

(mumble) is gray here because he’s been cursed! Curses rarely and randomly spring from chests that are opened, and impose some restriction upon play, like making shops sell things for higher prices, or making hearts hurt you instead of heal. Each curse has a randomized lifting requirement.

Most of the things I like about (mumble mumble): Dungeons of Infinity are not related to the game from which it borrows. If they could find some helpful people to make similar graphics in the same style, and changed the name, they might be able to escape danger entirely, but that might require time and effort the creator doesn’t have. Whatever be its trappings, it’s a pretty cool random dungeon exploration game in its own right. It has a pretty active Discord. Its creator mentions there that they’ve recently lost interest in working on the game so its current version, 1.2.1, will probably be its last. It’s still pretty cool as it stands.

So the idea is, like in the other games in the series of, um, The Saga of Fitzgerald’s Wife, is to pilot a green-suited elf kid through dangerous and tricky dungeons and caverns full of monsters and traps, collecting items and uncovering secrets. What’s different is that the game is much more linear than those other games (much like the Four Swords Adventures titles), and the rooms and their arrangements are randomly determined. So… also like the Four Swords Adventures games, although this one is purely for solo play.

The Armos Knights, from The Saga of Fitzgerald’s Wife: A Connection to Previous Times, are much harder than in the original, without their former weaknesses. Arrows don’t seem to even harm them. (EDIT: DoI’s creator reached out and said they are vulnerable to arrows, it’s just the last phase of the fight, when there’s just one left,that it becomes immune.)

If you explore throughly enough you’ll always find a way forward, the game isn’t designed to give you unsolvable situations. But what can change, and quite a lot at that, is the items that you find. Weapons like the Bow, the Hookshot or the Boomerang have to be found, or sometimes bought, if you want to use them. None of these items are required to win, but without certain items, like Sword and Tunic upgrades, or extra Heart Containers, you’ll find the going much more difficult.

There are some pretty tricky secrets in this game. Try to remember all the different ways things could be hidden in the previous game.

In fact, probably the game’s biggest drawback is that it falls prey, a bit, to fangame difficuly malaise. Bosses that in the original game aren’t hugely difficult here are tenacious damage sponges. Everything in the game has been tuned to be that little bit more difficult: you have less health, sources of healing are less common, and enemies take more damage. Due to the nature of difficulty, all of these individual sources of peril multiply together and become much harder than the sum of its parts. And (mumble mumble): Dungeons of Infinity is a permadeath game: if you take too much damage and run out of hearts, the adventure ends, so to keep going you have to start over from the beginning, fighting all the early enemies once again, and building a whole new collection of random items. If you’re not up for a challenge, well, you probably shouldn’t bother downloading it.

Here’s some details that it might be useful to know:

To be frank, the many dark rooms in (mumble mumble) Dungeons of Infinity are probably my least favorite part of it. You don’t get the helpful cone of vision in dark areas here, and lit torches only light up a small area around them. There is an item that can give you a bit more visibility.
  • You have a very limited inventory space. You can only hold five items by default. The bow & its arrows count as separate items too, as do your bombs and any healing items you find. You can find, or (more likely) buy inventory expansions, and there are items that help keep other items from taking up inventory spaces, but you’ll frequently have to make difficult choices for what to keep.
  • On the other hand, items you drop, or don’t have room to collect, don’t disappear. They’ll remain on the ground in the room they were dropped or found in until you come back for them, or else take the downstairs (you don’t get to backtrack to previous floors). If you hold off on collecting hearts when you’re at full health, then when you do take damage, you can come back to pick them up later.
  • Aiding in this, enemies that you defeat never return. It’s possible to clear whole dungeon floors of monsters, making them much safer to explore.
  • In the bottom-right corner of the HUD, there’s a vertical map of all the dungeon levels, which gives you the low-down on where the bosses are. It also marks the location of save points. In the true spirit of permadeath these points are only for taking breaks, not for continually restoring from, but seeing as how the game is fairly long it’s good to take advantage of them, and refresh the mental batteries for a bit before tackling the next leg of the quest.
  • It’s a shame that it’s pretty far into the game, but in the rebel village area on the 6th floor there’s an arcade with a pretty decent remake of arcade classic Berzerk in it, as well as an endless runner version of Pitfall with a recreation of the music from Pitfall II: Lost Caverns! If you get a few rooms into the Berzerk remake, you’ll find another mini-game, within that mini-game. I don’t know how deep this recursive ouroboros of gaming goes, but it’s a very nice touch.
This is a screenshot of the Berzerk remake in the village arcade. I wish this and the Pitfall-inspired endless runner could be played stand-alone!

Roguelike Celebration 2025 Call for Proposals Extended

I’m helping out with Roguelike Celebration 2025, the now ten-year-running conference-like thing about all things roguelike, roguelite, and roguelike-adjacent. Yes, I’ve presented there three times so far, and figured it was time to give back!

While RC got its start as an in-person conference, when the pandemic hit they switched over to being entirely virtual, presented through video feed. All of their talks end up posted online, so anyone can see them for years after. But if you can attend during the conference you can participate in chat, ask questions of the speakers, and explore a very clever MUD-like chat interface!

I’ve tried to spread the word about Roguelike Celebration where I can, through social media and this very blog here. Every year they have several very interesting talks that, if you read Set Side B, I know you’d be interested in seeing. They’ve hosted Tarn Adams, co-creator of Dwarf Fortress, the creators of the original Rogue, and many other thoughtful speakers.

This year Roguelike Celebration takes place October 25-26. They sell tickets, but they also let people who are strapped for cash apply for a free ticket. (If you can pay for admission though, please do, as it takes money to run an event like this.)

And if you have a roguelike, or even vaguely-related project, please please please answer their Call For Proposals, to apply to present your work to their devoted audience of extremely thoughtful attendees! The CFP site is here, and their deadline has been extended to July 20th, so you have about three weeks to get in your proposal!

Give it a shot, it’s a great way to spread the word about roguelike work, or about a procedurally-generated game you’re interested in, or just something you think the world should know about.

By volume most game players, let’s be frank, are interested in the big AAA productions. But there are lots of people out there who are willing to give indies a chance, which roguelike games often are, and we have to stick together. Not only to talk with each other and build those connections, but to do it in public, non-corporate venues. Reddit largely is a sham these days, more interested in monetizing their userbase, and Discord isn’t web-searchable, and requires navigating a maze of requests that you upgrade to “Nitro.”

I do not lie: little volunteer-run organizations like Roguelike Celebration are a lot closer to the true spirit of the internet, and the World Wide Web, than those are. So please keep them in your thoughts, if you can buy a ticket, and if you have something to present, answer their CFP! You won’t regret any of those things.

7DRL 2025

It got by me this year, but the now 20-year-old 7 Day Roguelike Challenge, a gamejam where people try to construct a complete roguelike within a week’s time, finished up Saturday.

Not only has it been around a long time, but a number of games have come out of it that went on to greater things. Jupiter Hell got its start as a 7DRL project called DoomRL. The amazing Jeff Lait has made a ton of 7DRLs, and many of them have some awesome twist, like a game where you can make portals, but where the portals result in the world through them being rotated and possibly allowing you to get mixed up!

Jeff Lait’s Jacob’s Matrix

There’s regular several very interesting games in the challenge each year! Its itch.io page is here. This year’s theme was, simply, “roguelike,” and 819 people have joined it so far! I can’t wait to see what they’ve made!

Ancient Roguelike Lore: 50 Ways To Leave Your Game

Boudewijn Wayers was the creator of the very first Nethack Home Page. I have no idea where he is now, but he’s listed among the alumni of the Nethack Dev Team.

He wrote a spoiler for Nethack called To Die: 50 Ways to Leave Your Game, which was a cataloging of ways to die in that game. This used to be available in several locations on the World Wide Web, but now I can only find it in one place. To help preserve it for later generations, I paste it below in full.

I feel that first I should say a word about how Nethack pages have become scarce lately. The old Steelypips spoiler site is still active, but many of the other sites it links to have perished. (Some of them have academic URLs, and have probably fallen victim to the declining web investment of universities. To think in my lifetime I’ve seen the rise and subsequent abandonment of the internet as a tool of knowledge. I blame social media!)

I should see about preserving old spoiler documents on the living internet, but until I get something put together, here is Boudewijn Wayers’ list of ways to die in Nethack.


50 ways to leave your game
============================
by Boudewijn Wayers (kroisos@win.tue.nl).

There has been talk on the net lately about various ways to get killed.
Well, apart from being killed by a monster hitting you, there are lots
of other ways… Some of these other things you can be killed by are
mentioned here (I don’t claim to have noticed them all, but I think I
did):

a blast of acid
a blast of disintegration
a blast of fire
a blast of frost
a blast of lightning
a blast of missiles
a blast of poison gas
a blast of sleep gas
a bolt of cold
a bolt of fire
a bolt of lightning
a burst of flame
a carnivorous bag
a closing drawbridge
a cockatrice corpse
a collapsing drawbridge
a cone of cold
a contact-poisoned spellbook
a contaminated potion
a cursed throne
a death ray
a falling drawbridge
a falling object
a falling rock
a finger of death
a fireball
a genocide spell
a land mine
a magic missile
a magical explosion
a mildly contaminated potion
a potion of holy water
a potion of unholy water
a psychic blast
a residual undead turning effect
a scroll of fire
a scroll of genocide
a sleep ray
a system shock
a thrown potion
a touch of death
a tower of flame
a wand
acid
an alchemic blast
an electric chair
an electric shock
an exploding chest
an exploding crystal ball
an exploding drawbridge
an exploding item being destroyed
an exploding ring
an exploding rune
an exploding wand
an explosion
an iron ball collision
an object thrown at you
an unrefrigerated sip of juice
an unsuccessful polymorph
brainlessnes
bumping into a boulder
bumping into a door
colliding with the ceiling
contaminated water
drowning
eating a cadaver
eating a cockatrice corpse
eating a cockatrice egg
eating a poisonous corpse
eating a poisonous weapon
eating a rotten lump of royal jelly
eating an acidic corpse
eating the Medusa’s corpse
eating too rich a meal
exhaustion
falling downstairs
jumping out of a bear trap
kicking a ladder
kicking a rock
kicking a sink
kicking a throne
kicking a wall
kicking an altar
kicking something weird
kicking the drawbridge
kicking the stairs
leg damage from being pulled out of a bear trap
looking at the Medusa
molten lava
overexertion
sipping boiling water
sitting in lava
sitting on an iron spike
strangulation
swallowing a cockatrice whole
the wrath of
touching a cockatrice corpse
trying to tin a cockatrice without gloves

Other ways to die:

caught himself in his own tower of flame
committed suicide
crunched in the head by an iron ball
dragged downstairs by an iron ball
fell from a drawbridge
fell into a chasm
fell into a pit
fell into a pit of iron spikes
fell onto a sink
killed himself with his pick-axe
quit while already on Charon’s boat
shot himself with a death ray
squished under a boulder
starvation
teleported out of the dungeon and fell to his death
unwisely ate the body of Death/Hunger/Pestilence
using a magical horn on himself
went to heaven prematurely
zapped himself with a spell
zapped himself with a wand


That’s all of it. Thanks for reading it, and thanks Boudewijn, wherever you are.

Roguelike Radio, and I’m in it!

It’s been a long time since I’ve recorded an episode of the podcast Roguelike Radio, not just because it was on hiatus for some years, but also because I fell away from it for a while because of Life Terrible Life. But I’m back, and it’s here, and also in it is Rob “ASCII Dracula” Parker, who has a really great pseudonym.

It’s on the most recent Shiren the Wanderer game, The Mystery Dungeon of Serpentcoil Island, a.k.a. Shiren 6, and I hope I’m not spoiling things when I say it’s really fun. The episode is an hour and a half, we had a great time recording it, and here it is!

Roguelike Radio #159: Shiren 6, with Rob Parker and John Harris (1h29m)

How the AI Works in Pokemon Mystery Dungeon Rescue Team Red and Blue

Despite the words’ lack in the title, the two videos linked here, both made by Some Body, are all about roguelike behavior, and likely have implications for Chunsoft’s Mystery Dungeon engine generally, from which the Rescue Games derive.

In terms of depth, this post is rated 4 out of 5: highly detailed information for obsessed fans and game designers.

The first (28m):

And, the second (44m), it goes further into the weeds and is longer:

So, here’s a tl;dw overview of the first video. Despite the length, this is really only a brief summary! Some Body got their information by reverse engineering the games’ code, so it should be considered authoritative.

PMD has three times of actions, moving, attacking and using items. First they try to use an item–if there is no item to use, or the situation isn’t appropriate, or there’s a random component and they choose not to, they fall through to attacking. If there’s no one appropriate to attack, they fall through to moving or wandering. If they’re not pursuing a target and aren’t wandering, they wait in place.

Awake Pokemon try to reach a target: team members try to reach the leader (you)*, enemies try to reach a party member of yours. If they are following someone, they try to reach the target by default moving diagonally before moving orthogonally. This is good to know, and an effective strategy, since it’s harder to escape a cardinal-adjacent Pokemon than a diagonal-adjacent one. If a Pokemon has a target in sight but can’t move towards towards it, it doesn’t move.

(* Note: for teammates, this assumes the “Let’s Go Together” tactic is in effect. Generally, tactics settings are covered in the second video.)

No Pokemon can move towards a target they can’t see. Sight in Blue & Red Rescue Team is two spaces around them, or throughout a lit room they are in plus one space into corridors. Of course, invisible targets can’t be seen, even if they’re nearby. Note, a quirk of the Mystery Dungeon series generally: when standing in the first space of a corridor, you can only see slightly into the room, but everyone in the room can see you. While your default sight range in darkness is two spaces in the PMD1 games, instead of MD’s standard 1 space, you’re still a bit blind when moving into rooms. Notably, that two space distance around you is a square, so in corridors with bends in them you get a bit extra sight distance.

Now comes the interesting part (to people who are as obsessed with roguelikes as I am): what happens if a Pokemon loses sight of its target? In PMD1, it considers the last four locations the Pokemon was in, and tries to go to the one it was visible in most recently. Note in bent corridors, it becomes harder for a character to lose its target.

If the target is four turns outside of the follower’s sight, it has lost track of it, and the follower begins wandering randomly. This can happen if the Pokemon has never had a target (none has come into sight), or the target or follower teleports, the target moves over terrain the follower cannot cross, or the target moves away when the follower is occupied, or, due to the variety of events that can happen in the Mystery Dungeons, other ways.

Followers without targets wander randomly. When they spot a target, they cease moving randomly and pursue it. But if still wandering, in rooms, they pick a random exit, go to it and go down the corridor. In a corridor, they follow it until they reach a room (then entering it), or they reach an intersection. At an intersection, we see an interesting behavior: PMD1 occured before Chunsoft switched over to making wanderering monsters pick random directions at corridor intersections! In later Mystery Dungeon games, including later Pokemon Mystery Dungeons, wandering monsters go straight in intersections if they can. This is behavior that can be relied upon, but not in PMD1.

Outmatched Pokemon can decide to flee, essentially, moving away from their targets instead of towards. In rooms, they pick the exit furthermost from their pursuer, unless they moves them towards that pursuer; then they just try to get away as best they can, likely remaining in the room. A quirk of this: sometimes a fleeing monster breaks for an an exit that is more distant from the target, but not away from at attacker, giving it a free hit. The circumstances around this are complicated: the explanation begins at 7:16 in the first video.

For attacking, Pokemon have up to four moves, and a normal “attack.” This generic attack is not part of the main Pokemon game series. It was present in the first two PMD games, but after that became less effective. In the fourth and fifth PMD games, the normal attack only does five points of damage, and in the Switch remake of Rescue Team, it does no damage at all; it’s only a tool for passing time. But we’re still in the realm of PMD1, where “normal attacks” are not only useful but frequently used, because they don’t consume any PP.

Attacks are chosen based on a weighted average of all the usable moves. Each move has its own weight value; the normal attack weight’s varies according to the number of other moves available.

Ranged attacks are an interesting case. If a Pokemon has a ranged attack, and an enemy that can be attacked at a distance, it triggers the attack routine, where it picks a move from those available, but then only actually performs the move if the attack can reach its target. This can result in an attacker passing up opportunities to attack while an opponent approaches it. Out of fairness, room-range attack moves are only used by the AI when adjacent to an enemy.

Items have a bunch of minutiae associated with their use by the AI, but a lot of it is pretty ordinary. A few highlights: teammates can throw held negative status equipment at enemies, wild Pokemon start using items at Level 16, and there is only one Orb that wild Pokemon can use, and teammates can’t use it: the Rollcall Orb, for them, summons a number of other wild Pokemon into adjacency with them.

My Talk on Mystery Dungeon for Roguelike Celebration

They haven’t broken the talks apart into individual videos yet, but in the meantime you can see my presentation overview of the 31, give or take a couple depending on precise definition, games in the Mystery Dungeon series here, queued up to the proper starting point in the 8+ hour video. The talk portion is about half an hour long (with a couple of interruptions due to the router I was on being a bit flaky).

Here’s an embed, but note that WordPress doesn’t seem to accept the link for embedding with the time code linking directly to my talk, so you’ll have to skip ahead yourself to 6:10:18 to get to it. Or you could watch some of the other very interesting talks on the way there! Either way!

Roguelike Celebration 2024

Starting this Saturday at noon US Eastern time (9 AM Pacific, 5 PM Greenwich, 7 PM CEST) is Roguelike Celebration 2024! I’m presenting half an hour on the Mystery Dungeon games this year, at 3:15 PM Pacific/6:15 Eastern/11:15 Greenwich/1:15 AM Sunday CEST. Whew, the roundness of the Earth makes it difficult to express times!

It’s being held entirely online again this year, and offers a fun social space to explore that’s kind of like a MUD! Roguelike Celebration’s schedule is here, and you can get tickets for $30 for the whole event here. They usually set aside some free tickets for people who can’t afford the fee, although you might have to check around to find them.

Roguelike Celebration is nominally about roguelikes and procedural generation, but I think it’s interesting from a wide variety of gaming perspectives, and every year I find several talks that are incredibly interesting. Past years have offered presentations from people who worked on games as diverse as Kingdom of Loathing and Blaseball. Here are the talks being offered this year:

Saturday

  • Harry Solomons: Trampling on Ghosts: Hauntology and Permadeath
  • Cezar Capacle: Enhancing Narrative Through Randomness and Complications
  • Max Bottega: Keeping Art Direction interesting in a procedurally generated world
  • Stanley W. Baxton: Bringing Real-World Occultism into Your Games Without Accidentally Being Racist
  • Jeff Emtman and Martin Austwick: Neutrinowatch – the podcast that plays itself
  • Nic: Braided Narratives: Or How I Learned to Stop Worrying and Love Linear Stories
  • Pandamander: “Out of Book,” The Psychology of Why Roguelikes Keep Us Playing
  • ?: Inverse Terrain Solver
  • Adrian: Probably Impossible – NecroDancer’s network code
  • John Harris: A Trip Through The Mystery Dungeons (psst: this is mine)
  • Marlowe Dobbe: A Swarm of Monsters is Hard To Build: Generating Visual Concepts for Enemies in Roguelikes
  • John Bond: Doors or no Doors: How Roguelike games take you places
  • Dan Norder: Chase, The BASIC Language Proto-Roguelike

Sunday

  • Yong Zhen Zhou: Who Controls the Controller? Thinking about physical player interactions outside a digital game
  • Tabea Iseli: Animal Crossing meets Roguelite Dungeon Crawler – The surprising genre mixture behind Grimoire Groves
  • Philomena Schwab: 100,000 wishlists in 3 months – Weird roguelikes are taking over the world
  • Kaysa Konopljak: Going legit with DotA: How to transform a thousand authors into four
  • Alexander Birke: Practical procedural world and story generation in Sea Of Rifts, a naval roguelike RPG
  • Robin Mendoza: The Use of Knowledge in the Labyrinth: The price mechanism as a storytelling device
  • Ollie: The Right Variety – Understanding and Visualising the Output Diversity of Your Generators
  • Eiríkr: Uxn – Permacomputing & Roguelikes
  • Brian Cronin: Black Box Sim for Roguelikes
  • Isaac Io Schankler: Orb Pondering Simulator LIVE!
  • ?: 7 Layer Dip, Multi-Layered Narratives For Roguelikes
  • Emily Halina: New Levels from a Single Example via Tree-based Reconstructive Partitioning (TRP)
  • Courtney: Cheating the System (By Design!) for Epic Combos
  • Joe: Magic in Game Design: (Mis)Directing the Player’s Attention
  • Tyler Coleman: Finding your 80/20 Rule with Proc-Gen
  • Nat: Procedurality and the Primes