A Language for Board Games – Development of an Embedded Domain-Specific Language for Describing Board Games
Ett språk för brädspel – Utveckling av ett inbäddat domänspecifikt språk för att beskriva brädspel
Abstract
In recent years board games have increasingly found themselves in the digital medium.
One way to enable easier creation of digital board games is to create a domainspecific
language (DSL) for that purpose. This thesis details the process of developing
an embedded DSL for describing board games with Haskell as its host language.
The goal is for users to be able to develop a large number of board games using the
language. How the DSL was created is explained. Also included is a detailed guide
on how to create board games using the DSL as well as a list of all tools available to
the user of the language. Alongside the guide are examples of different board games
written in the language. After the results are presented a description is given on
the inner workings of how a game is run based on its specifications. Thereafter the
results of the project are thoroughly discussed and guidelines are given on how the
DSL could be improved and expanded upon in the future.
Degree
Student essay
Other description
På senare tid har brädspel alltmer befunnit sig i det digitala mediet. Ett sätt att
möjliggöra skapandet av digitala brädspel är att skapa ett domänspecifikt språk
(DSL) för det syftet. Den här avhandlingen beskriver processen för att utveckla
ett DSL i Haskell för att beskriva brädspel samt bakgrundsteori om DSL:er och
spelteori. Målet med språket är att möjliggöra skapandet av ett stort antal brädspel.
Hur DSL:en skapades förklaras. Inkluderat är också en detaljerad guide om hur
man skapar brädspel med hjälp av språket samt en lista över alla verktyg som är
tillgängliga för användaren av språket. Vid sidan av guiden finns exempel på olika
brädspel skrivna i språket. Efter att resultaten presenterats ges en beskrivning av
hur ett brädspel körs internt, baserat på dess specifikationer. Därefter diskuteras
projektets resultat och riktlinjer ges för hur språket kan förbättras och utökas i
framtiden.
Collections
View/ Open
Date
2023-03-03Author
Alestig, Edvin
Ericson, Joel
Eriksson, Erik
Schiavone, Lukas
Torphage, Filip
Tubring, Joakim
Keywords
DSL
domain-specific languages
Haskell
functional programming
board games
game theory
domänspecifika språk
funktionell programmering
brädspel
spelteori
Language
eng