Learn to program in a playful way.

rpgDungeon() for CodeRoom

Programming becomes an adventure.

With rpgDungeon(), students connect code with visible game logic: movement, collisions, items, NPCs, victory conditions, and their own levels become directly experiential.

Visual feedback Level Editor NPCs and items Conditions and loops
Overview of the rpgDungeon engine

What is rpgDungeon()?

A small game world based on real programming concepts.

The engine is inspired by the classic Turtle concept, but goes much further. Instead of just drawing lines, students control actual game figures through levels – with collisions, items, NPCs, and their own logic.

  • Commands like bewegen(), links_drehen(), warten() and interagieren()
  • Immediate visible results through animated gameplay sequences
  • Ideal for a motivating introduction to algorithmic thinking
Overview of the rpgDungeon engine

Lesson series

Discover programming – adventure with Linus Lag

Building on rpgDungeon(), a structured lesson series is available. It leads step by step from simple instructions to conditions, loops, functions, and more complex solution strategies.

Discovering Programming – Adventure with Linus Lag

Make Learning Goals Visible

Abstract concepts become visible decisions.

rpgDungeon() makes programming logic tangible. Learners see directly if their plan works, where the game figure gets stuck, and which condition is still missing.

Plan Sequences

Steps must be executed in a meaningful order. This turns an idea into a comprehensible algorithm.

Use Conditions

Items, collisions, and states motivate the use of queries and decisions in code.

Understand Loops

Repetitions are not only explained but also visible in the level: run, check, react, repeat.

Interaction and Logic

NPCs, items, and states make code alive.

The engine allows interactions with game figures, objects, and containers. States can be queried and changed – for example when collecting items, passing values, or dynamic reactions in the level.

  • Properties like deadly on touch, collectible, or container
  • NPCs with their own movement, even time-controlled
  • Console area for evaluation during runtime

Victory and Defeat

Tasks can be as simple or complex as the lesson requires.

The engine supports different end conditions: reaching a goal, collecting items, passing values, filling containers, or solving more complex tasks. The code is first virtually checked and then the animation is played. This ensures that solutions are reliably repeatable.

Clear goals

A level can start with simple tasks: move to a goal, collect an item, or interact with an object.

Complex conditions

Advanced tasks can combine multiple conditions, calculate values, or require specific states.

Controlled flow

Animations are displayed delayed so that program flow, state, and result remain understandable.

Dynamic display

Deep sorting ensures clarity in complex scenes.

Items, NPCs, and characters are correctly displayed – even when objects overlap. Multitile objects can appear transparent so learners always understand what is happening in the level.

Transparent display of overlapping elements

Visual level editor

Design your own levels – without any code.

With the built-in editor, levels can be intuitively assembled: tiles placed, items inserted, NPCs configured, and victory conditions set. Used assets and logic objects are automatically minimized so that instructions remain concise and clear.

Programming becomes an adventure.

Discover the world of code in a playful way with rpgDungeon() and see how interactive worlds come to life from your own ideas.

Try it for free

Start with CodeRoom and experience programming lessons in a new way.

rpgDungeon() combines creativity with logic, playfulness with learning goals, and visual experiences with real programming. Ideal for modern computer science classes that motivate, challenge, and promote – even without prior knowledge.

Sign up now and test it for free