
Programovanie moderných PC hier
Dobry den,
chcel by som sa spýtat, ze v akých presne prog. jazykoch sa programujú dnesné moderné pocitacové hry? Napr. The Witcher 3, Fallout 4, PUBG, CS:GO, Rise of the Tomb Raider a pod. Viem ze je to kus "blbá" otázka, ale ja by som sa v buducnosti chcel venovat takýmto veciam, no neviem ze aký programovací jazyk sa mám zacat ucit. Lebo každý nato vraví nieco iné, niekto radí ze urcite Java (Minecraft), niekto C/C++, niekto Python, a iný zase PHP atd. Alebo poprípade, dá sa nejako zistit že v akom jazyku je daná hra naprogramovaná? No a potom by som si vedel z toho urobit priemer.
Dopredu sa ospravedlnujem ked sa pýtam hlúpo, no som v tejto oblasti iba novácik. Tak berte prosím ohlad a neposlite ma hned do p...
Pokud neumíš dokonale matematiku, 3d prostory a všechny ty kraviny okolo, které mají "ošklivý názvy", tak se tím vůbec zabývat nemusíš, protože nikdy hry dělat nebudeš.
Tohle je založený na matematice. (na sakra těžký)
Ty brdo to jsou pecky !
A astro fyziku ne ? Jestli nebude delat a to urcite delat nebude novy Battlefield tak mu to muze byt uplne nahaku. Mensi zkusenost s vyvojem mam, vic nez skolni matiku jsem zatim nepotreboval, tady ty keci o tom jak to bez "sakra tezke" matematiky nejde jsou "sakra tezke hlouposti" se kteryma se nikdo na zacatku tvorby nebo uceni nikde nepotka.
Osobně si myslím že nemáš s tímto přístupem šanci, ale to zjistíš sám. Beztak jsi nějaký děcko.
Ukaz mi kod pro chuzi hrace, nebo pro pohyb s predmety, nejaky zakladni veci jako ukladani promenych (predmetu ve hre) do list, zakladni smycky for/if (nebo nevim co podle tebe bude jako ze zacatku delat az se bude s jazykem-engine ucit) a ted mi rekni, kolik prvnacku by to nepochopilo ? ty 'sakra tezka motyko'. Navic kazdy druhy eng ma takove veci jiz automatizovane v nabidce kde pro pridani funkci jako 'pohyb' (predmet 2D/3D, kamera, svetlo, zakladni asset predmetu a postav) staci i jeden klik mysi. Vlastni Engine od zakladu urcite delat nechce a sam by ho driv nez 3 roky stejne neudelal.
'Beztak' jsi zadny engine nikdy nevidel ani s zadnym nepracoval. Videl jsem projekty, vyukove kurzy zacinat ruzne, ale nikdy "strasne tezkou matikou". A to ani za mesic, nebo dva, nebo tri po tom.
nez to poleti do trash.
A ano, jsem decko a poradne jsem pritom jak jsem psal nalozil do plynek a neboj pojmenoval jsem po tobe
Tak jak si představuješ pohyb (implementaci kódu) v 3D prostoru, napiš, ať se pobavím.
Neviděl, jsem jenom blbej kokot.
PS: matematický předpis napiš.
Jo, usnadním ti to, jestli to má nějakej ten tvůj engine hotový, tak prosím v OpenGL.
Lenže ja som sa Vás nepýtal ci potrebujem ku programovaniu hier matematiku..
No ale ked uz sme pritom tak momentálne som na vysokej skole, a zatial z matikou problémy nemám (moja matika = derivácie + integrály..proste klasická vysokoskolska + zaklady diskrétnej matematiky a štatistiky).
Spýtam sa ešte raz...PHP co je? Myslel som ze sa používa na tvorbu dynamického webu. Dajú sa v tomto jazyku tvorit dobré hry?
Tak to koncim, hra jako witcher v php,
Engine AAA hier býva v drvivej väčšine napísaný v C++:
Witcher 3 - C++ (REDEngine)
Fallout 4 - C++ (Creation Engine)
PUBG - C++ (Unreal Engine 4)
CS:GO - C++ (Source)
Rise of the Tomb Raider - C++ (Foundation Engine)
Každá hra pozostáva z viacerých vrstiev, pričom engine samotný je na tej najnižšej a v podstate definuje možnosti hry. Logika hry, dialógy a pod. bývajú napísané v rôznych jazykoch, pričom častokrát ide o skriptovací jazyk napísaný len pre danú hru/engine. Okrem toho pozostávajú hry z assetov (3D modely, animácie, shaders, zvuky, hudba, ...). A aj keď je engine napísaný v C++, samotná hra môže byť napísaná v hocičom inom (C#, Java, JavaScript, Python, ...).
Pri vývoji hier je veľa oblastí, ktorým sa dá venovať, pričom nemusíš ovládať C++ (napr. skripty pre export modelov, alebo herné skripty a pod.). Všeobecne, čo čítam po internete je, že vývojári hier nie sú príliš dobre zaplatení, pracujú veľa nadčasov a majú menšiu stabilitu zamestnania (najmä po ukončení vývoja titulu). To vychádza zo skúseností vývojárov v zahraničí.
Čo sa týka programovacích jazykov, tak je rozdiel medzi C a C++. Ak sa chceš venovať na nízkej úrovni takýmto hrám, tak sa zameraj na C++ a skús si niečo napísať v Unreal Engine. Ak chceš vidieť výsledky svojho učenia rýchlejšie, tak si vyskúšaj nejaký engine v JavaScripte, ktorý používa WebGL.
Dakujem