Genoplive Pebble’s Quarry Adventure
Oprindeligt postet den 2019-03-26.
I de sidste par uger har jeg arbejdet på Bluemaximas Flashpoint, et program, der er vært for kuraterede Flash-spil (og mere).
Dette er en historie om, hvordan jeg tydeligt gik ind over hovedet og på en eller anden måde gjorde det ud med et arbejdsspil.
Arbejder du med denne type projekt, finder du dig uundgåeligt konstant at have nostalgiske flashbacks til et tidligere tidspunkt. For mig spillede det onlinespil på websteder fra 2000’erne - Flash, Shockwave, Java-applets og så videre. Og et websted, der tog et stykke tid for mig at huske, er Postopia.com.
Dette var et sted, der drives af Post, kornselskabet, og de havde flash- og stødbølgespil lavet til deres side. De var næsten alle sponsorerede spil, men var ret gode i deres egen ret (Flintstones var for eksempel fremtrædende figurer).
Men efter et stykke tid lukkede de deres servere op, flyttede til PebblesPlay.com (også død nu) og tog spillet med dem.
Lost Media Wiki er i øjeblikket det eneste omfattende sted, der virkelig taler om webstedet og dets manglende spil, og langsomt falder Postopia ud af kollektiv bevidsthed, medmindre et par mennesker spørger omkring online for nostalgi skyld.
Og selvfølgelig (mere som heldigvis) greb Wayback Machine en kopi af dette websted.
Så selvfølgelig, hvad et interessant dilemma at tackle. Hvordan trækker du ud et spil fra et sted, der kun findes i arkivmotorer?
Et lag med kompleksitet, som jeg ikke forventede, var det faktum, at hele webstedet dybest set kørte som et Flash-spil. Naturligvis forventede jeg at støde på flashspil, men dette er de tidlige 2000’ere, og Flash var den nemmeste måde at integrere videoer, have animation og andre funktionaliteter (Og på grund af dette er det blevet næsten ubrugelig i moderne browsere).
Desværre, selvom webstedet kører på Internet Explorer (en af de meget få browsere, der ikke kun kan afspille Flash, men også Java-applets), gør Shockwave det ikke, selv med ældre versioner af Shockwave, der er installeret på min computer.
Så det var på tide at gå i dybden med Shockwave-kurateringen. Shockwave bruger et .dcr
/ .dxr
/ .dcr
-format i modsætning til Flashs .swf
til at køre spilfilerne. Typisk kan du bare gå til webstedet og bruge en flash-downloader til at få fat i `.swf ‘, men ikke-flash-spil kræver noget at grave gennem HTML for at jage efter det.
I dette tilfælde var det bare frustrerende at jage efter spillet på webstedet, fordi arkivmaskinen ikke altid hopper til alle aktivlinkene på siden, så du kan få et skærmbillede fra det samme år, eller du kan få et fra 2013 og, sammen med det en 404-fejl.
Tip: Hvis du er på jagt efter en bestemt fil på Wayback, skal du trykke på oversigten over webstedet og derefter rulle, indtil du ser `Udforsk $ webadressenavn til webstedsnavn ‘(hvor sitename er navnet på det sted, du jager på). Det giver hele listen over ressourcer, de har arkiveret til det pågældende websted, og det kan filtrere efter navn eller filtypenavn.
Så jeg besluttede, at jeg ville tackle Pebbles Quarry Adventure.
Det var på forsiden af webstedet, så det var lettere at jage ned. (Jeg brugte det gemte websted fra 18. juni 2004 på IE).
I henhold til Lost Media Wiki blev den kun delvist fundet, hvor nogle få filer manglede. Og dreng, havde de ret, ville jeg senere finde ud af det på den hårde måde.
Klik på spillet på hovedwebstedet gav mig en 404.
Hvordan omgåede jeg det? Ved at se på URL’en.
Min uuddannede gæt var, at webstedet dynamisk omdirigerer ved hjælp af Flash og griber basis-URL’en for at bygge omdirigering på det (som er web.archive.org og ikke Postopia.com).
Så jeg trak den del af URL’en, der sagde games / GamePage.aspx? SitegameId = 28
, og gik tilbage til arkivet og foretog en ny søgning med den føjet til Postopia URL.
Der blev heldigvis 151 fanget for den URL. Gik til den der eksisterede.
Mærkeligt nok var jeg ikke nødt til at gøre skøre uddrag for at finde .dcr. I Firefox downloadede den det automatisk for mig. Men hvis det ikke gjorde det, ville jeg inspicere elementet og jage efter .dcr, hvor det var indlejret (her blev det indlejrede kaldet embed src).
Så nu har jeg filen. Flashpoint har en guide til test af spil (som jeg lavede efter min formidling til Java applet-kuration), og det passer stadig til denne brugssag. Shockwave er dog lidt mere kompleks. Tomysshadow, en moderator og en mekaniker hos Flashpoint, lavede denne fremragende Youtube-video om emnet.
Bare at køre Shockwave .dcr er kun en del af løsningen. De fleste gange er der et par kommandolinjeargumenter, der skal overføres til Flashpoint for at omgå visse spilbehov.
Så dybest set brugte jeg argumentet --setExternalParam
igen og igen for denne del af koden.
Efter videoen havde jeg imidlertid indtryk af, at jeg kun havde brug for at placere parametre til webadresserne / stierne. Hvilket virkede lidt - de unyttige 404-omdirigeringer blev til nyttige, med URL’erne til de nødvendige filer i modsætning til de parametrelaterede fejl.
Nu for den triste del - de fleste af disse filer blev ikke arkiveret i WayBack.
Så hvad kunne jeg gøre, hvis disse filer ikke blev fundet nogen steder?
Gør nogle eksperimenter.
Jeg antog, at disse filer syntes at være generiske, dem, der blev genbrugt til hvert spil (måske spilindgivelse osv.). Og efter at have jaget på arkivet var jeg heldig, jeg fandt lignende filer, men til andre spil.
I håb om, at det ville fungere, placerede jeg dem i. Og se og se, jeg formåede at få introduktionsvejledningen!
Der opstod imidlertid et nyt problem. Hvis jeg rammer play, ville jeg få en sort skærm. Her var, hvor jeg blev taknemmelig for de eksperter, som er bagud på ingeniørerne i teamet.
I den liste over kommandolinjeargumenter er der en kaldet - setTheRunMode
. Hvad det gør, er at det narrer Shockwave-spillet til at tro, at det enten testes i instruktør-IDE, standalone eller inde i browseren. At udføre de første to udlignede mig ingen fejl, men den sidste kastede mig til sidst en advarsel:
Hvad det betød, vidste jeg ikke, så jeg spurgte i vores uenighed - og Tomy svarede og sagde, at det betød, at der manglede eksterne parametre. Og jeg huskede et par parametre, som jeg troede var ubetydelige (som f.eks. En copyright-værdi). Men jeg lagde dem alle ind (startkommandoen til spillet var enorm på dette tidspunkt).
"http://www.Postopia.com/Games/vr_base.dcr" --setExternalParam "src" "/games/vr_loader/vr_base.dcr" --setExternalParam "sw1" "/common/gaming/game_submit.aspx" --setExternalParam "sw2" "Copyright2001Skyworks" --setExternalParam "sw3" "-2" --setExternalParam "sw4" "/common/gaming/game_submit.aspx" --setExternalParam "sw5" "mphost.Postopia.com" --setExternalParam "sw6" "28" --setExternalParam "sw8" "/games/quarry/vr_info.xml" --setExternalParam "sw9" "https://web.archive.org/web/20060424171727/http://www.Postopia.com/common/gaming/game_action.aspx" --setExternalParam "bgcolor" "#000000" --setExternalParam "swstretchstyle" "stage" --setExternalParam "pluginspage" "https://web.archive.org/web/20060424171727/http://www.Postopia.com/common/gaming/game_action.aspx" --setTheRunMode "Plugin" --forceTheExitLock 0 --disableGoToNetPage
Så kastede det mig en ny fejl. Det smed min ophavsret i en alarmboks. Hit OK og fik derefter en anden advarsel om ophavsret med let ændrede oplysninger. Hit OK, og få derefter en advarselsboks med fejl 22 på det!
På dette tidspunkt var det sent, og jeg arbejdede tankeløst med dette. Tilfældigt nok, selvom jeg skulle få de to copyright-meddelelser, der matcher grammatisk og nøjagtigt.
Jeg ramte play og fik dette:
Nu styrtede det uden grund!
Jeg startede den igen og afspilte den igen, og den fortsatte med at gå ned. Ud af frustration knuste jeg `z’-knappen på min computer og fik dette:
Efter at have renset spillet lidt (det ville omdirigere til et websted i slutningen af spillet og exit-knappen fungerede ikke), blev det samlet og sendt gennem Discord.
Ved opfindsomhed, andres venlighed og ren held, formåede jeg at genoplive et spil, der burde have været tabt.
Du kan afspille det i den kommende version af Flashpoint v6.0.
Jeg bruger denne oplevelse som en lektion. Vi som art er altid sikre på, at de ting, vi laver, vil vare evigt. Men det er ikke tilfældet.
Mere end nogensinde med den digitale tidsalder “bevæger vi os hurtigt og bryder ting” i modsætning til at opbygge ting, der holder. Vi står overfor en stor udryddelse af et filformat, der var endemisk for 2000’ernes internet.
Vi har brug for en strømlinet måde for folk let at begynde deres egne arkivprojekter på. Af hensyn til alle de mennesker, der arbejder på at inddrive online medier.
Stor tak til Flashpoint Discord Community for al deres hjælp! Du kan downloade småsten her.