Colossal Cave Adventure, het spel waar je waarschijnlijk naar verwijst, werd niet op één stuk software gedraaid zoals we het vandaag de dag begrijpen. De implementatie ervan was aanzienlijk eenvoudiger en directer gekoppeld aan de hardware van die tijd (mainframes uit het begin van de jaren zeventig). Hier is een overzicht:
* Geïnterpreteerde taal: Het spel is niet in machinecode gecompileerd zoals de meeste moderne software. In plaats daarvan werd het geschreven in een taal die regel voor regel door een ander programma werd geïnterpreteerd. Deze tolk begreep de commando's en beschrijvingen van de spelwereld en vertaalde deze naar acties die de computer kon uitvoeren. De originele versie van Will Crowther gebruikte waarschijnlijk een aangepaste tolk, terwijl latere ports mogelijk meer gestandaardiseerde talen zoals FOCAL of BASIC hadden gebruikt.
* Geen besturingssysteem (zoals wij het kennen): Moderne software is sterk afhankelijk van besturingssystemen om bronnen te beheren, input/output af te handelen en een consistente omgeving te bieden. Vroege mainframes hadden vaak zeer minimale besturingssystemen, of zelfs helemaal geen, in de context van een enkele gebruiker die een enkel programma draaide, zoals Colossal Cave. Het programma had directe interactie met de hardware.
* Op tekst gebaseerde interactie: De interactie van het spel was volledig op tekst gebaseerd. De gebruiker typte opdrachten en de computer reageerde met beschrijvende tekst. Dit vereenvoudigde de software aanzienlijk omdat er geen behoefte was aan geavanceerde grafische weergave of geluidsverwerking.
* Eenvoudige gegevensstructuren: De wereld van het spel – kamers, objecten, verbindingen – werd waarschijnlijk weergegeven met behulp van eenvoudige datastructuren (arrays, gekoppelde lijsten). Deze structuren bevatten informatie over de staat van het spel en hoe de speler ermee kon communiceren.
* Geen gecompileerd uitvoerbaar bestand: Er was geen enkel bestand dat je kon 'uitvoeren'. De code en gegevens van het spel zijn waarschijnlijk opgeslagen in bestanden die de tolk heeft geladen en verwerkt.
Kortom, het 'werken' van Colossal Cave Adventure was een kwestie van de broncode of gegevensrepresentatie van het spel in het geheugen van het mainframe laden, de tolk starten en vervolgens via de console met het spel communiceren. Het hele proces was veel nauwer gekoppeld aan de hardware en omvatte aanzienlijk minder abstractie dan bij moderne softwareontwikkeling. |