Problem mit Sprites

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

Tja, ich hab dich schon ganz richtig verstanden.
Aber wenn du es so machen willst, da kann ich nix tun.
Du wirst aber nie mit deinem Projekt weiterkommen, geschweige denn zu einem Ziel. Und die Kompatibilität wird da auch zu wünschen übrig lassen.
Denn nicht alle Grafikkarten können derart große Grafiken ab.
du musst immer noch das levelbitmap laden um es zu zerteilen, das können viele ältere grafikkarten nicht ab.

Wärest du so nennt und könntest eine kleine Map hochladen damit wir uns das angucken könnten?
I´a dllfreak2001
Benutzeravatar
Kurono
Beiträge: 44
Registriert: 28.10.2006 15:03
Wohnort: Mineral Town
Kontaktdaten:

Beitrag von Kurono »

:allright: ich glaube wir hatten uns beide falsch verstanden!
klar, du hast recht!!! ich muss ja trotzdem das ultra-bmp hochladen! das macht dann ja nichteinmal meine eigene grafikkarte mit, wenn ich eine größere als jetzt nehme! ich lade gleich mal die stadtmap hoch, im nächstem post ist sie dann zu sehen! oder ein link dorthin!

das mit dem laden der riesendatei hatte ich zum anfang nicht bedacht!
also komme ich echt nicht drum herum, mir einen eigenen editor zu basteln! /:->
gut, also machen wir einen neuanfang: wie sieht sowas im groben und ganzen aus? wie speichert man dann eine map und lädt sie wieder? ich schau mir dann nochmal bmp2map an, aber ich halte es für besser, wenn ich da irgendwie selber reinkomm, dann verstehe ich das schneller! aus vorgefertigten sachen werd ich meistens nicht schlau, schon allein, weil ja nun jeder seinen eigenen stil hat!

aber genug geredet, ich lad mal die map hoch!

--------------------------------------------------------------
so, hab nen edit gemacht:
http://gate68.wb4.de/bilder/mapcity.png
da ist das bild gespeichert, es ist natürlich verkleinert, sonst wäre es zu groß! :mrgreen:
aber so in etwa, sehen die maps aus.
wenn ihr wollt kann ich ja meine pläne\ziele hier noch reinstellen!
...nur wenn ihr wollt <)
PB 3.94
Harvest Moon 4Ever!
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

Na dann ist ja alles klar.

Zuerst solltest du das Wort "Layer" kennenlernen
bei der map von dir würde ein world layer (Boden und ander feste bestandteile) und ein transparent layer (Zäune und Pflanzen) Sinn machen.
(Hast du dir schon mal den RPG-Maker angeguckt?)

das worldlayer besteht aus standart sprites und das transparentlayer
aus transparent sprites.
das transp.layer liegt einfach über dem world layer.
Damit das klappt musst du deine Grafiken in zwei Klassen unterteilen:
-Normal
-Transparent

Jetzt zum LevelFormat:
in normaler Stringschreibweise, wenn du direkt bytes benutzt geht das noch eleganter
die ixe hier unten dienen als abgrenzung der einzelnen strings

Code: Alles auswählen

128x256 ; die Map wird 128tiles breit und 256tiles lang
2 ; 2 Bodengrafiken
Grafik\boden1.png
Grafik\boden2.png

2 ; 2 transparente Grafiken
Objekt\Zaun.png
Objekt\Busch.png

;128x256 Tile information für die boden map
0x0x0x0x0x1x1x1x1x1x1x0x0x0x1x1x1x0x0x0x1x1x1x...
0x0x0x1x1x1x1x1x1x1x0x0x1x......
.........

;128x256 Tile information für die transparenz map
0x0x0x0x1x0x1x1x1x2x2x1x1x2x0x0x0x0x0x...
0x0x0x1x1x1x1x1x1x1x0x0x1x......
.........

;128x256 Funktionen und Kollision
0x0x0x0x0x1x1x1x1x1x1x0x0x0x1x1x1x0x0x0x1x1x1x...
0x0x0x1x1x1x1x1x1x1x0x0x1x......
.........
;und so weiter
den Kramm lädst du dann per schleife in dein Spiel rein
Also erstmal die dimensionen der Map mit der auch die
2d-Array dimensioniert werden.
Dann lädst du nacheinander die benutzten Grafiken.
Und dann liest du nacheinander für jeweils jedes Array seine Mapdaten ein.

der editor funktioniert umgekehrt, erst ermittelst du die größe deiner map
(machst du sowieso wenn du eine neue map öffnest) dann schreibst du rein wieviele Grafiken jeweils für die Layer benutzt hast und wie die grafiken heißen oder den pfad.
Und dann schreibst du die Array von den verschieden Layern world, transparent, funktion (wo dein spieler startet, wo die gegner sind...)
rein.

Ist zwar keine Profimethode aber anschaulich.
Achja je nachdem kann es sein das du auch mehr layer brauchst,
wie zb die schatten von den Häusern.
I´a dllfreak2001
Benutzeravatar
Kurono
Beiträge: 44
Registriert: 28.10.2006 15:03
Wohnort: Mineral Town
Kontaktdaten:

An die Arbeit!

Beitrag von Kurono »

:mrgreen: Okay, ich werd mich gleich mal an die Arbeit machen!
Ich denke mal, das ich den programmablauf so schreibe:

tileset laden
aufsplitten und nummerieren
array für layer erstellen(geht auch ne structure?)

per editor tiles platzieren
im array die nummern der sprites speichern
array am ende auslagern als datei?

so in etwa werd ichs wohl machen, oder ist das falsch? :roll:
PB 3.94
Harvest Moon 4Ever!
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

jop structure ist gut.
soweit auch in Ordnung.

Ich denke so wirst du die maps auch wesentlich schneller zusammenbauen können als mit nem Malprogramm.
I´a dllfreak2001
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Mal ganz ehrlich, wenn Du dauernd sagst, es ist Dir zu "hart", einen Map-Editor zu schreiben - wie willst Du dann erst ein ganzes Spiel auf die Beine stellen?!
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
Kurono
Beiträge: 44
Registriert: 28.10.2006 15:03
Wohnort: Mineral Town
Kontaktdaten:

Beitrag von Kurono »

@ZeHa:
das klappt schon....
ich bin doch grad dabei einen map-editor zu bauen! ich weiß gar nicht was du hast! :mrgreen:

@dllfreak:
dann ist ja alles klar! bin schon dabei, die grundzüge des editors zu scripten
vor allem ist die methode ja auch viel schneller, weil sich wie gesagt, ja mindestens 50% der tiles wiederholen! z.b. normaler fussboden.
ich habe mir nur noch nicht angeschaut, wie man arrays auslagert, ich könnte sie eigentlich auch als strings in eine textdatei auslagern, oder? :)
dann würde ich die datei auf gleiche art und weise wieder ins array im game laden. (ich weiß, ich kann schlecht erklären, was ich meine :freak: )
PB 3.94
Harvest Moon 4Ever!
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> ich habe mir nur noch nicht angeschaut, wie man arrays auslagert

also hast du bmp2map nur benutzt, nicht angesehen?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

lol
dat bringt es jetzt auch nix.

das Beispiel oben nutzt Strings zum auslagern. Die daten liest du dann wieder mit dem Stringfield-Befehl ein.
Schau dir dazu die Hilfe an.
I´a dllfreak2001
Benutzeravatar
Kurono
Beiträge: 44
Registriert: 28.10.2006 15:03
Wohnort: Mineral Town
Kontaktdaten:

Beitrag von Kurono »

:) hab ich in der zwischenzeit schon gemacht, ist alles klar!
nochmal zu bmp2map: doch, ich habs mir schon angeschaut, aber ich komm da nicht ganz durch! ist aber auch egal, für mich ists immer besser, wenn ich das selber baue, dann versteh ichs besser!
das ist wie mit allen vorgefertigten sachen: rc-cars, fahräder, autos.... wenn man's selbst zusammenbaut, weiß man 100%tig, wie's funzt!
:allright:
PB 3.94
Harvest Moon 4Ever!
Antworten