/Dungeon

The "Dungeon" is a tool to gamify classroom content and integrate it into a 2D Rogue-Like role-playing game.

Primary LanguageJavaMIT LicenseMIT

Dungeon

Banner

The Dungeon is a multifaceted project for the gamification of educational content. It comprises three parts: "Game", "Dungeon" and "Blockly":

  1. "Game" constitutes a basic gaming platform that can be used in class to learn and deepen Java skills and allows students to develop their own role-playing game.
  2. "Dungeon" extends "Game" with numerous game elements and a Domain Specific Language (DSL) that can be used to "code" classic exercises and automatically convert them into a ready-made game. Players solve the exercises by playing the quests.
  3. "Blockly" adds a block-based programming language to the project. It is primarily aimed at programming beginners and can be used to visualise simple algorithms.

You can find an interesting report on our project in the news section of Bielefeld University of Applied Sciences (04 April 2024, in German).

Game: Dungeon Platform

The sub-project game is the foundation of the entire framework. It provides a programming platform based on libGDX, which is intended to support easy development of rogue-like 2D role-playing games in the Java programming language. It is particularly suitable for programming beginners, as it already provides solutions based on the ECS architecture pattern for complex tasks such as generating levels and drawing and animating characters. This allows the user to focus on Java programming.

The Quickstart (German) and the Documentation (German) should help you get started quickly.

Dungeon: Learning by Questing

The sub-project dungeon extends "Game" and provides a wide range of game elements that can be used directly to create a rogue-like 2D role-playing game.

Teachers can use the DSL provided by the project to conveniently devise typical exercises from the study context. The framework automatically translates these formally described exercises into various game scenarios and generates ready-to-play games as a result. There are also various control mechanisms that make it possible to devise customised learning paths. The exercises are presented as quests in the generated game. Teachers do not have to code the game mechanics themselves. (Well, of course you always can add your own mechanics using Java code.)

The Quickstart (German) and the Documentation (German) should help you get started.

The Dungeon: StarterKit provides you with everything you need to get started immediately without coding and/or compiling.

Blockly: Low Code Dungeon

The sub-project blockly extends "Dungeon" and uses Google's Blockly to provide a graphical low-code user interface. The character in the dungeon can be controlled via a web interface (locally), allowing users without in-depth programming knowledge to take part in the experience.

The Documentation (German) should help you get started.

Requirements

Java SE Development Kit 21 LTS installed.

Known Limitations

Currently the path to the project files cannot contain any spaces, special characters or umlauts.

This project is intended as supplementary teaching material for German-language university courses and is therefore aimed at German-speaking students. If you have any questions, problems or suggestions, please feel free to contact us in English or German.

Credits

This project was funded by Stiftung für Innovation in der Hochschullehre ("Freiraum 2022").

The assets in game/assets/, dungeon/assets/, devDungeon/assets/, and dungeon-task-manager/Task_Management_Dungeon/src/main/kotlin/icon/ are a mix from free and self created resources:

Licenses

This work by André Matutat, Malte Reinsch, and contributors is licensed under MIT.

All files in doc/publication/ are licensed under CC BY-SA 4.0.

All files in game/assets/, dungeon/assets/ and devDungeon/assets/ are licensed under CC0 1.0.

All files in dungeon-task-manager/Task_Management_Dungeon/src/main/kotlin/icon/ are licensed under Apache 2.0.

Banner