I love Nethack, but ultimately, I think it's a bad game. I decided to make my own game inspired by Nethack that fixes Nethack's mistakes: http://wolfesoftware.com/legend-of-swarkland/
I was greatly disappointed by Nethack's codebase, mostly by how inelegant and special-casey it is. (For example, the fact that mind flayers turn to stone when attacking a cockatrice is programmed in three separate places depending on who's the mind flayer and who's the cockatrice: uhitm.c, mhitu.c, and mhitm.c).
There are also fundamental flaws with the game's design, like as clever as it is to implement Sokoban with boulders and pits, it doesn't belong in a dungeon crawler, because random monster spawns can cheat you of a fair solution. The mazes of Gehenom are too long and boring. The plane of water makes no sense. The list goes on.
Another problem with nethack is how it punishes you for playing the game without spoilers. If you don't read a wiki (or the source), you're going to lose all your hours of progress to a bit of trivia you didn't know, like Medusa instakills you unless you're wearing X, Y, or Z. Trial and error can be good game design, but the retry period has to be short. In Nethack, it takes hours to recover from a line of code you couldn't possibly predict. (Wouldn't it be nice if fortune cookies or the Oracle were a reliable source of information? Really, you need to just read the wiki.)
As great as nethack is for its complexity and immersion, there are too many flaws for me to recommend it as a good game. That's why I'm trying to make my own game that's as complex as nethack, but doesn't have all the flaws, large and small.
I agree with most of what you wrote here but, to be fair, the Oracle is a pretty reliable source of information. If you pay her a large amount of money for a "major consultation" she will explain one of the main game mechanics in detail. If you focus on gathering a lot of money by selling things to shops, you can pay for multiple major consultations in a single game and create an extensive set of notes to work from. Here's an example of one those major consultations:
Behold the cockatrice, whose diminutive stature belies its hidden might. The
cockatrice can petrify any ordinary being it contacts--save those wise
adventurers who eat a dead lizard or blob of acid when they feel themselves
slowly turning to stone.
There are stories of purported unspoiled ascensions[0]. Whether or not you believe them is up to you. It all does seem plausible though.
The Oracle does seem to have been devised to make unspoiled ascensions possible, even describing the invocation ritual in detail. The Quest leader also tells confused players what to do after retrieving the Amulet (interestingly, with widely varying levels of specificity depending on the player's role).
Still, I've never seen any specific unspoiled ascension stories apart from Timothy Nodine's, so I wonder if that's the only one in history, or at least if it's happened fewer than half a dozen times ever.
While I think there is substance to your thesis, I think the fact that you can be cheated out of a "fair" solution provides an interesting twist on vanilla sokoban and ties it back into the rest of the game.
You can also use ranged weapons to blindly kill the things beyond the boulder. There are also a few ways to cheat back and win an otherwise unwinnable position.
Oh, for sure. My point was that most of those mean needing certain items/skills, which may mean heading back out of sokoban in search of them - which ties it more intimately with the rest of the game.
Right, I was just pointing out that there's more logic in the game than that, so it's not that you can play Sokoban or nothing, but rather you can even cheat if you know how to get more boulders and you can break some too.
And as to the points about Medusa above... well. Of all the things that might kill you in one turn, that one will only get you if you're just plain not paying attention (to be fair, this is a very common cause of death).
I mean, you walk past a statue of Perseus (among many others)... which happens to hold one of several items that would save you, leading to the question of how he got petrified to begin with, but still.
Hmm, interesting... there's a massive number of statues, a palace layout that suggest some kind of boss, and, oh, Perseus with a silver shield and a blindfold. There might just be a hint or two in all that... :)
If there's anything that I feel is a real spoiler-only bit, it's the necessity of magic cancellation and which things give it. This is not well-described in game, at least in the versions I've played. (I think they did an update a while ago and I haven't really played it lately.)
I would argue that those bits of unfairness is part of what makes the game so addictive. As long as you have the right mix as to not to frustrate the player they'll keep coming back for more. I think you can see this in more modern games as well.
There were other rogue-like games that were just as much fun, super-rogue comes to mind...
I was greatly disappointed by Nethack's codebase, mostly by how inelegant and special-casey it is. (For example, the fact that mind flayers turn to stone when attacking a cockatrice is programmed in three separate places depending on who's the mind flayer and who's the cockatrice: uhitm.c, mhitu.c, and mhitm.c).
There are also fundamental flaws with the game's design, like as clever as it is to implement Sokoban with boulders and pits, it doesn't belong in a dungeon crawler, because random monster spawns can cheat you of a fair solution. The mazes of Gehenom are too long and boring. The plane of water makes no sense. The list goes on.
Another problem with nethack is how it punishes you for playing the game without spoilers. If you don't read a wiki (or the source), you're going to lose all your hours of progress to a bit of trivia you didn't know, like Medusa instakills you unless you're wearing X, Y, or Z. Trial and error can be good game design, but the retry period has to be short. In Nethack, it takes hours to recover from a line of code you couldn't possibly predict. (Wouldn't it be nice if fortune cookies or the Oracle were a reliable source of information? Really, you need to just read the wiki.)
As great as nethack is for its complexity and immersion, there are too many flaws for me to recommend it as a good game. That's why I'm trying to make my own game that's as complex as nethack, but doesn't have all the flaws, large and small.