Aus Das deutschsprachige Scratch-Wiki

(Weitergeleitet von Modifikation)

Unter Modifikation (oft abgekürzt mit Mod (mehrdeutig)) versteht man in Scratch eine Art Weiterentwicklung der Scratch IDE (Entwicklungsumgebung). Diese Mods erweitern es um Fähigkeiten wie, z.B. bei dem Mod BYOB ("Build Your Own Blocks") um die Möglichkeit, eigene Blöcke zu erstellen. Sie sind (wie Scratch selber) kostenlos erhältlich und können meist normale Scratch Dateien importieren. Oft ist der Wiederimport in Scratch wegen neuen Funktionen, wie beispielsweise mehr Blöcken, jedoch nicht mehr möglich.

Was bringt mir eine Modifikation?

Die meisten Modifikationen bieten neue Funktionen, wie etwa neue Blöcke, das erstellen eigener Blöcke, Plugins, etc. Es gibt auch Modifikationen, bei denen die Grundfunktionalität von Scratch entfernt wurde und nur die IDE verwendet wird. Diese Modifikationen dürfen nicht sich selbst als "Scratch" Identifizieren. Außerdem dürfen Projekte solcher Modifikationen nicht auf der offiziellen Scratch Website veröffentlicht werden.

Es gibt allerdings Scratch Modifikationen, welche den Namen Scratch tragen dürfen, und bei denen es erlaubt ist, damit erstellte Projekte auf der Scratch Website zu veröffentlichen. Diese Modifikationen sind meistens Portierungen auf andere Plattformen und dürfen keine großen Änderungen beinhalten.

Da es nicht erlaubt ist, Projekte, die mit Modifikation mit großen Änderungen erstellt worden sind, auf der offiziellen Scratch Website zu veröffentlichen, sollte man sich vorher gut überlegen, ob es sich wirklich auszahlt, eine solche Modifikation zu verwenden. Wenn man nur Funktionen und Blöcke verwendet, die in Scratch enthalten sind, zahlt es sich in den meisten Fällen nicht aus, eine solche Modifikation zu verwenden.

Projekte von Mods auf der offiziellen MIT-Seite zu veröffentlichen war, ist und wird auch nie möglich sein. Trotzdem versuchen (wie im nächsten Abschnitt beschrieben) die Modder, Methoden zu finden, die das leichte Teilen von Projekten im Internet ermöglichen.

Das Veröffentlichen eines Projektes einer Modifikation im Internet

In aufwendigeren Modifikationen wie Panther oder BYOB versucht man immer, das Veröffentlichen von Projekten im Internet zu ermöglichen. So werden in diesem Abschnitt einige kreative Beispiele für derartige Bemühungen aufgezeigt.

Panther

Man kann dem Panther Team ein Projekt als Anhang von einer Mail schicken. Sie stellen das Projekt dann auf ihre Website. Dort gibt es zwar keinen Player, aber Projekte können manuell heruntergeladen und anschließend in Panther abgespielt werden.

Snap!

Im BYOB Nachfolger Snap! kann man wie bei Scratch Projekte online bearbeiten. Der Befehlsumfang ist größer als bei Scratch, ansonsten verhalten sich die Befehle weitgehend gleich. Projekte können auch veröffentlicht werden sodass andere sie vom Snap!-Server starten können, allerdings gibt es noch keine öffentliche Seite auf dem man veröffentlichte Projekte auffinden kann.

Modshare

Modshare ist eine externe Website, die das Hochladen, Betrachten und Downloaden von Projekten verschiedener Modifikationen (darunter BYOB, Panther und Bingo) erlaubt. Das ganze Communitysystem ist dem von Scratch nachempfunden. Für das Abspielen der Projekte benutzt es eine frühe Beta des Flashplayers (v.23), die leider noch einige gravierende Bugs hat. Zudem werden nicht alle Blöcke der Mods vollständig unterstützt, was bedeutet, dass man manche Projekte ohnehin herunterladen muss.

Explore Share

Die Scratch Modifikation Explore hatte bis Version 3.2 einen Onlinedienst namens "Explore Share", welches das schnelle Hochladen und Teilen von Projekten ins Internet ermöglichte. Da der Dienst selbst nur ein Explore Projekt war und deshalb nur sehr unzuverlässig funktionierte, wurde er mit Version 3.3 eingestellt.

Verbreiten auf anderen Seiten

Es ist natürlich auch möglich, sein Projekt auf anderen Seiten (wie Internetforen) zu veröffentlichen. Dabei wird das Projekt meistens kompiliert.

Selbständiges Hosten der Projekte

Des weiteren gibt es die (jedoch sehr Aufwendige) möglichkeit des selbständigen Hosten eines Projektes. Dabei werden häufig Hostingdienstes in Anspruch genommen, es besteht jedoch auch die möglichkeit sein Projekt selbst zu Hosten.

Unterscheidungsmöglichkeiten von Modifikationen

Modifikationen kann man Grundsätzlich in 3 verschiedene Typen unterscheiden; hier sind diese 3 Typen aufgezählt und deren Unterschiede beschrieben.

Typ 1: Scratch 1 basierte Modifikationen

Typ 1 Modifikationen basieren auf Scratch 1.x oder den Scratch 0.x Prototypen. Scratch 1 wurde in Squeak implementiert. Diese Modifikationen benötigen zum ausführen eine kompatible Implementierung einer Squeak Virtuellen Maschine wie z.B. Cog oder die Squeak VM.

Bekannte Scratch 1 Modifikationen: BYOB, Chirp, Panther, Bingo und Explore.

Typ 2: Scratch 2 basierte Modifikationen

Typ 2 Modifikationen basieren auf Scratch 2.x, welches in Flash implementiert wurde. Diese Modifikationen benötigen zum Ausführen eine Implementierung eines Flash Interpreters wie z.B. Shumway, Lightspark oder den Adobe Flash Player.

Bekannte Scratch 2 Modifikationen: Float, ZappedTech!.

Typ 0: Nicht auf Scratch basierende Modifikationen

Typ 0 Modifikationen sind eigentlich keine Modifikationen, sondern (Re-)Implementierungen von Scratch, die nicht auf Scratch basieren. Diese Modifikationen werden nur als solche bezeichnet, um klarzustellen, dass diese zu Scratch sehr ähnlich oder sogar identisch sind. Da Typ 0 Modifikationen nicht auf Scratch basieren, ist es teilweise schwer, Typ 0 Modifikationen von nicht-Modifikationen zu unterscheiden, weshalb mindestens einer dieser Punkte erfüllt werden muss, damit eine Typ 0 Modifikation auch als solche anerkannt wird:

  • Kompatibilität mit Scratch Projekten und exportierten Objekten
  • Zu Scratch ähnliche oder identische Benutzeroberfläche
  • Zu Scratch ähnliche oder Identische "Engine"

Bekannte Typ 0 Modifikationen: Snap!.

Weitere Unterscheidungsmöglichkeiten

Hier eine kurze Auflistung weiterer Unterscheidungsmöglichkeiten von Scratch Modifikationen:

  • Wie viele Änderungen wurden durchgeführt?
  • Welche Änderungen wurden durchgeführt? (Portierungen, Bugfixes, neue Funktionen, entfernen von bereits in Scratch vorhandenen Funktionen etc.)
  • Darf die Modifikation den Namen "Scratch" tragen? (Falls nur geringfügige Änderungen gemacht wurden, darf die Modifikation sich selbst als "Scratch" Identifizieren)

Wer kann alles eine Modifikation erstellen?

Im Prinzip jeder. Die einzige Voraussetzung dafür jedoch ist, dass man sich mit Smalltalk und Squeak (für Scratch 1 Modifikationen), ActionScript und Flash (für Scratch 2 Modifikationen) oder einer anderen beliebigen Programmiersprache und Plattform (für eine Typ 0 Modifikation) gut auskennt.

Was muss ich beim erstellen einer Modifikation beachten?

Erstmal solltest du dir überlegen, welche(n) Zweck(e) dein Mod erfüllen soll. Hier wären ein paar gute Beispiele:

  • Scratch um neue Blöcke/Funktionen erweitern
  • Die IDE von Scratch für eine andere Programmiersprache erweitern
  • Scratch auf eine andere Plattform portieren
  • Fehler in Scratch beheben (Bugfixes)

Du solltest dir einen guten, leicht einprägsamen und möglichst nicht anstößigen Namen suchen. Achte aber darauf, dass dieser Name noch nicht verwendet wird. Falls du aber nur kleine Veränderungen an Scratch durchführst (z.B. Bugfixes oder Portierungen), ist es dir erlaubt, den Namen Scratch weiterhin zu verwenden.

Außerdem solltest du nicht wahllos verschiedene Funktionen von anderen Modifikation übernehmen (einfach den Quellcode kopieren), ohne den Ersteller dieser Modifikation vorher zu Fragen, ob dieser damit einverstanden ist. Es spricht zwar Grundsätzlich nichts dagegen, aber es könnte sonst in einem Streit mit dem Ersteller der Modifikation ausarten.

Noch dazu sind die für den Quellcode geltenden Lizenzbedingungen und die Scratch Trademark Policy zu beachten, falls man seinen Mod auf Scratch 1 oder 2 aufbaut.

Vorschlag: Eigenes Forum

Es wird schon seit längerer Zeit von der Modder Community gefordert, in der Abteilung "Advanced Topics" innerhalb der Englischsprachigen Foren eine Unterabteilung "Scratch Modifications" einzurichten, da die Mutterabteilung mit den Austausch über Modifikationen und all den anderen Themen, die in die Abteilung passen, mittlerweile förmlich überflutet wurde und somit deutlich an Übersichtlichkeit eingebüßt hat.

Siehe auch



Code zum Einbinden ins Forum:
[wiki=de:Modifikationen]Modifikationen[/wiki]
Cookies helfen uns bei der Bereitstellung von Das deutschsprachige Scratch-Wiki. Durch die Nutzung von Das deutschsprachige Scratch-Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.