.[ ČeskéHry.cz ].
Formát mapového souboru v Dungeonu

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
gindar



Založen: 05. 10. 2007
Příspěvky: 86

PříspěvekZaslal: 18. únor 2008, 16:00:22    Předmět: Formát mapového souboru v Dungeonu Odpovědět s citátem

Hoj, rád bych se zeptal jak byste definovali formát souboru mapy ve hře typu Dungeon master apod.
Řekněme, že mapa je složena z tiles (dlaždice) a má rozměr 5x5 (což je málo) soubor mapy by mohl vypadat třeba takto:
kód:
00010
01110
01110
01210
00000
Kde každé číslo znamená jiný obrázek zdi (0 - zeď, 2- stůl). To je úplně neprimitivnější způsob.
Ale když chci definovat pro každé políčko: severní stěnu, jižní, východní, západní, podlahu, strop ... dále nějaký objekt (stůl); pak by jedno políčko mohlo vypadat takto:
kód:
N,S,W,E,F,C
A objekty a ostatní byb byli definovány bokem (x/y poloha a číslo objektu):
kód:
X,Y,OBJECT
Toto mě zatím napadlo. Strýc Google mi toho moc něřekl nebo jsem špatně hledal. Jak na to, dělali jste něco podobného? Budu rád za nápady či linky.

Je docela vhodné, aby mapy měly malou velikost, takže žádné xml atp.

Díky.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
OndraSej



Založen: 28. 07. 2007
Příspěvky: 767
Bydliště: Brandýs nad Labem

PříspěvekZaslal: 18. únor 2008, 17:04:38    Předmět: Odpovědět s citátem

Ten jednopismenkovy format s rozsirujicimi informacemi by asi sel - je to celkem prehledne a dobre se to bude editovat. A pokud jeste zvolis nejaka rozumna pismenka - typu '#' pro stenu, ' ' pro volny prostor, tak to bude i celkem nazorne. Jediny problem tam budes mit s orientaci tech veci, pokud nebudou uplne symetricke - treba toho typu, ze 'kasna na stene' - pokud je by to bylo ve stylu:
kód:
###   #
##k   k
###   #

tak vlevo to je jasne, bude orientovana do mistnosti. Ale jak to udelat v pravem pripade? Nebo tu kasnu dat jako predmet a popsat ji pod tim? Nicmene tenhle problem budes muset resit u vseho, co neni presne ctvercove symetricke. Ten format N,S,... uz mi moc prehledny neprijde, to uz by mozna byla lepsi nejaka bitova maska (a napsat si k tomu editor).
Dalsi vec - co kdyz budes chtit dat na steny ruzne textury? Jednopismenkovym kodem ti asi brzo dojdou pismenka pro ruzne typy sten, takze bude potreba nejaky mene prehledny, vicepismenkovy. A napsat si na to graficky editor.

Jinak XML, yaml a podobne bych nezatracoval - velikost sice muze narustat, ale zas na druhou stranu zvysuji prehlednost, rozsiritelnost (mas tam komentare, muzes pridavat i dalsi informace, ktere sice soucasna verze ignoruje, ale az je zacnes podporovat, tak nebude potreba komplet predelat parser) a predevsim: uz jsou na to hotove a odladene knihovny, vcetne reseni problemu a vychytavek s formatovanim a specialnimi znaky. A kdyz se ti mapa zda moc velka, tak ji jde s hrou distribuovat zazipovanou a rozbalit jenom pri editaci a nacteni do engine.
_________________
http://trionteam.net
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
gindar



Založen: 05. 10. 2007
Příspěvky: 86

PříspěvekZaslal: 18. únor 2008, 17:42:18    Předmět: Odpovědět s citátem

Děkuji, nápad je to dobrý, ale problémem je, že těch ruzných objektů může být třeba 1000, jak jsi psal. A taky mapy nebude třeba editovat ručně, bude k nim editor. Takže nemusí být přehledné vůbec. Také by to měl být nebinární soubor.
Ještě jednou díky, ale myslím něco trochu složitějšího (komplexnějšího).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Weny Sky



Založen: 28. 07. 2007
Příspěvky: 241

PříspěvekZaslal: 18. únor 2008, 22:27:22    Předmět: Odpovědět s citátem

a proc by ten soubor mel byt nebinarni?
A jinak pouzij XML a vykasli se na nejake ukladani po tilesech, ale proste v tom editoru si tu mapu zanalyzuj a uz tam misto deseti policek reprezentujici zed v rade hod objekt : zed od A do B . Rychlej tu mapu pak nactes i kdyz to nebude binarni soubor, nebudes mit nejake omezeni blbych pismenek. Budes moct pridavat obejktum dodatecne dalsi atributy ... ma to same vyhody. A hlavne pomoci zlib pak to vysledne XML muzes i komprimovat, takze to bude hodne male i kdyz to bude XML.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
gindar



Založen: 05. 10. 2007
Příspěvky: 86

PříspěvekZaslal: 18. únor 2008, 23:04:07    Předmět: Odpovědět s citátem

Protože JavaScript neumí s bin. daty moc pracovat.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
frca



Založen: 28. 07. 2007
Příspěvky: 1558

PříspěvekZaslal: 19. únor 2008, 01:07:15    Předmět: Odpovědět s citátem

Šlo by to ukládat ne plošně, ale jenom místa, kde jsou zdi, předměty apod (souřadnice a nějaká další data, jako na které straně čtverečku ta zeď je, info o textuře...). Pak už je jedno, jestli je to textové, nebo binární. Tak, jak chceš ukládat objekty, by šlo ukládat všechno.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 19. únor 2008, 09:11:47    Předmět: Odpovědět s citátem

gindar napsal:
Protože JavaScript neumí s bin. daty moc pracovat.


ale s XML umi.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Ladis



Založen: 18. 09. 2007
Příspěvky: 1536
Bydliště: u Prahy

PříspěvekZaslal: 19. únor 2008, 10:47:39    Předmět: Odpovědět s citátem

Dodam, ze podle me pro pouziti v JavaScriptu je XML nejlepsi reseni. Obzvlaste v IE7 je JS totiz extremne pomaly (nekolikanasobne oproti rychlosti ve FF a IE6), takze jakekoli rucni zpracovani dat zpusobi az nekolikasekundove prodlevy. Kdezto pro XML jen volate prislusne funkce DOMu.
_________________
Award-winning game developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Chjoodge



Založen: 30. 07. 2007
Příspěvky: 145

PříspěvekZaslal: 19. únor 2008, 10:56:49    Předmět: Odpovědět s citátem

Já doporučuju textový soubor, který vyfotíš do png a zabalíš do zipu. Protože proč dělat věci jednoduše, když to jde složitě.

Používat na mapy ve čtverečkovém dungeonu XML je asi nejsložitěšjší cesta, jakou by sis mohl vybrat. Pokud to má být celkem jednoduchý dungeon, tak by textový soubor, kde co znak, to políčko, měl stačit a výhoda je, že s ním budeš mít dost jednoduchou práci.

Na složitější dungeon už by se o chytřejším formátu uvažovat mělo, ale vzhledem k tomu, že to chceš psát v JS, tak to asi nic moc složitého být nemá.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 19. únor 2008, 11:24:55    Předmět: Odpovědět s citátem

viz vyse - ondrasej textovy format navrhnul a byl poslan do rite ze to je malo slozite

jinak co se tyce JS, tak tam prave je zpracovani textu pomale, kdezto to XML bude relativne svizne
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
gindar



Založen: 05. 10. 2007
Příspěvky: 86

PříspěvekZaslal: 19. únor 2008, 13:08:36    Předmět: Odpovědět s citátem

Chjoodge napsal:
Já doporučuju textový soubor, který vyfotíš do png a zabalíš do zipu. Protože proč dělat věci jednoduše, když to jde složitě.

Very Happy
Chjoodge napsal:
Na složitější dungeon už by se o chytřejším formátu uvažovat mělo, ale vzhledem k tomu, že to chceš psát v JS, tak to asi nic moc složitého být nemá.

Právěže bude složitější. Kupodivu. Smile
rezna napsal:
jinak co se tyce JS, tak tam prave je zpracovani textu pomale, kdezto to XML bude relativne svizne

Začínám si říkat, že to XML možná bude vhodné. Zkusím to. OndraSej nebyl poslán do ř*tě. Fakt ne.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Chjoodge



Založen: 30. 07. 2007
Příspěvky: 145

PříspěvekZaslal: 19. únor 2008, 16:19:02    Předmět: Odpovědět s citátem

Jestli to má být složitější a jestli JS s XML umí, tak to XML je docela fajn. Ale nepříjemně se v něm ty mapy budou psát - asi si budeš chtít udělat alespoň základní editor.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
gindar



Založen: 05. 10. 2007
Příspěvky: 86

PříspěvekZaslal: 19. únor 2008, 21:26:18    Předmět: Odpovědět s citátem

Chjoodge napsal:
Jestli to má být složitější a jestli JS s XML umí, tak to XML je docela fajn. Ale nepříjemně se v něm ty mapy budou psát - asi si budeš chtít udělat alespoň základní editor.


Jojo to jsem říkal, že bude editor. Mapy se budou dělat jen v editoru, který je už teď dost propracovaný (klikátko).

Mmch, oč tu jde. "Engine", editor i základní formát map už mám. Ale přemýšlel jsem zda by to šlo lépe, proto tento topic.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Vorisaj



Založen: 08. 02. 2008
Příspěvky: 29
Bydliště: Chomutov

PříspěvekZaslal: 5. březen 2008, 14:21:13    Předmět: Odpovědět s citátem

Já teďkons pracuju na 2D RPG hře podobné Dungeon Master. Bude obsahovat i map editor, který ukládá mapu do texťáku ve formě:
------
pcp
rcr
pcp
------
kde 'p' je pole, 'c' je cesta a 'r' je řeka. Dělám to v delphi a je to poměrně jednoduché. Jestli chceš můžu ti poslat beta verzi toho editoru, kde funguje to zapisování do txt.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna