Scenerifilosofi

 

Basala fakta om programmet 'Flight Simulator', sceneridesign och Swedflight - av Bo Wiberg 
 

Bakgrundshistoria

Ni som var lyckliga nog att äga en hemdator så länge sedan som år 1979 kanske kommer ihåg vilken sensation som den allra första versionen av 'Flight Simulator' väckte. Pappa till det programmet var Bruce Artwick vid SubLogic Corp. Det producerades allra först för hemdatorn AppleII (med endast 16 kb minne!!) - den första riktigt succéfyllda hemdatorn - och flyttades sedan över till PC-miljö sedan IBM kommit med sin 'Personal Computer' år 1983. Redan då utnyttjade flygsimulatorn datorns hårdvara till det yttersta och under en lång rad år var det faktiskt det program som användes för att testa om en nykonstruerad dator var IBM-kompatibel eller inte. Även om hårdvaran användes intensivt så var ändå det som visades på skärmen ganska primitivt sett med dagens mått - en värld som enbart var ett grovt gallerverk, en panel som var tämligen primitiv och ett flygplan som var näst intill omöjligt att landa (åtminstone för mig). Och ändå blev det snabbt det mest sålda 'spelet', som det då kallades,  på den tidens programmarknad. Anledningen till den stora succen var förstås att här kunde man definitivt känna spänningen i att flyga redan i denna tidiga, primitiva version och att man här för första gången såg en enkel form av simulering av den geografiska världen förverkligad på en billig hemdator. 

Två bilder från en av de första versionerna av Flight Simulator. Världen visades som ett rutnät. Inga texturer fanns och mycket få 3D-objekt. Flygplatserna hade inga detaljer mer än landningsbanan. Men redan här kan man känna igen den layout som  finns av instrumentpanelen också i dagens Cessna.

Men utvecklingen gick vidare - om än inte lika snabbt som idag - och jag kan ännu komma ihåg den förtjusning man kände då version 4 långt senare släpptes. Nu var allting i klara och många färger, det fanns en relativt 'riktig' värld och man kunde landa flygplanen (de var flera nu) med en hyfsad realism. Och framför allt - man kunde köpa en separat editor (från Microsoft!!) och göra sina egna flygplatser och för första gången modifiera standardsceneriet en smula. Men dessa första stapplande försök från de som gjorde något på egen hand var ändå inte så många och det var inte lätt att hitta dem. 

Dagens flygsimulator har utvecklats långt bortom dessa första versioner och är ett ytterst sofistikerat program ('spel' är inte rätt beteckning längre) som troligen kommer att bli certifierat som utbildningsmaterial för viss typ av navigationsträning. Även om många andra simulatorer sett dagens ljus under senare år så är MS Flight Simulator, detta gamla program (20 år!!)  fortfarande nummer ett - åtminstone för oss old-timers. De senaste är måhända än mer avancerade och mer realistiska, men ingen annan simulator kan ännu erbjuda oss användare alla dessa hundratals freeware-scenerier, alla dessa tusentals extra flygplan plus paneler, alla dessa hundratals andra program som vuxit fram kring denna flygsimulator. Plus den fantastiska möjligheten att kunna konstruera ett sceneri själv så som vi gjort i Swedflight-gruppen.

Stockholm/Arlanda flygplats från Swedflight 2. En mycket realistisk miljö både innanför och utanför flygplanet. (Panelen är gjord av Eric Ernst) 
 

 

Freeware-scenerier

De massor av freeware-scenerier som du idag lätt kan finna på Nätet och på andra ställen är resultatet av tre faktorer. Först kom den fullständigt nykonstruerade versionen 5.0/5.1 av Flight Simulator med en helt ny intern uppbyggnad av programmet. Strax därefter dök det basala dokument upp vilket publicerades på Nätet 1995-96 av Maurizio Gavioli (och flera) som för första gången avslöjade det mesta av de hemligheter som dolde sig inne i de många BGL-filer som också fanns i den versionen. Detta var det förenade resultatet av många duktiga personers intelligenta 'hackande' i de filer som simulatorn var uppbyggd av. Avslöjandet av BGL-filernas interna struktur resulterade i flera freeware-kompilatorer med vars hjälp det blev möjligt att göra egna scenerier för första gången. Utvecklingen av freewarescenerier och även kommersiella sådana exploderade bokstavligen och dessa scenerier täcker nu det mesta av jordens yta. Den tredje orsaken är förstås Nätet, utan vars hjälp den snabba spridning som sker idag inte vore möjlig. Nätet bidrar också till själva utvecklingen, man kan numera samarbeta över hela världen på ett smidigt sätt. Likadant har det skett i vår grupp och i den norska - två stora scenerier har byggts utan att medlemmarna träffats alls. Flygsimuleringssidorna på Nätet tillhör dessutom de mest besökta av alla.
 

Swedflight och sceneridesign i allmänhet

Ursprunget till  Swedflight är ett sceneri som gjordes av Bengt Larsson 1995, kallat Swedmap. Det var kanske ett av de allra första freeware-scenerierna i världen som täckte ett helt land och som innehöll många detaljer och var gjort med stor noggrannhet (även om det använde ett annat sceneri för att addera de flygplatser som behövdes). Bengt Larsson är också en av de tre konstruktörerna  (de två övriga är från Norge) av det nu berömda och prisbelönade norska sceneriet. Då version 6.1 av detta var klart bildade Bengt en grupp med tre andra svenska killar (varav undertecknad är en) för att göra ett liknande detaljerat sceneri över Sverige. Detta resulterade ett halvt år senare i Swedflight, lanserat 1 September 1997. Vid den tiden hade en rad nya programverktyg nått marknaden och vi använde redan från första början ett freeware-program vid namn ScBuild, utvecklat av Peter Jacobson. Detta var en verkligt revolutionerande produkt som gjorde det möjligt att göra stora scenerier relativt enkelt på förhållandvis kort tid. Utan detta program hade det inte varit möjligt att på fyra personer göra version 1 av Swedflight på 'bara' lite mer än sex månader. ScBuild blev senare det kommersiella programmet ASD (Airport & Scenery Designer) vilket vi numera använder.  Kompilatorn som behövs för att göra de slutliga BGL-filerna är i vårt fall SCASM32 av Manfred Moldenhauer, också det ett kraftfullt och oumbärligt program. 

Det huvudsakliga målet då vi startade Swedflight-projektet var (och är fortfarande) att göra ett sceneri så detaljerat som det är möjligt idag - utan att ge avkall på den viktigaste egenskapen i ett sceneri - den s.k. frame-rate faktorn. Detta var måhända lite mer nödvändigt då vi startade projektet med den tidens långsamma datorer och grafikkort. Men också idag är det viktigt fast Pentium-datorerna finns hos nästan alla användare. Ett detaljerat sceneri med en massa 2D- och 3D-objekt, t.ex. en stor flygplats i en komplicerad omgivning, ställer fortfarande oerhört höga krav på datorn och den grafiska hårdvaran. 

Flygbild över Stockholm/Arlanda. Denna typ av sceneri är mycket krävande och då du konstruerar det måste du ge alla ingående objekt rätt visibilitetsfaktor samt placera dem i olika komplexitetsnivåer (för snabba och långsamma datorer) - annars får man ingen optimal frame-rate
 

Idag är det möjligt att konstruera ett sceneri med mycket hög noggrannhet och vi får ibland frågor varför vi inte gjort ett visst objekt eller ett visst område mera detaljerat än vad vi gjort i Swedflight. En liten sjö, t.ex. kan i vårt fall ritas med bara 4-5 punkter, i stället för kanske 20 som skulle göra den mycket mera realistisk. Svaret är igen - frame-rate.

För att ni skall förstå allt detta lättare och för er som inte är familjära med hur ett sceneri är uppbyggt tänker jag kort beskriva hur ett sceneri är konstruerat. De viktigaste byggstenarna i ett sceneri består av fyra element: s.k. 'Tiles', 2D-objekt, 3D-objekt och Texturer. 

  • Själva basen eller 'bottenplattan', så att säga, i ett sceneri är definierat som ett nätverk, ett 'galler', som bildar fyrkantiga plattor, 'tiles'. Dessa täcker hela jorden till max. 89 grader 30 minuter (Söder eller Norr). Du kan försöka se jorden som en cylinder med 8192x4096 fyrkantiga plattor, 'tiles' på vilka du kan bygga ditt sceneri. Dessa plattor kan du ge vissa förutbestämda storlekar så att de täcker större eller mindre ytor, men var och en av dom måste du ge en viss höjd och denna höjd kommer att representera de olika marknivåerna i sceneriet. 
  • På dessa plattor, 'tiles', med sina bestämda höjder placerar du sen dina 2D-objekt. Vad är det, jo allting som har två dimensioner: kustlinjepolygoner, sjöar, öar, mindre eller större samhällen och städer, vägar, vattendrag och alla andra 2D-objekt (myrar, stränder, parkeringsplatser etc). Varje gång en 2D-polygon skall ritas upp på datorns skärm måste simulatorprogrammet göra en massa beräkningar över dess storlek och form. Om du då har många punkter i varje polygon samtidigt på skärmen måste datorn göra en oerhörd massa beräkningar varje gång skärmen skall uppdateras, d.v.s. då du rör dig i sceneriet. Du kan konstruera din 2D-karta totalt fritt eller du kan, som vi gjorde,  använda någon av de digitala kartdatabaser som finns på Nätet och importera konturerna av det önskade landskapet till designprogrammet. För det mesta är den importerade bilden alltför detaljerad för att användas direkt varför du måste förenkla den åtskilligt. Detta är synd förstås, men för att få en hög frame-rate i sceneriet så måste man offra dessa detaljer för att tjäna hastighet. Detta är ett av kännetecknen på god designfilosofi som Bengt Larsson och andra pionjärer har 'predikat' under lång tid. Den filosofin gäller fortfarande trots våra snabbare datorer idag.  
  • För att göra det ännu mera komplicerat för simulatorn och datorn kan du också definiera olika 3D-objekt: berg, hus och alla möjliga slags objekt som din fantasi kan tänka ut. Beräkningarna för dessa är ännu mer krävande än för 2D-objekten. Den största paradoxen för en scenerikonstruktör inträffar vid en flygplats. Denna är oftast den mest komplicerade delen i varje sceneri med alla sina 3D-objekt plus omgivningarna som har ett otal 2D-objekt dessutom (stad, vägar, vattendrag, öar eller vad det nu kan vara).  Paradoxen kommer av det behov av frame-rate som finns just vid en flygplats (för att kunna landa realistiskt) och behovet av många objekt för att göra flygplatsen intressant. För att kunna landa ett flygplan med god precision och realism behöver du en frame-rate på åtminstone 10 som minimum. Den siffran är inte lätt att uppnå om flygplatsen innehåller alltför många objekt. Man kan lätt finna flygplatser på Nätet där det är näst intill omöjligt att landa med en lite långsammare dator p.g.a. alltför låg frame-rate. Ett av de trick man då tar till som programmerare är att ge varje objekt på flygplatsen en realistisk synvidd - 'visibility'. Många objekt kan ges en mycket kort synvidd vilket ökar sceneriets hastighet avsevärt. Detta är också ett kännetecken på god design-filosofi. 
  • Det fjärde elementet är texturer. En textur är en grafisk bild i form av en 'bitmap' som projiceras på ytan av en basplatta (tile) och ett 2D-eller 3D-objekt. Tänk dig en textur som en 'tapet' som du kan klistra på alla ytor i sceneriet.  Kvaliteten på denna textur är helt avgörande för hur sceneriet kommer att se ut. Med flygsimulatorn levererar Microsoft med ett antal texturer för olika typer landskap och årstider. Tyvärr ser dessa inte speciellt nordiska ut. Det är skälet till att vi i Swedflight-gruppen (liksom många andra designers) har skapat våra egna som ger vårt sceneri det speciella svenska (skandinaviska) utseende som gjort just Swedflight omtyckt. Att skapa en textur är en konstart för sig själv och alla är inte så lyckligt lottade som vi som i gruppen har en professionell yrkesman med en stor begåvning för detta. Ett problem med alla texturer som används på marken är att man lätt kan se skarvarna mellan upprepningarna i texturfilen. Detta ger landskapet ett typiskt shackbrädesutseende, vilket dock kan minimeras genom att man gör texturen så att gränsen döljs mer eller mindre. 

Flygbild från området kring Ängelholms flygplats som visar en av våra gamla texturer (Prairie.r8) där skarvarna minimerats. Texturen är i dagens version utbytt mot en  mycket bättre av Lennart Arvidssons hand (se sidan med Bilder)
 

 

Framtiden för Swedflight och andra scenerier

Utvecklingen av datorns hårdvara accelererar med allt snabbare hastighet och kommer förstås att ge oss möjlighet att göra ännu mera avancerade scenerier i en ganska nära framtid. Redan genom att använda ett 3D-acceleratorkort kan man öka realismen (och hastigheten) i våra befintliga scenerier - åtminstone om de är uppbyggda med bra texturer. Detta är skälet till att vi i Swedflight uppdaterat alla våra texturer minst två gånger, varje gång har de blivit allmer anpassade till att återges med dagens högklassiska 3D-kort. Kanske kommer Microsoft att ge ut egna programverktyg att skapa scenerier med. Redan nu har man (äntligen!) publicerat hur både panelfiler och scenerifiler är uppbyggda, vilket har lett till en formlig explosion av nya paneler - på scenerisidan har det gått långsammare. Inga nya verktyg har där hunnit produceras än. Den nya och stora trenden som kommer i nästa generation av flygsimulatorerna är att göra scenerierna helt tredimensionella. Förutom den förut omtalade tvådimensionella kartdatabasen använder man sig här av en tredimensionell höjddatabas dessutom, s.k. DEM-data. Utanpå detta nu detaljerat tredimensionella landskap kan man antingen lägga, som förut, handritade texturer, eller också använda sig av satellit- eller flygbilder av landskapet som 'klistras' utanpå det tredimensionella underlaget. Resultatet av denna teknik blir förstås ett mycket realistiskt utseende på landskapet i sceneriet. Vi har redan sett exempel på detta också i FS95/98 där LasVegas-området visades med en sådan teknik. Detta är utan tvekan vad som kommer i nästa versioner av alla stora simulatorprogram. Nackdelen med denna teknik är att det blir betydligt svårare för 'amatören' att göra ett sådant sceneri. Det krävs tillgång till en typ av data som är ganska kostsam att skaffa, både DEM-data med hög upplösning och satellitbilder över stora ytor är mycket dyra att köpa. De program som krävs för att göra sceneriet är också mycket dyrbara. Som alltid får vi hoppas på att det utvecklas specialversioner av dessa program som gör det möjligt för fler att kunna utveckla också denna typ av sceneri. Annars blir vi helt beroende av den kommersiella marknaden.

Swedflight kommer också att utvecklas i framtiden, riktigt hur vet vi inte för närvarande. Om vi kommer att behärska den teknik som krävs och om vi kommer att få tillgång till de rätta programmen så är avsikten att försöka göra också Swedflight i en riktig tredimensionell variant, kanske inte hela detta stora land med detsamma, men åtminstone de intressanta delarna till att börja med. Dessutom kommer vi att helt säkert att bygga vidare på alla våra flygplatser där det finns mycket att göra, inte minst på de små och medelstora. Texturerna kommer också att finputsas ännu mera, inte minst om de ska användas i en riktig 3D-variant. Framtiden för flygsimulering verkar alltså mycket hoppfull och när detta året är till ända vet vi alla vilken teknik de stora i denna bransch hade satsat på för att göra sina nya scenerier. Sen återstår för oss andra att försöka efterlikna detta - eller att helst göra det ännu bättre.

Författare: Bosse Wiberg/Swedflight (Oktober 1999) 
 

 

Ritningen och den resulterande kartan som visar användningen av 3D-objekt (berg) i Höga Kusten- området i Ångermanland

Flygbild som visar resultatet av ritningen på bilden ovanför (författarens födelseort närmare bestämt :-)


Copyright © 1999,  SWEDFLIGHT Design Group