Nethack shows (to me) one of the greatest strengths, and weaknesses of open source -- the tendancy to reach high-quality local minima.
With commercial products it is more common for products to die, not be upgraded, or have significant major upgrades. With open source instead the same products (nethack, vim, emacs and bash come to mind) can live in forever, gaining small improvements over time.
On one hand, this is great! You have a long-lasting product you can learn and use for years and years. On the other hand, I don't think nethack is the perfect game, vim the perfect editor or bash the perfect shell, they are very hard to displace.
Nethack source code was not closed and license was FOSS. Developers even accepted patches by email and from rec.games.roguelike newsgroup, but development was highly centralized as only a small group of developers had access to commit history. You could always fork NetHack, like UnNetHack developers did, but you only had access to release tarballs and had to rebase against many changes at once. Maintaining unofficial patch series was not actively supported. That is what I call "closed development process".
Another project with similar policy is OMNeT++ [0]. Simulation models are developed openly in the public [1], but the development of the kernel is done by closed group. Well, they also have restrictive license, forbidding commercial use, but what I am talking about is development model.
If you look at UnNetHack repository [2], it is forked from unofficial "Vanilla NetHack" repository [3] that contains only 53 commits, one for each released tarball. Now, with access to official git repository, it will be possible to track the changes between releases.
esr's The Catedral and the Bazaar about centralised vs. decentralised FLOSS development was written nearly 20 years ago, and talked about development of Emacs etc and Linux kernel.
I think it's funny how kids these days think it's too hard to access the source code of a project of it's not on GitHub. Self hosting used to be how it was done. Open source software has been popular at least since the 80s. GitHub is just a baby really.
that's not really got anything to do with how nethack development was 'closed'. Previously, while nethack releases were available under an open-source license, there were only a small number of developers which did not discuss nor release in-progress development publically.
They're clearly not obligated to do anything. And there were many forks, especially when the dev team went silent for about 12 years, and were basically presumed dead by some.
Services like github lower the barrier of entry to the OS development, and make things a lot easier. I think they provide a lot of value. Of course things were also possible without github earlier, but I think the barrier to open source development was higher.
GitHub is great but the barriers were never that high. It's like the difference between getting up to change the channel and using the remote. Once you've had the remote you feel like you cannot change the channel with out it.
Nethack indeed suffers from that a but, but Dungeon Crawl in my opinion is one of the best games ever made, and it gets revamped constantly, and they make tough choices and I have to admit they are usually right, even when first impression says otherwise.
Dungeon Crawl in my opinion is one of the best games ever made
Having played a lot of both NetHack and Crawl, I think it's pretty bold to claim either game as the "best game ever". Both suffer from the same problem: past a certain point, your character has too many options for every situation and choices become boring and trite.
Crawl tries to "fix" the problem by making a lot of your powerful options unreliable. I believe this is the wrong way to do it. It messes with the player's natural feedback loops by inviting them past a point of no return demarcated by a hidden variable (the random seed governing the unreliable option).
Both games also suffer for the fact that they misuse a food clock. A food clock is a crude mechanism to stop the player from abusing regeneration of health and respawning of monsters. The problem with it is that it's a linear mechanism which simply does not function properly with a nonlinear game. Again, it invites players past a point of no return in cases such as foodless dungeon branches. Crawl tries to "fix" this by giving the player way too much food, but that just lengthens the feedback loop without actually solving the problem. The original Rogue (and its spiritual successor, Brogue) has a working food clock because it's a strictly linear game with a finite amount of food balanced against a finite number of areas to explore.
Both Crawl and NetHack also suffer heavily from the problem of "windshield monsters". Like so many bugs splatting on the windshield, the games lull you into a sense of complacency until inevitably you walk around a corner and something really nasty notices you and you die. Yet another case of a long feedback loop that messes with the player's expectations. This is the game play analogue of jumpscares from the horror genre; a cheap trick that ends up pissing off the player most times.
"the games lull you into a sense of complacency until inevitably you walk around a corner and something really nasty notices you and you die"
That just means you have to be careful so that can never happen. For some that makes the game boring, for others it's part of the fun. I like being prepared, so it's fun for me.
I admit the argument is a bit weak, but it's possible to have "something really nasty" around the corner without making the vast majority of enemies complete grist for the mill. Brogue illustrates this concept rather well. As you get further into the game there are plenty of those "oh shit!" moments but the regular enemies you're fighting are still very challenging and interesting to deal with.
The boring part of the game is not the nasty thing that killed you, it's the thousand useless orcs you had to kill before it happened.
Dungeon Crawl Stone Soup is indeed a brilliant game. Some of the best gameplay I have ever experienced in any game, commercial or not. And it's interesting how this happened by organic iterative design with a few guiding hands over years, rather than the typical commercial big bang release date with years of up front dev.
DCSS does suffer from the optimum local minima thing as well, though. There are a lot of big design choices that stick around because they've always been there, rather than being good choices. For instance: the difficulty curve, melee being superior to spell casting, big random damage spikes, length of the game (too long), tediousness of summons / spell casting, kiting as the optimal strategy 99% of the time, and the other things that make dcss what it is.
I agree with some of the sub-optimal design choices you've mentioned, but I think the Crawl team has shown itself willing to be quite able to change the game to reduce tedium, even sometimes when a lot of players express reservations. For example, in terms of game length, Orcish mines has been reduced to 2 floors (used to be 5), Swamp/Shoal and Spider Nest/Snake Pit have been reduced to 4 floors (used to be 7), The Vaults have been reduced to 5 floors (used to be 8), the Dungeon has been split into Dungeon (15 floors) and the Depths (5 floors), rather than the old 27 floors. The weight limit for players that required low-strength casters to juggle items is gone, removing an important source of tedium.
I'll say this: I've played both NetHack and Crawl (and many other roguelikes) and the main difference between the two of them, for me, is that I have fun playing Crawl and I have never enjoyed myself playing NetHack.
One of the fantastic design choices in crawl (actually true for netball, too) is that it isn't balanced across all race+class combinations. Some are easy (mainly hack and slash power combos, like the gargoyle fighter) others are tough but trash you a lot about the game (tengu conjurer), and others are nigh impossible (mummy almost anything). If something is to easy, you can just choose to play a harder game, with less tolerance for mistakes. Eventually you start finding mistakes you weren't even aware of...
Hmmm, I wonder if opensource code is how the first ai-generated code contributions will look like? Ie technically good, but perhaps not fundamentally innovative, at least, initially?
To support this hypothesis, you'd have to show that some other process did make (for example) the perfect editor.
Otherwise, this is not a weakness of open source.
I wouldn't say they make the perfect editor, but they do make changes.
For example, I like the fact that almost every editor on my mac obeys the standard shortcut keys (at the minimum, apple+x,c,v for cut/copy/paste, apple+z undo, apple+s save, apple+q quit, apple+f find, apple+g find next, apple+a select all).
If you started vim or emacs today, would you choose on a mac to not follow the standard interface rules, when the editor was first started? I would (personally) hope not.
No, it uses the keys I listed, like everything else on the mac (I feel like you are aiming at something here, or are you just curious about mac terminals?)
* Well, not all of them, save doesn't really make sense for a terminal, and 'cut' can't really be implemented for a general terminal app. but copy/paste/find/find next/close window/select all and others are all fine).
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 am in the non-vocal minority that doesn't like nethack. I love games but I am in for the narration, the stories. I fondly remember the narratology vs. ludology debate from 10 years back.
I prefer things like Knytt (from nifflas) for example (the story is rather weak but the ambiance it gives out and the feelings I get from it entertains me more).
edit: For instance I really dig adarkroom.doublespeakgames.com/ and played through it two times because of the mood, the theme and the slight hints of a story behind it. I could never play nethack for more than 5 minutes. On a side note, I used to play role-playing games and now all my friends are into strategy board games with 72 pages or rules. It's okay, I just sit in the couch reading the background of the world and its characters while they compute ranges and the spawn ratio of monsters for the next round of the game.
Thanks, I tried it yesterday for 10 minutes, without reading the manual and didn't get very far. I couldn't enter towns and caverns and the bottom UI right half was off screen so I couldn't exit the game (and the top right close button of the window didn't work so I had to kill the process). I died in the plains, killed by a barbarian. I might give it a shot later but I doubt I'll play it for long. It's not the killing, it's the UI. The music is really nice though.
> I know there is a new commercial Knytt game, but I fear the pixelated simplicity of the earlier games would be lost. Have you played it?
I played the demo and I didn't enjoyed it. The ambiance is kinda still there but... not enough. Unfortunately he incorporated some game-play mechanics from the game with the ball (the name escapes me at the moment) and that is a deal breaker for me (although I did finish that game :) because it sucks me out of the mood back to tricky jumps.
Anyway, there's a demo with some playable chapters on his website.
The contrast between viewing that website (all fade-ins and exciting fonts) and actually playing Nethack itself is... stark. But I enjoy assuming that the irony is intentional!
Edit: Also, not to be that guy, but there are few boasts on that site that don't apply twice as hard to Dwarf Fortress...
No irony intended, I'm afraid! The goal of the site, which was a weekend project back in 2010, was to make a compelling advertisement for Nethack without relying on lots of illustrations.
It's great design work, and you should be proud of it. However, the reasons for why I play games are not well served by Nethack, I'm afraid, so the advertisement doesn't work on me.
I am a big fan of Angband in addition to NetHack. It's sort of like NetHack (at least superficially) but more deterministic/less "have to learn random shit to get past new obstacle", more of a straightforward action RPG I guess, but also with interesting mechanics.
Not necessarily related- Has anyone attempted a game like this in a purely functional style? It's a side project idea I've been putting off for a while.
I... don't like NetHack. I've played it off and on for, I donnow, 20 years now and I have yet to get beyond level 5 or something. I don't quite understand how anybody is able to finish the game without reading spoilers and looking at the source code. Can anybody who as ascended explain to me how you're supposed to play this game?
I think almost everyone who has ascended has read at least some spoilers; there seems to be only one (?) counterexample.
Other suggestions: Consult the Oracle (her advice is concrete and essential), read the Guidebook (http://www.nethack.org/v360/Guidebook.html; not generally considered spoilers), and watch other people play on a public server (like nethack.alt.org).
The last one could be considered a spoiler because other players will rely on and demonstrate knowledge that you didn't acquire from playing by yourself, but it can be considered a much weaker or much different form of spoiler than reading the detailed explanation documents. Your gameplay is likely to improve a lot if you watch other expert players for a while, although bear in mind that different players have different play styles and agendas and some may be trying to do things that are unnecessarily boring, complex, or difficult.
I haven't ascended (came close years ago, but life happened and I wasn't able to make another run with things still fresh in my mind), but to answer your question: trial & error, passing familiarity with mythology / fantasy tropes, copious notes and patience.
Back in the day, I played a lot in Angband clone called TOME (Troubles of Middle Earth) because I am a Tolkien lore fan and this flavor was amazing to me. Unfortunately, TOME devs turned it into some-another-generic-fantasy-realm that took away all the pleasure, and I havent been playing these games since.
You might check out Sil, which is set in Middle Earth and is supposed to be truer to the spirit of Tolkien. I've also heard it is good as a game. Haven't played it myself.
Thanks for the tip, I've downloaded it and for sure will give it a try, but it seems like the game is abandoned, which, again, is a shame, because I love them Tolkien based roguelikes. Also, note, that TOME had quite different gameplay, with quests, world underground and above and many, many more feats.
It is indeed one of the minimalistic roguelikes, like Brogue, rather than one of the kitchen-sink roguelikes, like ADOM, Nethack or ToME. But do give it a try, it's really a quality game! I have played several dozens of roguelikes and it's in my top 3, right near ADOM and Brogue.
Some of its merits are intelligent enemies that are actually able to follow group strategies rather than charging blindly, an original song system, really great atmosphere and immersion (even better if you're a fan of Tolkien), and probably the only roguelike I've seen with a crafting system that doesn't suck.
I've played most roguelikes under the sun, but I'd have to say to this day my two favorites are Ragnaraok/Valhalla and Brogue. They're the ones I'll still dive in and get addicted to regularly.
Past that, the classics are right at the top: ADOM, Angband, Moria, DCSS, NetHack.
Really warms my heart to see this. I first played Nethack around 1989 or so, on an ANSI terminal. (I remember thinking that the ANSI color was really cool.) Haven't even thought of it in at least a decade and had no idea folks were still working on it. Trying it again on the iPhone sounds like a riot.
I can remember the day in the 1980's when I was 10 or so and the 5¼-inch disk came in the mail because my dad had mail ordered the game Hack for me because he thought I might like it:
My friends came over and we printed the manual on our dot matrix printer - it was like 60 pages and seemed to take an hour to print. We started reading it before it finished, and it was incredibly exciting. Oh man, we loved that game. I remember staying up all night playing it. I got my first hard drive just so that I could install and play Nethack (you couldn't play it without a hard drive).
I wish the FOSS community wouldn't give Nethack so much publicity.
Don't get me wrong, it's a really good game and I had really fun times with it, but it shows its age and has been overcome in lots of ways. Current players are more likely to find fun in ADOM, Brogue, DCSS, ToME, Sil, Powder, Legerdemain, etc. than they are in Nethack. Modern roguelikes (or those that are not that modern but have gone through recent extensive overhauls, like ToME and ADOM) tend to be more balanced, and especially require fewer spoilers to progress. And many of them (if not most) are FOSS too.
tl;dr: if you have never tried roguelikes, you probably shouldn't start with Nethack. Nethack is a very good game but its design is dated, and its heavily spoiler-based gameplay is not for everyone. There are more modern roguelikes that are typically a better bet for new players.
Which one do you recommend the most? I've played a little bit of Nethack and I thought it was fun but not something I wanted to sink a huge amount of time into.
Continuing development is great in most ways, but it does have one drawback: it prevents the existence of a stable canonical version. This becomes relevant when you get into things like speedrunning, or just researching strategies in general. There's no knowing whether the next update will change everything.
Stability is more about the intentions and skills of the developers rather than about their development methodology. Nothing about CI/CD forces devs to break backwards compatibility, and nothing prevents them on focusing on bugfixes and improving stability.
When big changes are necessary, developers can plan for them and let the users know well in advance as to what to expect and when to expect it. This, again, has nothing to do with development methodology, but is more about communication and consideration for your users.
I like the approach used in community updates to Worms:Armageddon – newer versions can emulate the behaviour of older versions when running a saved replay or when playing a match with multiple conflicting versions.
I dunno, I tend to think that deferring gratification and avoiding addictive patterns of behavior are largely orthogonal. E.g. I'm pretty good at getting work done and optimizing for NPV, but that doesn't mean I'm going to take up smoking crack on the weekends.
In the 70's a friend of a friend of mine developed Adventure which I'm sure you all know as the original text adventure game. It was a giant step in computer games. I worked at HP and someone ported it to the HP minicomputer. It got so popular they had to run a script to block it during work hours.
My wife and I came in every night after dinner for weeks and played it. When we weren't playing it we discussed ideas to get past the block. The word play was awesome.
Check out http://7drl.roguetemple.com/ for lots (and lots of lots) of other RL games of all types. There are some real gems on there. Lots of very fun games.
I've been playing hack/nethack regularly since 1985. It's truly the greatest game ever. The best thing about it is how it has evolved over the years tastefully, unlike every other game.
Beating Nethack is actually not that hard, once you've played it for a decade or two. It starts to get hard when you try to ascend while adopting a conduct[1] like atheism, pacifism, or vegetarianism. There are also various other roguelikes which are well known to be a lot harder than Nethack.
Agree. Once you've put in the requisite learning time, ascending with even the more difficult classes is just a matter of time and preparing for the most deadly encounters and RNG outcomes, while avoiding inflicting YASD on yourself.
Since I'm not a Go player but am a NetHack player, I got more personal appreciation out of BotHack's achievement from last year than from AlphaGo's victory. That was also something that I hadn't expected to see for years to come; you can see from the bot comparison page
-- that is, the author taught the bot human-level rules and concepts based on human knowledge about the game. It wasn't a deep learning or neural net system; there is specific code about what altars do, how to fight mind flayers, or whatever.
For instance, here's a hard-coded list of corpses to avoid eating.
Yes, and many who do often write up the story of how they "ascended". (This is where the story is in Nethack, @johnchristopher). Here is one of the best of those stories.
Yeah. Maybe three or four times when I was in high school. The beginning of the game is usually hard, then it gets easier when you are strong enough and get the artifact weapon and a good armor. You play until you get to the wizard, and after that the game gets pretty hard and you need to escape fast. The elemental levels are very complex and I've died many times in the last level, almost finishing the game and finding myself throwing my keyboard to the wall...
Of course I've read lots of ascension stories and some spoilers about the game to succeed. It's a fun challenge and very rewarding, when you finally ascend.
The things you listed is downsides, not something to be proud about. To play on terminal you still need large screen, and colored, since NetHack utilizes colors. This makes an obvious downside of not using any kind of images or cursor. This makes the game unplayable for all people except few old programmers and system admins used to do everything with commands.
In my eyes this game along with many other terminal games are "toys of old unix admins". It's really mind-boggling how anyone can think that a game with worst possible production quality can have a word as "greatest" associated with it.
Just because you feel nostalgia, it doesn't make the game good.
With commercial products it is more common for products to die, not be upgraded, or have significant major upgrades. With open source instead the same products (nethack, vim, emacs and bash come to mind) can live in forever, gaining small improvements over time.
On one hand, this is great! You have a long-lasting product you can learn and use for years and years. On the other hand, I don't think nethack is the perfect game, vim the perfect editor or bash the perfect shell, they are very hard to displace.