frameCraft – Didaktische Erweiterung für pygame
Didaktische Erweiterung für pygame
frameCraft macht visuelle Programmierung unterrichtstauglich
Spieleentwicklung, Simulationen und visuelle Programmierung motivieren Schüler:innen besonders stark. Der direkte Einstieg in klassische Frameworks ist im Unterricht aber oft unnötig technisch.
frameCraft erweitert pygame um eine didaktisch reduzierte Schicht: Lernende bauen interaktive Projekte schneller auf und konzentrieren sich auf Logik, Algorithmen, Zustände und Modellierung statt auf Engine-Details.

Einfachere Einstiege, sichtbare Ergebnisse und klare Spielstrukturen: frameCraft bringt pygame näher an den Unterrichtsalltag.
Warum frameCraft?
Weniger Engine-Details, mehr Informatik
frameCraft ist keine klassische Game-Engine-Erweiterung, sondern ein didaktisches Werkzeug für modernen Informatikunterricht. Die Bibliothek reduziert technische Hürden, ohne die fachlichen Konzepte zu verstecken.
Direkter Einstieg
Typische pygame-Bausteine wie Game-Loop, Event-Handling und Rendering werden didaktisch gekapselt. Dadurch entstehen schneller erste lauffähige Programme.
Klare Struktur
Szenen, Regeln, Objekte, Kollisionen und Zustände werden sichtbar getrennt. Das unterstützt nachvollziehbare Codeorganisation und Modellierung.
Projektorientiertes Lernen
Spiele, Simulationen und visuelle Modelle wachsen Schritt für Schritt: vom ersten Objekt bis zu HUD, Level-Logik und Polish.

Pädagogischer Mehrwert
Aus sichtbaren Projekten werden fachliche Lernanlässe
Gerade im schulischen Kontext ist frühe Selbstwirksamkeit entscheidend. Wenn sich Figuren bewegen, Objekte kollidieren oder ein Spielzustand sichtbar wechselt, erleben Lernende abstrakte Informatikkonzepte unmittelbar.
So lassen sich zentrale Prinzipien der Informatik gezielt fördern: Modularisierung, Abstraktion, algorithmisches Denken, Datenstrukturen und objektorientierte Modellierung.
Konkretes Beispiel
Frogger zeigt, wie frameCraft im Unterricht funktioniert
Der Kurs „Frogger komplett: Von Szene bis Polish“ führt Lernende in zwölf Bausteinen von der ersten Szene bis zu Bewegung, Touch-Buttons, Levelaufbau, datengetriebenen Autos, Kollisionen, Leben, Siegbedingung, HUD, Neustart und grafischem Polish.

Vom Spiel zur Unterrichtsreihe
Der Kurs ist nicht nur ein fertiges Spiel, sondern eine strukturierte Vorlage für Unterrichtsplanung, Kompetenzaufbau und eigene Varianten.

Datengetriebene Gegner
Mehrere Autos werden nicht einzeln zusammengeklickt, sondern über Strukturen, Namen, Schleifen und Parameter erzeugt.

Kollisionen und Leben
Spielzustände werden greifbar: Kollision erkannt, Leben reduziert, Figur zurückgesetzt oder Spiel beendet.
Code wird lesbar
Ein Unterrichtsbeispiel aus Frogger
Im Baustein „Kollisionen & Leben: Frogger-Logik“ wird nicht zuerst über Engine-Interna gesprochen. Die zentrale Idee ist direkt im Code sichtbar: Wenn der Frosch ein Auto berührt, wird ein Leben abgezogen.
- Tags verbinden Objekte logisch miteinander.
- ctx.vars speichert Spielzustände wie Leben und Tod.
- BEI_KOLLISION macht Ereignislogik explizit lesbar.
import frameCraft as fc
FROG_START_X = 160
FROG_START_Y = 180
AUTO_WIDTH = 46
AUTO_HEIGHT = 20
SPIEL("Frogger - Kollisionen", fenster=(320, 200), fps=30, hintergrund=(30, 120, 40))
SZENE("haupt", leben=5, tot=False)
@SZENE_AUFBAU("haupt")
def aufbau(ctx):
OBJEKT("frosch", pos=(FROG_START_X, FROG_START_Y), tag="frosch")
RECHTECK("frosch", 24, 24, ausloser=True)
OBJEKT("auto_0", pos=(40, 100), tag="auto")
RECHTECK("auto_0", AUTO_WIDTH, AUTO_HEIGHT, ausloser=True)
GESCHWINDIGKEIT("auto_0", 90, 0)
def kollision_auto(ctx, frosch_e, auto_e):
if ctx.vars.get("tot"):
return
ctx.vars["leben"] -= 1
frog_ent = ctx.E("frosch")
if ctx.vars["leben"] <= 0:
ctx.vars["tot"] = True
if frog_ent is not None:
frog_ent.alive = False
else:
if frog_ent is not None:
frog_ent.x = FROG_START_X
frog_ent.y = FROG_START_Y
BEI_KOLLISION("frosch", "auto", kollision_auto)
fc.START_STANDALONE("haupt")Typische Unterrichtsprojekte
frameCraft ist nicht auf ein Spiel beschränkt
Die gleiche Struktur eignet sich für klassische Spiele, Simulationen, mathematische Visualisierungen und kreative Experimente. Dadurch kann frameCraft sowohl im Informatikunterricht als auch in MINT-Kontexten eingesetzt werden.
Klassische Spiele
Snake, Breakout, Tetris, Pong, Frogger oder kleine Arcade-Spiele eignen sich besonders gut, um Bewegung, Kollisionen und Zustände zu modellieren.
Simulationen
Bewegung, Geschwindigkeit, Impuls, Kollisionen, Wellen, Schwingungen oder Agentenmodelle werden als dynamische Systeme sichtbar.
Kreative Visualisierungen
Fraktale, Symmetrien, Ornamentik, Farbräume, Zufallsbilder oder Datenbilder verbinden Programmierung mit Gestaltung.

Für Schulen geeignet
Browserbasiert, strukturiert und flexibel einsetzbar
Durch die Kombination aus pygame-Nähe, browserbasierter Ausführung in CodeRoom und didaktisch reduzierter API wird frameCraft zu einem praxistauglichen Werkzeug für Unterricht, Projekte, Differenzierung und Vertretungsstunden.
Lehrkräfte profitieren von klaren Bausteinen und schnellerem Projektstart. Schüler:innen profitieren von sichtbaren Ergebnissen, kreativen Aufgaben und einem Zugang, der fachlich anschlussfähig bleibt.
Nächster Schritt
frameCraft macht aus pygame ein Werkzeug für aktiven Informatikunterricht
Zugänglich, strukturiert und projektorientiert: Schüler:innen entwickeln eigene interaktive Programme und verstehen dabei zentrale Konzepte wie Bedingungen, Schleifen, Funktionen, Zustände, Kollisionen, Datenstrukturen und Modellierung.