![Alt-Text](https://i.stack.imgur.com/kCKOp.gif)
Viele Spiele verwenden eine Open-Source-Anwendung namens Mappy . Es hat ein eigenes Format, das mehrere Ebenen und andere Funktionen unterstützt. Möglicherweise möchten Sie einer bestimmten Kachel mehrere Datentypen zuordnen.
Ich denke, dass der In-Game-Level-Editor-Ansatz sehr verbreitet ist. Der Entwicklermodus ist ein Insider-Bericht darüber, wie die Levels für ein sehr beliebtes Spiel, Braid, entworfen wurden. Das Spiel hat einen Entwicklungsmodus, in dem Level erstellt / geändert werden können. Die Ebenen selbst haben eine Kollisionsebene, die mit grafischen Kacheln bedeckt ist:
![Alt-Text](https://i.stack.imgur.com/mG24d.jpg)
Ich persönlich empfehle es nicht, aber ein 2D-Demoprogramm für Allegro verwendete eine Art 3D-Modellierungsformat und konvertierte es in ein benutzerdefiniertes In-Game-Format. Der Vorteil war, dass sehr glatte, durchgehende Oberflächen modelliert werden konnten. (Es war ein 2D-Physik-basiertes Skateboard-Spiel.)
Um die Level-Daten des Allegro-Demospiels zu bearbeiten, verwenden wir das kostenlose Open-Source-Tool Blender. Sie erhalten es hier:
http://blender.org
Hier sind Schritt für Schritt Anweisungen, wie es funktioniert:
1) Legen Sie die Datei ademo_export.py in Ihrem Blender-Skriptordner ab. Es ist das Exportskript, das vom .blend-Format in das vom Demospiel verwendete .txt-Format konvertiert. Unter Unix lautet der Pfad:
~ / .blender / scripts / ademo_export.py
2) Laden Sie den .blend File Blender. Geben Sie unter Unix Folgendes aus dem Verzeichnis mit der Datei level.blend ein:
Mixer -w level.blend
(Das -w ist die Verwendung von Fenstermodi, die ich bevorzuge.)
3) Bearbeiten Sie die Ebene. Im Menü unter
Hilfe -> Skripte Hilfe Browser -> Exportieren -> Allegro Demo Game Level
Hier finden Sie einige nützliche Tipps.
4) Speichern Sie die Datei (verwenden Sie vor dem Festschreiben die Komprimierung). Exportiere es als .txt aus dem Export-Menü und wähle Allegro Demo Game Level.
5) Aktualisiere level.dat mit level.txt, das neue Level sollte im Spiel erscheinen.