A Simple DSL to Query Challenging Patterns on Platformer Levels

Master Thesis

Author: Boris Bezzola

Academic Year: 2025/2026

Defense Date: 29 January 2026

Institution: UniversitĂ  della Svizzera italiana

Faculty: Faculty of Informatics

Program: Master of Science in Software & Data Engineering

Abstract

In platform games, players have to reach the end of the level by navigating courses through platforms, obstacles, enemies, and uneven terrain by relying on jumps, climbing, dashing, and other movement mechanics. The Super Mario series is one of the most famous and influential games of this genre, spanning both 2D and 3D platform games, and often revolutionizing both.

Over the years many games have been released in both the 2D and 3D Super Mario series, but the 2D one received a revival back in 2006, when it received a new game after more than a decade. A particularly significant development came after this revival with the release of Super Mario Maker in 2015, where the traditional model shifted, from players only playing levels created by the developers to now also being able to design, share and interact with other user created levels. Thanks to the success of the game, a sequel was released in 2019, Super Mario Maker 2.

An interesting aspect of Super Mario Maker 2 is the automated difficulty classification system, which determines to which category (Easy, Normal, Expert and Super Expert) each user created level belongs to based on an undisclosed algorithm. Prior attempts to understand how this algorithm works were made, and it was shown that levels metadata such as description and comments correlate with the difficulty, however the actual in-game elements and makers’ design decision that might affect the difficulty level remain largely unexplored.

The focus of this thesis is particularly on challenging player created levels, especially those known as Kaizo levels, which are designed to test players skills through near pixel-perfect mechanics, unconventional and often unintended item usage, and trial-and-error gameplay. Contrary to Troll levels, which are designed to surprise players, or frustrate them, Kaizo levels usually incorporate patterns designed to force players to employ specific mechanics to clear the levels. Motivated by the lack of tools capable of querying these specific patterns through level structural elements, we propose a preliminary approach for detecting and analyzing design patterns in Super Mario Maker 2.

By leveraging Scala’s fluent API capabilities and a community-scraped dataset of Super Mario Maker 2 levels, we propose a Domain-Specific language (DSL) that allows to search for patterns by querying level elements, both individually and in relation to other surrounding elements, and player interaction data, such as comments and deaths. Using this approach, we performed an evaluation that shows how this tool is capable of identifying recurring challenging patterns, like death doors or ambushes and that these patterns occur more frequently in more difficult levels, often with lower clear rate.

People

Andrea Mocci

Andrea Mocci

Advisor

UniversitĂ  della Svizzera italiana, Switzerland

Website