3D Grafikk

Da jeg var 11 år gammel så jeg mitt første skikkelige dataspill med pixel grafikk. Det var Fort Apocalypse på Commodore 64. Riktignok hadde jeg sett noen space invaders lignende automatspill, og håndholdte spill med primitive LCD skjermer. Men dette var noe annet. Her fløy man et helikopter rundt i en tilsynelatende endeløs verden. Man kunne skyte, slippe bomber og til og med lande og plukke opp folk. Følelsen av å spille på et brett eller være innelåst på en bane forsvant. Dette var virtuell virkelighet. Den dagen ble starten på 15 års temmelig intens dataspilling.

Ganske tidlig begynnte jeg å fantasere om å lage spill. Jeg ante ingen ting om datamaskiner, men et eller annet sted der bak i den naive barnehjernen var det noe som sa meg at på et eller annet sted måtte det sitte folk å bestemme hvordan alle tingene i spillet skulle fungere og se ut. Hvordan de gjorde det var et mysterium. Men det snek seg inn en drøm om å en dag lage spill.

Fort Apocalype på Commodore 64 hjemmedata

Mine første programmer

Commodore 64 var en hjemmedatamaskin av den klassiske 80-talls skolen. En haug med selskaper kastet seg på bølgen med personlige datamaskiner. Det var i denne tiden Bill Gates tjente sine første millioner med å selge Microsoft Basic til disse selskapene. Og Microsoft Basic skjermen var det første som dukket opp når man slo på en Commodore 64. En dag leste jeg litt i manualen som fulgte med maskinen og kom over et kapittel som introduserte meg til programmering. Det stod hvordan man skulle lage et program for omregning av celsius - fahrenheit grader. Da gikk det et talglys opp for meg. Plutselig forstod jeg hvordan dataspill, og for den saks skyld alle programmer, ble laget. Verden hadde fått en ny programmerer.

Utover i tenårene fikk jeg Amiga og begynnte på mange ulike programprosjekter. Det ble ikke noe nevneverdig ut av disse. Et par spillbare demoer av min og en kompis sin versjon av ”Wizard of war” ble det nærmeste jeg kom noe produkt. For det meste gikk det i 2D grafikk. Min interresse for 3D ble først vekket skikkelig da PC spillet Doom kom på markedet i 1994.

Doom

Frem til Doom kom hadde ikke 3D blitt tatt skikkelig seriøst av folk som virkelig var opptatt av den kunstneriske siden ved datagrafikk. 3D gav et plastisk, sterilt og boksaktig miljø. Doom forandret på dette.

Doom fra ID Software

I Doom brukte selskapet Id Softvare en genial hybrid mellom 2D- og 3D-grafikk for å skape et spill som var 3D, men samtidig flott å se på. Innholdet i spillet var også spesielt. Det var en grotesk, totalt smakløs blanding av flere sjangre. Med våpen som motorsag, hagle og lasergevær gikk spilleren løs på zombier, roboter, aliens og onde ånder. Verst av alt var det at dette fungerte. Spillet har blitt en udødelig klassiker. Personlig har jeg aldri likt å spille Id Software sine spill. Doom gikk an, men alt etter det er dårlig designet. Spillene er kjedelige og smakløsheten går meg rett og slett på nervene. Men teknologisk er er de uten tvil ledende. Nesten alt som spilles av 3D spill på PC idag har teknologi som bygger på arbeidet til Ids sjefsprogrammerer John Carmack. Han er et geni og en ubestridt teknologisk leder i PC-spillbransjen og med tiden muligens også i spillkonsollbransjen. Han begynnte som en hacker som prøvde å bruke IBM PCen til noe den ikke var ment til, nemlig spill. Nå samarbeider han med maskinvareselskaper som nVidia og ATI og bidrar til å utforme neste generasjons maskinvare.

Belysning

Doom hadde i prakis ingen belysning. I noen tilfeller ble fargene justert ned slik at miljøene ble mørke, men dette teller jeg egentlig ikke med. Lys i virtuelle verdener er et stort og komplekst tema som jeg ikke skal gå alt for mye inn på nå. Men kort sagt så brukes det i spill statisk og dynamisk belysning. Statisk belysning er når lyset er beregnet på forhånd, mens spillet lages. Statisk belysning har en tendens til å være av svært høy kvalitet da store maskinvareressurser kan brukes til å beregne lyset. Her kan man bruke de samme teknikkene som filmindustrien bruker. Men lyset kan ikke forandre seg mens man spiller. Dette begrenser bruksområdet til statisk lys til rom og objekter der lyset ikke endrer seg. Det vil si at man ikke kan skyte istykker eller bevege på noe som er belyst av det statiske lyset. Stort problem i dataspill med andre ord. Dynamisk belysning derimot beregnes av datamaskinen til spilleren under selve spillingen og belysningen kan dermed forandres hele tiden. Problemet er at regnekraften som er tilgjengelig blir tusenvis av ganger mindre. Derfor er den dynamiske belysningen i dagens data- og konsollspill av svært dårlig kvalitet. Neste generasjons dataspill vil endre dette radikalt. Vi er i ferd med å ta i bruk en ny type maskinvare, både i PCer og spillkonsoll, som vil kunne gi dynamisk belysning av høy kvalitet. Det mest spennende prosjektet på dette området nå er ID Software sitt "Doom 3". Her er all belysning dynamisk, og av så høy kvalitet at man nesten ikke ser forskjell på stillbilder fra doom 3 og dagens statisk belyste spill. I visse tilfeller vil den dynamiske belysningen også gi bedre stillbilder siden alle objekter belyses med høy kvalitet, ikke bare de som står iro.

Doom - ingen belysning

Quake

Første versjon gitt ut i 1996. Svært god statisk belysning. Enkel dynamisk belsyning.

Doom 3

Kommer ut i 2004 eller 2005. All belysning er dynamisk og nesten samme kvalitet som den statiske i Quake 3!

Demo

I 2000 laget jeg en demo som viser litt av den teknologien som i stor grad kommer i bruk i Doom3, nemlig ”skygge volumer”. Dette er en teknikk for å oppnå global dynamisk belysning. Demoen og kildekode kan lastes ned på linkene nedenfor. Den kjører på Windows – Intel PC. Merk hvis man ikke har tilstrekkelig 3D grafikkstøtte vil demoen ta form av en serie med stillbilder heller en ekte animasjon.

Kunsten i demoen, dvs. modellen og veggteksturene er tatt fra Quake2. Tror modellen heter "Lady Death" og er modellert av Paul Steed. Den ble ikke gitt ut sammen med spillet, men kom som slags add-on i en modelleringskonkurranse seinere.

Zip fil med demo

Zip fil med kildekode

For å kjøre

Last ned lightdemo.zip. Unsip til en katalog og kjør exefilen.

Skjermbilder

I demoen: Styr kameraet med piltastene og gi gass med CTRL
Tilbake Hjem