Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
gindar
Založen: 05. 10. 2007 Příspěvky: 86
|
Zaslal: 18. únor 2008, 16:00:22 Předmět: Formát mapového souboru v Dungeonu |
|
|
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:
A objekty a ostatní byb byli definovány bokem (x/y poloha a číslo objektu):
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 |
|
|
OndraSej
Založen: 28. 07. 2007 Příspěvky: 767 Bydliště: Brandýs nad Labem
|
Zaslal: 18. únor 2008, 17:04:38 Předmět: |
|
|
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:
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 |
|
|
gindar
Založen: 05. 10. 2007 Příspěvky: 86
|
Zaslal: 18. únor 2008, 17:42:18 Předmět: |
|
|
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 |
|
|
Weny Sky
Založen: 28. 07. 2007 Příspěvky: 241
|
Zaslal: 18. únor 2008, 22:27:22 Předmět: |
|
|
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 |
|
|
gindar
Založen: 05. 10. 2007 Příspěvky: 86
|
Zaslal: 18. únor 2008, 23:04:07 Předmět: |
|
|
Protože JavaScript neumí s bin. daty moc pracovat. |
|
Návrat nahoru |
|
|
frca
Založen: 28. 07. 2007 Příspěvky: 1558
|
Zaslal: 19. únor 2008, 01:07:15 Předmět: |
|
|
Š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 |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 19. únor 2008, 09:11:47 Předmět: |
|
|
gindar napsal: |
Protože JavaScript neumí s bin. daty moc pracovat. |
ale s XML umi. |
|
Návrat nahoru |
|
|
Ladis
Založen: 18. 09. 2007 Příspěvky: 1536 Bydliště: u Prahy
|
Zaslal: 19. únor 2008, 10:47:39 Předmět: |
|
|
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 |
|
|
Chjoodge
Založen: 30. 07. 2007 Příspěvky: 145
|
Zaslal: 19. únor 2008, 10:56:49 Předmět: |
|
|
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 |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 19. únor 2008, 11:24:55 Předmět: |
|
|
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 |
|
|
gindar
Založen: 05. 10. 2007 Příspěvky: 86
|
Zaslal: 19. únor 2008, 13:08:36 Předmět: |
|
|
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ě. |
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.
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 |
|
|
Chjoodge
Založen: 30. 07. 2007 Příspěvky: 145
|
Zaslal: 19. únor 2008, 16:19:02 Předmět: |
|
|
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 |
|
|
gindar
Založen: 05. 10. 2007 Příspěvky: 86
|
Zaslal: 19. únor 2008, 21:26:18 Předmět: |
|
|
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 |
|
|
Vorisaj
Založen: 08. 02. 2008 Příspěvky: 29 Bydliště: Chomutov
|
Zaslal: 5. březen 2008, 14:21:13 Předmět: |
|
|
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 |
|
|
|