Diablo er kommet til din browser

1. august 2019 kl. 10:357
Diablo er kommet til din browser
Illustration: Screendump.
Virksomheden Rivsoft har bragt det gamle Blizzard-spil til browseren.
Artiklen er ældre end 30 dage
Manglende links i teksten kan sandsynligvis findes i bunden af artiklen.

Det er et velkendt fænomen, at alle platforme før eller siden kommer til at afvikle Doom, men måske er den samme udvikling ved at ske med Blizzards hack-n-slash-klassiker Diablo.

Nu kan du i hvert fald spille Diablo direkte i browseren takket være udviklerne hos Rivsoft.

Man kan gratis spille demo-versionen, som i det gamle Diablo gik under navnet 'Spawn version'. Ideen var, at man kunne tage sin CD-ROM med hjem til en kammerat og installere et spawn af spillet på deres computer, som kunne spilles uden CD-ROM.

I dag har Diablos spawn-funktion fået nyt liv som default-udgaven af browserspillet, men det kan også lade sig gøre at spille den fulde version - selvfølgelig kun hvis man er legitim ejer af spillet.

Artiklen fortsætter efter annoncen

Hvis man stadig har Diablo stående på hylden (og en computer med et optisk drev), eller hvis man har købt genudgivelsen fra GOG.com, kan man finde filen DIABDAT.MPQ frem og på den måde låse op for den fulde udgave af spillet.

Diablo i browseren kan lade sig gøre på grund af Devilution, et omfattende projekt, hvor en programmør har genskabt hele Diablos originale kildekode til fri brug for alle.

7 kommentarer.  Hop til debatten
Denne artikel er gratis...

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.

Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.

Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.

Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.

Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
7
20. oktober 2020 kl. 04:50

Faktisk var mange af preprocessor definationerne at finde I psx symbolerne, saa vi har indsat dem alle de relevante steder.

Vi er naesten klar med Hellfire udvidelsen ogsaa nu, samt har faaet widescreen support m.m. implementeret. Dog har vi ikke opdateret browser udgaven endnu.

6
2. august 2019 kl. 08:48

Så de har faktisk netop fx assert strings, men mangler selvf. kommentarer.

Og preprocessor symbols :-)

Version2 er mega-goddamn-broken med hensyn til kode-blokke for tiden, jeg får

The requested URL was rejected. Please consult with your administrator.</p>
<p>Your support ID is: 8219780963969317387

hvergang jeg forsøger at poste snippets, men disclaim.cpp er et godt og simpelt eksempel på manglede preprocessor symboler.

Assert strings kan være ret så nyttige. Jeg har ikke kigget på exe-filen, så ved ikke hvor meget der er – men typisk brug af assert er til at verificere nogle preconditions (af typen der altid bør være true, så ikke brugt på safety checks der skal med i produktionskode), og typisk ikke i function bodies og slet ikke i fx for loops.

Jeg har skimmet nogle enkelte af filerne fra GitHub, og det er et ret dygtigt reverse engineering arbejde – det ligner noget der rent faktisk kan arbejdes med. Bare det at det er splittet op i source moduler er en kæmpe hjælp.

Hvem der bare havde haft debug symbols til sit reverse engineering arbejde ;)

5
2. august 2019 kl. 07:21

Men originale kildekode? Nej. Alle kommentarer er naturligvis væk, preprocessor statements er replaced, og så videre. Alt der ikke er nævnt i debug symbols (navne på lokale variable?) har de været nødt til at gætte på selv.</p>
<p>

Fra README'en på github:

"To top it all off a special build is hidden on the PC release in DIABDAT.MPQ -> D1221A.MPQ -> DIABLO.EXE! This build contains debug tools and assert strings further giving away code information.

After months of piecing these mistakes together, Devilution was born. I present to you a reconstructed form of Diablo's original source code! Once more shall the heroes of Sanctuary return to the depths below!"

Så de har faktisk netop fx assert strings, men mangler selvf. kommentarer.

4
2. august 2019 kl. 05:37

Jeg fik fint hentet filen igår

2
1. august 2019 kl. 20:20

Jeg spillede Diablo rigtig meget, som yngre. Jeg prøvede lige at følge linket : https://d07riv.github.io/diabloweb/ , men jeg får desværre en 404, når jeg prøver at hente det ned :( Andre der har hentet det med succes?

Mvh Bjørn

1
1. august 2019 kl. 11:03

Diablo i browseren kan lade sig gøre på grund af Devilution, et omfattende projekt, hvor en programmør har genskabt hele Diablos originale kildekode, til fri brug for alle.

Projektet har ikke "genskabt den originale kildekode" (hvilket er en sætning der ikke giver ret meget mening – hvordan genskaber man noget originalt?).

Der er tale om at folkene har reverse engineered executables, og fordi udviklerne af Playstation releasen havded glemt at strippe debug information, har de været i stand til at få en masse af de oprindelige funktions/variabelnavne ud, og haft væsentligt nemmere ved at transformere maskinkode til C++, end hvis det skulle gøres helt fra bunden. Stadig et kæmpe arbejde, og hatten af for det!

Men originale kildekode? Nej. Alle kommentarer er naturligvis væk, preprocessor statements er replaced, og så videre. Alt der ikke er nævnt i debug symbols (navne på lokale variable?) har de været nødt til at gætte på selv.

...og så er projektets legale status mildest talt i en gråzone. Jeg håber at Blizzard enten vælger at blive ved med at ignorere det, eller måske endda greenlighter det – hell, måske endda gør som id Software og releaser den oprindelige kildekode (hvis den ikke er gået tabt). I mellemtiden bør man nok lige lave en git clone hvis man er interesseret i projektet :-)