001 Einführung:
»Minetest« zu spielen ist schon aufregend genug. Aber wie wäre es, wenn man dem Spiel eigene Blöcke und Werkzeuge hinzufügen könnte? Unmöglich? Nein! »Minetest« ist modular aufgebaut und lässt sich leicht mit sogenannten »Mods« erweitern. Eine Übersicht der bereits verfügbaren »Mods« findet man in der »ContentDB«. Alle »Mods« sind in einer »Skriptsprache« namens »Lua« verfasst (genauer: in der Version »Lua 5.1«).
Diese Webseite zeigt Dir, wie man »Mods« für »Minetest« schreibt. Wir beginnen mit sehr einfachen Übungen, bei denen wir vor allem vorhandenen Quellcode kopieren, erforschen und ergänzen. Doch nach und nach steigern wir uns, bis wir am Ende eigene Erweiterungen mit selbstgeschriebenem Lua-Zeilen, Texturen und Sounds entwickeln können. Dabei lernst Du, wie man mit »Funktionen« arbeitet, »Verzweigungen« anlegt, verschiedene Variablentypen (u.a. »Tabellen«) verwendet, »Schleifen« einsetzt, mit »Regular Expressions« in »Zeichenketten« sucht und vieles mehr.
Diese Webseite zeigt Dir, wie man »Mods« für »Minetest« schreibt. Wir beginnen mit sehr einfachen Übungen, bei denen wir vor allem vorhandenen Quellcode kopieren, erforschen und ergänzen. Doch nach und nach steigern wir uns, bis wir am Ende eigene Erweiterungen mit selbstgeschriebenem Lua-Zeilen, Texturen und Sounds entwickeln können. Dabei lernst Du, wie man mit »Funktionen« arbeitet, »Verzweigungen« anlegt, verschiedene Variablentypen (u.a. »Tabellen«) verwendet, »Schleifen« einsetzt, mit »Regular Expressions« in »Zeichenketten« sucht und vieles mehr.
Diese Einführung beschränkt sich bewusst in vielen Fällen auf bestimmte Aspekte der Mod-Programmierung. Es fallen also einige Dinge unter den Tisch, an manchen Stellen sind die Formulierungen zugunsten der Verständlichkeit ungenau oder der größere Kontext wird verschwiegen. Möchtest Du es aber ganz genau wissen, schau Dir die offizielle »Minetest API Documentation« an.
Persönliche Anrede:
Entstanden sind diese Übungen im Rahmen eines Online-Fortbildung. Nach einer jeweils kurzen mündlichen Einführung in das Thema des Tages, sollten die Teilnehmer:innen eine oder mehrere Aufgaben lösen, die in eigenständigen »Etherpads« genauer beschrieben wurden; die Texte aus diesen »Etherpads« bilden die Grundlage dieser Webseite.
Da wir uns in der Online-Fortbildung auf »Du« als Anrede geeinigt hatten, wurde diese Anrede auch für die Texte der »Etherpads« übernommen und fanden so ebenfalls Eingang in diese Webseite.
Wer sich aber von der persönlichen Anrede gestört fühlt, ersetze alle entsprechenden Stellen durch ein förmlicheres »Sie«.
Da wir uns in der Online-Fortbildung auf »Du« als Anrede geeinigt hatten, wurde diese Anrede auch für die Texte der »Etherpads« übernommen und fanden so ebenfalls Eingang in diese Webseite.
Wer sich aber von der persönlichen Anrede gestört fühlt, ersetze alle entsprechenden Stellen durch ein förmlicheres »Sie«.
Voraussetzungen, um erfolgreich zu Programmieren:
Dies ist ein Kurs für Anfänger:innen. Programmierkenntnisse werden nicht vorausgesetzt, schaden aber natürlich auch nicht.
Du benötigst gute Kenntnisse im grundlegenden Umgang mit Deinem Betriebssystem (Ordner anlegen, Dateien kopieren & (um)benennen, Wechsel zwischen den Programmfenstern und Tabs eines Browsers). Du musst in der Lage und bereit sein, Programme wie »Minetest«, »Audacity«, »Gimp«, »ZeroBrane Studio« und weitere Software zu installieren.
Die meisten Anweisungen auf dieser Webseite sind für das Betriebssystem »Windows 11« geschrieben und beziehen sich auf »Minetest 5.0« oder neuer. Falls Du ein anderes Betriebssystem verwendest oder mit einer älteren Version von »Minetest« arbeitest, solltest Du Dich in der Lage fühlen, die Anweisungen für Dein System zu adaptieren.
Du benötigst gute Kenntnisse im grundlegenden Umgang mit Deinem Betriebssystem (Ordner anlegen, Dateien kopieren & (um)benennen, Wechsel zwischen den Programmfenstern und Tabs eines Browsers). Du musst in der Lage und bereit sein, Programme wie »Minetest«, »Audacity«, »Gimp«, »ZeroBrane Studio« und weitere Software zu installieren.
Die meisten Anweisungen auf dieser Webseite sind für das Betriebssystem »Windows 11« geschrieben und beziehen sich auf »Minetest 5.0« oder neuer. Falls Du ein anderes Betriebssystem verwendest oder mit einer älteren Version von »Minetest« arbeitest, solltest Du Dich in der Lage fühlen, die Anweisungen für Dein System zu adaptieren.
Wichtigste VORAUSSETZUNGEN beim Programmieren:
• Hohe Frustrationstoleranz • Bereitschaft englischsprachige Texte zu lesen • Eigenständiges Mit- und Weiterdenken • Systematisches Arbeiten
Gerade zu Beginn wirst Du Dich mit endlosen Fehlermeldungen – vor allem »Syntaxfehlern« – herumschlagen. Hier ein Komma vergessen, dort eine Klammer zu viel oder an der falschen Stelle und manchmal einfach nur vertippt. Hier heißt es durchhalten. Nach und nach bekommst Du ein Gefühl für die Sache und lernst diese Probleme zu umschiffen.
Studiere auch immer wieder den Quellcode von anderen Programmier:innen in der »ContentDB«. Man muss nicht immer alles neu erfinden. Schau, wie es die Besten machen und eifere ihnen nach.
Studiere auch immer wieder den Quellcode von anderen Programmier:innen in der »ContentDB«. Man muss nicht immer alles neu erfinden. Schau, wie es die Besten machen und eifere ihnen nach.
Aufbau der Webseite:
Die Webseite enthält zu Beginn einfache Kopier- und Ergänzungsaufgaben und entwickelt sich hin zu immer komplexeren Programmierungen mit vielen eigenständigen Anteilen. Viele Übungen bauen aufeinander auf, können jedoch mit etwas Geschick aus dem Kontext herausgelöst und als unabhängige Problemstellung bearbeitet werden.
Falls Du aber bisher wenig Erfahrung mit Programmierung hast, empfehlen wir, die Aufgaben in der Reihenfolge abzuarbeiten wie sie im Menü gelistet sind. So kannst Du Dein Wissen über die Mod-Programmierung systematisch aufbauen.
Lass Dich nicht davon irritieren, dass – vor allem in den ersten Übungen – bestimmte Passagen wie die Hinweis auf mögliche Fehlerquellen, auf systematisches Arbeiten oder den fälligen Neustart nach Änderungen im Quellcode immer wieder auftauchen. Diese Wiederholungen sollen Dich davor schützen, über typische Anfänger:innenfehler zu stolpern. Nach und nach wirst Du sicherer und nach und nach verschwinden diese Hinweise in den Übungen.
In den Texten wird immer wieder auf Themen und Begriffe verlinkt, deren ausführlichere Behandlung den Rahmen dieser Webseite sprengen würde. Folge nach eigenem Ermessen den Verweisen und lasse Dich inspirieren.
Falls Du aber bisher wenig Erfahrung mit Programmierung hast, empfehlen wir, die Aufgaben in der Reihenfolge abzuarbeiten wie sie im Menü gelistet sind. So kannst Du Dein Wissen über die Mod-Programmierung systematisch aufbauen.
Lass Dich nicht davon irritieren, dass – vor allem in den ersten Übungen – bestimmte Passagen wie die Hinweis auf mögliche Fehlerquellen, auf systematisches Arbeiten oder den fälligen Neustart nach Änderungen im Quellcode immer wieder auftauchen. Diese Wiederholungen sollen Dich davor schützen, über typische Anfänger:innenfehler zu stolpern. Nach und nach wirst Du sicherer und nach und nach verschwinden diese Hinweise in den Übungen.
In den Texten wird immer wieder auf Themen und Begriffe verlinkt, deren ausführlichere Behandlung den Rahmen dieser Webseite sprengen würde. Folge nach eigenem Ermessen den Verweisen und lasse Dich inspirieren.
Musterlösungen:
Zu jeder vorgestellten Übung gibt es am Ende der Webseite eine Musterlösung zum Herunterladen. Versuche jedoch zunächst immer, eine eigene Lösung für die gestellten Aufgaben zu finden.
Beachte: Da es sich um eine Musterlösung handelt, kann Dein Quellcode am Ende ganz anders aussehen. Das fängt schon bei den Ordner- und Dateinamen an, die Du für Deinen »Mod« gewählt hast. Solange Dein »Mod« aber funktioniert, ist eine Lösung so gut wie die andere ...
Beachte: Da es sich um eine Musterlösung handelt, kann Dein Quellcode am Ende ganz anders aussehen. Das fängt schon bei den Ordner- und Dateinamen an, die Du für Deinen »Mod« gewählt hast. Solange Dein »Mod« aber funktioniert, ist eine Lösung so gut wie die andere ...
Verwendung dieser Inhalte - auch in Auszügen - im Schulunterricht, der Jugendarbeit und im Bildungsbereich mit dem Vermerk »© multimediamobil – Region Süd« erlaubt.