A Language for Board Games – Development of an Embedded Domain-Specific Language for Describing Board Games

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.

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.

Keywords

DSL, domain-specific languages, Haskell, functional programming, board games, game theory, domänspecifika språk, funktionell programmering, brädspel, spelteori

Citation

ISBN

Articles

Department

Defence location

Endorsement

Review

Supplemented By

Referenced By