ldeluigi / untitled-goose-framework   2.1.2

Apache License 2.0 GitHub

A framework that allows to write a game like The Goose Game entirely in few LOC with a DSL, in Scala.

Scala versions: 2.12


Untitled Goose Framework (not a trademark) is a Scala library that is able to run the definition of a board game. It enables the creation and rules automation of games similar to the classic Game of the Goose.


Continuous Integration

A CI system tests, builds and makes new releases of the framework.

  • master branch:
    Continuous Integration Periodic Integration Checks
  • develop branch:
    Continuous Integration

Continuous Delivery


  • Ability to create new games with the shortest, most readable syntax possible through a Scala DSL (Domain Specific Language) called GooseDSL. GooseDSL is natural language oriented, in English.
  • Ability to play created games locally. Given that each game must be turn-based, one single device is enough to play with any number of human players.
  • Possibility to extend game classes, objects or data structures to implement more complex behaviours or functionalities. This can mean both extend the framework functionalities or customize default game logic. For example, one can reimplement the graphical components to make their own visualization.
  • Possibility to extend the GooseDSL with custom shortcuts, keywords and more.


This library works for Scala 2.12.

Declaring the library as dependency

Note: <version> is the latest version available.

SBT (suggested)

Add in your build.sbt file:

libraryDependencies += "com.github.ldeluigi" % "untitled-goose-framework_2.12" % "<version>"

Gradle Kotlin DSL

Add, in your build.gradle.kts file, inside the dependencies block:



Create a class or object that extends GooseDSL (package: untitled.goose.framework.dsl) and write your own game. Documentation on how to write a game can be found in the Wiki.


You can contribute to the project with Pull Requests or Issues about bugs or feature requests.


These are the official examples of projects that implement games using this framework: