Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
mnn
Založen: 23. 07. 2008 Příspěvky: 23
|
Zaslal: 23. červenec 2008, 20:27:50 Předmět: Vývoj hry, graf. engine |
|
|
Zdravím, chcel by som si vytvoriť hru (aspoň začať tvoriť ). Malo by ísť o jednoduchú 2D stratégiu. Programovať samozrejme viem (viac ako polroka C#, predtým 2-3roky VB6). Problém je v tom že neviem či mám použiť nejaký hotový engine alebo si urobiť vlastný (to bude asi zbytočné, keď rozmýšľam čo by to všetko malo obsahovať). Keď tak by som chcel aby ste mi poradili nejaký vhodný graf. engine (pre 2D stratégie). Zatiaľ mám už asi všetko rozmyslené, čo má hra obsahovať (jednotky, budovy, akcie atd.), len neviem či mám v tom vôbec pokračovať.
Naposledy upravil mnn dne 24. červenec 2008, 00:28:19, celkově upraveno 2 krát |
|
Návrat nahoru |
|
 |
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 23. červenec 2008, 23:54:49 Předmět: |
|
|
viz sekce Game Design - zrovna tam takove vlakno je |
|
Návrat nahoru |
|
 |
mnn
Založen: 23. 07. 2008 Příspěvky: 23
|
Zaslal: 24. červenec 2008, 00:12:49 Předmět: |
|
|
Prešiel som si ho už a asi tvorbu enginu nechám tak. Už som googlil no neviem aký engine by bol vhodný pre 2D stratégie? |
|
Návrat nahoru |
|
 |
Quiark

Založen: 29. 07. 2007 Příspěvky: 816 Bydliště: Chlívek 401
|
Zaslal: 24. červenec 2008, 08:21:31 Předmět: |
|
|
Zeptej se MD (to je jméno uživatele tady na fóru), jestli jeho Krkal by na to nebyl vhodný. _________________ Mám strach |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 24. červenec 2008, 09:22:01 Předmět: |
|
|
No nevím, na 2D hry by stačilo nějaké 2D vykreslovací API. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
MD

Založen: 29. 07. 2007 Příspěvky: 437 Bydliště: Praha
|
Zaslal: 24. červenec 2008, 09:22:03 Předmět: |
|
|
Muj engine zatim ne. Funkcni mam zatim "jen" skriptovani hernich objektu. mnn potrebuje neco s hotovym grafickym vystupem a to budu mit az nekdy na podzim.
Momentalne si bohuzel nevybavuju, jestli jsem se nekde setkal s enginem vylozene vhodnym na strategie, ale asi neco bude. Taky zalezi jestli chces pouze "zobrazovaci komponentu" nebo i neco chytrejsiho (podpora pro ovladani, oznacovani jednotek, path-finding). Zkus tedy jeste hledat. _________________ - play with objects - www.krkal.org - |
|
Návrat nahoru |
|
 |
systemUser
Založen: 24. 07. 2008 Příspěvky: 5
|
Zaslal: 24. červenec 2008, 12:17:32 Předmět: |
|
|
Zkusím trochu rozepsat některé nápady co tu byly a přidat další:
Pokud se tvoje plánovaná hra podobá některé již existující, můžeš zkusit udělat modifikaci. Kromě již zmiňovaného Starcraftu je zde třeba Age of Empire 2, kde také můžeš změnit skoro vše.
Když se ti nechce programovat, můžeš použít některý z game makerů (Game maker, Games Factory atd.)
Byla tu zmínka o 2D vykreslovací API. Když píšeš, že používáš c#, tak by to nemělo být nic složitého. NET Framework má řadu tříd na práci s 2D grafikou. Pokud tam nebudeš mít žádné složité aimace, tak by to mělo stačit. Pokud půjde třeba o tahovou strategii, tak můžeš i jen s pomocí "woken" udělat špičkovou hru. Například klon Civilizace půjde udělat celkem snadno (mluvím tedy o grafické stránce ).
Pokud potřebuješ složitější grafiku, tak můžeš využít C# v XNA http://creators.xna.com/. Je k tomu spoutu tutoriálů a příkladů jak pro 2d tak pro 3d hry. Například kolize a podobně. Například na stránce Nicka Gravelina http://nick.gravelyn.com/tile-engine-series/ máš kompletní návod jak udělat 2D rpg hru pomocí tiles (jak je to česky ? Dlaždice?), což se dá krásně využít i pro strategii. Kromě toho je tam návod na vytvoření level editoru. |
|
Návrat nahoru |
|
 |
mnn
Založen: 23. 07. 2008 Příspěvky: 23
|
Zaslal: 24. červenec 2008, 14:53:55 Předmět: |
|
|
Quiark: Krkal engine je asi fakt nevhodný, nie je tam žiadna podpora pre sidebar (s minimapou napr.)
MD: stačila by aj zobrazovacia komponenta. To oznacovanie jednotiek si urobím aj sám, path-finding som si už urobil (C#). Čo by som potreboval sú napríklad animácie. Network play si implementujem sám (ale môže ho aj engine obsahovať), nakoľko so Socketmi v C# som už niečo naprogramoval.
systemUser: AoE2 som prešiel celé a nepáčilo sa mi izometrické zobrazenie. Buď rovno 3D alebo klasické 2D. Grafika by mala byť úplne jednoduchá nič extra. Možno ako v AoE2, neviem. XNA sa mi veľmi nepáči. Další runtime. Už .NET je dosť ale pozriem sa na ten návod. |
|
Návrat nahoru |
|
 |
MD

Založen: 29. 07. 2007 Příspěvky: 437 Bydliště: Praha
|
Zaslal: 24. červenec 2008, 15:29:08 Předmět: |
|
|
Pokud nechces mit v grafice nic sloziteho (svetla, viditelnostni prekryvani jednotek u IZO pohledu), tak bych to napsal klidne v C# pomoci System.Drawing a System.Windows.Forms (vlastne tradicni windousi grafika GDI+). Animace by nemely byt zadny problem.
Praci samozrejme daji sidebary a hudy, pokud je budes chtit zpracovat nejak hezky, ale jinak by to melo jit rychle od ruky.
Zakladem je jednoduche vykreslovani bitmap, treba takto:
kód: |
class DrawArea : Panel
{
public DrawArea() {
this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true);
this.UpdateStyles();
}
protected override void OnPaint(PaintEventArgs e) {
for (...) {
_myForm.MapGraphics.Draw(e.Graphics, x, y, bitmapIndex); // MapGraphics je ImageList
}
}
}
|
_________________ - play with objects - www.krkal.org - |
|
Návrat nahoru |
|
 |
mnn
Založen: 23. 07. 2008 Příspěvky: 23
|
Zaslal: 24. červenec 2008, 16:12:02 Předmět: |
|
|
MD: Dík za rady. Myslím, že by som mohol namiesto toho SetStyles použiť BufferedGraphics, čo?
čoho sa bojím nie sú tie jednoduché animácie (ako pohyb jednotky), ale napr. animovať letiacu raketu (presnejšie jej trajektóriu). S fyzikou sa veľmi nekamarátim Detekcia kolízii by síce nemal byť problém (jednoducho zistím či na políčku kam ide jednotka nie je nejaká budova, či nepriechodný terén. Len chcel by som aby napr. vojaci mohli byť na políčku vacerí). |
|
Návrat nahoru |
|
 |
Mem

Založen: 28. 07. 2007 Příspěvky: 1959 Bydliště: Olomouc
|
Zaslal: 24. červenec 2008, 16:22:47 Předmět: |
|
|
MD napsal: |
Pokud nechces mit v grafice nic sloziteho (svetla, viditelnostni prekryvani jednotek u IZO pohledu), tak bych to napsal klidne v C# pomoci System.Drawing a System.Windows.Forms (vlastne tradicni windousi grafika GDI+). Animace by nemely byt zadny problem. |
Já to můžu taky doporučit, pro jednoduché hry je to naprosto dostatečné, a třeba já v tom píšu i hry a aplikace, které je možné spustit současně na PDA i PC (viz třeba můj podpis) _________________
 |
|
Návrat nahoru |
|
 |
MD

Založen: 29. 07. 2007 Příspěvky: 437 Bydliště: Praha
|
Zaslal: 24. červenec 2008, 16:28:54 Předmět: |
|
|
mnn napsal: |
MD: Dík za rady. Myslím, že by som mohol namiesto toho SetStyles použiť BufferedGraphics, čo?
|
No konzultuj help, ten priklad jsem sice opsal ze sveho kodu, ale odbornik na to nejsem. Vim, ze jsem s tim trochu experimentoval, aby to fungovalo a aby to bylo rychle a celkem to slo. Je jasne, ze okynkova grafika asi nikdy nebude uplne idealni, ale kdyz nechces pridavat dalsi knihovny, tak tohle je fakt nejrychlejsi reseni.
Jeste v tom OnPaint dostavas v PaintEventArgs vyrez, ktery je treba vykreslit, tak je dobre to optimalizovat a kreslit jen ten. Kdyz se ti pak neco hybe (animuje), tak zneplatnit okno se spravnym vyrezem...
mnn napsal: |
animovať letiacu raketu (presnejšie jej trajektóriu) |
Tohle by se jednoduse delalo ve 3d grafice. Spocitas si trajektorii a pak uz jen posouvas a natacis (fyzika neni potrba). Ve 2D je to trochu problem (Muzes bud zkusit rotovat texturu nebo si pripravit obrazek pro kazde natoceni) _________________ - play with objects - www.krkal.org - |
|
Návrat nahoru |
|
 |
mnn
Založen: 23. 07. 2008 Příspěvky: 23
|
Zaslal: 24. červenec 2008, 16:59:03 Předmět: |
|
|
MD: Na tu animáciu si samozrejme pripravím framy, ale ako vypočítať tú trajektóriu. Keď napr. bazuker vystrelí na rýchle vozidlo tak sa nemusí trafiť a raketa minie a znovu sa bude za ním navádzať (kružnicou). |
|
Návrat nahoru |
|
 |
Houp
Založen: 28. 07. 2007 Příspěvky: 672
|
Zaslal: 24. červenec 2008, 17:51:37 Předmět: |
|
|
mnn napsal: |
MD: Na tu animáciu si samozrejme pripravím framy, ale ako vypočítať tú trajektóriu. Keď napr. bazuker vystrelí na rýchle vozidlo tak sa nemusí trafiť a raketa minie a znovu sa bude za ním navádzať (kružnicou). |
teď nechápu, dle mě, když bazuker vystřelí, tak v případě, že chceš mít ve hře i objekty střel, tak jim určíš, kam byly mířené a tam vybuchnou a buď tam bude to vozidlo, nebo se netrefil..
případně pro přesnější střílení není zas takový problém si vypočítat vzdálenost vozidla od bazukera, pak na základě rychlosti střely si vypočítat, za jak dlouho se dostane střela k autu, pak určitě, kam by se za tutéž dobu dostalo auto pohybující se v aktuálním směru a až na základě této pozice vystřelit..
určitě bych to nedělal stylem, že vystřelí směrem, kde se momentálně nachází vozidlo, a pak ať si střela lítá, dokud do něčeho nenarazí _________________
 |
|
Návrat nahoru |
|
 |
franz
Založen: 30. 07. 2007 Příspěvky: 1325
|
Zaslal: 24. červenec 2008, 18:03:04 Předmět: |
|
|
houp> spis myslel navadenou strelu, jako treba rakety v tiberian sun |
|
Návrat nahoru |
|
 |
|