Feature

Historien om ScummVM

ScummVM har gitt nytt liv til mer enn 200 klassiske eventyrspill

Men både advokater og utviklere har truet prosjektets eksistens.

1: ScummVM blir født
2: Interne problemer og overgangen til 3D-spill

SCUMM: Spillmotor laget av LucasArts for eventyrspillet Maniac Mansion i 1987. Ble brukt i alle etterfølgende 2D-eventyrspill på 90-tallet.

ScummVM: Åpen kildekodeprosjekt opprettet originalt for å kunne spille SCUMM-spill på moderne maskiner. Senere ble det lagt inn støtte for flere andre spillmotorer slik som Sierras SCI og AGI. Idag støttes nesten 40 ulike motorer, noe som muliggjør mer enn 200 spill.

ScummVM har blitt utviklet til hele 35 plattformer, men ikke alle disse har blitt vedlikeholdt og støtter følgelig ikke alle spillene. I tillegg til Windows, OS X og Unix, støttes platformer som PlayStation 3, Android og AmigaOS!

ResidualVM: Søsterprosjektet til ScummVM som fokuserer på 3D-eventyrspill. Støtter idag kun Grim Fandango, og Myst III: Exile.

(Denne artikkelen ble opprinnelig publisert i 2014. Vi har valgt å ta den frem igjen nå i melomjulen slik at den kan nytes av både nye og gamle lesere.)

La oss starte med en historetime. Helt tilbake i 1987 ga LucasArts, da kjent som LucasFilm Games, ut spillet Maniac Mansion. Spillet var trendsettende ved at det benyttet seg av et pek-og-klikk grensesnitt med forhåndsdefinerte handlingsverb som spilleren brukte til å styre figurene. De fleste konkurrerende spill krevde i stedet at spilleren skrev handlingen de ønsket utført med tastaturet.

Ettersom spillet skulle utgis på mange ulike plattformer bestemte utvikleren Ron Gilbert seg for å lage en spillmotor som fikk navnet Script Creation Utility for Maniac Mansion, vanligvis forkortet SCUMM. Ved å putte spillogikk og handlingsforløp som skript til denne motoren, kunne veldig mye gjenbrukes når spillet ble portert til nye plattformer.

Selv om motoren er oppkalt etter Maniac Mansion ble navnet beholdt igjennom hele LucasArts' histore. Klassiske spill som Monkey Island, Indiana Jones and the Fate of Atlantis, Day of the Tentacle og Sam & Max: Hit the Road benytter seg alle av oppdaterte versjoner av SCUMM.

ScummVM blir født

Etterhvert som Windows blir det dominerende operativsystemet blir det utfordrende å kjøre eldre spill. For mange blir gamle spill som en stengt dør, men en ressurssterk svenske vil holde døren på gløtt.

ScummVM blir til i 2001 når Ludvig «Ludde» Strigeus stiller seg selv spørsmålet: Er det mulig å gjenskape SCUMM slik at favorittspillet Monkey Island II: LeChuck's Revenge blir spillbart på en moderne maskin? Som en utfordring til seg selv gjør han et forsøk. Hensikten er ikke å lage spillet på nytt, men benytte seg av logikken som ligger i spillets systemfiler. Det viser seg å være mulig, nettopp fordi SCUMM tar i mot kommandoer fra skriptfiler. Det han i praksis har gjort er å gjenskape SCUMM, i første omgang for Windows og Linux. Han gjør kildekoden sin tilgjengelig og gir prosjektet navnet ScummVM, hvor VM står for Virtual Machine.

Han kom kjapt i kontakt med Vincent Hamm som også hadde startet arbeidet med en tilsvarende løsning. Etter først å ha jobbet parallelt med hver sine prosjekter bestemte Hamm seg snart for å jobbe sammen med Strigeus på ScummVM. Hamms første mål var å få støttet Indiana Jones and the Fate of Atlantis. Siden begge eventyrspillene er bygget med SCUMM kunne de dra nytte av hverandres erfaringer og dele kildekode for å nå målene sine.

Indiana Jones and the Fate of Atlantis.
LucasArts

I 2002 begynner prosjektet virkelig å ta av. Flere utviklere strømmer til og utviklinga skyter fart. Det fører for det første til at flere gamle LucasArts-klassikere blir spillbare, målet er å få støttet samtlige tolv SCUMM-spill. Andre utviklere fokuserer på å porte selve ScummVM til andre plattformer, noe som raskt fører til støtte for både Mac og Dreamcast for å nevne noen. Nyeste versjon av ScummVM får du idag til 13 plattformer, og om du tar med utdaterte versjoner kan du legge til 22 platformer til!

Bedre enn en emulator

Du lurer kanskje på hva som egentlig er vitsen med ScummVM, når man har prosjekter som DOSBox. Sistnevnte er en emulator som vanligvis fungerer utmerket til å spille gamle spill. Grunnene til at man likevel bør bruke ScummVM er flere.

Monkey Island 2 med ulike grafiske filtere i SCUMMVM. Bildet øverst til venstre er originalen, kun forstørret.

For det første støtter ikke ScummVM kun DOS-versjonene av spill, men alle utgitte versjoner. Det betyr at om du har et gammelt eksemplar av Mac-versjonen av The Secret of Monkey Island, Amiga versjon av Zak McKracken, eller noe så obskurt som FM-TOWNS-versjonen av Loom, så kan du spille dem alle på moderne datamaskiner ved hjelp av ScummVM.

For det andre er det ikke en emulator, men en gjenskaping av spillmotoren. Det betyr at spillene kan forbedres på ulike måter. For eksempel kan man skru på kantutgjevning slik at grafikken ikke ser så firkantet ut som den gjorde originalt. I tillegg hadde for eksempel Nintendo-versjonen av Maniac Mansion naturligvis ikke støtte for mus. Med ScummVM fungerer den nokså likt som de øvrige versjonene.

Simon the Sorcerer og Beneath a Steel Sky blir støttet

Simon the Sorcerer fra Adventuresoft ble det første støttede spillet som ikke var laget av LucasArts. Følgelig benyttet det seg heller ikke av SCUMM-motoren. Dette var allerede innen ettårsdagen til prosjektet, og mange år før alle LucasArts-spillene hadde fått full støtte. På det tidspunktet gjorde de det klart at dette var et unntak og at de ikke hadde noen planer om å inkludere flere spillmotorer.

Det skulle likevel ikke ta lang tid før en ny spillmotor ble lagt til i prosjektet. I 2003 bestemte Revolution Software seg for å gi bort sine første to spill: Lure of the Temptress og Beneath a Steel Sky. Bakgrunnen var at disse spillene kun var tilgjengelige for DOS, og dermed både usalgbare og utilgjengelige for folk flest. Ved å gjøre de til freeware kunne i det minste spesielt interesserte få glede av dem. Men ikke nok med at de ga bort selve spillet, de overleverte også Beneath a Steel Skys kildekode til ScummVM-prosjektet. Dette gjorde det adskillig enklere å få spillmotoren støttet. Kildekoden til Lure of the Temptress var dessverre ikke lengre tilgjengelig, og ble ikke støttet før mange år senere.

2003 var forøvrig året da programmereren Eugene Sandulenko bedre kjent som «sev» ble med i prosjektet. Han er nå teamleder og hovedprogrammereren på prosjektet, til Gamer.no skryter han av hjelpen de har fått:

Eugene Sandulenko t.v. og Vincent Hamm.
Privat

– Revolution Software fortsatte å være behjelpelige ved å yte god support da vi skulle legge til støtte for de to første Broken Sword-spillene. På det tidspunktet hadde vi ikke mulighet til å spille av videosekvensene fordi de var komprimert i et spesielt format. Da bestemte Revolution seg for å gi bort en mpeg-versjon av videoene som kunne lastes ned fra oss. Til tross for at spillene aldri var blitt freeware ble disse videoene enormt populære. Jeg tror det er grunnen til at de fortsatte serien med Broken Sword 3 og 4, og nå nylig nummer fem.

Det virker kanskje rart at så mange mennesker jobber helt frivillig og ubetalt med et sånt prosjekt, men det har vært en nyttig erfaring for flere får jeg forklart:

– Hovedutvikleren av disse spillmotorene, Joost Peters, fikk et jobbtilbud fra Revolution og jobber der fremdeles. Det startet med at de leide ham inn for å portere spillmotoren til Nintendo DS, deretter PSP, og etterhvert ble han ansatt. Det har også vært flere andre som startet sin karriere med ScummVM som nå jobber i spillindustrien, forteller Sandulenko.

Imponerende gründer

De to gründerne forsvant tidlig, faktisk ble deres siste kodelinjer lagt til i 2002. Men de hadde lagt et enormt godt grunnlag for prosjektet. Sandulenko som jobber i IT-bransjen på dagtid, skryter voldsomt av standarden på kildekoden:

– Jeg overdriver ikke når jeg sier at kvaliteten og strukturen på koden er noe av det beste jeg har sett. Hovedgrunnen til dette er at det er åpen kildekode som alle kan lese. Derfor vil utviklerne skamme seg om de legger inn dårlig kode. Dessuten var arkitekturen ekstremt bra fra starten av, og da er det enklere å bygge på toppen av dette.

Kvaliteten og strukturen på koden er noe av det beste jeg har sett. Hovedgrunnen til dette er at det er åpen kildekode som alle kan lese.

Vincent Hamm har såvidt vært innom prosjektet igjen etter at han forlot det. Idag jobber han hos Havok noe han har gjort siden 2010. Han har blant annet vært med på å lage motoren til det kritikerroste spillet Heavy Rain.

Rett etter at Ludvig Strigeus takket for seg startet han på et annet meget populært spillprosjekt: OpenTTD. Det er en reimplementasjon av det uhyre populære simuleringsspillet Transport Tycoon Deluxe. Og som om det ikke er imponerende nok å ha startet to såpass populære prosjekter så grunnla han det som har blitt en av verdens mest populære bittorrent klienter: µTorrent. Siden 2006 har han jobbet i Spotify.

Simon the Sorcerer var et av de første støttede spillene.
Erik-André Mamen/Gamer.no

Advokattrøbbel

Det er ikke uvanlig at fanprosjekter blir stoppet av mektige firmaer og deres advokater. I ScummVM-historien har de hatt advokater på nakken hele to ganger. I tillegg til sine kvalitetsspill var LucasArts kjent for å være kjapt ute med advokatene om de mistenkte brudd på opphavsretten. Det ble derfor nærmest sett på som en milepæl når LucasArts endelig hadde oppdaget prosjektet.

Ikke overraskende krevde LucasArts at hele ScummVM skulle legges ned. Heldigvis var det i stor grad bygget på en misforståelse. LucasArts var av den oppfatning at ScummVM distribuerte deres skaperverk: spillmotoren SCUMM, og støttede spill.

Langt mer komplisert var det i 2008-2009 da flere klassiske spill fra Humongous Entertainment ble utgitt på Nintendo Wii. (Freddi Fish: The Case of the Missing Kelp Seeds, Pajama Sam: No Need to Hide When It's Dark Outside og Spy Fox: Dry Cereal.) Disse var utgitt av Atari som gjennom en partner hadde fått Mistic Software til å portere spillet til Wii-platformen.

Spy Fox: Dry Cereal fra Humongous Entertainment ble basert på ScummVM.
Humongous Entertainment

Rett etter lanseringen fikk Sandulenko nyss om at disse spillene var basert på ScummVM. I seg selv er ikke dette oppsiktsvekkende, eksempelvis inneholder endel av spillene som selges på GOG.com også ScummVM. Men da han undersøkte boksen for å sjekke informasjon om opphavsrett fant han ingen henvisninger til verken GPL-lisensen eller ScummVM. Istedet hadde Mistic Software selv tatt all ære for arbeidet. At de hadde den originale kildekoden var opplagt da de til og med hadde lagt til sine egne navn i rulleteksten.

Atari forsøkte først å benekte alt mulig. Ikke umulig at de ikke viste hvordan en partners underleverandør hadde utført oppgaven. Men det var ikke spesielt vanskelig å bevise at spillene var basert på ScummVM. Spillene hadde blant annet en feil som fantes i en spesifikk versjon av ScummVM, og flere av ScummVM-teamets navn var å se i binærkoden til spillet.

Når Atari forstod at de ikke kom til å bli saksøkt for millionbeløp ble de straks mer medgjørlige. Det ble diskutert å sette på klistremerker på eksisterende eksemplarer og kreditere ScummVM ved neste opplag. Men denne positive innstillingen skulle ikke vare så lenge i følge en bloggpost av Sandulenko.

Plutselig var det noen av advokatene som oppdaget at Nintendo eksplisitt forbyr bruk av åpen kildekode i utviklingen av Wii-spill. Det ville bety at Atari var i trøbbel og tok dermed fram tunge skyts. Angrep var det beste forsvar tenkte nok advokatene da de forsøkte med utpressing mot ScummVM. Ettersom motoren ble lagt til i ScummVM igjennom reverse engineering tok Atari utgangspunkt i at det var ulovlig bruk av kopibeskyttet kildekode.

Situasjonen var egentlig ganske fastlåst. GPL-lisensen krevde at de skulle åpne kildekoden, noe Nintendo-lisensen forbød dem å gjøre. Å lisensiere eller kjøpe ScummVM var heller ikke mulig. De endte med å inngå er forlik som forbød partene å prate mer om saken unntatt en avtalt pressemelding. I denne kom det blant annet fram at Mistic måtte betale saksomkostninger selv om de benekter at ScummVM-teamet har rettigheter til noe som helst av kildekoden.

På neste side ser vi nærmere på de interne problemene som oppstod rundt Another World, samt overgangen til 3D-spill og ResidualVM »

1: ScummVM blir født
2: Interne problemer og overgangen til 3D-spill

Siste fra forsiden