Projektförslag: Äventyrsspelskonstruktionssystem

Med ett äventyrsspel (på engelska adventure game) brukar man mena ett spel där man går runt i en låtsasvärld genom att ge enkla textkommandon till datorn. Till exempel kan en dialog som ser ut så här utspela sig (spelarens inmatning är angiven i fetstil):
Welcome to adventure!! Would you like instructions?
> no
You are standing at the end of a road before a small brick
building. Around you is a forest.  A small stream flows out of the
building and down a gully.
> enter building
You are inside a building, a well house for a large spring.
There are some keys on the ground here.
There is a shiny brass lamp nearby.
There is food here.
There is a bottle of water here.
> take lamp
OK
> light lamp
Your lamp is now on.
> take food
OK
> eat food
Thank you, it was delicious!
> go west
You're at end of road again.
> drop lamp

(På många Unix-system kan man spela det här spelet genom att skriva "/usr/games/adventure".)

Den här uppgiften går ut på att skriva, inte bara ett äventyrsspel enligt ovan, utan ett system för att skapa sådana äventyrsspel. Man ska kunna skapa "platser" (som platserna "end of the road" och "inside building" i exemplet ovan), som man sedan kan "gå omkring" i när man spelar spelet. Man ska också kunna skapa "saker" (som nycklarna, lampan, maten och vattenflaskan ovan), som spelaren kan plocka upp och bära med sig mellan de olika platserna.

Ett exempel på hur det skulle kunna gå till att skapa platser, koppla ihop dem, och sedan gå mellan dem, kan se ut så här:

> plats tompas rum
*** Felaktigt kommando. Rätt format: plats NAMN
> plats tompas-rum
> plats korridoren
> utgång tompas-rum öster korridoren
> utgång korridoren väster tompas-rum
> gå öster
*** Du befinner dig ingenstans än, så du kan inte gå någonstans!
Hoppa först till någon plats på kartan med kommandot "hoppa"!
> hoppa tompas-rum
> titta
Du befinner dig nu på platsen som heter 'tompas-rum'.
Här finns ingenting.
> öster
*** Felaktigt kommando. Skriv 'hjälp' eller '?'.
> gå öster
> titta
Du befinner dig nu på platsen som heter 'korridoren'.
Här finns ingenting.
> skapa svärd
> titta
Du befinner dig nu på platsen som heter 'korridoren'.
Här finns: svärd.
> tag svärd
> saker
Du bär på: svärd.
> titta
Du befinner dig nu på platsen som heter 'korridoren'.
Här finns ingenting.
> 

När man konstruerat ett spel måste man kunna spara det på en fil, så att en spelare kan spela det. Spelaren ska förstås inte ha tillgång till de särskilda spelskaparkommandona.

Följande saker måste äventyrsspelskonstruktionssystemet klara av:

Ni får förstås utöka systemet med fler funktioner, till exempel så att det går att skapa saker som går att använda till olika ändamål, varelser av olika slag (vackra monster som man kan rädda från eldsprutande prinsessor), låsta dörrar som bara kan öppnas med vissa nycklar, poängräkning, osv.


Thomas Padron-McCarthy (tpm@ida.liu.se), 20 september 1998.