Began and finished games.md
This commit is contained in:
parent
3b7e8b2a03
commit
d91c3478b8
95
_de/games/games.md
Normal file
95
_de/games/games.md
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
---
|
||||||
|
title: Spiele kreieren
|
||||||
|
layout: default
|
||||||
|
root: ../..
|
||||||
|
idx: 7.1
|
||||||
|
---
|
||||||
|
|
||||||
|
## Einleitung <!-- omit in toc -->
|
||||||
|
|
||||||
|
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.
|
Loading…
Reference in New Issue
Block a user