8 ms·
The story behind NetHack's first update since 2003
- karamazov 11y agoDoes anyone know how large the codebase is?
- lomnakkus 11y agosloccount says: Totals grouped by language (dominant language first): ansic: 233396 (95.05%) cpp: 7250 (2.95%) yacc: 2846 (1.16%) perl: 1161 (0.47%) lex: 579 (0.24%) sh: 210 (0.09%) awk: 90 (0.04%) sed: 11 (0.00%) EDIT: That's the recent version 3.6.0 EDIT#2: Here's the cloc output: https://github.com/AlDanial/cloc v 1.66 T=1.76 s (266.7 files/s, 181757.6 lines/s) --------------------------------------------------------------------------------------- Language files blank comment code --------------------------------------------------------------------------------------- C 271 24996 32675 220107 C/C++ Header 159 2950 4398 18318 C++ 5 1033 1097 6070 yacc 2 320 146 2846 Perl 11 280 501 1171 Windows Resource File 5 164 175 909 lex 2 37 58 484 DOS Batch 3 43 14 327 R 1 8 6 287 Bourne Shell 4 34 118 214 Windows Module Definition 2 7 0 141 Pascal 3 2 0 137 awk 1 6 58 90 sed 1 0 12 11 --------------------------------------------------------------------------------------- SUM: 470 29880 39258 251112 ---------------------------------------------------------------------------------------
- sho_hn 11y agocloc (http://cloc.sourceforge.net/ http://cloc.sourceforge.net/) improves over sloccount.
- MattSteelblade 11y agoI believe this is the official git repository: https://github.com/NetHack/NetHack https://github.com/NetHack/NetHack
- deleted 11y ago[deleted]
- Isamu 11y agoI did enjoy long hours playing Nethack. But you know, Rogue was win-able.
- robocaptain 11y agoMy problem with Nethack was that it actually becomes too win-able, once you know the dominant strategy. There is very little variability in building a successful "ascension kit". Early game strategies can vary and some can be quite fun (healer/pacifist run) but in my experience the "sameness" sets in once your strategy becomes "step 1: get wand of wishing". Of course you don't HAVE to use that wand. But it's there.
- SwellJoe 11y agoI think my favorite games are when I don't have a wand of wishing, but I still end up obtaining most of a decent ascension kit, anyway. It's very satisfying in a way that few "grinding" games are. Especially that moment of getting dragon armor "the hard way". I think knowing what the ascension kit contains doesn't necessarily break the fun or the challenge of the game. It just makes it possible to win (whereas, while flying blind, you probably won't win the game given a normal human life span and a normal working adult's amount of available free time and willingness to keep playing and experiencing YASD after YASD). I've seen folks suggesting NetHack is not a good game, because it requires so much spoiling in order to be winnable. But, I kinda enjoy reading the lore. It's part of the game for me; just because it happens on the internet rather than in the game terminal doesn't make it less fun.
- thaumasiotes 11y ago> I've seen folks suggesting NetHack is not a good game, because it requires so much spoiling in order to be winnable. In fact, there is one such person commenting here! To them, learning what can happen in the game is cheating: https://news.ycombinator.com/item?id=11523094 https://news.ycombinator.com/item?id=11523094 This makes all the sense, to me, of excoriating people who want to know the rules of chess before starting to play as "cheaters".
- PaulHoule 11y agoHas anybody beat the game without patching the source or running it in the debugger?
- flyinghamster 11y agoIt IS possible to ascend without such cheats, but incredibly difficult. I would say (and this is certainly true in my case) that an ascension without resorting to either spoilers or source-diving belongs in the "not going to happen" category.
- PaulHoule 11y agoI am not talking about reading the source or the wiki, I am talking about changing it... -- Original Commenter
- deleted 11y ago[deleted]
- brohoolio 11y agoI've ascended without modifying code. I did have to insert a level map from a game in explore mode because there was a bug in the version I was playing. The bug meant that there was a level where there was no up staircase generated.
- fencepost 11y agoYou can get around that, you just need the right cursed potion - or does that not work if you have the Amulet?
- fortenforge 11y agoYou'll still be affected by the mysterious force if you're in Gehennom, but a cursed potion of gain level will work.
- 11y ago
- lubujackson 11y agoI've just been reading about the foundations of NetHack and other roguelikes, which is quite interesting: http://www.amazon.com/Dungeon-Hacks-NetHack-Angband-Roguelikes-ebook/dp/B012QP0Z7O http://www.amazon.com/Dungeon-Hacks-NetHack-Angband-Roguelik...
- cubano 11y agoNot me. In the 80's and 90's, I decided to do other silly things with my life, like becoming a professional guitarist and being a Dad. I know I know...how irresponsible. :)
- aldanor 11y agoSuch C. Much ANSI. STATIC_OVL void mkcavepos(x, y, dist, waslit, rockit) xchar x, y; int dist; boolean waslit, rockit; { register struct rm *lev; ... }
- aldanor 11y ago... as in, "this is actually a quite nice and readable old-style ANSI C codebase". Seriously, the downvotes...
- mikekchar 11y agoYeah. I made a mod many years ago (it made you the "drunken master" if you were master level in unarmed combat and drank potions of booze). It was really, really easy. I have rarely worked on a code base of that size that was so easy to understand and modify.
- thaumasiotes 11y agoIf you don't want downvotes, put some text in your comment that is not nonsense-for-the-sake-of-nonsense.
- wzdd 11y agoMaybe you were downvoted because that is K&R style, not ANSI style. ANSI requires the type declaration next to the name in the parameter list.
- LukeShu 11y agoANSI still allows K&R style, refer to the grammar in section 6.7.6 and the semantics in 6.7.6.3 (of C11).
- deleted 11y ago[deleted]
- bhaak 11y agoThe article is a bit low on actual details why the release happened and what events lead to it. "Why not" doesn't adequately describe how ESR released the in-development code to the community without the rest of the devteam knowing about it. This lead directly to new members joining the devteam and the 3.6.0 release.
- poizan42 11y agoI found this much better at explaining what went down before the 3.6 release: https://tung.github.io/DynaHack/2016/02/18/stepping-down-from-maintaining-dynahack/ https://tung.github.io/DynaHack/2016/02/18/stepping-down-fro...
- agentgt 11y agoI never could get into NetHack. Even today I find the game off-putting and I love rogues. I can't decide way. I think its a combination of the interface, targeting system, and spoiler knowledge required. ADOM was my first love around 1995 I believe. It recently has had a revival but it's still showing its age particularly in the interface. I don't expect Rogue interfaces to be easy but I do expect them to be semi efficient since you are using a keyboard. Really the only classic rogue games today that have decent interfaces (control input) that I like are Brogue and DCSS.
- netnet 11y agoThe thing about Nethack is that it isn't so much a game as an elaborate joke. You don't win by being good, you win by memorizing all of the tricks. And it's only fun if you play on #nethack on irc.freenode.net, because then you can kibbitz with other players, they can watch your game, you can fall into addiction together, laugh about ridiculous situations involving cockatrices, etc. It gets boring after you win a couple of times, there isn't really much difference between the classes. I thought DCSS was boring, 15 runes is way too much of a slog and that's with an easy class. If it wasn't so grindy I would like it a lot more, the skills are fun. ADOM is similarly just way too long and you can't reasonably beat it without spoilers. Brogue is perfection. You should try playing in the weekly random seed contests on the forum.
- lfowles 11y ago>I thought DCSS was boring, 15 runes is way too much of a slog and that's with an easy class. If it wasn't so grindy I would like it a lot more, the skills are fun. It's only 3 runs for minimal ascension, right? It's as grindy as you make it..
- zipwitch 11y agoAscending isn't particularly difficult, it's just that it requires levels of attention to detail and preparation that verge on tedium for some. One example: in order to pass through the Elemental Plane of Water on the Astral, you need to find the (moving!) portal. In order to do this with optimal safety, you want to have: genocided all sea monsters, so you don't need to worry about krakens and the like have a means of magical breathing, in case you do end up in the water rustproofed all your metal armor and other gear have a large stash of Scrolls of Gold Detection, in a Bag of Holding (itself blessed and stored inside and oilskin sack so that water doesn't get in and erase your scrolls) have a means of safely giving yourself the Confused status (reading scrolls of Gold Detection while Confused lets you detect magic portals) a means of swiftly removing said Confusion, so that you can... *use your Boots of Speed (or other speed-boosting effect) to close rapidly on the moving portal. And that's ONE challenge on ONE level (although its deep in the endgame and considered one of the harder things in the game). Now imagine doing that for 100+ levels of gameplay... you CAN virtually guarantee a win in Nethack, but its never fast. I spent a couple years playing hard in college. I read spoilers, and save-scummed for a while, then stopped save-scumming because it wasn't fun and I didn't need to anymore. I've lost track of my legitimate ascensions - at least one with every class, and then I started in on conducts and score maximization. Now, I still play on and off for a week here or a week there. I can ascend about 1 in 4 times with the easy starting classes like Valkyrie. My YASDs inevitably come from rushing or not thinking things through, plus very occasionally getting screwed early by the RNG. And I'm not particularly good at the game. Really good players can virtually ascend at will, with the only limitation being their available time.
- fenomas 11y agoI think what's not obvious to people casually familiar with Nethack is that success is hugely bound to memorizing spoilers (the NH community term for any non-obvious peculiarity of the game). In the early game that means knowing what the various meaningless messages mean ("You have a strange feeling for a moment, then it passes"), knowing how to identify items from context (cost, weight, results of innocuous actions) and so on. In the late game it means knowing all the harmful stuff coming up and what counteracts it, knowing all the statuses and interactions (Gold Detection while confused, etc). That kind of stuff is what wound up driving me from the game - anything past the early stages just felt like bookkeeping.
- busterarm 11y agoI consider myself fairly good at roguelikes, but surprisingly I only have one Nethack ascension. For some reason I'm just not as motivated with that game as I am with DCSS or Ragnarok/Valhalla. Most of the time though I just play Brogue. Item identification through use and the game trying to provide everything you need to win let's me optimize around the items I get and not optimize around some set strategy.