Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Augi
![](images/avatars/1314719824768e449efaad.jpg)
Založen: 28. 07. 2007 Příspěvky: 782 Bydliště: Čerčany
|
|
Návrat nahoru |
|
![](templates/subSilver/images/spacer.gif) |
Marek
![](images/avatars/4121677746ab38eb0e5d0.gif)
Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 20. červenec 2008, 00:59:30 Předmět: |
|
|
Vilem Otte> Funkcionální jazyky - Haskell, Lisp, Scheme... to jsem vážně zvědavej na ten engine. Neříkej, že ses s tím na VŠ nesetkal?
Taky se tu doporučují singletony, těm se doporučuju vyhnout!
Viz článek: http://scientificninja.com/advice/performant-singletons
Někdy se mohou hodit, ale používat je opatrně, obchází principy OOP. Jádro enginu by obecně nemělo být singleton. Pokud jste do toho už někteří spadli, není lehké se z toho pak vyhrabat, ale jde to. Podle mě je to jeden z nejhorších návrhových vzorů. Ne každý se jich nutně potřebuje zbavit, v případě her to tak nevadí. Přemýšlejte o spuštení více instancí vašeho enginu (nebo nějaké jeho části) např. v editoru...
Mihulik> Navrhovat obecné systémy se naučíš asi všude jen ne v literatuře o programování her. Z knih, co znám, bych asi doporučil:
Design Patterns Explained: A New Perspective on Object-Oriented Design (můžeš zkusit i starší vydání z roku 1995, který je snad i v češtině)
Refactoring: Improving the Design of Existing Code _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
![](templates/subSilver/images/spacer.gif) |
MD
![](images/avatars/124129678546d2d174a13bb.gif)
Založen: 29. 07. 2007 Příspěvky: 437 Bydliště: Praha
|
Zaslal: 20. červenec 2008, 07:47:46 Předmět: |
|
|
Eosie napsal: |
Jádro enginu by obecně nemělo být singleton. Pokud jste do toho už někteří spadli, není lehké se z toho pak vyhrabat, ale jde to. |
Tohle muzu potvrdit, zbavoval jsem se jich docela dlouho a byla to drina Nekde tady na CH je vlakno, kde uz jsme to resili...
A jeste mi prisla na mysl jedna rada v souvislosti s vyvojem enginu:
6) Je dobre mit jasnou predstavu o konkretni hre, ktera pod tim ma bezet a tu pak realizovat. Obecnost je hezka vec, ale nekdy brzdi vyvoj. Takze nektere obecne featury mohu odlozit, pokud nejsou potreba v me hre. Naopak, kdyz uz svou hru implementuju, mam dukaz, ze engine funguje a neni to jen smes neuzitecnych obecnych featur. _________________ - play with objects - www.krkal.org - |
|
Návrat nahoru |
|
![](templates/subSilver/images/spacer.gif) |
MD
![](images/avatars/124129678546d2d174a13bb.gif)
Založen: 29. 07. 2007 Příspěvky: 437 Bydliště: Praha
|
Zaslal: 20. červenec 2008, 09:31:31 Předmět: |
|
|
@Vilem: Pro me je ted nejdulezitejsi, aby ty enginy byly pouzity v nejake hre. Idealni by bylo, kdyby nekdo mel jasnou predstavu o hre, mel by svuj, ci prejaty graficky (fyzikalni, jakykoli) engine a hodilo by se mu skriptovani z Krkala. Pak bych poskytl potrebne komponenty (vcetne podpory pro editaci) a delal support.
Ja budu intenzivne pracovat od rijna asi nekolik mesicu. Uvidime, co za tu dobu stihnu (pak si asi budu muset najit nejakeho nastupce, mladsiho ) (Dobre vedet, kdy budu mit cas na slibeny support )
Chtel bych rychle udelat zobrazovaci komponentu a editor levelu a pak se hlavne soustredit na tvorbu her. V planu je samozrejme oziveni hry Krkal a pak jedno rpg. Byl bych rad, kdybych ty enginovy veci mel hotovy do dvou tri mesicu (full time vyvoj). To, co potrebuju pro Krkala je nastesti celkem jednoduche, odbornik na 3D grafiku by to zvladl levou zadni ![Wink](images/smiles/icon_wink.gif) _________________ - play with objects - www.krkal.org - |
|
Návrat nahoru |
|
![](templates/subSilver/images/spacer.gif) |
Mihulik
Založen: 18. 07. 2008 Příspěvky: 22
|
Zaslal: 20. červenec 2008, 10:25:18 Předmět: |
|
|
Vilem Otte: Díky za dlouhý příspěvek. Tomu C++ se opravdu nevyhnu. V současnosti začnu pracovat na C# (ten nebude na moc dlouho, jelikož je to vzhledem k Javě v podstatě jen o syntaxy), a pak se časem vrhnu i na to C++
Quiark: Přesně jak už někdo psal-kvůli zkušenostem
Eosie: S tím singletonem je to opravdu sporné. Je pravda, že v OOP se tento návrhový vzor netěší přílišné oblibě. Na druhou stranu, řada situací jeho využití opravdu vyžaduje. Je ovšem sporné rozhodnout, kdy je ta situace opravdu reálná a naopak kdy jde jen o špatný návrh
Jo jo, tyhle knížky jsou klasika. Návrhové vzory mám od Pecinovského, samotná originál od GoF nemám, ale není problém ho stáhnout z jejich stránek, pokud se nepletu. Alespoň teda myslím, že se dala stáhnout přímo od nich...Refactoring sleduji už snad rok, tak snad se k její koupi konečně rozhoupu
No každopádně vám všem moc děkuji za snahu. Po racionálním zvážením jsem se rozhodl, že se nejdříve teď naučím C#, pak pokud budu užitečný, zkusím pomoct MD s jeho enginem. Tím si prohloubím alespoň znalost v problematice, která je v tomto případě opravdu hodně specifická, za chodu se snad naučím C++, a pak snad opráším svůj sen . Ono v součastnosti by to asi opravdu nebyla úplně nejlepší možnost. Radši ještě něco nastudovat ![Very Happy](images/smiles/icon_biggrin.gif) |
|
Návrat nahoru |
|
![](templates/subSilver/images/spacer.gif) |
Vilem Otte
![](images/avatars/7720396584e6d563282b1e.jpg)
Založen: 18. 09. 2007 Příspěvky: 462 Bydliště: Znojmo - Sedlesovice, Kravi Hora
|
Zaslal: 20. červenec 2008, 10:58:19 Předmět: |
|
|
#Eosie - sorry, jedná se o procedurálně programovaný engine (nejsem původem čech (a ani slovák) - navíc jsem zvyklý programovat angl. (a to včetně studia programování)).
Hm... setkal jsem se s tím, jenom zatím ne v českém podání (on je to fakt divný jazyk ... a když nějaké slovíčko nevím (hlavně co se týče překladu termínů - použiju slovník, a tam není vše)).
*btw. část ForgottenLIBu, je skutečně napsaný functional programmingem (ano, na některé věci v ray tracingu se hodí), mno jeho další část začíná být kombinace SSE-ASM, a ForgottenLib je součást enginu.
Jinak učení C/C++/C# jazyka doporučuji, pravděpodobně tímto směrem se bude ubírat budoucnost programování (ale kdoví?).
K těm singletonům, Eosie - někdo je doporučuje a někdo ne. ![Wink](images/smiles/icon_wink.gif) _________________ Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
Naposledy upravil Vilem Otte dne 20. červenec 2008, 11:23:35, celkově upraveno 1 krát |
|
Návrat nahoru |
|
![](templates/subSilver/images/spacer.gif) |
Deluxe
![](images/avatars/20507655614c0935df437b0.jpg)
Založen: 31. 07. 2007 Příspěvky: 235 Bydliště: Oslavany
|
Zaslal: 20. červenec 2008, 11:19:48 Předmět: |
|
|
Mihulik napsal: |
Po racionálním zvážením jsem se rozhodl, že se nejdříve teď naučím C#, pak pokud budu užitečný, zkusím pomoct MD s jeho enginem. Tím si prohloubím alespoň znalost v problematice, která je v tomto případě opravdu hodně specifická, za chodu se snad naučím C++, a pak snad opráším svůj sen . Ono v součastnosti by to asi opravdu nebyla úplně nejlepší možnost. Radši ještě něco nastudovat ![Very Happy](images/smiles/icon_biggrin.gif) |
On potom ten přechod C# -> C++ už není tak hroznej, ty jazyky jsou hodně podobný. Ono vlastně v C++ jen jdeš o něco níž, přijdeš o pár vymožeností C# a musíš se postarat o věci, co v C# řeší runtime. |
|
Návrat nahoru |
|
![](templates/subSilver/images/spacer.gif) |
|