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