facebook_pixel
Baldur’s Gate – En oförglömlig värld

Baldur’s Gate – En oförglömlig värld

 Efter tjugo år älskar vi fortfarande Baldur’s Gate. Över fem olika artiklar förklarar vi varför.

 

Den här bilden är tagen från Enhanced Edition-utgåvan, som utvecklades av Trent Osters Overhaul Games 2012.
DEL I: EVIGHETSMASKINENS GÅTA

Baldur’s Gates Infinity-motor är ett lapptäcke av innovation och hårt arbete. Av Rick Lane

Infinity betyder evighet. Det är också namnet på den spelmotor som skapades specifikt för Baldur’s Gate. Till synes oansenlig, men under ytan finns ett komplext återskapande av Advanced Dungeons & Dragons. Allt enkelt kontrollerat med en mus, och med vykortsvackra fantasymiljöer och grafiska effekter istället för torra analoga tärningskast.

Med andra ord kan utseendet bedra. Den tjusiga grafiken var bara en kaross ovanpå ett avancerat system av verktyg. Det var en lika komplicerad som säregen spelmotor, och Bioware hade ett smärre helvete med att få den att fungera som de ville.

Bioware var inte en ny studio, men gänget som arbetade med just Baldur’s Gate var mestadels helt färska i spelindustrin. Många av medarbetarna kom direkt från universitetet. Trent Oster jobbade som designer på Bioware, och var även en av företagets grundare. Han beskriver situationen så här:
– Det var mest ett gäng ungdomar som sade: ”Nu kör vi! Hur svårt kan det vara?” Det visade sig vara väldigt svårt. Däremot var det väldigt lätt att göra saker på fel sätt och som gjorde allt långsamt och förfärligt.

Läs också: Jodå! Klassiska rollspelet Gothic får en remake

Baldur’s Gate har över en miljon kodrader, och manuset har ungefär en miljon ord.
ETT PUSSEL I HUNDRATUSENTALS BITAR

En av de saker som kännetecknar Baldur’s Gate är dess förrenderade, isometriska miljöer. Den stora fördelen med dessa var att de tillät en högre detaljrikedom än realtidsgrafik. Men även om de var förrenderade så hade bakgrunderna en upplösning på 5 120 x 3 480, vilket var på tok för stort för datorer från 1998 att hantera. I alla fall utan att explodera på kuppen.
– De massiva bakgrundsmiljöerna delades upp i 64 x 64- rutor, som i sin tur nedgraderades till en 256-färgspalett, förklarar Oster. När spelet kördes laddade Infinity-motorn in de här 64-bitarsdelarna när de behövdes, och konverterade dem till 16-bitarsfärger. Dessa renderades sedan på skärmen.

Motorn fungerade som en prototyp- version av det sömlösa nivåladdandet i moderna spel. Den lade helt enkelt till nya pusselbitar (och tog bort de som inte behövdes för stunden) till miljöerna i takt med att spelaren rörde sig i dem. Det här var ett extremt komplicerat system som krävde långa laddtider. Mycket arbete lades ner på att optimera spelet.

Förutom detta så innebar det här sättet att dela upp bakgrundsmiljöerna på också att ett redan stort spel blev ännu större.
– På den tiden hade de flesta spel mellan 100–500 föremål och modeller. Baldur’s Gate stoltserade med 20 000 till 30 000. Om du räknar alla individuella rutor som utgjorde bakgrundsmiljöerna så var det snarare hundratusentals.

För att skapa reda i kaoset byggde programmeraren Scott Grieg ett system för minneshantering. Han kallade det Chitin, och det fungerade lite som en diabildsprojektor. Med andra ord matades datorns begränsade RAM-minne (4 MB var en vanlig standard på den tiden) kontinuerligt med små glimtar av spelets enorma databas. Problem uppstod dock när Grieg försökte göra Chitin multitrådat.
– Chitin var inte multitrådat i grunden, säger Oster. Men en bit in i utvecklingen designades AI- och pathfinding-systemen, och detta förde med sig entusiasm för multitrådning.

I teorin var detta ett bra sätt att hantera all den data som Infinity-motorn var tvungen att tugga sig igenom. Men på den tiden fanns inga flerkärniga processorer.
– På grund av sättet som data hanteras av processorn så hade vi mest skapat ett system för ändlösa flaskhalsar och proppar, säger Oster.

Originalet delade upp bakgrundsgrafiken i 64 x 64-rutor, som sedan strömmades dynamiskt in i spelet av motorn.
UPPSMINKAT KAOS

Det fanns också en smärre uppsjö mindre problem, utöver dessa stora utmaningar. Gränssnittet i Baldur’s Gate är till exempel hårdkodat in i spelet, av optimeringsskäl.
– Spelets gränssnitt är stort av den enkla anledningen att det täcker mer av skärmen, så att datorn inte behöver rendera så stor del av bakgrundsgrafiken, säger Oster.

Detta innebar dock att det enda sättet att göra ändringar i gränssnittet var att göra det i koden. Ville du bara flytta en ikon från den ena sidan till den andra riskerade du att paja hela spelet i samma veva.

Med andra ord försatte sig Bioware i knipor som krävde omständliga lösningar. De gick igenom och testade varje kodrad, och de fick gå in och manuellt skära i miljöerna så att karaktärerna kunde röra sig bakom byggnader.
– Vi visste inte hur man automatiserade saker, säger Oster. Vår inställning var att med tillräckligt mycket slit så försvinner problemen till slut.

Detta är till syvende och sist kärnan i berättelsen om Baldur’s Gates tillblivande. Utmaningarna med Biowares Infinity-motor var inte bara av teknisk natur. De var direkt fysiska. Eller som Oster sammanfattar det hela:
– Det var en monumental bedrift för sin tid.

Läs också: Klassiska indierollspelet Geneforge får remaster

Sidor: 1 2 3 4 5

Om skribenten

Profilbild

Sveriges STÖRSTA tidning om pc-spel.

Liknande artiklar