diff --git a/content/nethack/index.md b/content/nethack/index.md index 18cf6d6..b8bda90 100644 --- a/content/nethack/index.md +++ b/content/nethack/index.md @@ -1,36 +1,30 @@ --- title: "Nethack" -description: In which I play way too much of a silly command line Rogue-like game. +description: In which I play way too much of a silly command line Roguelike game. date: 2022-04-13T08:43:46-07:00 --- Every so often I get hooked on [this game][nethack]. It's a command line -Roguelike adventure game with rules based on Dungeons & Dragons. You play a -character on a mission for their deity to retrieve the Amulet of Yendor from an -evil Wizard and bring it back to the surface. The game gives you very little to -go on when you start, and it teaches you almost nothing except the basic -controls. Famously, almost every item you encounter or action you can take can -go wrong in some catastrophic way and cause - {{< abbr title="Yet Another Stupid Death" >}}YASD{{ abbr >}}. -The more you play, the more you learn, and the more you begin to understand the -risks and consequences. +[Roguelike][rl] adventure game with rules based on Dungeons & Dragons. As far as +I know, it is the oldest computer game in ongoing development. -In short: it's very hard, you die a lot, and it's quite easy to lose hours -delving deeper and deeper into the Dungeons of Doom, dying, and starting again. -It's also really fun. +You play a character on a mission to retrieve the Amulet of Yendor, held in the +deepest level of Gehennom by the evil god Moloch, and ascend to demigodhood by +offering it to your deity. You are taught nothing and given no training, and +worse: almost every monster, item, and dungeon feature can kill you if you +aren't careful. The more you play, the more you learn, and the more you begin to +understand the risks and consequences. -Here's my best game so far: +In short: it's very hard, you die a lot, and it's easy to lose hours delving +deeper and deeper into the Dungeons of Doom, dying, and starting again. It's +tons of fun. -{{< nethack/best_game >}} +Since I started keeping records, I've played {{< nethack/n >}} games, and +ascended {{< nethack/ascensions >}} of them. -## A Game Log +Here are my top 10 best games: -The game logs every play-through, along with a bunch of data about your -character and how you did. - -Herein is a chronological accounting of my last ten descents into the Dungeons -of Doom. - -{{< nethack/logfile >}} +{{< nethack/topn 10 >}} [nethack]: https://www.nethack.org +[rl]: https://en.wikipedia.org/wiki/Roguelike diff --git a/layouts/partials/nethack/log.html b/layouts/partials/nethack/log.html new file mode 100644 index 0000000..fdb99b8 --- /dev/null +++ b/layouts/partials/nethack/log.html @@ -0,0 +1,6 @@ +{{ $nethack_data := $.Site.Data.nethack.logfile }} +{{ $logfile := slice }} +{{ range $nethack_data }} + {{ $logfile = $logfile | append .logfile }} +{{ end }} +{{ return $logfile }} diff --git a/layouts/partials/nethack/logentry.html b/layouts/partials/nethack/logentry.html index caa9494..bbc03ff 100644 --- a/layouts/partials/nethack/logentry.html +++ b/layouts/partials/nethack/logentry.html @@ -1,12 +1,24 @@ -{{ $level := (cond (gt .dungeon.level.n 0) (.dungeon.level.descriptive | lower) .dungeon.level.descriptive) }} -
{{ .character.name }}, a {{ .character.alignment.descriptive | lower }} {{ .character.race.descriptive | lower }} - {{ .character.gender.descriptive | lower }} {{ .character.role.descriptive }}, - died {{ if gt .death.count 1 }}for the last time{{ end }} in {{ .dungeon.name }} +
+ {{- $name := .character.name -}} + {{- $descriptiveAlignment := .character.alignment.descriptive | lower -}} + {{- $descriptiveRace := .character.race.descriptive | lower -}} + {{- $descriptiveRole := .character.role.descriptive -}} + {{- if $didAscend -}} + {{ $name }}, a {{ $descriptiveAlignment }} {{ $descriptiveRace }} {{ $descriptiveRole }}, ascended. + {{- else -}} + {{ $name }}, a {{ $descriptiveAlignment }} {{ $descriptiveRace }} {{ $descriptiveRole }}, died + {{ if gt .death.count 1 -}}for the last time{{- end }} in + {{ .dungeon.name }} on {{ $level }}. - She was {{ .death.cause }}.
+ She was {{ .death.cause }}. + {{- end -}} +Level {{ . }} | {{ end }} {{ end }} -{{ cond (gt .character.hp.n 0) (printf "%s / %s" .character.hp.n .character.hp.max) - .character.hp.max }} hp | ++ {{- $hp := float .character.hp.n -}} + {{- $hpMax := .character.hp.max -}} + {{- if gt $hp 0 }}{{ $hp }} / {{ $hpMax }}{{ else }}{{ $hp }}{{ end }} hp + |