Avatar
Kit
Redaktor
Avatar
Kit:

Během víkendu jsem shlédl pár tutoriálů na tvorbu RPG v Javě. Byl jsem silně znechucen z neobjektového přístupu autorů. Třídy plné "public", o kolekcích zřejmě autoři neslyšeli, obrázky v jedné třídě (místo u objektů), modifikace proměnných v jiných objektech apod.

Ano, výsledné programy jsou funkční, ale výsledný program působí velmi zmateně. Přidání dalších elementů do hry je pak dost komplikované, protože se kvůli jedné změně musí modifikovat příliš mnoho tříd.

To jsou všechny videotutoriály na webu tak špatné? Nebo jen mám smůlu při hledání? Máte někdo tip na něco kvalitního?

Odpovědět 29.4.2013 14:53
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:

Bohužel, v Javě je na webu strašně moc balastu, někdy najdu 100 řádkový kód a potom na to samé jinde 3 řádky. K čemu sháníš tutoriály? RPG hra není nic, co by nebylo ve tvých silách napsat a navrhnout na koleni a bude to určitě lépe, než bys našel.

Nahoru Odpovědět 29.4.2013 14:59
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
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

Konkrétně k ničemu. Jen chci tu Javu na něčem trénovat. Práci s textem sice už zvládám bravurně, ale s grafikou ještě tolik zkušeností nemám. Do OpenGL zatím jít nechci. Budu rád, když nejprve zvládnu 2D. Nejlépe se takové věci učí na blbostech a RPG se mi k tomuto účelu hodí právě pro svou jednoduchost.

To víš, že si už píšu vlastní podle svých pravidel, ale někde se musím dočíst nebo dokoukat, jak se příslušné knihovny používají.

Videotutoriál má i výhodu, že se zároveň trochu cvičím v Angličtině.

Nahoru Odpovědět  +1 29.4.2013 15:27
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:

Tenkrát jsi psal o tom pseudo 3D enginu v Javě, bude? :P

Nahoru Odpovědět 3.5.2013 9:07
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
Odpovídá na Kit
Luboš Běhounek (Satik):

Co jsi myslel tím
"obrázky v jedné třídě (místo u objektů)"?
Jakože bys chtěl uchovávat obrázky (textury) přímo u těch objektů?

Nahoru Odpovědět 3.5.2013 9:12
:)
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

Určitě bude, jen se k tomu musím nejprve dopracovat.

Nahoru Odpovědět 4.5.2013 9:29
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
Kit:

Samozřejmě. Děláš to snad jinak?

Nahoru Odpovědět 4.5.2013 9:30
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Luboš Běhounek (Satik):

Takže když budeš mít na kreslení třeba 50 stejných stromů, tak každý strom u sebe bude mít nakopírovanou texturu stromu? Tomu říkám efektivní práce s pamětí :)
Nehledě na to, že to bude pomalé kvůli velkému množství draw callů (pro každý objekt se musí změnit textura, ze které se kreslí, což má VELKOU režii).

Ano, dělám to úplně jinak, mám nějakého správce textur a objekt jen má u sebe uloženo, jakou texturu z toho správce textur kreslí.

A protože střídání textur na grafické kartě hrozně brzdí kreslení, tak mám dokonce jen pár velkých textur (kde každá obsahuje spoustu menších) - třeba jednu na terén, jednu na objekty, jednu na GUI a objekt má u sebe kromě jména textury i pozici obrázku v textuře.

Rozdíl v rychlosti když kreslíš obrázky z jedné textury nebo pro každý objekt jinou texturu je klidně 50ti násobek.

Nahoru Odpovědět 4.5.2013 9:51
:)
Avatar
Kit
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
Kit:

Však v tom objektu stromu je obrázek stromu jen zakomponován. Fyzicky v něm není, protože obrázek stromu je samostatný objekt. Tvé použití to nevylučuje.

Nahoru Odpovědět 4.5.2013 9:59
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Luboš Běhounek (Satik):

Nevím teď úplně přesně, jak to myslíš, asi by to chtělo příklad, abysme se náhodou nebavili jeden o koze a druhý o voze :).

Stejně ty obrázky budeš muset mít v nějaké kolekci mimo ty objekty - aby jsi mohl třeba do nově vzniklého stromu ten obrázek přiřadit.

Nahoru Odpovědět 4.5.2013 10:07
:)
Avatar
Kit
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
Kit:

Vypadá to tak. Rozhodně nebudu 50× načítat obrázek stromu, abych vytvořil 50 objektů stromů, ale konstruktoru předám jen referenci.

Nahoru Odpovědět 4.5.2013 10:13
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
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 11 zpráv z 11.