Show simple item record

dc.contributor.authorRøsæg, Tor Andreas
dc.date.accessioned2024-04-13T00:14:56Z
dc.date.available2024-04-13T00:14:56Z
dc.date.issued2023-08-15
dc.date.submitted2024-04-12T09:09:42Z
dc.identifier.urihttps://hdl.handle.net/11250/3126347
dc.description.abstractThe actor model provides a higher level of abstraction for writing concurrent and distributed systems. It alleviates the developer from having to deal with explicit locking and thread management, making it easier to implement and control concurrent and distributed systems. Among all the languages which support actors, we choose Scala as the one in this thesis work to implement computer games. While the complex thread management using explicit locking and unlocking is avoided in the implementation, not all the Scala syntax is specifically relevant for the design of computer games. It can be challenging for the game designers to master the Scala language in order to concretize their ideas through programming. To assist the game designers even further, we create a Domain-specific Language (DSL), i.e, GameLang, for specifying actor-based computer games in Scala. GameLang is designed based on the characteristic and the concurrency criteria of computer games. The game developers can utilize this DSL with the syntax such as player, actions and from-to statements to specify the logistics of a game. Our DSL hides the accidental complexity of the Scala code. The concurrency-related implementation details in Scala is abstract away in our DSL. We discuss about possible approaches to generate Scala code from GameLang specification, and leave the complete code generation to the future work.
dc.language.isoeng
dc.publisherThe University of Bergen
dc.rightsCopyright the Author. All rights reserved
dc.subjectActors
dc.subjectConcurrency
dc.subjectAsynchronous message passing
dc.subjectDomain-specific languages
dc.subjectScala
dc.subjectComputer games
dc.titleSpecifying Actor-Based Computer Games
dc.typeMaster thesis
dc.date.updated2024-04-12T09:09:42Z
dc.rights.holderCopyright the Author. All rights reserved
dc.description.degreeMasteroppgave i Programvareutvikling samarbeid med HVL
dc.description.localcodePROG399
dc.description.localcodeMAMN-PROG
dc.subject.nus754199
fs.subjectcodePROG399
fs.unitcode12-12-0


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record