# NetHack

NetHack è un videogioco open source simile a Rogue, pubblicato nel 1987 per MS-DOS e successivamente adattato a molte altre piattaforme. È un'evoluzione di un gioco precedente detto Hack, a sua volta evolutosi da Rogue. Il nome Nethack deriva dal fatto che il suo sviluppo era originariamente (e continua ad essere) coordinato attraverso Internet anche se non è un gioco multiplayer. Nella versione di base tutti i messaggi sono in inglese.
NetHack è uno dei giochi più vecchi ancora in sviluppo, a cui nuove caratteristiche e aggiustamenti vengono regolarmente aggiunte da un gruppo informale di programmatori volontari, comunemente detto "DevTeam". Nethack è giunto almeno alla versione 3.6.7, uscita l'16 febbraio 2023.

## Trama

Il giocatore assume la parte di un eroe che esplora grotte e stanze sotterranee, alla ricerca dell'Amuleto di Yendor.
Dopo aver costruito il personaggio, viene introdotta la missione:
«After the Creation, the cruel god Moloch rebelled against the authority of Marduk the Creator. Moloch stole from Marduk the most powerful of all the artifacts of the gods, the Amulet of Yendor, and he hid it in the dark cavities of Gehennom, the Under World, where he now lurks, and bides his time»
«Dopo la creazione, il crudele dio Moloch si ribellò all'autorità di Marduk il creatore. Moloch sottrasse a Marduk il più potente di tutti gli artefatti degli dèi, l'Amuleto di Yendor, e lo nascose nelle cavità oscure della Geenna, nel Mondo di Sotto, dove ora si aggira e trascorre il suo tempo.»
Per vincere il gioco il giocatore deve ascendere e diventare semidio o semidea. Questo si raggiunge offrendo l'Amuleto di Yendor alla propria divinità, dopo aver superato alcuni tra i livelli più difficili del gioco.

## Modalità di gioco

La missione si estende per più di 50 livelli, la cui struttura e composizione viene in larga parte creata in maniera differente dal programma ogni volta che lo si gioca. Ogni livello contiene mostri, oggetti e molto altro.
Tradizionalmente la mappa e le animazioni del gioco vengono rappresentate tramite una grafica testuale (simile alla ASCII art), ma sono disponibili anche interfacce utente più propriamente grafiche, che mostrano la schermata di gioco in una mappa bidimensionale. Esistono anche interfacce grafiche più elaborate come quella isometrica di Falcon's Eye o Vulture's Eye, basate sulla libreria grafica SDL, oppure quella tridimensionale di noeGNUd, basata su OpenGL.
Prima di cominciare il gioco, vieni invitato a scegliere se selezionare alcune caratteristiche del personaggio oppure generare un personaggio casuale. Sono disponibili dei ruoli tradizionali per il personaggio, come il cavaliere o il mago, oppure altri inusuali, come la valchiria, l'uomo delle caverne, l'archeologo, il turista. Il ruolo e l'allineamento del personaggio determinano quale sarà la sua divinità protettrice; mantenendo il dio soddisfatto è possibile ottenere aiuto e doni.
Il personaggio inizialmente è accompagnato da un animale domestico, di solito un gattino o un cagnolino, anche se i cavalieri cominciano con un pony. Puoi dare un nome all'animale, e si possono addomesticare anche altri animali durante il cammino - gli animali domestici si possono addomesticare offrendo loro del cibo, mentre altri "mostri" possono essere addomesticati con la magia. Questi animali possono essere molto utili, non solo per l'assistenza nel combattimento ma anche per rilevare oggetti maledetti e per rubare dai negozi.
La varietà di oggetti unici, situazioni, mostri e personaggi offrono opportunità per interagire con il mondo del gioco. Alcune delle interazioni (o anche bug) possibili sono rare e occasionalmente divertenti. Ad esempio:
«You fall into a pit! You land on a set of sharp iron spikes! The spikes were poisoned! The poison was deadly... Do you want your possessions identified?»
«Sei caduto in un pozzo! Sei atterrato su spuntoni di ferro affilati! Gli spuntoni erano avvelenati! Il veleno era mortale... Vuoi identificare i tuoi oggetti?»
Questa viene chiamata una YAAD o YASD, che significa Yet Another Annoying Death o Yet Another Stupid Death, "Ancora un'altra morte stupida/fastidiosa".
Il messaggio "Do you want your possessions identified?", abbreviato con DYWYPI, viene presentato al termine di ogni gioco, permettendo di conoscere caratteristiche non ancora scoperte degli oggetti che si possedevano.
Anche se NetHack è molto difficile i giocatori veterani possono provare le "condotte", ovvero restrizioni volontarie riguardo certi comportamenti nel gioco. Tra le condotte volontarie ci sono il non esprimere desideri, il mantenere una dieta vegetariana o vegana, il rimanere atei, o il mantenere una condotta pacifista (non uccidendo direttamente alcuna creatura).

### Interfaccia

Segue un esempio di una sessione di gioco con una interfaccia testuale e monocromatica, con caratteri ASCII estesi.
Legenda dell'immagine:
* @ - protagonista
* d - il suo cane
* $ - oro o denaro
* ` - masso o statua
* < - rampa di scale verso l'alto
* ? - pergamena
* _ - altare
* + - porta chiusa
* ( - strumento (lampada, piccone, sacco, ecc.)
Sotto la mappa c'è una linea sullo stato. Dapprima ci sono il nome e lo stato professionale del protagonista che sono basati sull'esperienza accumulata durante il gioco. St sta per strength (forza), Dx per dexterity (destrezza), Co per constitution (costituzione), In per intelligence (intelligenza), Wi per wisdom (saggezza), Ch per charisma (carisma sociale) mentre Chaotic (caotico) è il suo allineamento. La linea seguente mostra il livello in cui si trova (il numero del livello aumenta con la profondità), il denaro, gli hit point (punti ferita del protagonista), il potere magico, la armor class (classe dell'armatura), l'esperienza e il tempo trascorso (numero di turni). Quando è necessario vengono mostrati ulteriori indicatori sullo stato di salute del protagonista, per indicare ad esempio se ha fame o se è sotto l'effetto di una droga.
Ci sono interfacce che sostituiscono le rappresentazioni in modalità di testo con immagini chiamate tile. Ad esempio, invece del simbolo "?", viene mostrata l'immagine di una pergamena. Nel gioco esiste un comando (di solito accessibile con il tasto "/") che permette di chiedere maggiori informazioni su un elemento della mappa.

## Varianti

Esistono diverse revisioni e fork di NetHack, tra cui Slash'EM (basato a sua volta su SLASH), UnNetHack e dNethack.