Slik programmerte man spill for 40 år siden

Se et Snake-spill bli laget i BASIC, på cirka en halvtime.

Hvis du kjøpte en datamaskin i «gode, gamle dager» kom den typisk med en variant av programmeringsspråket BASIC innebygd. Tanken var at i tillegg til å kjøre programmer utviklet av andre, skulle du lage dine egne for å dekke dine behov. Eller for moro skyld, selvsagt.

De gamle mikrodatamaskin-variantene av BASIC vil nok oppleves som ganske kronglete å bruke, men språket er rimelig lett å lære, og ganske fleksibelt i tillegg. Da jeg i godt voksen alder startet å lære BASIC skrev jeg faktisk en artikkelserie om prosessen (senere har jeg fått til litt mer avanserte ting, og det er selvsagt mye i den serien jeg ville gjort helt annerledes i dag).

Morsom video

I dag snublet jeg over en morsom video der vi får se en fyr lage en variant av klassiske Snake på en Apple II. Han starter på null, og i løpet av cirka 30 minutter (for oss) har han laget et fungerende spill. Samtidig forklarer han prosessen på en underholdende og kanskje lærerik måte.

Han bruker AppleSoft BASIC, som ser ut til å være en litt mer kronglete versjon av BASIC enn den jeg vanligvis bruker (for eksempel må han bruke kommandoen LET for å definere variabler), og han har dessuten svært begrensede redigeringsmuligheter – så hvis han skal gjøre endringer i en linje med kode må han tydeligvis skrive hele linjen på nytt.

Her kan du se videoen:

Jeg har selv laget en Snake-variant, og ser selvsagt en god del ting jeg ville gjort helt annerledes. Jeg ville brukt POKE for å skrive grafikken direkte til skjermminnet, og jeg ville bare skrevet (og fjernet) «ny» grafikk, for eksempel. Ellers ser jeg at han lagrer slangeposisjonene på samme måte som jeg gjorde, og som jeg i ettertid angrer på. Men, men! Man lærer så lenge man lever.

Ah, og hvis du lurte på det bildet med verdens mest uleselige kode litt over, les denne: Jeg lagde et spill på ti linjer med BASIC-kode.

Legg inn en kommentar

Dette nettstedet bruker Akismet for å redusere spam. Lær om hvordan dine kommentar-data prosesseres.