ScummVM - Äventyrsspel redux

Introduktion
Scumm- vad?
Få tag i spelen
Kom igång
Avancerade funktioner
Framtiden



27/01-05 | Sven Arvidsson | sa@64bits.se


Introduktion

År 1987 släppte dåvarande Lucasfilm Games spelet Maniac Mansion. Det kan sägas vara det första riktiga grafiska äventyrsspelet. Till skillnad från andra samtida äventyrsspel från t.ex. Sierra gjorde Maniac Mansion det möjligt att klicka på föremål istället för att skriva kommandon till spelet.


Maniac Mansion från 1987.

Personen som till största delen låg bakom Maniac Mansion var Ron Gilbert. Han designade inte bara spelet utan skapade även motorn för att driva spelet. Motorns namn var SCUMM, Script Creation Utility for Maniac Mansion. SCUMM var något mellan en spelmotor och ett programmeringspråk vilket visade sig vara en riktig fullpoängare för att skapa äventyrsspel.

Tre år senare, 1990, släpptes The Secret of Monkey Island, återigen med Ron Gilbert i spetsen. Monkey Island blev snabbt en succé med sin charmiga humor, kluriga pussel och sköna musik. I det här spelet var det till skillnad från Maniac Mansion svårt att fastna, det fanns inga misstag att göra och spelaren kan inte heller dö (nästan).

Nintendo-versionen av Maniac Mansion fick till viss del skrivas om för att passa in i Nintendos familjevänliga utbud. Dock glömde man plocka bort möjligheten att köra hamstern i mikrovågsugnen. Drygt 25 000 kopior såldes innan Nintendo upptäckte det och släppte en ny version med den funktionen borttagen.

SCUMM användes i alla LucasArts äventyrsspel, åtta olika versioner av motorn utvecklades under årens lopp. 1998 blev det stopp, Grim Fandango släpptes och använde en nyutvecklad motor.

Under den tiden hann det hända mycket. Ron Gilbert slutade på LucasArts och bildade sitt eget spelföretag, Humongous Entertainment, som utvecklades äventyrsspel för barn. Även de spelen baserade på SCUMM. På LucasArts blev Tim Schafer mannen bakom flera kända äventyrstitlar, däribland Day of the Tentacle och Full Throttle. Även han lämnade tids nog företaget och bildade istället Double Fine.

Scumm- vad?

Det var inte meningen att artikeln skulle handla om LucasArts, även om det säkert vore intressant att göra en djupdykning i företagets historia. Vad är då ScummVM och hur platsar det bland äventyrsspelen?

Som alla känner till är det inte speciellt lång tid i spelindustrin mellan det att en titel ges ut och blir en succé tills den glöms bort och alla börjat spela nästa generations stora titel. Samma sak händer både med hårdvara och operativsystem. Efter ett tag blir det klumpigt och snart omöjligt att köra ett äldre program på en modern datorplattform.


"Shish keJoe!"

Det här är ScummVM kommer in i bilden. Det är inte en emulator, utan en hel omskrivning av motorn till flertalet klassiska äventyrsspel. VM:et i slutet av namnet står för "Virtual Machine" vilket antagligen är en bättre beskrivning. Utan att gå in i alltför tekniska detaljer räcker det att veta att ScummVM gör det möjligt att spela flertalet gamla spel.

Programmet är fritt och går att ladda ner gratis från projektets hemsida. Det är konstruerat så att det ska gå att porta smidigt mellan olika plattformar och finns därför till de flesta operativsystem.

ScummVM gör det även möjligt att använda spelfilerna från olika versioner av spelen, oavsett vad du kör för OS och hårdvara. Hade du en t.ex. en PC-version av Full Throttle och har bytt till Mac OS X idag går det utmärkt att spela det spelet genom ScummVM. Det är även möjligt att spela några av spelen på Dreamcast eller vissa handdatorer.

Det är viktigt att ha i åtanke att ScummVM, som redan påpekats, inte är en generell motor för äventyrsspel. Mycket tid har lagts ner på att knäcka konstruktionen (sk. "reverse engineering") av flera av spelen. I några andra fall har källkoden till spelen donerats av originalutvecklarna (så var fallet bl.a. med Broken Sword-spelen) och skrivits om.

De spel som stöds är naturligtvis LucasArts äventyrsspel, mer exakt de som gjordes mellan 1987 och 1997 och är baserade på SCUMM-motorn. Dessutom Revolutions Broken Sword 1 och 2 samt Beneath a Steel Sky. Även Adventure Softs Simon The Sorcerer 1 och 2 och den mer udda titeln Flight of the Amazon Queen och barnspelen från Humongous Entertainment.

Få tag i spelen

ScummVM är som bekant bara motorn för en hel uppsättning spel (över 50 när jag kollade senast, oräknat demo och olika versioner). Med tanke på den popularitet som åtminstone LucasArts SCUMM-titlar åtnjuter lär det vara få som läser den här artikeln som inte spelat något av dem.


Broken Sword.

Det lär finnas många som fortfarande saknar titlar, har städat bort hälften av disketterna till Sam & Max eller aldrig testat Broken Sword. Hur får man tag på dessa titlar?

Den brittiska speltillverkaren Revolution har släppt Beneath a Steel Sky fritt. Det spelet kan vara en bra startpunkt om man vill testa ScummVM eller helt enkelt vill spela ett bra äventyrslir.

Likaså har Interactive Binary Illusions släppt Flight of the Amazon Queen fritt, det är ett undervärderat humoristiskt äventyrsspel från Australien.

Bägge spelen finns att hämta här under kategorin "Extras".

Broken Sword-spelen finns fortfarande att köpa i spelbutiker som säljer budgettitlar (Sold out Software). Pricerunner.se visar att det går att få tag för dem kring 70 kronor stycket. För att kunna visa mellansekvenserna krävs att du laddar ner dem från ScummVMs hemsida.

Guybrush Threepwoods namn kommer sig av att han först ritades i programmet DPaint som sparade filerna med suffixet .brush. Utkastet till huvudpersonen sparades i filen guy.brush och det blev sedan hans namn. Efternamnet Threepwood sägs vara taget från någon av de anställdas Dungeons and Dragons-karaktär.

Simon the Sorcerer I och II verkar svårare att köpa i Sverige, men går fortfarande att beställa direkt från Adventure Soft om man inte har något emot att beställa från utlandet.

Den stora anledningen för ScummVM-användare är naturligtvis att köra LucasArts hyllade äventyrsspel. Man kan tycka att det borde vara enkelt få tag på alla dessa hyllade klassiker, så verkar inte alltid fallet vara.


Flight of the Amazon Queen.

Det finns en del samlingsskivor, t.ex. LucasArts wwws: Adventure Collection med Fate of Atlantis, Day of the Tentacle och Sam & Max. Även The Dig och Full Throttle finns i ett paket (dock ej via LucasArts egen butik). Av Monkey Island-spelen verkar bara trean vara lätt att få tag i (fyran också men den går inte att köra med ScummVM). Går man längre tillbaka och vill spela Indiana Jones and the last Crusade, Loom, Zak McKracken eller Maniac Mansion blir man antagligen besviken då LucasArts för länge sedan slutat trycka upp kopior. Gamers intresserade av att faktiskt köpa spelen uppmanas maila LucasArts och be dem börja sälja de tidiga titlarna eller helt enkelt lägga ut dem för nerladdning.

Ett annat alternativ är naturligtvis att försöka köpa spelen begagnat. På siter som eBay brukar det finnas kopior att få tag i. Vill man samla på sig mer unika versioner av LucasArts spel kan man försöka hitta FM-Towns versionerna. Dessa släpptes till den Japanska PCn med samma namn. Men den som vill samla dem får räkna med att lägga ut en rejäl slant.

Slutligen har ScummVM samlat ihop ett stort arkiv med demoversioner av de flesta titlar som stöds.

Kom igång

Det är lätt att komma igång med ScummVM, det är dock ett par saker man bör ha i åtanke först. ScummVM låter dig köra spel både direkt från CD, och från hårddisken. Jag rekommenderar att man helt enkelt kopierar ner filerna till hårddisken för att slippa vinande CD-läsare och laddningstider.


ScummVM.

För dig som sitter med någon Unix-variant är det viktigt att veta att filerna ska använda gemener eller versaler, det går inte att blanda dem. Har du spel som ligger på flera skivor bör du kopiera ner alla filerna först eftersom ScummVM ännu inte stödjer skivbyten under spelets gång.

Eftersom ScummVM helt ersätter originalspelets körbara filer är det bara datafilerna som krävs. Du hittar en lista över de filer som ska kopieras här. Men det spelar ingen roll om du har med någon onödig fil. I vissa fall ska även någon fil döpas om.

Författaren Alan Dean Foster skrev en roman baserad på The Dig. Den följer inte spelet till punkt och pricka och skiljer sig även på det viset att den är skriven ur utomjordingarnas synvinkel.

Starta sedan ScummVM. Du kommer mötas av ett grafiskt gränssnitt som inte är vackert, men går i stil med de äldre LucasArts-spelen (det finns säkert en del som skulle beskriva det som "härligt retro"). Tryck på "Add game...", leta upp spelet och tryck på "Choose". Programmet ska själv lista ut vilket spel det är.


Add game...

Du kan även välja språk genom gränssnittet, beroende på vilket spel det är kan du välja på vilket språk undertexterna i spelet skall visas i. När du gjort klart eventuella inställningar och klickat på "OK" startar du spelet direkt från listan. Innan du börjar kan det vara idé att kika runt bland de andra inställningarna. Bland annat kan du under "Options" välja var sparfilerna skall läggas. Som standard sparas de i samma katalog du startade ScummVM från, och det är kanske inte önskvärt.

De tangentbordsbindningar du bör lägga på minnet är främst F5, som i SCUMM-spelen och i Broken Sword visar menyn där du kan spara och ladda. Det första sparutrymmet är reserverat för den automatiska sparfunktionen. Smidigt att veta om spelet skulle krascha eller du skulle glömma att spara.

Avancerade funktioner

ScummVM har flertalet mer avancerade funktioner som man inte hittar i originalspelen. För de spel med musik i AudioCD-format går det utmärkt att rippa dessa och komprimera till lämpligt format. På så vis kan du bl.a. överföra musiken och spelet till en handdator, eller om du vill slippa lida över högljudda CD-läsare när du ska spela.


"I need a ride."

Du kan välja att använda tre olika format, MP3, Ogg Vorbis eller Ogg FLAC. För bäst förhållande mellan storlek och kvalitet rekommenderas Ogg Vorbis. Musiken rippas precis som vilken musik-CD som helst, det enda du bör tänka på är att första spåret innehåller speldatan (skippa det med andra ord). Placera filerna i samma katalog som spelet samt namnge dem track1.ogg, track2.ogg osv. (Ändelsen på filnamnet varierar naturligtvis beroende på format).

För att ytterligare spara in utrymme går det även att komprimera musik och tal i de spel där det inte ligger som ljudspår. För att göra det måste du ladda ner "Tools"-paketet från ScummVM. För Windows och Mac OS X finns det färdiga program, användare av GNU/Linux och andra Unix-liknande system måste kompilera dessa själv.

Precis som med ljudspåren har du tre olika format att välja mellan när du komprimerar, standard är MP3 men Ogg Vorbis rekommenderas även här. (Inga av exemplen har testats på Windows, små skillnader förekommer säkert!).

För att komprimera monster.sou (tal och musik i bl.a. Sam & Max och Day of the Tentacle) använder du denna kommandorad.

extract --vorbis -q 3 monster.sou
Ljudkvaliteten justerar du med -q. 3 är standardvärdet men du kan variera mellan 0 och 10 där 10 ger bäst kvalitet. Slutligen kommer du att få en fil med namnet monster.sog som du kan ersätta monster.sou med.

Vill du komprimera ljudet i Simon the Sorcerer 1 och 2 går du till väga på nästan samma vis, här beror det dock på vilken version av spelen du har. Filerna i mitt fall är från "Talkie" DOS-versionen och heter simon.voc och effects.voc. Konsultera manualen för ScummVM om du har en annan version.

simon2mp3 --vorbis -q 3 simon.voc
Trots verktygets namn kan du alltså välja format. Glöm inte heller att det är två filer du ska komprimera. Slutfilerna kommer heta simon.ogg och effects.ogg.

Den sista spelserien du kan komprimera ljudet i är Broken Sword 1 och 2. För ettan rekommenderas man att köra programmet sword1mp3 direkt i katalogen där spelfilerna finns för att den ska komprimera allt.

sword1mp3 --vorbis -q 3
Programmet förutsätter att filerna är namngivna med versaler. Efter att allt är komprimerat kan du ta bort filerna som slutar på .wav samt speech1.clu och speech2.clu. För Broken Sword 2 är det fyra filer som ska komprimeras, speech1.clu, music1.clu samt motsvarande för CD 2.
sword2mp3 --vorbis -q 3
Dessa fyra filer kan sedan raderas. FLAC rekommenderas inte för Broken Sword då det leder till att filerna faktiskt blir större än innan.

Både manualen och programmen för att komprimera innehåller fler inställningar och det rekommenderas att man kikar över dessa om man vill finjustera sina ljudfiler.

ScummVM har tolv olika filterlägen som på olika sätt kantutjämnar eller på annat sätt är tänkt att förbättra grafiken. Har du tidigare använt till exempel MAME eller ZSNES är du säkert redan bekant med den här typen av filter. De flesta SCUMM-titlarna kör från början en upplösning på 320x200 pixlar, ScummVM skalar upp dem till dubbla storleken som standard.


Här demonstrerar Bernard från Day of the Tentacle några av filterna.

Dessa filter kan du ställa in under inställningarna för respektive spel direkt i ScummVMs gränssnitt, i konfigurationsfilen, eller skifta mellan dem under spelets gång genom att hålla ner Ctrl, Alt samt trycka på en siffra mellan 1 och 8.

Beroende på om du kör en portning av ScummVM är det inte säkert att alla filter finns tillgängliga.

Det är möjligt att ha ihjäl Guybrush i The Secret of Monkey Island. Att Guybrush kan hålla andan i tio minuter får vi reda på redan i början på spelet. Mycket riktigt behöver man bara vänta i tio minuter efter att Sheriffen kastat honom överbord förrän han avlider.

När vi ändå är inne på tangentbordsgenvägar är det lika bra att nämna att ScummVM har en komplett uppsättning sådana som kan vara smidigt att känna till. Alt+enter skiftar mellan fullskärm och fönster, piltangenterna flyttar markören, och enter och tab används som vänster och höger musknapp. Punkt (.) skippar dialog i vissa av spelen. För att spara och ladda snabbt använder du Ctrl+0-9 och Alt+0-9 i de flesta spel.

En annan smart funktion är Ctrl-f som snabbar upp hela spelet, smidigt om du måste vänta på att din karaktär ska gå någonstans. Ctrl-g är turbovarianten som gör att spelet går ännu snabbare. Det sistnämna fungerar bara i SCUMM-spelen. Tänk också på att dessa funktioner egentligen inte rekommenderas då de kan få spelen att gå instabilt.


I LeChucks håla.

ScummVM har även en debuggerkonsoll som du kan nå via Ctrl+g. Därigenom kan du nå diverse avancerade funktioner. Bland annat kan du hoppa genom spelets "scener" (fuska!). Den som vill syssla mer med det gör bäst i att kika på den här listan över parametrar.

Några funktioner som främst tilltalar entusiaster, och från början är dolda, är möjligheterna att aktivera kopieringshindret samt visa alternativa intron. Kopieringshindret (i SCUMM-spelen) gick ut på att mata in någon slags kombinationskod som du fick leta rätt på i manualen. LucasArts tog sedan bort detta i nyare versioner och ScummVM går på samma linje.

CD-versionerna av Beneath a Steel Sky och Flight of the Amazon har bägge alternativa intro (samma intro som Floppy-versionen).

För att visa dessa funktioner krävs det att du redigerar konfigurationsfilen för ScummVM (scummvmrc eller scummvm.ini) under avdelningen för respektive spel lägger du till "copy_protection=true" samt "alt_intro=true".

Det finns som sagt flertalet portar, och även en GNU/Linux LiveCD som låter dig spela ScummVM-spel så länge det finns en dator tillgänglig. Projektet heter ScummLinux och har tyvärr inte uppdaterats på ett tag, men kan säkert visa sig intressant för rätt person.

Framtiden

(Det här stycket baseras på läsning av ScummVM-projektets forum, maillistor, rykten och förbjudna seanser.)


Day of the Tentacle.

I och med version 0.7.0 av ScummVM ligger stödet på de flesta spel kring 85-95%. Några sällsynta versioner och demo stöds något sämre och av titlarna från Humongous Entertainment återstår det många som inte stöds mer än till viss del. Det arbetet har påbörjats nyligen (och bygger till stor del på det befintliga SCUMM-stödet).

Inom kort kommer det antagligen en version med mindre buggfixar (bättre stöd för filformaten från Mac och fixar för olika portar).

Kikar man in bakom kulisserna i versionhanteringssystemet för källkoden till ScummVM hittar man två intressanta kataloger, saga och kyra. Det förstnämnda är början på en implentering av motorn till det tyska äventyrsspelet Erben der Erde (Inherit the Earth) samt Harlan Ellisons skräck/sci-fi-äventyr I Have No Mouth and I Must Scream.

Kyra, är som många säkert redan gissat, tänkt att göra det möjligt att spela Kyrandia-serien av äventyrsspel: Legend of Kyrandia, Hand of Fate och Malcolm's Revenge.

Ett av skämten i The Secret of Monkey Island ledde till en del problem för LucasArts. När Guybrush kommer fram till en stubbe i skogen upptäcker han att den leder till en labyrint och spelet frågar efter diskett 23, 47 och 98 (spelet kom på ett mycket mindre antal disketter). Uppenbarligen var det många som inte förstod att det var ett skämt och ringde LucasArts support och frågade varför de inte fått med alla disketterna till spelet. Skämtet togs bort i CD-utgåvan.

Vad det gäller portningar till andra operativsystem och konsoller kan man hoppas på att porten till MorphOS blir uppdaterad, den befintliga porten är av ScummVM 0.5.1. Det har även talats om en port till Playstation 2 och ett sådant projekt lär även ha påbörjats flera gånger, än så länge är det närmaste man kan komma den här inofficiella versionen. Med lite tur kommer det förhoppningsvis en komplett officiell version snart.


Day of the Tentacle.

Även Xbox-ägare har uttryckt en önskan om en fristående port (det är redan möjligt att köra ScummVM via GNU/Linux på Xbox). Det arbetet är tänkt att baseras på OpenXDK, det fria utvecklingspaketet för Xbox.

Ett annat intressant ScummVM-relaterat projekt, Residual, hittas lite diskret under Subprojects på ScummVMs hemsida. Residual är tänkt att bli för GRIME vad ScummVM är för SCUMM, en fri implentering av motorn bakom Grim Fandango och Escape from Monkey Island. I dagsläget är bara stöd för Grim Fandango utlovat. Med tanke på att det spelet endast släpptes för Windows lär det vara efterlängtat. Residual har inte fått lika mycket kärlek som ScummVM och viktiga bitar som ljussättning och sparfunktion fungerar ännu inte. Residual har inte heller haft någon officiell release.

Den här artikeln är licensierad under en Creative Commons-licens.




27/01-05 | Sven Arvidsson | sa@64bits.se