From d91c3478b83d0a257e7a6c3ce38aef5c3547dd5c Mon Sep 17 00:00:00 2001 From: debiankaios Date: Sun, 6 Nov 2022 20:08:32 +0100 Subject: [PATCH] Began and finished games.md --- _de/games/games.md | 95 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 _de/games/games.md diff --git a/_de/games/games.md b/_de/games/games.md new file mode 100644 index 0000000..b6cd719 --- /dev/null +++ b/_de/games/games.md @@ -0,0 +1,95 @@ +--- +title: Spiele kreieren +layout: default +root: ../.. +idx: 7.1 +--- + +## Einleitung + +Die Stärke von Minetest ist die Möglichkeit, Spiele einfach zu entwickeln, ohne +dass man eigene Voxel-Grafiken, Voxel-Algorithmen oder ausgefallenen +Netzwerkcode erstellen muss. + +- [Was ist ein Spiel?](#was-ist-ein-spiel) +- [Spiel-Verzeichnis](#spiel-verzeichnis) +- [Spielübergreifende Kompatibilität](#spielübergreifende-kompatibilität) + - [API-Kompatibilität](#api-kompatibilität) + - [Gruppen und Aliase](#gruppen-und-aliase) +- [Sie sind dran](#sie-sind-dran) + +## Was ist ein Spiel? + +Spiele sind eine Sammlung von Mods, die zusammen ein kohärentes Spiel ergeben. +Ein gutes Spiel hat zum Beispiel ein einheitliches Grundthema und eine Richtung, +es könnte ein klassischer Crafter Miner mit harten Survival-Elementen sein, oder +ein Weltraum-Simulationsspiel mit einer Steampunk-Ästhetik. + +Spieldesign ist ein komplexes Thema und eigentlich ein ganzes Fachgebiet. +Es würde den Rahmen des Buches sprengen, es auch nur kurz zu besprechen. + +## Spiel-Verzeichnis + +Die Struktur und der Ort eines Spiels werden nach der Arbeit mit Mods ziemlich +vertraut erscheinen. +Spiele befinden sich in einem Spielverzeichnis, z. B. `minetest/games/foo_game`. + + foo_game + ├── game.conf + ├── menu + │   ├── header.png + │   ├── background.png + │   └── icon.png + ├── minetest.conf + ├── mods + │   └── ... mods + ├── README.txt + └── settingtypes.txt + +Das einzige, was erforderlich ist, ist ein Mods-Ordner, aber `game.conf` und `menu/icon.png` +werden empfohlen. + +## Spielübergreifende Kompatibilität + +### API-Kompatibilität + +Es ist eine gute Idee zu versuchen, so viel API-Kompatibilität mit Minetest Game +zu erhalten wie geeignet, da dies die Portierung von Mods in ein anderes Spiel +sehr viel einfacher macht. + +Der beste Weg, um die Kompatibilität mit einem anderen Spiel zu erhalten, ist die +API-Kompatibilität mit allen Mods, die denselben Namen tragen. Das heißt, wenn +eine Mod den gleichen Namen wie eine andere Mod verwendet, auch wenn sie von +einem Drittanbieter stammt, sollte sie eine kompatible API haben. +Wenn ein Spiel zum Beispiel eine Mod mit dem Namen `doors` enthält, +dann sollte sie die gleiche API haben wie `doors` in Minetest Game. + +Die API-Kompatibilität eines Mods ist die Summe der folgenden Punkte: + +* Lua-API-Tabelle - Alle dokumentierten/angekündigten Funktionen in der globalen Tabelle, die den gleichen Namen haben. + Zum Beispiel, `mobs.register_mob`. +* Registrierte Nodes/Items - Das Vorhandensein von Items. + +Kleine Fehler sind nicht so schlimm, wie z.B. das Fehlen eines zufälligen Nutzens +Funktion zu haben, die eigentlich nur intern verwendet wurde, aber größere Brüche +in Bezug auf Kernfunktionen sind sehr schlecht. + +Es ist schwierig, die API-Kompatibilität mit einer ekelhaften Mega-God-Mod wie +*default* in Minetest Game aufrechtzuerhalten. In diesem Fall sollte das Spiel keine Mod namens +default enthalten. + +Die API-Kompatibilität gilt auch für andere Mods und Spiele von Drittanbietern, +Stellen Sie also sicher, dass alle neuen Mods einen eindeutigen Mod-Namen haben. +Um zu überprüfen, ob ein Mod-Name bereits vergeben ist, suchen Sie ihn z.B. auf +[content.minetest.net](https://content.minetest.net/). + +### Gruppen und Aliase + +Gruppen und Aliase sind beides nützliche Werkzeuge, um die Kompatibilität zwischen Spielen zu gewährleisten, +da sie es ermöglichen, dass die Namen von Gegenständen in verschiedenen Spielen unterschiedlich sein können. Gemeinsame Nodes +wie Stein und Holz sollten Gruppen haben, um das Material zu kennzeichnen +Es ist auch eine gute Idee, Aliasnamen von Standardnodes zu direkten Ersetzungen zu erstellen. + +## Sie sind dran + +* Erstelle ein einfaches Spiel, bei dem der Spieler durch das abbauen spezieller Blöcke Punkte erhält.