De Keep: Een saai spel met een spannende achtergrond
Bij toeval ontdek ik een spel genaamd "The Keep" op mijn C64 replica. Hoe meer ik te weten kom over de achtergrond ervan, hoe meer mijn mond openvalt.
Op de Commodore knock-off "De C64", die ik onlangs nieuw gekocht, staan een aantal voorgeïnstalleerde spellen.De C64-25732", die ik onlangs nieuw kocht, heeft een aantal voorgeïnstalleerde spellen. Een daarvan heet "The Keep". Op het eerste gezicht is het enige bijzondere aan het spel de graphics - die zijn bijzonder slecht. Het bedekt maar een heel klein deel van het scherm en is zo grof gepixeld dat ik niet meteen begrijp waar ik naar kijk. Pas met de tijd besef ik: ik ren door een ommuurd labyrint, vergelijkbaar met Wolfenstein 3D of Doom. Alleen zonder vijanden, zonder wapens en met een veel slechtere presentatie.
Er zijn vele deuren in het labyrint. Om ze te openen moet ik genoeg sleutels verzamelen. Elke sleutel past in elke deur. Mijn lamp gaat op een gegeven moment uit - als ik dan de uitgang van het doolhof nog niet heb gevonden, is het spel afgelopen. Anders ga ik door naar het volgende labyrint. Ik kan een overzichtskaart weergeven, de niveaus zijn naar wens voorgedefinieerd of willekeurig gegenereerd.
Zo ver, zo saai. Maar de ontwikkelaar van dit spel verdient groot respect voor het feit dat hij het met absurd weinig middelen heeft gered.
Een spel uit 2011 voor een computer uit 1980
Het spel is uitgebracht in 2011. Er zijn enkele spellen in deze verzameling die zijn uitgebracht in de 21e eeuw, lang na de hoogtijdagen van de C64. The Keep is echter geen spel voor de C64, maar voor de VIC-20 - in Duitstalige landen ook bekend als de VIC-20. Dit is de voorloper van de C64, en hij kan ook worden geëmuleerd met mijn replica "The C64". VIC-20 spellen draaien niet op de originele C64.
De VIC-20 lijkt erg op de C64, maar komt er qua prestaties niet bij in de buurt. Hij dateert uit 1980 en heeft slechts 5 kilobyte (KB) RAM. Dat is nog geen twaalfde van de C64 en ongeveer een miljoen keer minder dan jouw smartphone heeft. Zelfs voor 1980 was dat weinig. De VIC-20 viel vooral op omdat hij goedkoop te koop was. Commodore-baas Jack Tramiel's strategie werkte: Commodore verkocht 2,5 miljoen stuks van de VIC-20 - in een tijd dat niemand zelfs maar wist waar een computer thuis voor diende.
Ongeschikt voor spelletjes
Van de miezerige 5 KB RAM wordt 1,5 KB gebruikt door het systeem. Wat overblijft is een lachwekkende 3,5 KB. De hele programmacode en het video-RAM moeten hierin worden ondergebracht, want er is geen grafische eenheid met een eigen RAM.
Als de VIC-20 een beeld met 64 × 64 pixels moest weergeven in de huidige standaard kleurdiepte van 8 bits, zou hij 4 KB nodig hebben. Het RAM-geheugen is dus niet eens voldoende om een klein pictogram weer te geven. En er is nog geen enkel stukje programmacode ingelezen.
Met andere woorden, de VIC-20 heeft niet veel meer rekenkracht dan je wc-papierhouder.
In elk geval is het niet mogelijk om op de VIC-20 afzonderlijke pixels te besturen. De machine kent geen grafische modus; hij kan alleen letters, cijfers en andere tekens weergeven. Dit is begrijpelijk gezien het kleine werkgeheugen. Maar hoe kun je zulke grafische spelletjes programmeren?
heel eenvoudig: door van tekens een grafiek te maken. De ingebouwde tekenset van de VIC-20 heeft al een verscheidenheid aan vlakken, patronen of lijnen in verschillende diktes en richtingen. Hiermee kun je zogenaamde blokafbeeldingen maken. Hier zie je het spel Lemmings, dat voor de C64 werd geïmplementeerd met een afbeelding van standaard karakters:
Veel vaker dan met de standaard tekenset werken spellen met hun eigen aangepaste tekensets. Op deze manier kunnen via de achterdeur toch pixelprecieze afbeeldingen op de VIC-20 worden geplaatst. Figuren of grotere afbeeldingen zijn samengesteld uit een of meer tekens.
Veel hiervan wordt gedaan met behulp van de standaard tekenset.
Dit maakt veel dingen moeilijker dan met een goede grafische modus. Om de beweging vloeiend te laten lijken, zou het nodig zijn een figuur pixel voor pixel te verplaatsen in plaats van karakter voor karakter. Om dit te doen zou je echter alle tussenstappen tussen twee tekenposities moeten opslaan als aparte tekens voor elk figuur. De hoeveelheid karakters die hiervoor nodig is zou het micro-RAM van de VIC-20 verstoren.
In het licht van deze omstandigheden grenst het programmeren van een 3D-spel aan waanzin.
Maar er is een methode voor de waanzin.
Het onvermijdelijke: Doom op de VIC-20
De 3D klassieker Doom draait zowat overal: op printers, zwangerschapstesten en zelfs in Doom zelf. Je weet wat er komen gaat: Doom voor de VIC-20. Steve McCrea alias Kweepa heeft Doom naar de VIC-20 gebracht, naast The Keep. De twee spellen zijn verwant.
Printers, geldautomaten of oude mobiele telefoons hebben meer vermogen dan de VIC-20. En in het geval van de zwangerschapstest zijn zowel het scherm als de processor vervangen. De VIC-20 port springt er dus nog steeds uit als bijzonder ambitieus, zelfs in deze compleet krankzinnige Doom ports.
De first-person shooter draait dan ook op de VIC-20 alleen met geheugenuitbreidingen. Met 3,5 KB RAM zou dat onmogelijk zijn geweest. Je kunt downloaden een disk image van het spel. Dit draait in de Vice emulator, die draait op Mac en Windows. Kies hiervoor "xvic" als machine en activeer alle geheugenuitbreidingen in de opties. Dan kun je het bestand gewoon naar de emulator slepen. De Keep draait ook op deze manier, maar zonder geheugenuitbreidingen.
Ik geniet noch van "Doom" noch van "The Keep". Maar ik vind het geweldig dat een oude computer op deze manier nieuw leven wordt ingeblazen. In 1980 zou niemand eraan gedacht hebben een 3D-shooter te programmeren. Met het huidige inzicht en moderne hulpmiddelen zijn spellen mogelijk op oude platforms die toen nooit zouden hebben bestaan. Dus zelfs voor de Commodore 64 programmeren sommige nerds af en toe nieuwe spellen en demo's, ook al zit er geen geld in. Of ze porten klassiekers, bijvoorbeeld Super Mario Bros. voor de C64. Dit gebeurt meestal zonder toestemming van de auteursrechthebbende, waardoor ze zich op dun juridisch ijs begeven. Hoe dan ook, voor de VIC-20 en de C64 wordt de selectie van spellen vandaag de dag nog steeds groter en beter.
Mijn belangstelling voor computers en schrijven leidde me relatief vroeg (2000) naar de technische journalistiek. Ik ben geïnteresseerd in hoe je technologie kunt gebruiken zonder gebruikt te worden. In mijn vrije tijd maak ik graag muziek waarbij ik mijn gemiddelde talent compenseer met een enorme passie.