SAGA: A DSL for Story Management
Lucas Beyak, Jacques Carette (McMaster University)

TL;DR
SAGA is a domain-specific language designed to streamline story management in video game development by providing a human-friendly syntax and code generation for state transition systems, enhancing productivity for multidisciplinary teams.
Contribution
The paper introduces SAGA, a novel DSL tailored for game story management, including its design, implementation, and multi-language code generation capabilities.
Findings
Successfully models game stories using state transition systems.
Provides a parser and code generators for C++, C#, and Java.
Aims to improve productivity in game development teams.
Abstract
Video game development is currently a very labour-intensive endeavour. Furthermore it involves multi-disciplinary teams of artistic content creators and programmers, whose typical working patterns are not easily meshed. SAGA is our first effort at augmenting the productivity of such teams. Already convinced of the benefits of DSLs, we set out to analyze the domains present in games in order to find out which would be most amenable to the DSL approach. Based on previous work, we thus sought those sub-parts that already had a partially established vocabulary and at the same time could be well modeled using classical computer science structures. We settled on the 'story' aspect of video games as the best candidate domain, which can be modeled using state transition systems. As we are working with a specific company as the ultimate customer for this work, an additional requirement was…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsModel-Driven Software Engineering Techniques · Advanced Software Engineering Methodologies · Logic, programming, and type systems
