.[ ČeskéHry.cz ].
Vlastní engine
Jdi na stránku 1, 2, 3  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Ostatní
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
perry



Založen: 28. 07. 2009
Příspěvky: 879

PříspěvekZaslal: 15. červenec 2014, 14:42:24    Předmět: Vlastní engine Odpovědět s citátem

Již nějakou dobu (asi rok a něco) píšu ve volném čase vlastní engine v C++. Používám ho pro své projekty. Jsem spokojený a vývoj mě baví => zatím mě nic nenutí nahodit Unity - pak by ubylo pro mě dost zábavy Smile

Každopádně, dotaz. Myslíte si, že má význam uvolnit engine jako free-to-use do světa? Přihodit nějaké tutoriály, jak udělat to a tohle. Nejde mi ani tak o nějakou slávu nebo něco, spíš že by to třeba někomu pomohlo, nebo naopak někdo pomohl mě Smile

Co to umí / má integrované
- psané v C++ (některé věci z C++11 - hlavně hash map a syntaxe)
- Testováno na Win, iOS (podpora multitouch ovládání)
- OpenGL ES
- OpenGL 4 (spíš jen přepis ES verze, přidána podporu pro teselaci a geometry shadery. Do shaderů se nedá posílat data přes buffer, jen uniformy apod.. nicméně to by šlo snadno doplnit)
- Zkoušel jsem tam i OpenCL s bindingem na OpenGL 4
- Přidání DX také lze (je to psané přes interface)
- deferred rendering / forward rendering
- intergace Bullet 2.8
- OpenAL zvuk (OGG Vorbis dekodér)
- tak nějak je tam Lua
- vlastní VFS (podpora zip adresářů)
- vlastní systém na GUI (používá FreeType2 na fonty)
- Někde mám napsaný import Collada modelů (statické)
- Dekomprese textur z JPEG-LS
...

Tooly:
- akorát primitivní naklikávač GUI - naklikáte si GUI v editoru a pak hodnoty (bohužel ručně) přepíšete do XML, z kterého si engine GUI načte
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
micky



Založen: 28. 02. 2008
Příspěvky: 348
Bydliště: Plzeň, Praha

PříspěvekZaslal: 15. červenec 2014, 15:14:33    Předmět: Odpovědět s citátem

Hodně záleží na toolech nebo spolupráci s jiným rozvinutým SW, ale pokud to chceš vypustit jako rozumný open source (něco jako LGPL, ZLIB...), možná by se někdo našel, kdo se kódem minimálně inspiruje, v lepším případě do něj přispěje i přes chybějící nástroje. (Uff, to je dlouhá věta)

Pokud jde provést nějaké změny bez kompilace, je to skvělé. Pokud můžu něco nastavit runtime (osvětlení scény, materiály, částice, cesty, vazby mezi objekty), je to tuplem skvělé. Engine může být sebelepší, ale bez nástrojů se s ním vždy bude pracovat obtížně - což je moje odpověď na to, odkdy by pak tvůj engine někdo reálně využíval.

Snažím se (ostatně jsme o tom vedli nejeden hovor) tímto směrem vést náš engine. I takové maličkosti... teď jsme si udělali úplně jednoduchou jezdicí podložku v našem model vieweru, abychom synchronizovali rychlost animace s pohybovou rychlostí. Nějak extra akademické řešení to není, ale grafik mi teď dodá, jak rychle se pohybuje ta zpropadená vakoveverka.
_________________
https://www.bluepulsar.cz/
https://twitter.com/11thDream_Game/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



Založen: 28. 07. 2007
Příspěvky: 1554

PříspěvekZaslal: 15. červenec 2014, 19:03:17    Předmět: Odpovědět s citátem

Jenom technická připomínka: Pokud uvolňovat zdroják, tak buď pod BSD-like licencí, a nebo když LGPL, tak udělit výjimku, aby bylo možno linkovat staticky (jako to má FLTK). Je fakt špatné, když licence diktuje technickou realizaci (mluvím o prosté LGPL).
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Radis



Založen: 29. 03. 2014
Příspěvky: 235

PříspěvekZaslal: 16. červenec 2014, 08:44:24    Předmět: Odpovědět s citátem

Open-sourcovat cokoliv je vzdycky sympaticke.

Ale nalijme si cisteho vina, kdyz nekdo bude chtit delat hru, tak asi sahne spis po Unity nez po enginu, ktery ma "nekde napsany import Collada modelu" a "tak nejak Luu" a "primitivni naklikavac GUI" Smile

Nekdo si ty zdrojaky mozna ze studijnich duvodu projde, vic bych asi necekal.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1525
Bydliště: Telč

PříspěvekZaslal: 16. červenec 2014, 09:58:07    Předmět: Odpovědět s citátem

Předpokládám, že tvůj engine je malý a jednoduchý. Z toho bych udělal přednost. Mohlo by se to zapouzdřit a udělat z toho jen takový 3D framework se základní a odladěnou multiplatformní funkcionalitou. Příklad: dělám teď 3D exporter pro jednu firmu, která se zabývá lejzrovým měřením kolejnic, tunelů a podobně. Kdybych chtěl udělat k tomu rovnou i prohlížeč (třeba i jako součást jinýho SW), tak bych rozhodně nesáhl po Unity, ani po Ogre, protože to je moc velký a moc to diktuje pravidla. Naopak bych hledal něco malýho, nenáročnýho na kompilaci, použití a provoz. Složitější funkcionalitu by to mohlo mít taky, ale mohla by být při prvním pohledu trochu skrytá a používat by se nemusela.

Jako příklad takovýchto šikovných knihoven bych uvedl TinyXML. I když je jasný, že 3D engine bude lehce větší :-).

Takovou věc bych snad i použil :-).


Co se týče uvolnění zdrojáků jako takových, myslím, že tim získáš, protože před samotným nahráním na internet zjistíš, že nejdřív doděláš tohle, opravíš támhleto... a rázem z toho bude stabilní verze :-).
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Ladis



Založen: 18. 09. 2007
Příspěvky: 1534
Bydliště: u Prahy

PříspěvekZaslal: 16. červenec 2014, 11:36:58    Předmět: Odpovědět s citátem

No zas tyhle malý věci přestanou být brzo udržovaný (vadí jak u čeho, přecijen XML v příkladu se mění pomaleji/vůbec narozdíl od zvoleného 3D API). Proto bych se neodvážil to použít na cokoli smysluplnějšího, co se má udržovat (příkladem ten viewer pro zákazníka).
_________________
Award-winning game developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mar



Založen: 16. 06. 2012
Příspěvky: 602

PříspěvekZaslal: 16. červenec 2014, 22:22:53    Předmět: Re: Vlastní engine Odpovědět s citátem

No, zní to dobře Smile
Pokud se rozhodneš uvolnit zdrojáky, určitě nečekej, že se z ničeho nic vytvoří komunita nebo že ti lidi utrhnou ruce, chce to čas.
Dokud tě to baví máš motivaci, fajn, nicméně ze začátku to budeš muset táhnout sám.
Je to podobné, jako když se objeví nová Unity rychlokvaška na appstore nebo jinde (Unity lovers mě teď asi nebudou mít rádi), myšleno tak, že o tom nikdo v té změti neví.
Nicméně lamy dokážou uvařit jakýkoliv engine, pokud nechápou základní věci, jak něco funguje.
Nedávno jsem někde četl, že si nějaký jedinec stěžoval, že UE4 je pomalý, když zkoušel dělat particle systém tak, že na každý particle spawnoval actora nebo něco podobného.
Teď se mi vybavuje hra 99 levels to hell, v Unity, která si při startu sebrala 1.5 giga paměti (nebo gigo, to je jedno) ve 32-bitovém režimu, což už je na hraně (2D arkáda - pozn.)
Nicméně věřím, že schopní lidé dokážou velké věci, i když jich je samozřejmě málo.
Takže držím palce a hodně štěstí (a souhlasím s Frcou - pokud open source, tak rozumnou licenci, cokoliv co obsahuje GPL vynechat
(Linus by nesouhlasil, ale Linux foundation je financována velkými firmami,
což je pro profesionálního hatera korporací celkem ironie Smile
Pamatuji si třeba C++ templatovou knihovnu, která byla pod LGPL, což samo o sobě je vtipný paradox).
Každopádně palec nahoru (ostatně pro všechny, kdo mají odvahu si v dnešní době psát něco svého).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Weny Sky



Založen: 28. 07. 2007
Příspěvky: 241

PříspěvekZaslal: 17. červenec 2014, 07:35:35    Předmět: Odpovědět s citátem

Ja bych se zeptal tak. Co tvuj engine nabizi jineho, inovativniho, lepsiho, ... nez enginy, ktere uz mame k dispozici?

V cem je tvuj engine lepsi nez napriklad OGRE, ktery je taky open source?
V cem je lepsi nez Project Anarchy, pokud bude chtit delat hru pouze pro mobilni zarizeni.
V cem je lepsi nez Unity?
V cem je lepsi nez Godot Engine, ktery je open source a multiplatformni.

Budes fixovat vsechny chyby, ktere se objevi u novych ovladacu nebo novych verzi operacnich systemu?

Jake mas reference? Cim lidi presvedcis, aby pouzili tvuj engine a ne OGRE?


Naposledy upravil Weny Sky dne 17. červenec 2014, 07:44:56, celkově upraveno 1 krát
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
perry



Založen: 28. 07. 2009
Příspěvky: 879

PříspěvekZaslal: 17. červenec 2014, 07:42:27    Předmět: Odpovědět s citátem

No já primárně nechci nikoho přesvědčovat, aby to používal Smile Hlavně si to píšu pro sebe, protože mě to baví. Spíš mi přišlo případně škoda, nechat to válet doma v šuplíku, když by se někdo mohl třeba něco přiučit. Netvrdím, že všechno je tam 100% super, ale co kdy je.
Pokud to vezmu, jak říkáš, tak oproti Unity to nenabízí nic. To se nedá srovnávat. Na Unity pracují desítky lidí.

--- Edit ---

Můžu k tomu nabídnout i technickou podporu, tzn. kdyby to někdo použil a něco nešlo - opravím / poradím. Samozřejmě v rozumných mezích, ne že za někoho budu psát celý soft Smile

Jinak můžete klidně i napsat, co vám v konkurenci hodně chybí Smile
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
]semo[



Založen: 29. 07. 2007
Příspěvky: 1525
Bydliště: Telč

PříspěvekZaslal: 17. červenec 2014, 09:12:39    Předmět: Odpovědět s citátem

Weny Sky: takhle mluví člověk, který jen hledá důvody, proč něco nejde a proč to či ono nemá vůbec cenu. Tenhle přístup většinou nalézám u lidí, kteří natolik věří v kvalitu cizího SW, že svůj projekt slepí z 3rd knihoven. Výsledkem bývá slabý a (pod)průměrný projekt. A nemají to rychlejc hotový, to googlení zabere víc času, než se zamyslet.

Unity neni C++, ani open source a je to čistě herní engine. Ogre je zastaralý a na něco zbytečně velký.

Fixování chyb: Pokud to bude navržený dobře a odladí se to, tak se nových chyb moc vyskytovat nebude. Toho bych se nebál.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Manox



Založen: 30. 07. 2007
Příspěvky: 140
Bydliště: Brno

PříspěvekZaslal: 17. červenec 2014, 09:35:18    Předmět: Odpovědět s citátem

]semo[ napsal:
Unity neni C++, ani open source a je to čistě herní engine. Ogre je zastaralý a na něco zbytečně velký.


Když se nebudem bavit o ceně, tak v Unity PRO možnost programovat v C++ je. Navíc nechápu proč tak lpět na c++, když existuje fůra jiných jazyků. A zajímalo by mne, co myslíš tím čistě herní engine ?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Radis



Založen: 29. 03. 2014
Příspěvky: 235

PříspěvekZaslal: 17. červenec 2014, 09:38:28    Předmět: Odpovědět s citátem

]semo[ ty mas spolecne s kolegou marem a nekterymi dalsimi problem pochopit, ze psat porad dokola neco, co uz je milionkrat implementovane, je dobre maximalne jako intelektualni cviceni.

Opravdu pokud chci delat hru, tak pouziju osvedceny engine a 3rd party knihovny na vsechno od A* po networking. Nebudu travit dva roky zivota navic tim, ze budu programovat vsechno od piky.

Wena Sky ma k tomu proste pragmaticky pristup, to je cele.

Tvrzeni typu "výsledkem bývá slabý a (pod)průměrný projekt. A nemají to rychlejc hotový" jsou komicka a nema na ne vubec cenu reagovat.

Jinak Unity je samozrejme primarne herni engine, ale nehernich veci je v nem taky spousta: https://www.youtube.com/watch?v=CLPBFlA1DAw
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1525
Bydliště: Telč

PříspěvekZaslal: 17. červenec 2014, 10:04:38    Předmět: Odpovědět s citátem

Perry, sorry za offtopicy, ale Manox a Radox mi trochu zvedli tlak.

Manox: I ty brute? :-). Na téma C++ se s tebou nebudu bavit. Promiň, ale jsi už dlouho v jedný práci a nemáš porovnání (kolegy z druhýho oddělení nepočítám).

Radox: pouč mě, ukaž mi nějaký úspěšný projekt, kde jsi použil tento přístup (od A* až po Networking). Asi jsi světlá výjimka, která potvrtzuje pravidlo.

Neherní projekt v Unity: Dělal jsem trenažer obsluhy dopravního tunelu. Na začátku padlo rozhodnutí, že to bude v Unity. Já bych to v tom nedělal, ale špatný rozhodnutí to nebylo. Nastoupil jsem do rozjetého vlaku. Celkem to dopadlo dobře, ale na konci projektu bylo spoustu požadavků na konfiguraci monitorů (dvě aplikace master-slave, různě dělené obrazovky, atp...). V Unity ale nejde vůbec pracovat s oknem, takže sme to museli hnát přes WinApi a caption okna!. Jeden by se z toho poblil.


...ach jo, připadá mi, že ste se asi zbláznili. Ještě před pár lety se tu řešily návrhový vzory, co a jak čistě naprogramovat, jak správně udržovat projekt, atd. Dnes? Dnes se řeší co a jak slepit.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
perry



Založen: 28. 07. 2009
Příspěvky: 879

PříspěvekZaslal: 17. červenec 2014, 10:13:01    Předmět: Odpovědět s citátem

citace:
Navíc nechápu proč tak lpět na c++, když existuje fůra jiných jazyků


Ano, existuje fúra jiných jazyků, ale kolik jich běží všude? Vím akorát o C++ a C# z těch velikých. Psát to v něčem obskurním typu D je čas spláchnutý do záchoda. C++ je sice starý jazyk, ale na 100% nikdy nevymizí, což se o ostatních říci tak moc nedá.
Java se sice tváří multi-super-duper, ale na iOS nejde, takže bye-bye (plus můj názor na Javu jako takový je, že je to shit).

citace:
]semo[ ty mas spolecne s kolegou marem a nekterymi dalsimi problem pochopit, ze psat porad dokola neco, co uz je milionkrat implementovane, je dobre maximalne jako intelektualni cviceni.


To je pravda, na druhou stranu používat cizí knihovny bez interní znalosti jak to funguje, je imho cesta do pekla. Každý, kdo chce použít 3rd party engine, by měl mít alespoň jeden svůj napsaný nebo prostudovaný, aby věděl jak to vevnitř asi tak funguje, a proč je kravina tvořit jednotlivé částice pomocí new (ano i to se vidí). A zde se opět vracíme k C++, které tě tohle odnaučí velmi rychle a přinutí tě všímat si paměti, profilovat apod. Narozdíl třeba od Javy, kde se new sere všude.
Další klad je, když to potřebuješ nějak nestandardně ohnout. Mě třeba neudělá problém tam velmi rychle doplnit OpenCL / CUDA. Tohle rvát do OGRE nebo Unity (pokud to už nemají, nevím), asi nebude na odpoledne.


Jinak přístup "v čem je to lepší než konkurence a proč to dělat, když není / je málo" mě neuvěřitelně sere, typicky na PhD studiu. Ano, chápu že by to mělo mít nějaký přínos, ale za přínos považuji i to, že je to jiné. Proč by všechno muselo být stejné? Prostě jinak udělané a nemusí to znamenat nutně lepší. Ono co je lepší je také dost subjektivní.
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
perry



Založen: 28. 07. 2009
Příspěvky: 879

PříspěvekZaslal: 17. červenec 2014, 10:20:51    Předmět: Odpovědět s citátem

Offtopicy jsou v pohodě Smile Dokud se neprobírá počasí... Wink
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Ostatní Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2, 3  Další
Strana 1 z 3

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna