<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://staging.moocwiki.org/index.php?action=history&amp;feed=atom&amp;title=Mit_KI-Code_Spiele_entwickeln</id>
	<title>Mit KI-Code Spiele entwickeln - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://staging.moocwiki.org/index.php?action=history&amp;feed=atom&amp;title=Mit_KI-Code_Spiele_entwickeln"/>
	<link rel="alternate" type="text/html" href="https://staging.moocwiki.org/index.php?title=Mit_KI-Code_Spiele_entwickeln&amp;action=history"/>
	<updated>2026-06-11T19:36:30Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in MOOCsWiki Staging</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://staging.moocwiki.org/index.php?title=Mit_KI-Code_Spiele_entwickeln&amp;diff=19216&amp;oldid=prev</id>
		<title>Glanz: /* Einleitung */</title>
		<link rel="alternate" type="text/html" href="https://staging.moocwiki.org/index.php?title=Mit_KI-Code_Spiele_entwickeln&amp;diff=19216&amp;oldid=prev"/>
		<updated>2026-04-29T10:54:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Einleitung&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{T}}&lt;br /&gt;
{| align=center&lt;br /&gt;
{{:D-Tab}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Alternativen zu p5.js]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# [[p5.js]]&lt;br /&gt;
# [[Creative Coding]]&lt;br /&gt;
# [[JavaScript]]&lt;br /&gt;
# [[Game-Engine]]&lt;br /&gt;
# [[GDevelop]]&lt;br /&gt;
# [[Phaser]]&lt;br /&gt;
# [[Godot]]&lt;br /&gt;
# [[Construct 3]]&lt;br /&gt;
# [[Unity]]&lt;br /&gt;
# [[Scratch]]&lt;br /&gt;
# [[MakeCode Arcade]]&lt;br /&gt;
# [[App-Entwicklung]]&lt;br /&gt;
# [[2D-Spiel]]&lt;br /&gt;
# [[3D-Spiel]]&lt;br /&gt;
# [[Export]]&lt;br /&gt;
# [[No-Code]]&lt;br /&gt;
# [[Low-Code]]&lt;br /&gt;
# [[HTML5]]&lt;br /&gt;
# [[WebGL]]&lt;br /&gt;
# [[Canvas]]&lt;br /&gt;
|}&lt;br /&gt;
{{BR}}&lt;br /&gt;
= Alternativen zu p5.js: Mehr App, mehr Optionen, mehr Vorteile? =&lt;br /&gt;
&lt;br /&gt;
[[Datei:P5js Logo.svg|500px|rahmenlos|zentriert]]&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= Einleitung =&lt;br /&gt;
&lt;br /&gt;
[[p5.js]] ist ein sehr gutes Werkzeug, wenn Du [[Creative Coding]], [[JavaScript]], [[interaktive Grafik]], [[Animation]], [[Algorithmische Kunst]] oder kleine [[Browserspiel|Browserspiele]] lernen möchtest. Es ist besonders stark, wenn ein Projekt schnell sichtbar werden soll: Du schreibst wenige Zeilen [[Code]] (oder lässt diese von KI schreiben), startest die Vorschau im [[Browser]] und siehst sofort eine Zeichnung, Bewegung oder Interaktion. Genau deshalb eignet sich [[p5.js]] sehr gut für [[Schule]], [[Informatikunterricht]], [[Medienbildung]], [[Kunstunterricht]] und erste [[Programmierprojekt|Programmierprojekte]].&lt;br /&gt;
&lt;br /&gt;
Trotzdem gibt es viele Situationen, in denen andere Werkzeuge &amp;#039;&amp;#039;&amp;#039;besser geeignet&amp;#039;&amp;#039;&amp;#039; sind. Wenn Du ein richtiges [[Spiel]] mit mehreren [[Level|Levels]], [[Menü|Menüs]], [[Kollisionsabfrage|Kollisionen]], [[Inventar]], [[Speicherstand]], [[Touchscreen|Touch-Steuerung]], [[Sounddesign]], [[App-Export]], [[Android]], [[iOS]], [[Desktop-App]] oder [[Steam]]-Veröffentlichung bauen möchtest, kann [[p5.js]] schnell an Grenzen kommen. Das bedeutet nicht, dass [[p5.js]] schlecht ist. Es bedeutet nur: [[p5.js]] ist eher eine [[Bibliothek]] für kreative Programmierung als eine vollständige [[Game-Engine]].&lt;br /&gt;
&lt;br /&gt;
In diesem aiMOOC lernst Du, welche Alternativen zu [[p5.js]] es gibt, wann sie Vorteile haben und wie Du eine kluge Entscheidung für Dein eigenes Projekt triffst. Du vergleichst [[GDevelop]], [[Phaser]], [[Godot]], [[Construct 3]], [[Unity]], [[MakeCode Arcade]], [[Scratch]] und weitere Werkzeuge. Am Ende kannst Du einschätzen, ob Du bei [[p5.js]] bleiben solltest oder ob eine andere [[Entwicklungsumgebung]] besser zu Deinem Ziel passt.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== Lernziele ==&lt;br /&gt;
&lt;br /&gt;
Nach diesem aiMOOC kannst Du erklären, was [[p5.js]] gut kann und wo seine Grenzen liegen. Du kannst zentrale Unterschiede zwischen [[Bibliothek]], [[Framework]] und [[Game-Engine]] beschreiben. Du kannst verschiedene Alternativen nach [[Lernkurve]], [[App-Export]], [[2D-Grafik]], [[3D-Grafik]], [[Kosten]], [[Lizenz]], [[Unterrichtseinsatz]] und [[professionelle Entwicklung|professioneller Entwicklung]] vergleichen. Außerdem kannst Du ein eigenes Projekt planen und begründen, welches Werkzeug dafür am sinnvollsten ist.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
&lt;br /&gt;
= Was ist p5.js? =&lt;br /&gt;
&lt;br /&gt;
[[p5.js]] ist eine freie [[JavaScript]]-Bibliothek für [[Creative Coding]]. Sie ist vom Gedanken der Programmiersprache [[Processing]] geprägt: Programmieren soll nicht nur trocken und abstrakt sein, sondern direkt sichtbar, kreativ und experimentell. Typisch für [[p5.js]] sind die Funktionen [[setup()]] und [[draw()]]. In [[setup()]] bereitest Du die Zeichenfläche vor, in [[draw()]] wird wiederholt gezeichnet, animiert oder auf Eingaben reagiert.&lt;br /&gt;
&lt;br /&gt;
[[p5.js]] arbeitet häufig mit einem [[Canvas]] im [[HTML5]]-Umfeld. Dadurch kannst Du Formen, Farben, Linien, Bilder, Texte, Mausbewegungen, Tastatureingaben oder einfache Spielobjekte direkt im [[Browser]] darstellen. Für den Einstieg ist das ein großer Vorteil: Du brauchst oft keine komplizierte Installation und kannst sehr schnell erste Ergebnisse erzeugen.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== Stärken von p5.js ==&lt;br /&gt;
&lt;br /&gt;
# [[Einfacher Einstieg]]: Du kannst schnell mit [[Form]], [[Farbe]], [[Bewegung]] und [[Interaktion]] experimentieren.&lt;br /&gt;
# [[Browserbasiertes Lernen]]: Viele Projekte laufen direkt im [[Webbrowser]] und lassen sich leicht teilen.&lt;br /&gt;
# [[Kreative Programmierung]]: [[p5.js]] eignet sich besonders für [[Kunst]], [[Design]], [[Simulation]], [[Datenvisualisierung]] und [[Animation]].&lt;br /&gt;
# [[JavaScript]]: Du lernst eine Sprache, die auch für [[Webentwicklung]] sehr wichtig ist.&lt;br /&gt;
# [[Offene Lernkultur]]: Viele Tutorials, Beispiele und Erweiterungen unterstützen den Einstieg.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== Grenzen von p5.js ==&lt;br /&gt;
&lt;br /&gt;
[[p5.js]] ist keine vollständige [[Game-Engine]]. Das merkst Du besonders dann, wenn Dein Projekt größer wird. Es gibt keinen eingebauten visuellen [[Level-Editor]], kein vollständiges [[Szenenmanagement]], keine automatische [[Asset-Pipeline]], keine einfache Veröffentlichung als [[Android-App]] oder [[iOS-App]] und keine standardisierte Verwaltung komplexer [[Spielzustand|Spielzustände]]. Viele Dinge kannst Du selbst programmieren, aber das kostet Zeit und wird bei größeren Projekten schnell unübersichtlich.&lt;br /&gt;
&lt;br /&gt;
Typische Grenzen zeigen sich bei [[Level-Design]], [[Benutzeroberfläche]], [[Kamera]], [[Physik-Engine]], [[Kollisionserkennung]], [[Animation]], [[Partikelsystem]], [[Speicherstand]], [[Mehrspieler-Modus]], [[Controller-Unterstützung]], [[Performance]] und [[App-Store]]-Veröffentlichung. Genau hier können Alternativen mehr Vorteile bieten.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= Wichtige Begriffe =&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== Bibliothek, Framework und Game-Engine ==&lt;br /&gt;
&lt;br /&gt;
Eine [[Bibliothek]] stellt Funktionen bereit, die Du in Deinem eigenen Programm nutzt. [[p5.js]] ist ein gutes Beispiel: Du rufst Funktionen wie [[circle()]], [[rect()]], [[image()]] oder [[keyPressed()]] auf, um Deine Idee umzusetzen.&lt;br /&gt;
&lt;br /&gt;
Ein [[Framework]] gibt meistens schon mehr Struktur vor. [[Phaser]] ist ein Beispiel für ein [[Game-Framework]]: Es bietet [[Szenen]], [[Sprite|Sprites]], [[Asset-Loader]], [[Physik]], [[Input]] und andere Bausteine, die speziell für Spiele gedacht sind.&lt;br /&gt;
&lt;br /&gt;
Eine [[Game-Engine]] ist noch umfassender. Sie enthält neben Code-Bausteinen oft einen visuellen [[Editor]], [[Projektverwaltung]], [[Szenenbaum]], [[Animation]], [[Physik]], [[Import]] von Grafiken, [[Export]] auf verschiedene Plattformen und Werkzeuge für [[Level-Design]]. [[Godot]], [[Unity]], [[GDevelop]] und [[Construct 3]] gehören in diese Richtung.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== No-Code, Low-Code und Code ==&lt;br /&gt;
&lt;br /&gt;
[[No-Code]] bedeutet, dass Du möglichst wenig oder gar keinen klassischen Textcode schreiben musst. Stattdessen arbeitest Du mit [[Ereignis|Ereignissen]], [[Blockprogrammierung]], Tabellen oder visuellen Regeln. [[GDevelop]], [[Construct 3]], [[Scratch]] und [[MakeCode Arcade]] sind dafür gute Beispiele.&lt;br /&gt;
&lt;br /&gt;
[[Low-Code]] bedeutet, dass vieles visuell erledigt wird, Du aber bei Bedarf eigenen [[Code]] ergänzt. Das ist nützlich, wenn Du schnell starten, aber später mehr Kontrolle haben möchtest.&lt;br /&gt;
&lt;br /&gt;
[[Code]]-basierte Werkzeuge wie [[Phaser]] oder [[p5.js]] verlangen mehr Programmierarbeit, geben Dir dafür aber viel direkte Kontrolle über die Logik.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= Entscheidungskriterien =&lt;br /&gt;
&lt;br /&gt;
Ob eine Alternative zu [[p5.js]] für Dich besser ist, hängt stark vom Ziel ab. Für ein Unterrichtsprojekt mit einer einfachen Animation ist [[p5.js]] oft ideal. Für ein [[Jump ’n’ Run]] mit Leveln, Gegnern, Menü und [[Android]]-Export ist [[GDevelop]], [[Construct 3]] oder [[Godot]] meistens sinnvoller. Für ein professionelles 3D-Projekt ist [[Unity]] oder [[Godot]] geeigneter.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== Worauf Du achten solltest ==&lt;br /&gt;
&lt;br /&gt;
# [[Zielplattform]]: Soll Dein Projekt im [[Browser]], als [[App]], als [[Desktop-Anwendung]] oder auf einer Spielplattform laufen?&lt;br /&gt;
# [[Lernkurve]]: Möchtest Du schnell loslegen oder bewusst eine professionelle Engine lernen?&lt;br /&gt;
# [[Programmieranteil]]: Willst Du mit [[Code]], [[Blockprogrammierung]] oder [[No-Code]] arbeiten?&lt;br /&gt;
# [[2D]] oder [[3D]]: Brauchst Du nur zweidimensionale Grafik oder auch dreidimensionale Welten?&lt;br /&gt;
# [[Export]]: Gibt es einfache Wege zu [[Android]], [[iOS]], [[Web]], [[Windows]], [[macOS]] und [[Linux]]?&lt;br /&gt;
# [[Kosten]]: Ist das Werkzeug frei, kostenpflichtig, teilweise kostenpflichtig oder an eine Lizenz gebunden?&lt;br /&gt;
# [[Unterrichtseinsatz]]: Funktioniert das Werkzeug auf Schulgeräten, Tablets, iPads oder nur auf starken Rechnern?&lt;br /&gt;
# [[Datenschutz]]: Müssen Lernende ein Konto erstellen oder kann lokal gearbeitet werden?&lt;br /&gt;
# [[Teamarbeit]]: Kann ein Projekt gemeinsam bearbeitet, versioniert oder dokumentiert werden?&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= Vergleich der wichtigsten Alternativen =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Werkzeug&lt;br /&gt;
! Besser als p5.js für&lt;br /&gt;
! Vorteile&lt;br /&gt;
! Grenzen&lt;br /&gt;
! Besonders geeignet für&lt;br /&gt;
|-&lt;br /&gt;
| [[GDevelop]]&lt;br /&gt;
| [[2D-Spiel|2D-Spiele]], [[No-Code]], [[App-Export]]&lt;br /&gt;
| Visueller Editor, Ereignissystem, Vorlagen, einfache Veröffentlichung, Web-App, Desktop-App und mobile Nutzung&lt;br /&gt;
| Für sehr komplexe Speziallogik weniger flexibel als reine Code-Lösungen&lt;br /&gt;
| Schule, schnelle Spielprojekte, Prototypen, Lernspiele&lt;br /&gt;
|-&lt;br /&gt;
| [[Phaser]]&lt;br /&gt;
| Professionelle [[HTML5]]-Spiele mit [[JavaScript]]&lt;br /&gt;
| Szenen, Sprites, Physik, Asset-Loader, WebGL und Canvas, gute Kontrolle durch Code&lt;br /&gt;
| Kein klassischer visueller Editor wie bei vielen Engines&lt;br /&gt;
| Webspiele, Code-Unterricht, Fortgeschrittene&lt;br /&gt;
|-&lt;br /&gt;
| [[Godot]]&lt;br /&gt;
| Freie professionelle [[2D]]- und [[3D]]-Entwicklung&lt;br /&gt;
| Open Source, Szenensystem, Node-Struktur, GDScript, Export auf mehrere Plattformen&lt;br /&gt;
| Einarbeitung anspruchsvoller als bei p5.js oder Scratch&lt;br /&gt;
| Größere Spiele, Apps, 2D und 3D, langfristige Projekte&lt;br /&gt;
|-&lt;br /&gt;
| [[Construct 3]]&lt;br /&gt;
| Browserbasierte Spiele ohne viel Code&lt;br /&gt;
| Läuft im Browser, Event-Sheets, schneller Einstieg, Export auf mehrere Plattformen&lt;br /&gt;
| Viele professionelle Funktionen sind abhängig von Lizenz und Workflow&lt;br /&gt;
| iPad-nahe Browserarbeit, Schule, schnelle 2D-Spiele&lt;br /&gt;
|-&lt;br /&gt;
| [[Unity]]&lt;br /&gt;
| Große [[3D]]-Produktionen, professionelle Spiele, [[XR]]&lt;br /&gt;
| Sehr mächtige Engine, C#, Asset Store, viele Plattformen, große Community&lt;br /&gt;
| Hohe Komplexität, Lizenzfragen und stärkere Hardware-Anforderungen&lt;br /&gt;
| Professionelle Entwicklung, 3D, Apps, Simulationen&lt;br /&gt;
|-&lt;br /&gt;
| [[MakeCode Arcade]]&lt;br /&gt;
| Einfache Retro-Spiele mit Blöcken und JavaScript&lt;br /&gt;
| Sehr niedrige Einstiegshürde, Block- und Textcode, gut für Unterricht&lt;br /&gt;
| Eher für kleinere Arcade-Spiele gedacht&lt;br /&gt;
| Unterstufe, Einstieg, schnelle Lernspiele&lt;br /&gt;
|-&lt;br /&gt;
| [[Scratch]]&lt;br /&gt;
| Kreativer Einstieg für Kinder und Anfänger&lt;br /&gt;
| Visuelle Blöcke, große Community, Geschichten, Animationen und Spiele&lt;br /&gt;
| Für professionelle App-Veröffentlichung nicht gedacht&lt;br /&gt;
| Grundschule, Unterstufe, erste Programmiererfahrungen&lt;br /&gt;
|-&lt;br /&gt;
| [[TurboWarp]]&lt;br /&gt;
| Erweiterte Scratch-Projekte&lt;br /&gt;
| Schnellerer Player, Packager-Möglichkeiten, Scratch-ähnlicher Einstieg&lt;br /&gt;
| Nicht dasselbe wie eine professionelle Game-Engine&lt;br /&gt;
| Scratch-Fortsetzung, Präsentationen, exportierbare Lernprojekte&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= GDevelop: Die beste Alternative für schnelle Spiele mit App-Gefühl =&lt;br /&gt;
&lt;br /&gt;
[[Datei:GD-logo-big.png|500px|rahmenlos|zentriert]]&lt;br /&gt;
&lt;br /&gt;
[[GDevelop]] ist eine [[Open Source|quelloffene]] [[No-Code]]- und [[Low-Code]]-Engine für Spiele und interaktive Anwendungen. Der große Vorteil gegenüber [[p5.js]] liegt darin, dass viele typische Spielbestandteile bereits vorbereitet sind. Du arbeitest mit [[Szene|Szenen]], [[Objekt|Objekten]], [[Verhalten]], [[Ereignis|Ereignissen]], [[Animation]], [[Kollisionserkennung]], [[Benutzeroberfläche]] und [[Export]]-Optionen.&lt;br /&gt;
&lt;br /&gt;
In [[GDevelop]] musst Du nicht jede Spiellogik komplett selbst programmieren. Du kannst zum Beispiel einem Objekt ein Plattform-Verhalten geben, eine Kollision mit einem Gegner prüfen, Punkte erhöhen oder eine Szene wechseln. Für Lernende ist das oft motivierend, weil sehr schnell ein spielbares Ergebnis entsteht.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== Vorteile von GDevelop gegenüber p5.js ==&lt;br /&gt;
&lt;br /&gt;
# [[Visueller Editor]]: Du kannst Szenen und Objekte direkt sehen und anordnen.&lt;br /&gt;
# [[No-Code]]: Logik wird über Ereignisse erstellt, nicht nur über Textcode.&lt;br /&gt;
# [[App-Export]]: Projekte können leichter für [[Web]], [[Desktop]], [[Android]] und je nach Workflow auch [[iOS]] vorbereitet werden.&lt;br /&gt;
# [[Vorlagen]]: Es gibt Beispiele für Plattformspiele, Top-Down-Spiele, Quizspiele und andere Genres.&lt;br /&gt;
# [[Unterricht]]: Lernende können sich stärker auf [[Game Design]] und [[Logik]] konzentrieren, ohne sofort an Syntaxfehlern zu scheitern.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== Wann GDevelop besonders sinnvoll ist ==&lt;br /&gt;
&lt;br /&gt;
[[GDevelop]] ist besonders sinnvoll, wenn Du ein Spiel mit mehreren Leveln, Menüs, Punktestand, Gegnern, Kollisionen, Touch-Steuerung und einfachen Veröffentlichungsmöglichkeiten bauen möchtest. Wenn Du mit einer Lerngruppe arbeitest, ist [[GDevelop]] oft leichter zu erklären als eine reine Code-Lösung. Für [[Projektarbeit]], [[Medienbildung]] und [[Informatikunterricht]] ist es daher eine sehr starke Alternative.&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|https://www.youtube.com/watch?v=XxeD_2nTyHI|500|center}}&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= Phaser: Die beste Code-Alternative zu p5.js =&lt;br /&gt;
&lt;br /&gt;
[[Datei:Phaser Logo.png|500px|rahmenlos|zentriert]]&lt;br /&gt;
&lt;br /&gt;
[[Phaser]] ist ein [[HTML5]]-[[Game-Framework]] für [[2D-Spiel|2D-Spiele]] im [[Browser]]. Es ist besonders interessant, wenn Du weiterhin mit [[JavaScript]] arbeiten möchtest, aber mehr echte Spielstruktur brauchst als bei [[p5.js]]. Während [[p5.js]] allgemein für kreative Skizzen, Animationen und Experimente gedacht ist, ist [[Phaser]] direkt auf Spiele ausgerichtet.&lt;br /&gt;
&lt;br /&gt;
[[Phaser]] arbeitet mit [[Szene|Szenen]], [[Sprite|Sprites]], [[Asset-Loader]], [[Animation]], [[Physik]], [[Kollision]], [[Kamera]], [[Input]] und [[Tilemap|Tilemaps]]. Damit ist es für klassische 2D-Webspiele meist besser geeignet als [[p5.js]].&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== Vorteile von Phaser gegenüber p5.js ==&lt;br /&gt;
&lt;br /&gt;
# [[Szenenmanagement]]: Startbildschirm, Spielszene und Game-Over-Szene lassen sich sauber trennen.&lt;br /&gt;
# [[Asset-Loader]]: Bilder, Spritesheets, Sounds und Daten können gezielt geladen werden.&lt;br /&gt;
# [[Physik]]: Kollisionen, Schwerkraft und Bewegung sind leichter umzusetzen.&lt;br /&gt;
# [[Performance]]: Phaser nutzt je nach Umgebung Canvas und WebGL.&lt;br /&gt;
# [[JavaScript]]: Du bleibst in einer Sprache, die Du aus p5.js bereits kennst.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== Wann Phaser besonders sinnvoll ist ==&lt;br /&gt;
&lt;br /&gt;
[[Phaser]] ist ideal, wenn Du mit [[Code]] arbeiten und ein gutes [[Webspiel]] entwickeln möchtest. Für Lernende, die nach [[p5.js]] den nächsten Schritt gehen wollen, ist [[Phaser]] eine sehr gute Brücke: Es bleibt bei [[JavaScript]], führt aber stärker in echte [[Softwarearchitektur]], [[Szenenlogik]] und [[Game Development]] ein.&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|https://www.youtube.com/watch?v=2roOcOSTeuM|500|center}}&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= Godot: Die beste freie Profi-Engine =&lt;br /&gt;
&lt;br /&gt;
[[Datei:Godot logo.svg|500px|rahmenlos|zentriert]]&lt;br /&gt;
&lt;br /&gt;
[[Godot]] ist eine freie und quelloffene [[Game-Engine]] für [[2D]], [[3D]] und [[XR]]. Sie ist deutlich mächtiger als [[p5.js]] und eignet sich für größere Spiele, Apps, Simulationen und interaktive Anwendungen. Godot arbeitet mit einem [[Node|Knoten]]- und [[Szene|Szenen]]-System. Das bedeutet: Spielfiguren, Kameras, Lichter, Kollisionen, Benutzeroberflächen und Skripte werden als Bausteine organisiert.&lt;br /&gt;
&lt;br /&gt;
Die wichtigste Skriptsprache in Godot ist [[GDScript]]. Sie ist vergleichsweise gut lesbar und wurde speziell für die Arbeit mit Godot entwickelt. Zusätzlich gibt es je nach Projekt auch Möglichkeiten mit anderen Sprachen wie [[C Sharp|C#]].&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== Vorteile von Godot gegenüber p5.js ==&lt;br /&gt;
&lt;br /&gt;
# [[2D]] und [[3D]]: Godot ist nicht nur für flache Canvas-Grafik gedacht.&lt;br /&gt;
# [[Editor]]: Szenen, Animationen, Kollisionen und Benutzeroberflächen können visuell erstellt werden.&lt;br /&gt;
# [[Open Source]]: Die Engine ist frei und quelloffen.&lt;br /&gt;
# [[Export]]: Projekte können für mehrere Plattformen vorbereitet werden.&lt;br /&gt;
# [[Struktur]]: Größere Projekte lassen sich sauberer organisieren als in einem einfachen p5.js-Sketch.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== Wann Godot besonders sinnvoll ist ==&lt;br /&gt;
&lt;br /&gt;
[[Godot]] ist sinnvoll, wenn Du langfristig echte [[Game Development|Spieleentwicklung]] lernen willst. Es ist stärker als [[p5.js]], aber auch anspruchsvoller. Für ein einfaches Unterrichtsbeispiel kann [[Godot]] überdimensioniert sein. Für ein Jahresprojekt, ein größeres Lernspiel, ein 2D-Abenteuer, ein 3D-Experiment oder eine eigenständige App ist es eine sehr gute Wahl.&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|https://www.youtube.com/watch?v=4EhcfH_YpNg|500|center}}&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= Construct 3: Spieleentwicklung direkt im Browser =&lt;br /&gt;
&lt;br /&gt;
[[Datei:Construct 3 Logo.svg|350px|rahmenlos|zentriert]]&lt;br /&gt;
&lt;br /&gt;
[[Construct 3]] ist eine browserbasierte [[Game-Engine]] für [[2D-Spiel|2D-Spiele]]. Besonders auffällig ist das [[Event Sheet]]: Spielregeln werden als Ereignisse und Aktionen formuliert. Dadurch können Lernende relativ schnell Spiele bauen, ohne zuerst eine Programmiersprache vollständig zu lernen.&lt;br /&gt;
&lt;br /&gt;
Der Vorteil gegenüber [[p5.js]] liegt vor allem im visuellen Workflow. Objekte werden auf einer Oberfläche platziert, Eigenschaften eingestellt und mit Ereignissen verbunden. Exportmöglichkeiten für [[Web]], [[Android]], [[iOS]] und Desktop-Wrapper machen Construct 3 für Projekte interessant, die über eine einfache Browser-Skizze hinausgehen.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== Wann Construct 3 besonders sinnvoll ist ==&lt;br /&gt;
&lt;br /&gt;
[[Construct 3]] ist besonders geeignet, wenn eine Lerngruppe im [[Browser]] arbeiten soll und schnelle Ergebnisse wichtig sind. Es ist auch interessant, wenn Geräte nicht frei installiert werden dürfen. Im Vergleich zu [[GDevelop]] ist Construct 3 stark browserorientiert und sehr ausgereift, aber je nach Nutzung stärker an Lizenzmodelle gebunden.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= Unity: Mächtig, professionell, aber komplex =&lt;br /&gt;
&lt;br /&gt;
[[Datei:Unity 2021.svg|500px|rahmenlos|zentriert]]&lt;br /&gt;
&lt;br /&gt;
[[Unity]] ist eine der bekanntesten professionellen [[Game-Engine|Game-Engines]]. Sie wird für [[2D]], [[3D]], [[Mobile Games]], [[Desktop-Spiele]], [[XR]], [[Simulation]] und viele kommerzielle Projekte eingesetzt. Programmiert wird typischerweise mit [[C Sharp|C#]]. Unity bietet viele Werkzeuge: [[Szeneneditor]], [[Physik]], [[Animation]], [[Lighting]], [[Asset Store]], [[UI-System]], [[Build Pipeline]] und Export auf zahlreiche Plattformen.&lt;br /&gt;
&lt;br /&gt;
Gegenüber [[p5.js]] ist [[Unity]] viel mächtiger. Gleichzeitig ist es deutlich komplexer. Wer nur ein kleines Unterrichtsprojekt, eine einfache Animation oder ein erstes Webspiel erstellen möchte, ist mit [[p5.js]], [[GDevelop]] oder [[Phaser]] oft schneller. Wer aber 3D-Spiele, mobile Apps oder professionelle Produktionen anstrebt, sollte Unity kennen.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== Wann Unity besonders sinnvoll ist ==&lt;br /&gt;
&lt;br /&gt;
[[Unity]] ist sinnvoll, wenn Du ernsthaft in professionelle [[Spieleentwicklung]], [[3D-Modellierung]], [[App-Entwicklung]], [[Virtual Reality]] oder [[Augmented Reality]] einsteigen möchtest. Für Anfängerinnen und Anfänger kann Unity jedoch überfordernd sein, wenn noch keine Grundkenntnisse in [[Programmierung]], [[Koordinatensystem]], [[Objektorientierte Programmierung|objektorientierter Programmierung]] und [[Softwareprojekt|Projektstruktur]] vorhanden sind.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= MakeCode Arcade und Scratch: Für den Einstieg oft besser als p5.js =&lt;br /&gt;
&lt;br /&gt;
[[Datei:Scratch Logo.svg|500px|rahmenlos|zentriert]]&lt;br /&gt;
&lt;br /&gt;
[[MakeCode Arcade]] und [[Scratch]] sind besonders für jüngere Lernende oder absolute Anfänger geeignet. Beide Werkzeuge setzen auf visuelle Programmierung mit Blöcken. Dadurch steht nicht die genaue Syntax im Vordergrund, sondern das Denken in [[Algorithmus|Algorithmen]], [[Ereignis|Ereignissen]], [[Schleife|Schleifen]], [[Bedingung|Bedingungen]] und [[Variable|Variablen]].&lt;br /&gt;
&lt;br /&gt;
[[MakeCode Arcade]] ist stärker auf kleine Retro-Spiele ausgelegt. Du kannst mit Blöcken starten und später zu [[JavaScript]] wechseln. [[Scratch]] eignet sich sehr gut für Geschichten, Animationen, Lernspiele und kreative Experimente. Für professionelle App-Veröffentlichung sind beide nicht die erste Wahl, aber für einen motivierenden Einstieg sind sie hervorragend.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= Weitere Alternativen =&lt;br /&gt;
&lt;br /&gt;
Neben den großen Alternativen gibt es weitere Werkzeuge, die je nach Ziel nützlich sein können. [[PixiJS]] ist stark für schnelle 2D-Grafik im Web. [[Three.js]] eignet sich für 3D-Grafik im Browser. [[Babylon.js]] ist eine mächtige 3D-Engine für Web-Anwendungen. [[Defold]] ist eine kompakte Engine für 2D-Spiele mit Export auf mehrere Plattformen. [[Unreal Engine]] ist sehr stark für High-End-3D, aber für einfache Schulprojekte meist zu komplex.&lt;br /&gt;
&lt;br /&gt;
Diese Werkzeuge sind nicht automatisch besser als [[p5.js]]. Sie sind besser, wenn ihr Schwerpunkt zu Deinem Projekt passt. Die wichtigste Frage lautet daher nicht: &amp;#039;&amp;#039;&amp;#039;Was ist die beste Alternative?&amp;#039;&amp;#039;&amp;#039; Die wichtigste Frage lautet: &amp;#039;&amp;#039;&amp;#039;Welche Umgebung passt zu meinem Ziel, meinem Können und meiner Plattform?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= Entscheidungsbaum =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ziel&lt;br /&gt;
! Empfehlung&lt;br /&gt;
! Begründung&lt;br /&gt;
|-&lt;br /&gt;
| Ich möchte kreative Grafiken, Animationen und Experimente im Browser erstellen.&lt;br /&gt;
| [[p5.js]]&lt;br /&gt;
| Sehr schneller Einstieg, ideal für Creative Coding.&lt;br /&gt;
|-&lt;br /&gt;
| Ich möchte ein 2D-Spiel mit Leveln, Menüs und wenig Code erstellen.&lt;br /&gt;
| [[GDevelop]] oder [[Construct 3]]&lt;br /&gt;
| Visuelle Werkzeuge, Ereignissysteme und Exportmöglichkeiten.&lt;br /&gt;
|-&lt;br /&gt;
| Ich möchte mit JavaScript echte Webspiele programmieren.&lt;br /&gt;
| [[Phaser]]&lt;br /&gt;
| Mehr Spielstruktur als p5.js, aber weiterhin codebasiert.&lt;br /&gt;
|-&lt;br /&gt;
| Ich möchte eine freie professionelle Engine lernen.&lt;br /&gt;
| [[Godot]]&lt;br /&gt;
| Open Source, 2D, 3D, Szenensystem, gute Projektstruktur.&lt;br /&gt;
|-&lt;br /&gt;
| Ich möchte professionelle 3D-Apps oder Spiele entwickeln.&lt;br /&gt;
| [[Unity]]&lt;br /&gt;
| Sehr mächtig, viele Plattformen, große professionelle Nutzung.&lt;br /&gt;
|-&lt;br /&gt;
| Ich unterrichte Anfängerinnen und Anfänger in der Unterstufe.&lt;br /&gt;
| [[Scratch]] oder [[MakeCode Arcade]]&lt;br /&gt;
| Niedrige Einstiegshürde, Blöcke, schneller Lernerfolg.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= Beispiel: Von p5.js zur Game-Engine =&lt;br /&gt;
&lt;br /&gt;
Stell Dir vor, Du hast in [[p5.js]] ein einfaches Ausweichspiel gebaut. Eine Figur bewegt sich mit den Pfeiltasten, Hindernisse fallen von oben herab, und bei einer Kollision ist das Spiel vorbei. In [[p5.js]] musst Du dafür viele Dinge selbst programmieren: Positionen, Geschwindigkeiten, Trefferprüfung, Neustart, Punktestand und Bildschirme.&lt;br /&gt;
&lt;br /&gt;
In [[GDevelop]] würdest Du Objekte anlegen, Bewegungen als Verhalten definieren und Ereignisse für Kollisionen erstellen. In [[Phaser]] würdest Du Szenen, Sprites und Physik verwenden. In [[Godot]] würdest Du eine Player-Szene, eine Hindernis-Szene und eine Hauptszene bauen. In [[Unity]] würdest Du GameObjects, Komponenten und C#-Skripte einsetzen.&lt;br /&gt;
&lt;br /&gt;
Das gleiche Spiel kann also in verschiedenen Werkzeugen entstehen. Der Unterschied liegt in der Arbeitsweise. [[p5.js]] trainiert stark das direkte Programmieren. [[GDevelop]] trainiert das Denken in Ereignissen. [[Phaser]] trainiert professionelle Webspiel-Architektur. [[Godot]] und [[Unity]] trainieren den Umgang mit großen Engines.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= Medien zum Einstieg =&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== p5.js kennenlernen ==&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|https://www.youtube.com/watch?v=yPWkPOfnGsw|500|center}}&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== GDevelop kennenlernen ==&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|https://www.youtube.com/watch?v=XxeD_2nTyHI|500|center}}&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== Phaser kennenlernen ==&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|https://www.youtube.com/watch?v=2roOcOSTeuM|500|center}}&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== Godot kennenlernen ==&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|https://www.youtube.com/watch?v=4EhcfH_YpNg|500|center}}&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= Interaktive Aufgaben =&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== Quiz: Teste Dein Wissen ==&lt;br /&gt;
&lt;br /&gt;
{{MC}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Wofür eignet sich p5.js besonders gut?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(Creative Coding und schnelle visuelle Experimente)&lt;br /&gt;
(!Komplexe 3D-Open-World-Spiele ohne zusätzliche Werkzeuge)&lt;br /&gt;
(!Automatische Veröffentlichung im App Store)&lt;br /&gt;
(!Professionelle Konsolenentwicklung ohne Exportprozess)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Welche Alternative ist besonders geeignet, wenn Du mit JavaScript bessere 2D-Webspiele entwickeln willst?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(Phaser)&lt;br /&gt;
(!Scratch)&lt;br /&gt;
(!Unity)&lt;br /&gt;
(!MakeCode Arcade)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Welche Engine ist frei und quelloffen und eignet sich für 2D und 3D?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(Godot)&lt;br /&gt;
(!PowerPoint)&lt;br /&gt;
(!Excel)&lt;br /&gt;
(!Audacity)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Welche Alternative arbeitet stark mit Ereignissen und eignet sich gut für No-Code-Spielentwicklung?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(GDevelop)&lt;br /&gt;
(!p5.js)&lt;br /&gt;
(!WordPress)&lt;br /&gt;
(!LibreOffice Writer)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Was ist ein wichtiger Vorteil einer Game-Engine gegenüber p5.js?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(Sie bietet oft Editor, Szenen, Export und Spielwerkzeuge)&lt;br /&gt;
(!Sie verhindert jedes Debugging)&lt;br /&gt;
(!Sie braucht nie Speicherplatz)&lt;br /&gt;
(!Sie ersetzt jede kreative Idee automatisch)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Welche Umgebung ist besonders geeignet für junge Lernende und Blockprogrammierung?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(Scratch)&lt;br /&gt;
(!Phaser)&lt;br /&gt;
(!Unity Hub)&lt;br /&gt;
(!Visual Studio Code)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Welches Werkzeug ist besonders mächtig für professionelle 3D-Produktionen, aber auch komplexer?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(Unity)&lt;br /&gt;
(!p5.js)&lt;br /&gt;
(!MakeCode Arcade)&lt;br /&gt;
(!TurboWarp)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Was bedeutet Export im Zusammenhang mit Spielentwicklung?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(Ein Projekt für eine Zielplattform ausgeben)&lt;br /&gt;
(!Eine Figur schneller laufen lassen)&lt;br /&gt;
(!Eine Farbe in eine andere Farbe umwandeln)&lt;br /&gt;
(!Eine Datei löschen)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Warum ist Phaser für Webspiele oft strukturierter als p5.js?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(Es bietet Szenen, Sprites, Asset-Loader und Physik)&lt;br /&gt;
(!Es funktioniert nur ohne Code)&lt;br /&gt;
(!Es kann keine Bilder verwenden)&lt;br /&gt;
(!Es ist ausschließlich für Textverarbeitung gedacht)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Welche Aussage ist am treffendsten?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(Die beste Alternative hängt vom Ziel des Projekts ab)&lt;br /&gt;
(!p5.js ist in jedem Fall schlechter als alle Alternativen)&lt;br /&gt;
(!Unity ist immer die einfachste Lösung)&lt;br /&gt;
(!Scratch ist eine professionelle 3D-Engine)&lt;br /&gt;
&lt;br /&gt;
{{E}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== Memory ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;memo-quiz&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| p5.js || Creative Coding&lt;br /&gt;
|-&lt;br /&gt;
| GDevelop || No-Code-Spielentwicklung&lt;br /&gt;
|-&lt;br /&gt;
| Phaser || JavaScript-Game-Framework&lt;br /&gt;
|-&lt;br /&gt;
| Godot || Open-Source-Engine&lt;br /&gt;
|-&lt;br /&gt;
| Construct || Browser-Editor&lt;br /&gt;
|-&lt;br /&gt;
| Unity || C Sharp&lt;br /&gt;
|-&lt;br /&gt;
| MakeCode Arcade || Blockprogrammierung&lt;br /&gt;
|-&lt;br /&gt;
| Scratch || Visuelle Lernumgebung&lt;br /&gt;
|}&lt;br /&gt;
{{E}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== Drag and Drop ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;lueckentext-quiz&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
! Ordne die richtigen Begriffe zu.&lt;br /&gt;
! Thema&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;p5.js&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| Kreative Programmierung im Browser&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;GDevelop&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| No-Code-Entwicklung mit Ereignissen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Phaser&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| JavaScript-Framework für 2D-Webspiele&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Godot&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| Freie Engine für 2D und 3D&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Unity&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| Professionelle Engine für viele Plattformen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Scratch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| Blockbasierter Einstieg in Programmierung&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
{{E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== Kreuzworträtsel ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;kreuzwort-quiz&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Phaser || Welches JavaScript-Framework eignet sich besonders für 2D-Webspiele?&lt;br /&gt;
|-&lt;br /&gt;
| Godot || Welche freie Open-Source-Engine ist stark für 2D und 3D?&lt;br /&gt;
|-&lt;br /&gt;
| Unity || Welche bekannte Engine wird häufig für professionelle 3D-Projekte genutzt?&lt;br /&gt;
|-&lt;br /&gt;
| Scratch || Welche visuelle Lernumgebung arbeitet mit Blöcken?&lt;br /&gt;
|-&lt;br /&gt;
| Canvas || Welche Zeichenfläche wird häufig im HTML5-Umfeld verwendet?&lt;br /&gt;
|-&lt;br /&gt;
| Export || Wie nennt man das Ausgeben eines Projekts für eine Zielplattform?&lt;br /&gt;
|}&lt;br /&gt;
{{E}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== LearningApps ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;iframe&amp;gt; https://learningapps.org/index.php?s=Alternativen+zu+p5js &amp;lt;/iframe&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== Lückentext ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;quiz display=simple&amp;gt;&lt;br /&gt;
{&amp;#039;&amp;#039;&amp;#039;Vervollständige den Text.&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|type=&amp;quot;{}&amp;quot;}&lt;br /&gt;
[[p5.js]] eignet sich besonders gut für { Creative Coding }. Eine vollständige { Game-Engine } bietet oft Werkzeuge für Szenen, Objekte und Export. [[Phaser]] ist besonders interessant, wenn Du bei { JavaScript } bleiben und bessere Webspiele entwickeln möchtest. [[GDevelop]] arbeitet stark mit { Ereignissen } und ist deshalb für No-Code-Projekte geeignet. [[Godot]] ist eine freie Engine für { 2D } und 3D. [[Unity]] ist sehr mächtig, aber auch deutlich { komplexer } als p5.js. Für junge Lernende ist { Scratch } oft ein guter Einstieg in Programmierlogik. Die beste Wahl hängt immer vom { Projektziel } ab.&lt;br /&gt;
&amp;lt;/quiz&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= Offene Aufgaben =&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
=== Leicht ===&lt;br /&gt;
# [[Vergleichstabelle]]: Erstelle eine kleine Tabelle mit drei Werkzeugen aus diesem aiMOOC und notiere jeweils einen Vorteil und eine Grenze.&lt;br /&gt;
# [[Mini-Interview]]: Frage zwei Mitschülerinnen oder Mitschüler, ob sie lieber mit Code, Blöcken oder einem visuellen Editor arbeiten würden, und fasse die Antworten zusammen.&lt;br /&gt;
# [[Projektidee]]: Beschreibe eine einfache Spielidee und entscheide, ob Du sie eher mit p5.js, GDevelop oder Scratch bauen würdest.&lt;br /&gt;
# [[Begriffskarte]]: Zeichne eine Begriffskarte mit den Wörtern Bibliothek, Framework, Game-Engine, Export, Szene und Sprite.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
=== Standard ===&lt;br /&gt;
# [[Werkzeugtest]]: Probiere p5.js und ein weiteres Werkzeug aus und dokumentiere, welches Dir beim Einstieg leichter fällt.&lt;br /&gt;
# [[Prototyp]]: Plane ein kleines Ausweichspiel mit Spielfigur, Hindernis, Punktestand und Game-Over-Bildschirm. Entscheide begründet, welches Werkzeug Du nutzen würdest.&lt;br /&gt;
# [[App-Planung]]: Entwickle eine Checkliste für ein Lernspiel, das später auf einem Smartphone funktionieren soll.&lt;br /&gt;
# [[Videorecherche]]: Sieh Dir ein Tutorial zu GDevelop, Phaser oder Godot an und notiere fünf Dinge, die gegenüber p5.js anders gelöst werden.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
=== Schwer ===&lt;br /&gt;
# [[Migrationskonzept]]: Wähle ein bestehendes p5.js-Projekt und beschreibe, wie Du es nach Phaser, GDevelop oder Godot übertragen würdest.&lt;br /&gt;
# [[Entscheidungsmatrix]]: Bewerte p5.js, GDevelop, Phaser, Godot und Unity nach Lernkurve, Export, Kosten, 2D, 3D, App-Tauglichkeit und Unterrichtseinsatz.&lt;br /&gt;
# [[Didaktisches Konzept]]: Entwirf eine Unterrichtsstunde, in der eine Lerngruppe entscheidet, welches Werkzeug für ein bestimmtes Spielprojekt am besten geeignet ist.&lt;br /&gt;
# [[Technische Analyse]]: Vergleiche die Begriffe Szene, Sprite, Objekt, Kollision und Asset in zwei verschiedenen Entwicklungsumgebungen und erkläre Gemeinsamkeiten und Unterschiede.&lt;br /&gt;
&lt;br /&gt;
{{:Offene Aufgabe - MOOC erstellen}}&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= Lernkontrolle =&lt;br /&gt;
&lt;br /&gt;
# [[Begründete Werkzeugwahl]]: Du sollst ein Lernspiel für Tablets entwickeln. Vergleiche p5.js, GDevelop und Godot und begründe, welches Werkzeug Du wählen würdest.&lt;br /&gt;
# [[Transferaufgabe]]: Ein p5.js-Spiel wird unübersichtlich, weil alle Spiellogiken in einer Datei stehen. Erkläre, wie Szenenmanagement in Phaser oder Godot helfen könnte.&lt;br /&gt;
# [[Unterrichtsszenario]]: Eine Klasse hat kaum Programmiererfahrung, soll aber in zwei Wochen ein spielbares 2D-Spiel präsentieren. Entwickle eine Empfehlung mit Begründung.&lt;br /&gt;
# [[App-Strategie]]: Ein Team möchte ein Spiel zuerst im Browser testen und später als App veröffentlichen. Beschreibe Chancen und Risiken verschiedener Werkzeuge.&lt;br /&gt;
# [[Kritische Bewertung]]: Erkläre, warum die Aussage „Unity ist besser als p5.js“ zu ungenau ist. Formuliere eine differenzierte Antwort.&lt;br /&gt;
# [[Projektreflexion]]: Beschreibe, welche Kompetenzen Lernende bei p5.js stärker üben und welche Kompetenzen sie bei einer Game-Engine stärker üben.&lt;br /&gt;
# [[Vergleich von Lernwegen]]: Vergleiche den Lernweg Scratch → p5.js → Phaser mit dem Lernweg Scratch → GDevelop → Godot. Für welche Lernenden passt welcher Weg besser?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= OERs zum Thema =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;iframe&amp;gt; https://de.m.wikipedia.org/wiki/P5.js &amp;lt;/iframe&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;iframe&amp;gt; https://de.m.wikipedia.org/wiki/Spiel-Engine &amp;lt;/iframe&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;iframe&amp;gt; https://de.m.wikipedia.org/wiki/JavaScript &amp;lt;/iframe&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;iframe&amp;gt; https://de.m.wikipedia.org/wiki/Godot_(Spiel-Engine) &amp;lt;/iframe&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= Weblinks und Quellen für die Weiterarbeit =&lt;br /&gt;
&lt;br /&gt;
# [[p5.js]]: https://p5js.org/&lt;br /&gt;
# [[GDevelop]]: https://gdevelop.io/&lt;br /&gt;
# [[Phaser]]: https://phaser.io/&lt;br /&gt;
# [[Godot]]: https://godotengine.org/&lt;br /&gt;
# [[Construct 3]]: https://www.construct.net/&lt;br /&gt;
# [[Unity]]: https://unity.com/&lt;br /&gt;
# [[MakeCode Arcade]]: https://arcade.makecode.com/&lt;br /&gt;
# [[Scratch]]: https://scratch.mit.edu/&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= Links =&lt;br /&gt;
&lt;br /&gt;
{| align=center&lt;br /&gt;
{{:D-Tab}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Alternativen zu p5.js]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# [[p5.js]]&lt;br /&gt;
# [[Creative Coding]]&lt;br /&gt;
# [[JavaScript]]&lt;br /&gt;
# [[Game-Engine]]&lt;br /&gt;
# [[GDevelop]]&lt;br /&gt;
# [[Phaser]]&lt;br /&gt;
# [[Godot]]&lt;br /&gt;
# [[Construct 3]]&lt;br /&gt;
# [[Unity]]&lt;br /&gt;
# [[Scratch]]&lt;br /&gt;
# [[MakeCode Arcade]]&lt;br /&gt;
# [[App-Entwicklung]]&lt;br /&gt;
# [[2D-Spiel]]&lt;br /&gt;
# [[3D-Spiel]]&lt;br /&gt;
# [[Export]]&lt;br /&gt;
# [[No-Code]]&lt;br /&gt;
# [[Low-Code]]&lt;br /&gt;
# [[HTML5]]&lt;br /&gt;
# [[WebGL]]&lt;br /&gt;
# [[Canvas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Informatik]]&lt;br /&gt;
[[Kategorie:Medienbildung]]&lt;br /&gt;
[[Kategorie:Programmieren]]&lt;br /&gt;
[[Kategorie:Spielentwicklung]]&lt;br /&gt;
[[Kategorie:App-Entwicklung]]&lt;br /&gt;
[[Kategorie:JavaScript]]&lt;br /&gt;
[[Kategorie:Digitale Bildung]]&lt;br /&gt;
= aiMOOC-Projekte =&lt;br /&gt;
{{TM}}&lt;br /&gt;
[[Kategorie:AI_MOOC]] [[Kategorie:GPT aiMOOC]]&lt;/div&gt;</summary>
		<author><name>Glanz</name></author>
	</entry>
</feed>