Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Miroslav Mazal:20.8.2018 11:33

Zároveň s C# se učím Unity. Spousty věcí lze pochopit z tutoriálů, ale některé věci nemůžu nikde najít a rád bych se zeptal na princip, jak se to dělá. Například se všude věnují vytváření pohybových her ve 2D, ale nikde nemůžu najít, jak se dělá hra tahová. Například typu Člověče nezlob se. Tam se pravděpodobně pracuje s tím, že se musí scéna rozdělit na pole a každé políčko se nějak pojmenovat. Ale nevím....

Zkusil jsem: Hledal jsem na všech možných stránkách Unity i ITnetwork...

Chci docílit: Rád bych po malinkých krůčcích zároveň s učením i něco vytvářel, a také chápal, co v učení je pro mne nejdůležitější.

 
Odpovědět
20.8.2018 11:33
Avatar
Odpovídá na Miroslav Mazal
Luboš Běhounek Satik:20.8.2018 11:56

Reprezentaci herního stavu si napiš vlastní, Unity pak jen používej na znázornění toho stavu.
Figurky normálně můžeš mít GameObjecty, který budou mít normálně grafický znázornění a komponentu, která bude akorát tý figurce nastavovat pozici podle toho stavu hry.

Nahoru Odpovědět
20.8.2018 11:56
https://www.facebook.com/peasantsandcastles/
Avatar
Martin Petrovaj
Tvůrce
Avatar
Odpovídá na Miroslav Mazal
Martin Petrovaj:20.8.2018 16:45

Dead simple (aj keď asi nie úplne najlepšia) možnosť napr. pri Člověče nezlob se je mať usporiadané pole / zoznam vektorov so súradnicami herných políčok a po ťahu niektorej figúrky jej proste nastaviť pozíciu toho políčka, na ktorom má podľa pravidiel hry byť (ideálne aj s nejakou animáciou tej figúrky, ale to tu teraz neriešime).

Pri iných ťahových stratégiách, napr. Civilization, XCOM, atď. by si pracoval na trochu podobnom princípe, len by si nemal 1D (alebo nejaké jagged) pole, ale skôr maticu či niečo podobné. Pribúdajú ti tým ďalšie úlohy, napr. zložitejšie prepočítavanie trasy či hľadanie susedných políčok, ale toto je asi najbežnejší spôsob, akým sa takéto hry, kde je plocha nejaký grid riešia.

Pravdaže, nemusíš mať pole vektorov, ale nejakých vlastných objektov so všetkými informáciami o políčku, ktoré potrebuješ (okrem pozície / súradníc napr. či a kým je obsadené a pod.), môžeš si to podľa podmienok konkrétnej hry zjednodušiť a zoptimalizovať, ale princíp už asi chápeš.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
20.8.2018 16:45
if (this.motto == "") { throw new NotImplementedException(); }
Avatar
Odpovídá na Martin Petrovaj
Miroslav Mazal:21.8.2018 7:53

Díky za odpověď. Máš ještě představu o těch maticích? Co to zhruba je?

 
Nahoru Odpovědět
21.8.2018 7:53
Avatar
Petr Langer
Člen
Avatar
Odpovídá na Miroslav Mazal
Petr Langer:21.8.2018 8:28

Matice je v podstatě 2D pole.

 
Nahoru Odpovědět
21.8.2018 8:28
Avatar
Odpovídá na Miroslav Mazal
Michal Haňáček:21.8.2018 11:27

Mirku, dám ti radu. Na Unity se vykašli, je zatím vysoce nad tvoje možnosti. Pokud chceš dělat hru, dělej nějakou kde se naučíš to co se učíš - v tvém případě základy. Napiš si třeba piškvorky, je tam použitá matice, nějaká logika, můžeš si vymyslet nová pravidla, nebo nějaká vylepšení. Až budou piškvorky, můžeš třeba navázat na zdejší OOP seriál a nějak tu arenu rozšířit o nějaké speciální vlastnosti postav, předměty které můžou postavy nosit, ty předměty mají také vlastnosti, atd. Piš cokoli, ale zaměř se na to co potřebuješ a hlavně napiš si to sám. Unity ti pomůže právě s těmi efekty, s pohybem, fyzikou ale rozhodně tě nenaučí základy, na Unity máš dle mého ještě kupu času.

Nahoru Odpovědět
21.8.2018 11:27
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
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 6 zpráv z 6.