Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

71

09.06.2016, 07:05

Sieht doch schon mal ganz gut aus der Raum-Editor.
Bleibt es nur ein Editor für Räume oder hast du vor den noch Auszubauen, auch in anbetracht das ein Level Editor ebenfalls viel Zeit in Anspruch nimmt?


Danke! Geplant ist das ganze zu erweitern, sodass ich Umgebungsobjekte (Truhen, Kisten, etc.) auch hinzufügen kann. Damit steigt das Teil dann schon fast zum Level Editor auf ^^

72

16.06.2016, 11:23

Inzwischen hat sich wieder bisschen was getan. Die nützlichste Änderung ist, dass vorgefertige Räume nun bei der Dungeonerstellung zufällig (um Vielfache von 90°) gedreht und entlang der x- und/oder y-Achse gespiegelt werden können. Das ganze sieht dann so aus:

Editor:

(Link)


Ingame:

(Link)



(Link)



(Link)



(Link)

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

73

16.06.2016, 14:55

Mal eine kurze Frage, auch wenn die etwas spät kommt. Warum baust du deinen eigenen Mapeditor? Wäre es nicht einfacher gewesen einen fertigen wie zum Beispiel Tiled zu benutzen? Da sind einfach viele viele Features schon fertig, soweit ich weiß kannst man eigene Exporter für ein eigenes Format implementieren oder halt eben das Editoreigene TMX Format nutzen. Das würde doch vermutlich eine Menge Arbeit sparen und vermutlich auch beim Räume erstellen die Arbeit erleichtern.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

74

16.06.2016, 15:06

Mal eine kurze Frage, auch wenn die etwas spät kommt. Warum baust du deinen eigenen Mapeditor? Wäre es nicht einfacher gewesen einen fertigen wie zum Beispiel Tiled zu benutzen? Da sind einfach viele viele Features schon fertig, soweit ich weiß kannst man eigene Exporter für ein eigenes Format implementieren oder halt eben das Editoreigene TMX Format nutzen. Das würde doch vermutlich eine Menge Arbeit sparen und vermutlich auch beim Räume erstellen die Arbeit erleichtern.


Im Unterschied zu gängigen Editoren wie Tiled setze ich nicht explizit bestimmte Tiles sondern nur "dort soll Boden sein", "dort steht eine Truhe". Wo dann zum Schluss Wände stehe bestimmt das Spiel nachdem es alle Räume und Gänge in's Dungeon eingesetzt hat. Ebenfalls bestimmt es selber (zufällig), welche genaue Kacheltextur verwendet wird. Was der Editor also tun soll bzw. schon tut ist, dass ich damit die einzelnen Räume grob beschreibe - das eigentliche Dungeon wird später mit einer zufälligen Auswahl der Räume erzeugt. Ein gängiger Editor war mir dazu zu statisch.

Außerdem: Letztens habe ich meinen Editor auch so ergänzt, dass ich Lichtquellen setzen und das Lighting System an- und abschalten kann - dabei verwendet es direkt die eigentliche Spielengine, was unnötige Arbeit erspart :)

Jar

Treue Seele

Beiträge: 197

Wohnort: Lübeck

Beruf: Softwareentwickler

  • Private Nachricht senden

75

17.06.2016, 13:53

Tiled u. Kollisionen

Mal eine kurze Frage, auch wenn die etwas spät kommt. Warum baust du deinen eigenen Mapeditor? Wäre es nicht einfacher gewesen einen fertigen wie zum Beispiel Tiled zu benutzen? Da sind einfach viele viele Features schon fertig, soweit ich weiß kannst man eigene Exporter für ein eigenes Format implementieren oder halt eben das Editoreigene TMX Format nutzen. Das würde doch vermutlich eine Menge Arbeit sparen und vermutlich auch beim Räume erstellen die Arbeit erleichtern.

Die Frage habe ich mir auch schon gestellt, kann man mit Tiled denn auch einzelne Räume erstellen, diese drehen usw. und später zu einer eigenen tmx zusammenfügen.

Aber eine andere Frage, wie handhabst du Kollisionen in deinem Spiel?
Hat jeder Raum fest definierte statische Kacheln auf die geprüft wird. Oder hast du eine zusätzliche Ebene in der die Wände usw. eingezeichnet werden?

76

17.06.2016, 14:03

Aber eine andere Frage, wie handhabst du Kollisionen in deinem Spiel?
Hat jeder Raum fest definierte statische Kacheln auf die geprüft wird. Oder hast du eine zusätzliche Ebene in der die Wände usw. eingezeichnet werden?


Jede Kachel hat einen bestimmten Terrain-Typ, welcher begehbar oder unbegehbar ist. Dazu besitzt jeder Kachel eine Liste von Objekt-IDs, welche sich dort befinden. Bewegt sich ein Objekt, wird seine ID dann in die Objekt-Liste der Zielkachel verschoben. Davor wird auf Kollision geprüft: Die Liste der Zielkachel wird durchgegangen und geprüft, ob das sich bewegende Objekt mit dem Terrain oder einem der Objekte im Ziel kollidiert. Wenn ja, wird die Bewegung nicht durchgeführt. Da ich im Editor nur Bodenkacheln setze, ist jede so gesetzte Kachel begehbar, bis ich ein kollidierbares Objekt (z.B. einen Tisch) auf die Kachel setze.

Bei Geschossen (Pfeile, Feuerbälle etc.) funktioniert die Kollision etwas anders. Diese haben einen Kollisionsradius mit dem ich "klassisch" (also via Abstand) auf Kollisionsgegner prüfe (das dann häufiger als die Objekt-Kollision).

Jar

Treue Seele

Beiträge: 197

Wohnort: Lübeck

Beruf: Softwareentwickler

  • Private Nachricht senden

77

17.06.2016, 15:10

Stimmt jetzt wo ich die Videos nochmal angeschaut habe, ist mir erst aufgefallen, dass die Spielfigur sich von Kachel zu Kachel bewegt... verrückt :) Dann ist die Kollisionsabfrage mit dem Terrain natürlich um einiges einfacher. Dachte du verwendest Box2D für Wände und Objekte.

Habe in meinem Projekt gerade ähnliche Konzepte geplant, nur ist dort Steuerung nicht auf Kacheln beschränkt, auch wenn eine Kachelmap verwendet wird :)

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

78

17.06.2016, 15:19

Die Frage habe ich mir auch schon gestellt, kann man mit Tiled denn auch einzelne Räume erstellen, diese drehen usw. und später zu einer eigenen tmx zusammenfügen.

Das geht mehr oder weniger. Du könntest im Prinzip deinen Raum als Karte erstellen und exportieren. Dein Importer müsste dann dafür sorgen dass der Raum auch gespiegelt, gedreht und so weiter vorhanden ist.
Theoretisch hätte Glocke auch Tiled nutzen können. Man könnte ja Pseudo-Tiles benutzen die beim Import weiter verarbeitet werden. Nach dem Motto, TileXYZ ist TerraintypXYZ und so weiter. Dann müsste der Importer aber recht viel Arbeit übernehmen was vermutlich aktuell direkt im Editor implementiert ist. Weiterhin kann man dann im Editor nur sehr abgespeckt sehen wie so eine Karte am Ende aussieht da halt wie gesagt beim laden der Karte sehr viel passieren würde. Da hätte man dann im Prinzip ein Plugin schreiben können was das alles in Tiled übernimmt. Stellt sich dann halt nur die Frage wie sinnvoll ein Editor wie Tiled noch ist wenn die wichtigsten Features irgendwie selbst implementiert werden und der restliche Funktionsumfang vom Editor gar nicht wirklich genutzt wird. Deshalb war es vermutlich schon sinnvoll da einfach etwas eigenes zu bauen.
Bewegung von Kachel zu Kachel ist an sich sinnvoll für ein Roguelike. Ist halt wie beim Originalspiel. Ansonsten wäre die Kollision aber auch kein Problem. Man kann ja festlegen welche Kacheln kollidieren und sich dennoch unabhängig von den Kacheln bewegen. Wenn die Kollision der Objekte nicht pro Kachel festgelegt ist, dann wird das ganze etwas komplexer. Aber selbst dann sind Tilemaps oft noch sinnvoll, zumindest solange die Welt nur aus solchen Kacheln besteht.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

79

18.06.2016, 10:01

Bewegung von Kachel zu Kachel ist an sich sinnvoll für ein Roguelike. Ist halt wie beim Originalspiel.

Das in Kombination damit, dass die Blickrichtung auf 8 Möglichkeiten limitiert ist, ermöglich extrem einfach den "Fokus" des Objekts (welcher Gegner, welche Truhe etc.) zu bestimmen..

Stimmt jetzt wo ich die Videos nochmal angeschaut habe, ist mir erst aufgefallen, dass die Spielfigur sich von Kachel zu Kachel bewegt... verrückt :)

Hehe, joa :) Und bisher fühlt es sich für mich nicht "zu starr" an - ich denke da werde ich diesen diskreten Bewegungsansatz beibehalten ^^

80

22.06.2016, 12:19

So, der Debugging-/Test-Modus steht... das sollte die zukünftige Entwicklung etwas vereinfachen :)


(Link)

Werbeanzeige