Diskuze: 2D hra

C# .NET .NET (C# a Visual Basic) 2D hra American English version English version

Avatar
Rasta_Man
Člen
Avatar
Rasta_Man:

Ahoj hele mám takový dotaz, chtěl bych udělat hru ale nevím jestli mám vkládat objekty pomocí pole souřadnic nebo jako pole s hodnotami jako je 1,0,2,0 atd.

 
Odpovědět 14.4.2013 15:23
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Rasta_Man
Petr Nymsa:

Asi jsem nepochopil co potřebuješ. Mapu ? To stačí pomocí pole, kde třeba 0 bude voda, 1 zeď atd. Potom jestli chceš uložení třeba pozice hráče, tak si ho uložíš do txt, třeba jenom přes CSV... ale říkám, nevím přesně co požaduješ. Rozveď tvůj problém :)

Nahoru Odpovědět 14.4.2013 15:26
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Rasta_Man
Člen
Avatar
Odpovídá na Petr Nymsa
Rasta_Man:

No přesně to jsem myslel no. Ale nevěděl jsem zda bude lepší právě používat pole s hodnotami jako 0-voda, 1-zeď. Nebo jako třeba udělat pole kde zeď má např. souřadnice x-0,y-1. Doufám že jsi pochopil :)

 
Nahoru Odpovědět 14.4.2013 15:28
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Rasta_Man
Petr Nymsa:

Jo takhle. No možná i záleží na složitosti terénu. Ale asi bych to řešil čistě číselně..

Nahoru Odpovědět 14.4.2013 16:00
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Rasta_Man
David Čápka:

Udělej si pole i list. Pole na mapu a list na pohyblivé objekty.

Nahoru Odpovědět 14.4.2013 16:19
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Rasta_Man
Člen
Avatar
Rasta_Man:

Jo děkuji vám jsem se právě nemohl rozhodnout :)

Editováno 14.4.2013 16:27
 
Nahoru Odpovědět 14.4.2013 16:27
Avatar
paanoik
Člen
Avatar
paanoik:

Záleží od konkrétního modelu a velikosti mapy, zaplněnosti, potřebné rychlosti čtení.

Např. pokud budeš mít mapu 100000x100000 polí, který bude z 99% poušť, tak je zbytečný ji držet celou v paměti. Taky se zamysli, že jestli máš ty objekty všechny stejně velký.

Konkrétně naopak ukládání objektů do pole i se souřadnicemi tě donutí vytvořit si nějaký kolizní manažer, díky kterému budeš moci pak jednoduše kdykoliv přidat ty větší objekty, případně lepší operace s mapou.

 
Nahoru Odpovědět 14.4.2013 16:44
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na paanoik
David Čápka:

Iterovat mapou třeba 100x100 pokaždé, když se chci pohnout je opruz. To máš 10.000 objektů jen pro terén a musíš je projet všechny, aby jsi se podíval, co je okolo tebe. A to samé platí i pro další objekty, všichni se musí projet se všema. V 2D poli stačí kouknout na souřadnice, je to z časové složitosti konstantní operace. Kolize mezi pohyblivými objekty už bude hračka když jich bude na mapě pár set.

Nahoru Odpovědět  +1 14.4.2013 16:51
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
paanoik
Člen
Avatar
Odpovídá na David Čápka
paanoik:

Tam právě začínají ty finesy s mapou. Samotné bloky se pak jakoby odzoomují a vytvoří jejich zjednodušená reprezentace (pro pathfinding), což jde stromově řešit do nekonečna. Díky tomu vlastně i vykreslování mapy lze jednoduše (a efektivně) řešit výpěrem správných sektorů.

Ale jak jsem psal, záleží na přesném použití. Na 2D strategiích, pathfindingu a vůbec mapování, už mám něco naběháno, a každý z běžně používaných principů má svá pro i proti. Záleží od konkrétních požadavků.

 
Nahoru Odpovědět  +1 14.4.2013 16:56
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.