Etikett: spelutveckling

  • Från stordator till Atari ST – historien om BASIC och GFA BASIC

    BASIC skapades på 1960-talet för att göra programmering tillgänglig för vanliga studenter och blev senare det självklara språket i miljontals hemdatorer. På Atari ST fördes arvet vidare av GFA BASIC – ett snabbt och kraftfullt språk som gjorde det möjligt att utveckla allt från enkla hobbyprogram till grafiska verktyg och kommersiella spel.

    I dag förknippas programmering ofta med avancerade utvecklingsmiljöer, stora programbibliotek och språk med tusentals funktioner. Under datorernas barndom såg verkligheten helt annorlunda ut. Då kunde ett enda fel innebära flera timmars väntan, och programmeraren hade sällan direktkontakt med datorn.

    Programmeringsspråket BASIC förändrade detta. Det gjorde datorn mer tillgänglig, mer personlig och framför allt roligare att använda. Flera decennier senare fördes samma idé vidare av GFA BASIC, ett språk som blev särskilt populärt bland användare av Atari ST.

    När programmering skedde med hålkort

    I början av 1960-talet programmerades många datorer genom så kallad batchkörning. Programmeraren skrev sin kod på särskilda formulär. Därefter överförde en operatör instruktionerna till hålkort, som matades in i datorn.

    Resultatet kom ofta flera timmar senare. Hade programmeraren gjort ett litet skrivfel kunde hela körningen misslyckas. Då var det bara att rätta felet, skapa nya hålkort och ställa sig i kön igen.

    Professorerna John G. Kemeny och Thomas E. Kurtz vid Dartmouth College i USA ansåg att detta var ett dåligt sätt att lära ut programmering. Deras mål var att alla studenter, inte bara matematiker och tekniker, skulle kunna använda en dator.

    Lösningen blev ett tidsdelningssystem.

    Datorn blev interaktiv

    Med tidsdelning kunde flera personer använda samma dator samtidigt. Varje användare satt vid en egen terminal som var ansluten till centraldatorn via telefonledning.

    Dartmouths system kallades Dartmouth Time-Sharing System, förkortat DTSS. Det togs i bruk våren 1964. Några år senare var omkring 60 terminaler anslutna till systemet.

    Terminalerna bestod ofta av fjärrskrivare som skrev ut text på veckat papper. Hastigheten var omkring tio tecken per sekund. Det låter långsamt med dagens mått, men jämfört med hålkort var det närmast revolutionerande. Studenten kunde skriva ett kommando och få svar nästan omedelbart.

    För att systemet skulle bli lätt att använda behövdes också ett enkelt programmeringsspråk. Resultatet blev BASIC.

    Ett språk för vanliga människor

    Namnet BASIC är en förkortning av Beginner’s All-purpose Symbolic Instruction Code. Språket utformades för nybörjare och byggde på tydliga kommandon som:

    10 PRINT "HEJ"
    20 INPUT A$
    30 PRINT "VÄLKOMMEN "; A$
    40 END
    

    Varje programrad hade ett nummer. Radnumren bestämde ordningen och användes för att hoppa mellan olika delar av programmet med kommandot GOTO.

    Språket hade ett begränsat antal instruktioner. PRINT skrev ut text, INPUT tog emot information från användaren, IF fattade beslut och FOR skapade upprepningar.

    Det var inte lika avancerat som språk som ALGOL och FORTRAN, men det var betydligt lättare att lära sig. Vid Dartmouth kunde studenter komma i gång efter bara ett par föreläsningar.

    För första gången kunde även studenter inom exempelvis musik, historia och samhällsvetenskap använda datorer i sina studier.

    Spelen gjorde entré

    Kommandot INPUT gjorde det möjligt att skapa program som förde en enkel dialog med användaren. Det dröjde därför inte länge innan studenter började skriva spel.

    Tidiga BASIC-spel bestod huvudsakligen av text. Spelaren kunde till exempel styra en rymdfarkost, leda ett historiskt kungarike eller utforska en grotta genom att skriva kommandon på tangentbordet.

    Bland de mest kända spelen fanns:

    • Hunt the Wumpus, där spelaren utforskade ett grottsystem
    • Super Star Trek, en strategisk rymdsimulering
    • Star Trader, ett tidigt spel om handel i rymden
    • The Oregon Trail, en historisk simulering av en resa genom USA
    • Hammurabi, där spelaren styrde ett forntida rike

    Spelen spreds mellan universitet, datortillverkare och tidsdelningssystem. De publicerades också som programlistningar i böcker och datortidningar. Läsaren kunde skriva in koden rad för rad och sedan köra spelet på sin egen dator.

    BASIC bidrog därmed till att skapa flera spelgenrer långt innan kommersiella datorspel blev en stor industri.

    BASIC flyttar in i hemmet

    När de första mikrodatorerna började säljas under 1970-talet behövdes ett programmeringsspråk som både var lätt att använda och tillräckligt litet för att rymmas i datorns begränsade minne.

    BASIC passade perfekt.

    År 1975 presenterades mikrodatorn Altair 8800. Bill Gates och Paul Allen kontaktade tillverkaren och erbjöd sig att skapa en BASIC-version för datorn, trots att de själva inte hade tillgång till någon Altair.

    I stället använde de en simulator som kördes på en större PDP-10-dator. Den färdiga tolken rymdes i omkring fyra kilobyte minne och levererades på hålremsa.

    Programmet blev Microsofts första produkt.

    Microsoft licensierade därefter olika BASIC-versioner till ett stort antal datortillverkare. Språket dök upp i datorer som Commodore PET, Apple II, TRS-80 och flera MSX-maskiner.

    Under slutet av 1970-talet och början av 1980-talet förväntades nästan varje hemdator starta direkt i en BASIC-tolk. När datorn slogs på möttes användaren ofta av en blinkande markör och ordet:

    READY
    

    Därifrån kunde användaren omedelbart börja programmera.

    BASIC fanns överallt

    Olika datortillverkare utvecklade egna varianter av språket. Commodore hade sin BASIC, Sinclair hade Sinclair BASIC och Atari utvecklade Atari BASIC. BBC Micro levererades med det betydligt mer avancerade BBC BASIC.

    Trots att språken byggde på samma grund fanns stora skillnader. Vissa versioner hade grafikkommandon, andra saknade stöd för ljud eller avancerad textbehandling. Ett program skrivet för en dator fungerade därför inte alltid på en annan.

    Ändå lärde sig miljontals människor programmering genom BASIC. Många framtida programmerare började med små program som skrev ut text, räknade tal eller ritade figurer på bildskärmen.

    Från Atari BASIC till Turbo-Basic XL

    Den tyske programmeraren Frank Ostrowski utvecklade under 1980-talet ett snabbare alternativ till Atari BASIC. Språket kallades Turbo-Basic XL och publicerades 1985 i den tyska datortidningen Happy Computer.

    Programmet distribuerades som en lång BASIC-listning. Läsaren fick själv skriva in hela programmet på sin Atari-dator. När allt hade skrivits in korrekt fick användaren en snabbare och mer avancerad BASIC-tolk.

    Turbo-Basic XL innehöll bland annat strukturerade programmeringskommandon och kunde även användas tillsammans med en kompilator. Ett BASIC-program kunde därmed omvandlas till snabbare maskinkod.

    Erfarenheterna från Turbo-Basic XL ledde vidare till ett nytt språk för 16-bitarsdatorer: GFA BASIC.

    GFA BASIC föds

    GFA BASIC utvecklades av Frank Ostrowski vid det tyska företaget GFA Systemtechnik. Förkortningen GFA stod för Gesellschaft für Automatisierung, ungefär ”företaget för automatisering”.

    Den första versionen släpptes 1986 och blev särskilt populär på Atari ST.

    Atari ST levererades ursprungligen med ST BASIC, men denna BASIC-version betraktades av många användare som långsam och begränsad. GFA BASIC erbjöd bättre prestanda och betydligt fler funktioner.

    Språket passade dessutom väl ihop med Atari ST grafiska användarmiljö GEM.

    Med GFA BASIC gick det att skapa program med:

    • fönster
    • menyer
    • dialogrutor
    • musstyrning
    • grafik
    • ljud
    • filhantering
    • systemanrop

    Det gjorde språket användbart både för nybörjare och mer erfarna programmerare.

    Programmering utan radnummer

    En av de tydligaste skillnaderna mot äldre BASIC-versioner var att GFA BASIC inte byggde på traditionella radnummer.

    I stället kunde programmen skrivas med strukturerade block och procedurer. Koden blev lättare att läsa och mer lik den struktur som användes i moderna programmeringsspråk.

    Ett enkelt program kunde exempelvis se ut ungefär så här:

    INPUT "Vad heter du? ", namn$
    PRINT "Hej "; namn$
    

    Mer avancerade program kunde delas upp i procedurer. Det gjorde det möjligt att bygga betydligt större program utan att fastna i ett virrvarr av GOTO-kommandon.

    GFA BASIC erbjöd också direkt åtkomst till många av Atari ST funktioner. Det gjorde det möjligt att skapa snabba program utan att hela programmet behövde skrivas i assembler.

    Tolk eller kompilator?

    Ett BASIC-program kunde vanligtvis köras direkt genom en tolk. Tolken läste programmet och utförde instruktionerna medan programmet kördes.

    Det var praktiskt under utvecklingen eftersom programmeraren snabbt kunde ändra och testa koden. Nackdelen var att programmet ofta kördes långsammare.

    Med en kompilator översattes programmet i förväg till maskinkod. Det färdiga programmet kunde därefter startas utan att användaren hade GFA BASIC installerat.

    GFA BASIC fanns tillsammans med en kompilator, vilket gjorde det möjligt att utveckla riktiga fristående program. För många hobbyprogrammerare blev detta ett första steg från enkla experiment till fullständiga applikationer.

    Mer än ett nybörjarspråk

    GFA BASIC användes inte bara till små hobbyprogram. Språket användes även för att skapa verktyg, grafikprogram, spelredigerare och kommersiell programvara.

    Spelutvecklaren Éric Chahi använde exempelvis ett verktyg skrivet i GFA BASIC under utvecklingen av det uppmärksammade spelet Another World. Verktyget användes för att skapa scener och skript, medan själva grafikmotorn skrevs i assembler.

    Även utvecklingsverktyg för rollspelsserien Amberstar skapades med GFA BASIC.

    Det visar att språket kunde fungera som ett praktiskt verktyg även i professionella projekt.

    Versioner för fler datorer

    Efter framgången på Atari ST portades GFA BASIC till flera andra plattformar. Versioner släpptes för:

    • Amiga
    • MS-DOS
    • 16-bitars Windows
    • 32-bitars Windows

    Version 2.0 blev särskilt populär, medan version 3.0 introducerade stöd för användardefinierade datatyper och mer avancerade datastrukturer.

    Den sista officiella versionen blev 3.6.

    Omkring 2002 upphörde GFA Software med den aktiva utvecklingen. Några år senare stängdes även företagets webbplats och officiella e-postlistor.

    Användarna lät dock inte språket försvinna. Entusiaster skapade egna webbplatser, diskussionsforum, editorer, rättningar och verktyg. Det finns fortfarande projekt som försöker bevara språket och göra gamla GFA-program användbara på moderna datorer.

    Den röda manualen

    En märklig detalj i GFA BASIC historia var programmets manual. Vissa upplagor trycktes med svart text på rött papper.

    Tanken var att göra manualen svår att fotokopiera och därmed förhindra piratkopiering. Resultatet blev inte helt lyckat. Det röda papperet gjorde ibland originalet svårare att läsa, medan en skickligt inställd kopiator kunde producera en tydligare kopia.

    Historien säger en del om 1980-talets programvarumarknad. Innan internet och digitala manualer var tryckta handböcker en viktig del av programvarupaketet och ibland lika värdefulla som själva disketterna.

    När BASIC förlorade sin huvudroll

    Under 1980-talet förändrades datorerna snabbt. Operativsystem som MS-DOS tog över rollen som datorns huvudsakliga gränssnitt. Senare blev grafiska miljöer som Windows, Macintosh och Amiga Workbench vanliga.

    BASIC-tolken var inte längre det första användaren mötte när datorn startade. Program distribuerades färdigkompilerade på diskett, och det blev allt mindre vanligt att användare skrev in program från tidningar.

    BASIC försvann dock inte.

    Microsoft fortsatte utvecklingen med GW-BASIC, QuickBasic och QBasic. År 1991 lanserades Visual Basic, som gjorde det möjligt att skapa Windows-program genom att placera ut knappar, menyer och andra komponenter på skärmen.

    Visual Basic blev mycket vanligt för kontorsprogram, databassystem och interna företagsverktyg. Senare kom Visual Basic .NET, som fortfarande används i vissa organisationer.

    BASIC lever vidare

    I dag finns BASIC i många olika former. Språket används inte längre som standardgränssnitt på persondatorer, men det lever vidare inom utbildning, hobbyprogrammering, retrodatorkultur och spelutveckling.

    Det finns moderna varianter som:

    • FreeBASIC
    • PureBasic
    • QB64
    • Small Basic
    • Gambas
    • X11-Basic
    • BlitzMax

    Äldre datorer har samtidigt fått nya BASIC-tolkar och kompilatorer. Entusiaster utvecklar språk för Atari 8-bitarsdatorer, Commodore 64, Amiga och andra klassiska system.

    För många handlar det inte bara om nostalgi. BASIC erbjuder fortfarande något som moderna utvecklingsmiljöer ibland saknar: möjligheten att skriva några få rader kod och omedelbart se resultatet.

    Ett språk som öppnade dörren

    BASIC skapades för att göra datorer tillgängliga för alla studenter. Det var ett radikalt mål i en tid då datorer var dyra maskiner som användes av specialister bakom stängda dörrar.

    GFA BASIC förde samma idé vidare under hemdatorernas storhetstid. Språket gav Atari ST- och Amiga-användare möjlighet att skapa grafiska program, verktyg och spel utan att först behöva behärska assembler eller avancerad systemprogrammering.

    Dagens programmeringsspråk är betydligt mer kraftfulla, men principen bakom BASIC är fortfarande aktuell: programmering ska vara begriplig, tillgänglig och rolig.

    För en hel generation var BASIC inte bara ett programmeringsspråk. Det var dörren in till datorns värld.

    Youtube innehålle om programmeringsspråket basic.

    Fakta: BASIC och GFA BASIC

    BASIC:
    Programmeringsspråk skapat av John G. Kemeny och Thomas E. Kurtz vid Dartmouth College.

    Första lansering:
    1964.

    Namnet betyder:
    Beginner’s All-purpose Symbolic Instruction Code.

    Ursprungligt syfte:
    Att göra programmering lättillgänglig för studenter utan teknisk bakgrund.

    GFA BASIC:
    En strukturerad och snabb BASIC-dialekt utvecklad av den tyske programmeraren Frank Ostrowski.

    Lanserades:
    1986.

    Populär plattform:
    Atari ST.

    Andra plattformar:
    Amiga, MS-DOS och Microsoft Windows.

    Viktiga egenskaper:
    Strukturerad programmering, procedurer, grafik, ljud, filhantering och stöd för Atari ST:s grafiska GEM-miljö.

    Sista officiella version:
    GFA BASIC 3.6.

    Användningsområden:
    Hobbyprogram, spel, grafikprogram, utvecklingsverktyg och kommersiella applikationer.

    Annons

    Strul med e-posten? Hjälp med TV? Problem med wifi?
    Digital Fixare