Grafikaddressierung
Verfasst: 18.12.2010, 20:27
Hallo,
in meinem Rollenspielprojekt denke ich gerade über mein System zur Grafikaddressierung bzw. -identifizierung nach.
Grundsätzlich sehe ich zwei Möglichen Grafiken zu identifizieren:
1. Über den Dateinamen
2. Über einen Index-Wert
Beides hat seine Vor- und Nachteile. Dateinamen sind (in meinem Projekt) eindeutig und sagen in der Regel auch etwas über die Grafik aus (z.B. Cursor.gfx). Allerdings sind Grafik-Dateinamen in Bezug auf Maps ziemlich ungeeignet, wenn man für jedes Tile eine zugehörig Grafik addressieren möchte. Dafür finde ich Indizes besser geeignet. Mit Dateinamen müsste man hier auf eine Art Mapping zurückgreifen.
Für die Addressierung über Indizes muss man allerdings auch eine Art Mapping erzeugen. Dabei sehe ich drei Varianten:
1. Man speichert den Index in der Grafikdatei
2. Man nutzt eine externe (Mapping-)Datenbank
3. Man generiert Indizes aus dem Dateinamen und/oder anderen Dateieigenschaften
Variante 3 ist mir ehrlich gesagt zu kompliziert (gerade in Hinblick auf Eindeutigkeit).
Momentan nutze ich Variante 1 und sie funktioniert ganz gut. Mich stört nur die Unflexibilität. Denn wenn ich 10 Grafiken für Schwerter habe (Index 1-10) und 10 Grafiken für Heiltränke (11-20) und füge dann ein weiteres Schwert ein, dann muss ich dafür einen freien Grafikindex (z.B. 21) wählen. Bei vielen Grafiken wird das schnell unübersichtlich und lässt sich nur begrenzt gut dokumentieren. Außerdem erfordert es händische Arbeit und ich mag Automatismen.
Die Frage ist nun welcher Weg eine gute Flexibilität bietet und sich gut automatisieren lässt. Wie Addressiert ihr Grafiken und vorallem wie verknüpft ihr diese mit Items, Gegnern, GUI-Elementen usw? Klar habe ich Datenbanken in denen ich Items und Monstern einen Grafikindex zuweise, aber wie gesagt, eine Zahl besitzt sehr geringe Aussagekraft. Möglicherweise doch Grafiknamen/Dateinamen nutzen? Oder textuelle Identifier?
Habt ihr Ideen oder Ratschläge in diese Richtung?
Ein Problem was ich z.B. auch habe: Viele Tilegrafiken für Maps werden automatisch generiert (und das sind hunderte). Es ist wirklich mühsam die alle händisch mit Indizes zu versehen, damit ich sie im Map-Editor zuordnen kann. Und werden es mal mehr Tiles oder kommen manuell erstellte Tiles dazu, so ist es unschön, wenn dort Index-Lücken durch andere Grafiken entstehen oder sich Zuordnungen ändern.
Bislang umgehe ich die meisten Index-Zuordnungsprobleme, indem ich für bestimmte Grafikarten festgelegte Index-Bereiche vorgebe (z.B. 1-100 = GUI-Grafiken, 101-200 = Item-Icons, usw). Das ganze ist aber auch sehr statisch und wenn ich Pech habe brauche ich irgendwann mehr Grafiken eines Bereiches als ich Indizes zur Verfügung habe. Und dann kann ich die ganzen Automatismen eh knicken.
Für Hinweise wäre ich sehr dankbar.
in meinem Rollenspielprojekt denke ich gerade über mein System zur Grafikaddressierung bzw. -identifizierung nach.
Grundsätzlich sehe ich zwei Möglichen Grafiken zu identifizieren:
1. Über den Dateinamen
2. Über einen Index-Wert
Beides hat seine Vor- und Nachteile. Dateinamen sind (in meinem Projekt) eindeutig und sagen in der Regel auch etwas über die Grafik aus (z.B. Cursor.gfx). Allerdings sind Grafik-Dateinamen in Bezug auf Maps ziemlich ungeeignet, wenn man für jedes Tile eine zugehörig Grafik addressieren möchte. Dafür finde ich Indizes besser geeignet. Mit Dateinamen müsste man hier auf eine Art Mapping zurückgreifen.
Für die Addressierung über Indizes muss man allerdings auch eine Art Mapping erzeugen. Dabei sehe ich drei Varianten:
1. Man speichert den Index in der Grafikdatei
2. Man nutzt eine externe (Mapping-)Datenbank
3. Man generiert Indizes aus dem Dateinamen und/oder anderen Dateieigenschaften
Variante 3 ist mir ehrlich gesagt zu kompliziert (gerade in Hinblick auf Eindeutigkeit).
Momentan nutze ich Variante 1 und sie funktioniert ganz gut. Mich stört nur die Unflexibilität. Denn wenn ich 10 Grafiken für Schwerter habe (Index 1-10) und 10 Grafiken für Heiltränke (11-20) und füge dann ein weiteres Schwert ein, dann muss ich dafür einen freien Grafikindex (z.B. 21) wählen. Bei vielen Grafiken wird das schnell unübersichtlich und lässt sich nur begrenzt gut dokumentieren. Außerdem erfordert es händische Arbeit und ich mag Automatismen.
Die Frage ist nun welcher Weg eine gute Flexibilität bietet und sich gut automatisieren lässt. Wie Addressiert ihr Grafiken und vorallem wie verknüpft ihr diese mit Items, Gegnern, GUI-Elementen usw? Klar habe ich Datenbanken in denen ich Items und Monstern einen Grafikindex zuweise, aber wie gesagt, eine Zahl besitzt sehr geringe Aussagekraft. Möglicherweise doch Grafiknamen/Dateinamen nutzen? Oder textuelle Identifier?
Habt ihr Ideen oder Ratschläge in diese Richtung?
Ein Problem was ich z.B. auch habe: Viele Tilegrafiken für Maps werden automatisch generiert (und das sind hunderte). Es ist wirklich mühsam die alle händisch mit Indizes zu versehen, damit ich sie im Map-Editor zuordnen kann. Und werden es mal mehr Tiles oder kommen manuell erstellte Tiles dazu, so ist es unschön, wenn dort Index-Lücken durch andere Grafiken entstehen oder sich Zuordnungen ändern.
Bislang umgehe ich die meisten Index-Zuordnungsprobleme, indem ich für bestimmte Grafikarten festgelegte Index-Bereiche vorgebe (z.B. 1-100 = GUI-Grafiken, 101-200 = Item-Icons, usw). Das ganze ist aber auch sehr statisch und wenn ich Pech habe brauche ich irgendwann mehr Grafiken eines Bereiches als ich Indizes zur Verfügung habe. Und dann kann ich die ganzen Automatismen eh knicken.
Für Hinweise wäre ich sehr dankbar.