# RPG-Welt Design



## The_S (16. Mai 2006)

Hi,

ich bastle gerade an einem RPG und bin am Überlegen wie ich die Levels/Karten/Welten abspeichere.

Prinzipiell hab ich mir das so gedacht, dass ich die Grafik und Daten zu den Welten in eine Datei schreibe und dann von einer Klasse interpretieren lasse. Nur was mach ich mit den Events (also Interaktion mit NPCs oder Gegenständen, ...)? Bau ich dafür auch eine Datei (und wenn ja, wie interpretiere ich die am Besten, da ich ja ständig unterschiedliche Events benötige) oder doch für jedes Level eine Klasse, die für die Events sorgt!?

Hoffe mein Problem ist einigermaßen nachvollziehbar, da ich momentan nicht so viel Zeit zum Schreiben habe (Berufsschulcomputer und der Lehrer sitzt mir im Nacken  ).


----------



## Curse (16. Mai 2006)

2D oder 3D?
Wenn 2D würd ich dir zu soetwas wie eine Tileengine raten.
Alte (SNES)RPGs wie Terranigma, Lufia, Secret of Mana etc. basieren darauf (kennst sicher den RPG Maker? Dort ist es ähnlich)
Hast zum Beispiel ein Bild mit den Tiles, das du immer nach Quadraten gliederst und jedes Quadrat hat dann ne Zahl.
So ist dann 0 z.b. Gras, 1 ist Erde und 2 ein Mauerstück.
In die Map speicherst du dann
a) verwendetes Tileset
b) die einzelnen Tiles
0002112000
0002112000
Wär dann links rechts Gras, ein Mauerstück und dazwischen Erde oO
Dazu kommt noch Kollisionsabfrage und ob es über oder unter den NPCs etc. sein soll.
(Zu einer Tileengine lässt sich prima ein eigener Leveleditor schreiben)

Soviel zur Gestaltung der Maps. Events bin ich derzeit überfragt, soweit bin ich auch noch nicht ^^

Gibt bestimmt auch bessere und elegantere Lösungen, dass ist halt die, die ich kenne. Bin gespannt auf andere Antworten, gerade von denen die wirklich viel Ahnung haben


----------



## The_S (16. Mai 2006)

2D.

So wie du das beschreibst wird das auch in etwa momentan realisiert. Mir geht es aber mehr darum, wie ich am Besten Ereignisse einbaue und wie diese behandelt werden. Aber danke schonmal für deinen Post  !


----------



## 0xdeadbeef (16. Mai 2006)

Die meisten Rollenspiele und seit Halflife auch die meisten Egoshooter haben eine Skript-Engine und zumindest Teile der Spiellogik bzw. von "festverdrahteten" Events sind geskriptet.
Wobei Skripte nicht per se eine komplexe Skriptsprache erfordern. Auch diverse Ballerspiele auf dem C64 hatten bereits einfache Bewegungsskripte für die Gegner.

In eigentliche Spiel mußt Du dann halt Hooks vorsehen, an denen Skripte aufegrufen werden können. z.B. in der Hauptschleife (für Timer-getriggerte Skripte), bei der Kollision mit NPCs oder beim Betreten von Triggerflächen auf dem Spielfeld usw.

Für die Entwicklung ist es sicher vorteilhaft, die Skripte wirklich als einzelne Textdateien abzulegen. Später kann man sie ja in ein Jar packen oder as auch immer.


----------



## The_S (16. Mai 2006)

Hm, hört sich so spontan sehr komplex an. Werd mich mal bei Gelegenheit dran versuchen. Falls jemand Beispiele für mich hat, wie sowas aussehen kann, währe ich demjenigen sehr verbunden .

Aber thx erstmal an 0xdeadbeef


----------

