NetHack

NetHack
Utvecklare NetHack DevTeam
Initial release 1.3d / 28 juli 1987 ; 35 år sedan ( 1987-07-28 )
Stabil frisättning
3.6.7 / 16 februari 2023 ; för 18 dagar sedan ( 2023-02-16 )
Förvar
Operativ system Windows , Linux , Mac OS X , Windows CE , OS/2 , *BSD , System V , Solaris , HP-UX , BeOS , VMS , Haiku
Typ Roguelike
Licens NetHack General Public License (derivat av BISON general public-licens, en föregångare till GPL )
Hemsida www .nethack .org  Edit this on Wikidata

NetHack är ett skurkliknande videospel för en spelare med öppen källkod , släpptes först 1987 och underhålls av NetHack DevTeam. Spelet är en gaffel från 1982 års spel Hack , som i sig är inspirerat av 1980 års spel Rogue . Spelaren tar rollen som en av flera fördefinierade karaktärsklasser för att gå ner genom flera fängelsehålsgolv, slåss mot monster och samla skatter, för att återvinna "Amulet of Yendor" på den lägsta våningen och sedan fly.

Som ett exempel på det traditionella "roguelike"-spelet har NetHack turbaserat , rutnätsbaserat hack- och slash - dungeon-crawl- spel, procedurgenererade fängelsehålor och skatter, och permadeath , som kräver att spelaren startar om spelet igen om spelarens karaktär skulle dö. Spelet använder enkel ASCII- grafik som standard för att lätt kunna visas på en mängd olika datorskärmar , men kan använda förbannelser med tecken som ritar lådor, samt ersätta grafiska tileset på maskiner med grafik. Medan Rogue , Hack och andra tidigare roguelikes förblev trogen en hög fantasymiljö , introducerade NetHack humoristiska och anakronistiska element över tiden, inklusive populärkulturell referens till verk som Discworld och Raiders of the Lost Ark .

Den identifieras som en av de "stora roguelikes" av John Harris. Jämförde den med Rogue , skrev Engadgets Justin Olivetti att den tog sin utforskningsaspekt och "gjorde den mycket rikare med ett uppslagsverk av föremål, ett större ordförråd, en mängd popkulturomnämnanden och en pusselbits attityd. " År 2000 beskrev Salon det som "en av de finaste spelupplevelserna som datorvärlden har att erbjuda".

Gameplay

Innan du startar ett spel väljer spelare sin karaktärs ras , roll , kön och inriktning , eller låter spelet tilldela attributen slumpmässigt. Det finns traditionella fantasyroller som riddare , trollkarl , skurk och präst ; men det finns också ovanliga roller, inklusive arkeolog , turist och grottman . Spelarkaraktärens roll och inriktning dikterar vilken gudom karaktären tjänar och stöds av i spelet, "hur andra monster reagerar mot dig", såväl som karaktärens färdigheter och attribut.

Efter att spelarkaraktären har skapats introduceras huvudmålet. För att vinna spelet måste spelaren hämta Amuletten av Yendor, som finns på den lägsta nivån i fängelsehålan, och erbjuda den till sin gudom. Ett framgångsrikt slutförande av denna uppgift belönar spelaren med odödlighetens gåva , och spelaren sägs "stiga upp" och uppnå status som halvgud . Längs vägen till amuletten måste ett antal deluppdrag utföras, inklusive ett klassspecifikt uppdrag.

Det finns 3 stora antagonister i NetHack; den luciferiska guden Moloch , som stal Yendors amulet från skaparguden Marduk , översteprästen/prästinnan i Moloch, som innehar Yendors amulett, och den mest framstående antagonisten, trollkarlen från Yendor, som kommer att förfölja spelaren under hela spelet. resten av spelet efter det första mötet genom att återuppliva och attackera dem med jämna mellanrum. Spelets sista chefer i Astralplanet är ryttarna: tre av Apokalypsens fyra ryttare , död, svält och pest, där krig antas vara spelarens karaktär.

Spelarens karaktär är, om de inte väljer att inte vara, åtföljd av ett husdjur, vanligtvis en kattunge eller liten hund , även om riddare börjar med en sadelponny . Husdjur växer av slagsmål, och de kan förändras på olika sätt. De flesta andra monster kan också tämjas med hjälp av magi eller mat.

Dungeon nivåer

NetHacks fängelsehåla sträcker sig över ett femtiotal primära nivåer, varav de flesta genereras procedurmässigt när spelarens karaktär går in i dem för första gången. En typisk nivå innehåller en väg "upp" och "ner" till andra nivåer. Dessa kan vara trappor, stegar, luckor etc. Nivåer innehåller också flera "rum" som förenas av korridorer. Dessa rum är slumpmässigt genererade rektanglar (till skillnad från de linjära korridorerna) och kan innehålla funktioner som altare, butiker, fontäner, fällor, troner, vattenpölar och handfat baserat på de slumpmässigt genererade funktionerna i rummet. Vissa specifika nivåer följer en av många fasta mönster eller innehåller fasta element. Senare versioner av spelet lade till speciella grenar av fängelsehålsnivåer. Det här är valfria rutter som kan innehålla mer utmanande monster men som kan belöna mer önskvärda skatter för att slutföra huvudfängelsehålan. Nivåer, när de väl genererats, förblev ihållande, i motsats till spel som följde Moria -stilen för nivågenerering.

Föremål och verktyg

En spelares inventering

NetHack innehåller en mängd olika föremål: vapen ( närstrid eller avstånd ), rustningar för att skydda spelaren, rullar och trollböcker att läsa, trolldrycker att tappa , trollstavar, ringar, amuletter och ett urval av verktyg , som nycklar och lampor.

NetHacks identifiering av föremål är nästan identisk med Rogues . Till exempel kan en nyupptäckt dryck kallas en "rosa dryck" utan några andra ledtrådar om dess identitet. Spelare kan utföra en mängd olika åtgärder och trick för att härleda, eller åtminstone begränsa, identiteten på drycken. Den mest uppenbara är den något riskabla taktiken att helt enkelt dricka det. Alla föremål av en viss typ kommer att ha samma beskrivning. Till exempel kan alla "rullar med förtrollningsvapen" märkas "TEMOV", och när en har identifierats kommer alla "rullar med förtrollningsvapen" som hittas senare att märkas entydigt som sådana. Att starta ett nytt spel kommer att förvränga objektbeskrivningarna igen, så "silverringen" som är en "ring av levitation" i ett spel kan vara en "ring av hunger" i ett annat.

Välsignelser och förbannelser

Som i många andra roguelike-spel är alla objekt i NetHack antingen " välsignade ", "oförbannade" eller " förbannade ". Majoriteten av föremålen hittas oförbannade, men den välsignade eller förbannade statusen för ett föremål är okänd tills det identifieras eller upptäcks på annat sätt.

I allmänhet kommer ett välsignat föremål att vara kraftfullare än ett oförbannat föremål, och ett förbannat föremål kommer att vara mindre kraftfullt, med den extra nackdelen att när den väl har utrustats av spelaren, kan den inte lätt tas bort. Där ett föremål skulle ge en effekt på karaktären, kommer en förbannelse i allmänhet att göra effekten skadlig, eller öka mängden skada. Det finns dock mycket specifika undantag. Om du till exempel dricker en förbannad "potion of gain level" kommer karaktären att bokstavligen stiga genom taket till nivån ovanför, istället för att få en erfarenhetsnivå .

Karaktärs död

Som i andra roguelike-spel har NetHack permadeath : utgångna karaktärer kan inte återupplivas.

Även om NetHack kan genomföras utan konstgjorda begränsningar, kan erfarna spelare försöka "uppförande" för en extra utmaning. Dessa är frivilliga restriktioner för åtgärder som vidtas, som att inte använda några önskemål, följa en vegetarisk eller vegansk kost, eller till och med döda inga monster. Medan uppföranden i allmänhet spåras av spelet och visas vid döden eller uppstigningen, utövas inofficiella uppföranden inom samhället.

När en spelare dör skapas dödsorsaken och poängen och läggs till i listan där spelarens karaktär rankas mot andra tidigare karaktärer. Uppmaningen "Vill du att dina ägodelar identifieras?" ges som standard i slutet av ett spel, vilket gör att spelaren kan lära sig okända egenskaper hos föremålen i deras lager vid döden. Spelarens egenskaper (som motstånd, tur och andra), beteende (vanligtvis självpåtagna utmaningar, som att spela som ateist eller vegetarian) och en sammanställning av dödade varelser kan också visas.

Spelet sparar sporadiskt en nivå där en karaktär har dött och integrerar sedan den nivån i ett senare spel. Detta görs via "bones-filer", som sparas på datorn som är värd för spelet. En spelare som använder en offentligt värd kopia av spelet kan alltså möta kvarlevorna och ägodelar från många andra spelare, även om många av dessa ägodelar kan ha blivit förbannade.

På grund av de många sätt som en spelare-karaktär kan dö mellan en kombination av sina egna handlingar såväl som från reaktioner från spelets interagerande system, hänvisar spelare ofta till otidiga dödsfall som "Yet Another Stupid Death" (YASD). Sådana dödsfall anses vara en del av att lära sig spela NetHack för att undvika förhållanden där samma död kan hända igen.

NetHack tillåter spelare att spara spelet så att man inte behöver slutföra spelet i en session, men när man öppnar ett nytt spel, raderas den tidigare sparade filen sedan för att upprätthålla alternativet permadeath. Ett alternativ som vissa spelare använder är att göra en säkerhetskopia av den sparade spelfilen innan de spelar ett spel, och, om deras karaktär skulle dö, återställa från den kopierade versionen, en praxis som kallas "spara scumming". Dessutom kan spelare också manipulera "bones-filerna" på ett sätt som inte avsetts av utvecklarna. Även om dessa hjälper spelaren att lära sig spelet och komma runt gränserna för permadeath, anses båda former av fusk i spelet.

Kultur kring spoilers

NetHack bygger till stor del på att upptäcka hemligheter och tricks under spelets gång. Det kan ta år för en att bli väl insatt i dem, och även erfarna spelare upptäcker rutinmässigt nya. Ett antal NetHack- fansajter och diskussionsforum erbjuder listor över spelhemligheter som kallas "spoilers".

Gränssnitt

NetHack skapades ursprungligen med endast ett enkelt ASCII -textbaserat användargränssnitt , även om alternativet att använda något mer utarbetat lades till senare i utvecklingen. Gränssnittselement som miljön, entiteter och objekt representeras av arrangemang av ASCII- eller Extended ASCII- glyfer, " DECgraphics " eller " IBMgraphics "-läge. Utöver miljön visar gränssnittet även karaktärs- och situationsinformation.

Ett detaljerat exempel:

Du ser här en silverring. ------------ ##....._.....| |...........# ------ #...........| |....| --------------- ###------------ |...(| |..%.......... .|########## ###-@...| |...%...........### # ## |....| + .......<......| ### ### |..!.| --------------- # # ------ ### ### # # ---.----- ### |.......| # |........#### |...... .| |.......| --------- Hacker the Conjurer St:11 Dx:13 Co:12 In:11 Wi:18 Ch:11 Neutral Dlvl:3 $:120 HP: 39(41) Pw:36(36) AC:6 Exp:5 T:1073

Spelaren ('@'-tecknet, en trollkarl i det här fallet) har gått in på nivån via trappan ('<'-tecknet) och dödat några monster och lämnat sina lik ('%'-tecknen) bakom sig. När spelaren utforskar, har spelaren avslöjat tre rum förenade av korridorer (#-tecknen): ett med ett altare (tecknet '_'), ett annat tomt och det sista (som spelaren för närvarande befinner sig i) som innehåller en dryck ( '!'-tecknet) och kista ('('-tecknet). Spelaren har precis flyttat till en ruta som innehåller en silverring. Delar av nivån är fortfarande outforskade (förmodligen tillgänglig genom dörren i väster ('+') tecken)) och spelaren har ännu inte hittat nedervåningen (ett '>'-tecken) till nästa nivå.

Förutom det ursprungliga termcap- gränssnittet som visas ovan, finns det andra gränssnitt som ersätter standardskärmrepresentationer med tvådimensionella bilder, eller tiles , gemensamt känt som "tiles mode". Grafiska gränssnitt av detta slag har framgångsrikt implementerats på Amiga , X Window System , Microsoft Windows GUI, Qt toolkit och GNOME - biblioteken.

Förbättrade grafiska alternativ finns också, som det isometriska perspektivet av Falcon's Eye och Vulture's Eye , eller den tredimensionella återgivningen som noegnud erbjuder. Vulture's Eye är en gaffel av det nu nedlagda Falcon's Eye-projektet. Vulture's Eye lägger till ytterligare grafik, ljud, buggfixar och prestandaförbättringar och är under aktiv utveckling i en öppen samarbetsmiljö.

Historia och utveckling

Stora NetHack- släpp
1987 v1.3d (Första offentliga utgåvan)
v2.2a
1988
1989 v3.0.0
1990
1991
1992
1993 v3.1.0
1994
1995
1996 v3.2.0
1997
1998
1999 v3.3.0
2000
2001
2002 v3.4.0
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015 v3.6.0
2016
2017
2018
2019
2020

NetHack är ett mjukvaruderivat av Hack , som i sig var inspirerat av Rogue . Hack skapades av eleverna Jay Fenlason, Kenny Woodland, Mike Thome och Jonathan Payne vid Lincoln-Sudbury Regional High School som en del av en datorklass, efter att ha sett och spelat Rogue vid University of California Berkeleys datorlabb. Gruppen hade försökt få källkoden till Rogue från Glenn Wichman och Michael Toy att bygga vidare på, men Wichman och Toy hade vägrat, vilket tvingade eleverna att bygga rutinerna för att skapa fängelsehålor på egen hand. Som sådant fick spelet namnet Hack delvis för hack-and-slash-spelet och att koden för att generera fängelsehålorna ansågs vara ett programmeringshack . Efter att deras klasser var slut, avslutades också elevernas arbete med programmet, även om de hade ett fungerande spel. Fenlason tillhandahöll källkoden till en lokal USENIX- konferens, och så småningom laddades den upp till USENET- nyhetsgrupper. Koden uppmärksammade många spelare som började arbeta med att modifiera och förbättra spelet samt porta det till andra datorsystem. Hack hade ingen formell underhållare och även om en person var allmänt erkänd för att hålla huvudkoden till den nuvarande versionen av Hack , uppstod många mjukvaruforks från den oorganiserade utvecklingen av spelet.

Så småningom tog Mike Stephenson på sig rollen som underhållare av hackkällkoden . Vid det här laget bestämde han sig för att skapa en ny del av spelet och hämtade in nya idéer från Izchak Miller , en filosofiprofessor vid University of Pennsylvania , och Janet Walz, en annan datorhacker. De kallade sig DevTeam och döpte om sin filial till NetHack eftersom deras samarbetsarbete gjordes över Internet. De utökade bestiariet och andra föremål i spelet och drog från andra källor utanför den höga fantasimiljön, som från Discworld med introduktionen av turistkaraktärsklassen. Med kännedom om de många gafflarna av Hack som fanns, etablerade DevTeam en princip att även om spelet var öppen källkod och vem som helst kunde skapa en gaffel som ett nytt projekt, kunde bara ett fåtal utvalda medlemmar i DevTeam göra ändringar i huvudkällan för källkod. spelet, så att spelarna kan vara säkra på att DevTeams release var den legitima versionen av NetHack .

Releasehistorik

DevTeams första release av NetHack var den 28 juli 1987.

Kärnan i DevTeam hade utökats med lanseringen av NetHack 3.0 i juli 1989. Vid den tidpunkten hade de etablerat en snäv kultur som avslöjade lite, om något, mellan utgivningarna. På grund av det ständigt ökande djupet och komplexiteten som finns i varje release, åtnjuter utvecklingsteamet en nästan mytisk status bland fansen. Denna upplevda allvetenhet fångas i initialismen TDTTOE, "The DevTeam Thinks of Everything", genom att många av de möjliga framväxande spelelementen som kan uppstå på grund av beteendet hos de komplexa spelsystemen redan hade programmerats in av DevTeam. Sedan version 3.0 har DevTeam vanligtvis hållit sig till mindre buggfixuppdateringar, representerade av en ändring av det tredje versionsnumret (t.ex. v3.0.1 över v3.0.0), och släpper endast större uppdateringar (v3.1.0 över v3.0.0) när betydande nya funktioner läggs till i spelet, inklusive stöd för nya plattformar. Många av de från samhället som hjälpte till med portarna till andra system bjöds sedan in att bli en del av DevTeamet allt eftersom teamets behov växte, med Stephenson kvar som nyckelmedlem för närvarande.

Uppdateringar av spelet var i allmänhet regelbundna från omkring 1987 till 2003, med DevTeam som släppte v3.4.3 i december 2003. Efterföljande uppdateringar från DevTeam inkluderade nya tilesets och kompatibilitet med varianter av Mac OS, men inga större uppdateringar av spelet hade gjorts . I avsaknad av nya utgåvor från utvecklarna, uppstod flera community-gjorda uppdateringar av koden och varianter som utvecklats av fans.

Den 7 december 2015 släpptes version 3.6.0, den första stora utgåvan på över ett decennium. Även om patchen inte lade till några större nya spelfunktioner, var uppdateringen designad för att förbereda spelet för expansion i framtiden, med DevTeams patch-anteckningar som säger "Denna utgåva består av en serie grundläggande förändringar i laget, underliggande infrastruktur och förändringar till inställningen till spelutveckling". Stephenson sa att trots antalet roguelike titlar som hade dykt upp sedan v3.4.3-släppet såg de att det fortfarande pratades om NetHack online delvis på grund av dess höga grad av portabilitet, och beslutade att fortsätta utvecklingen. Enligt DevTeam-medlemmen Paul Winner försökte de utvärdera vilka communityfunktioner som hade introducerats under det föregående decenniet för att förbättra spelet samtidigt som den nödvändiga balansen bibehölls. Uppdateringen kom kort efter Terry Pratchetts död , vars Discworld hade varit inflytelserik på spelet, och den nya uppdateringen innehöll en hyllning till honom. Med v3.6.0-versionen NetHack "ett av de äldsta spelen som fortfarande utvecklas".

En offentlig skrivskyddad spegel av NetHacks git- repository gjordes tillgänglig den 10 februari 2016. Sedan v3.6.0 har DevTeam fortsatt att driva uppdateringar av titeln, med den senaste v3.6.6 den 8 mars 2020. Version 3.7 .0 är för närvarande under utveckling.

Från och med 2020 stöder den officiella källversionen följande system: Windows , Linux , macOS , Windows CE , OS/2 , Unix ( BSD , System V , Solaris , HP-UX ), BeOS och VMS .

Licensiering, hamnar och härledda hamnar

NetHack General Public License (NGPL)
Författare Mike Stephenson et al.
Publicerad 1989
OSI godkänd Ja
Copyleft Ja
Hemsida https://www.nethack.org/common/license.html

NetHack släpps under NetHack General Public License, som skrevs 1989 av Mike Stephenson, mönstrad efter GNU bison- licensen (som skrevs av Richard Stallman 1988). Liksom Bison-licensen och Stallmans senare GNU General Public License skrevs NetHack-licensen för att tillåta fri delning och modifiering av källkoden under dess skydd. Samtidigt anger licensen uttryckligen att källkoden inte täcks av någon garanti , vilket skyddar de ursprungliga författarna från rättstvister . NetHack General Public License är en copyleft- programvarulicens som är certifierad som en öppen källkodslicens av Open Source Initiative .

NetHack General Public License tillåter vem som helst att porta spelet till en plattform som inte stöds av det officiella DevTeamet, förutsatt att de använder samma licens. Under åren har denna licensiering lett till ett stort antal portar och internationaliserade versioner på tyska, japanska och spanska. Licensen tillåter också mjukvaruforks så länge de distribueras under samma licens, förutom att skaparen av ett härlett verk tillåts erbjuda garantiskydd på det nya verket. Det härledda arbetet krävs för att ange de ändringar som gjorts och datum för ändringar. Dessutom måste källkoden för det härledda verket göras tillgänglig, kostnadsfritt förutom nominella distributionsavgifter. Detta har också tillåtit källkodsgaffel för NetHack inklusive Slash'EM , UnNetHack och dNethack .

Online support

Buggar, humoristiska meddelanden, berättelser, erfarenheter och idéer för nästa version diskuteras på Usenets nyhetsgrupp rec.games.roguelike.nethack.

En offentlig server på nethack.alt.org, allmänt känd som "NAO", ger spelare tillgång till NetHack genom ett Telnet- eller SSH -gränssnitt. En webbläsarbaserad klient finns också tillgänglig på samma sida. Ebonhack ansluter till NAO med ett grafiskt brickbaserat gränssnitt.

Under hela november månad ägde den årliga /dev/null NetHack-turneringen rum varje år från 1999 till 2016. November NetHack-turneringen, från början tänkt som en engångshyllning till devnull, har ägt rum varje år sedan 2018. The Junethack Cross-Variant Summer Tournament har ägt rum årligen sedan 2011.

NetHacks lärmiljö

Facebooks forskargrupp för artificiell intelligens (AI) utvecklade tillsammans med forskare vid University of Oxford , New York University , Imperial College London och University College London en öppen källkodsplattform kallad NetHack Learning Environment, utformad för att lära ut AI- agenter att spela NetHack . Basmiljön kan manövrera agenten och kämpa sig igenom fängelsehålor , men teamet söker hjälp från gemenskapen för att bygga en AI på komplexiteten i NetHacks sammankopplade system, med hjälp av implicit kunskap som kommer från spelartillverkade resurser, vilket ger en sätt för programmerare att ansluta sig till miljön med ytterligare resurser. Facebooks forskning ledde till att företaget utgjorde NetHack som en stor utmaning inom AI i juni 2021, delvis på grund av spelets genombrott och oförmåga att experimentera med miljön utan att skapa en reaktion. Tävlingen vid 2021 års konferens om neurala informationsbehandlingssystem involverade agenter av olika design som försökte ta sig upp. Ingen av agenterna klarade detta; resultaten rankades efter medianpoäng i spelet, med den högst rankade agenten (Team AutoAscend) med en symbolisk design (icke-maskininlärning).

Arv

Nethack kommer att [ behöver uppdateras ] vara en del av videospelsutställningen "Never Alone", i Museum of Modern Arts samling, som kommer att pågå från september 2022 till mitten av 2023.

Se även

  •   Craddock, David L (5 augusti 2015). Magrath, Andrew (red.). Dungeon Hacks: How NetHack, Angband, and Other Roguelikes Changed the Course of Video Games . Tryck på Start Tryck. ISBN 978-0-692-50186-3 .

Citat

externa länkar