Diskuze: Nejlepší herní programovacíj jazyk
Tvůrce
Zobrazeno 34 zpráv z 34.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Na velké hry c++ kvůli rychlosti, na normální hry c sharp nebo java
Záleží kdo jsi Pokud velká firma, pak C++. Pokud freelancer, pak C# a XNA nebo Java a jMonkey. Pokud to děláš pro zábavu a nechceš umět programovat, tak GameMaker
V C++ má význam psát jen funkce nejnižší úrovně, které se používají hodně často. Nadstavbu určitě C#, Javu, Python, Lua nebo jiný objektový jazyk. Na výkonu wrapperu totiž moc nezáleží.
Jenže v dnešní době se výkon C# a Javy dostal už na takovou úroveň, že je zbytečné C++ do takové aplikace míchat.
Pokud to má být jen pro Windows, tak v C#, multiplatformní v Javě.
Multiplatformní by to šlo i v C#. Jen to bude muset zkompilovat pro Linux a popř. jiné OS...
Ať C++ kromě výkonu má nebo nemá nějaký výhody, pořád se dost
používá, proto se taky microsoft prosadil o novej standard (C++11), což by v
případě jeho nepoužívanosti nebylo moc pravděpodobný, vzhledem k tomu že
MS vyvíjí vlastní jazyk (C#) kterej je daleko použitelnější s jejich
frameworkem (.NET) a je navíc dost populární. Navíc, podívej na se netu na
nějaký inzeráty, spousta firem pořád C++ programátory shání, stejně tak
třeba Delphi programátory, přitom sem tu dost lidí viděl tvrdit že Delphi
je zastaralý a mrtvý. Nejsem zaujatej, Delphi taky nijak moc nemusim, ale
firmy tyhle lidi pořád shání (i když ne tolik jako třea Java
programátory), takže očividně tyhle jazyky pořád někdo používá.
Navíc, a tohle už je mimo, ale myslim si že C++ i kromě výkonu svoje
výhody má, jenom je člověk ocení až když ten jazyk umí dostatečně
dobře, protože pokud ne tak o těch výhodách kolikrát ani neví. Myslim že
tohle je skoro v každym jazyce, dokud jazyk neumíš pořádně, tak v něm
spoustu věcí neoceníš.
Musíš si uvědomit, že firmy mají v těch Delphi projekty (staré projekty, které potřebují udržovat), proto hledají programátory.
C++ je velmi používaný jazyk a Microsoft má sám zájem na jeho rozvoji, konec konců je v něm vytvořen jeho hlavní produkt - Windows. MS již zkoušel část Windows přepsat do C# a výkonnostně to nestačilo. Jedná se přeci jen o operační systém. Podobně je to u profesionálních her, ty se dokonce ani nedělají objektově kvůli výkonu.
Já viděl i pár firem hledat programátory pro C++/.NET, což moc nechápu, protože .NET a C++ nejde dohromady, vim ze zkušenosti. Stejně tak sem viděl dva nebo tři inzeráty na C++ pro Android, což taky moc nechápu když Android jede na Javě. Nějakej důvod k takovým věcem ty firmy mít musí, možná že to je jenom výkon, ale za tim že C++ má i jiný výhody si stojim, viz muj předchozí komentář.
Hodně firem řídí člověk, co o programování nic neví Nemusí to mít vůbec žádný důvod.
Jestli se mohu zeptat, proč se profesionální hry nedelají objektově? Já
jsem se domníval, že kompilátor převádí objekty do struktur.
Omlouvám se za takovou otázku, pořád jsem ještě začátečník.
Jak psal David Hartinger , je to ruzne. Zalezi na vice kriteriich - velikost hry, slozitost hry, velikost tymu, dostupnych financich, jestli je potreba multiplatformnost, ...
Objekty nemuseji byt nutne pomalejsi, ale v nekterych jazycich nebo pokud se pouzivaji nespravne nebo v nekterych pripadech, kdy jsou objektu velke pocty, to muze rychlost hry ovlivnit hodne, prece jen nejakou reziji navic maji.
Objekty mohou být i rychlejší, pokud je programátor umí používat.
Moc si nedovedu představit situaci, kde by byl objekt rychlejší, objekt má vždy nějakou režii navíc, můžeš uvést nějaký příklad, kdy a kde může být objekt rychlejší?
Objekty tlačí programátora k tomu, aby používal řešení
rozložitelná
na elementární objektové postupy. Protože kód těchto postupů bývá
vysoce
efektivní, může být rychlejší než kód neobjektového programu.
Samozřejmě především
v případě, že skill programátora není úplně na maximu nebo
rychlost kódu nebyla tím, na co se tvůrce primárně plně soustředil.
Kompilátor bývá velmi dobře optimalizován pro typické použití objektů. Může provádět příkazy i v jiném, pro něho efektivnějším pořadí, než při procedurálním programování.
Dobré je také použít nějaký existující engine (pokuď nechceš psát vlastní) a v něm tu hru pak tvořit (zajímavý je třeba CryEngine3 http://mycryengine.com).
Co říkáte na zprávu, že už nebude další verze XNA?
O tom že XNA nebude se ví celkem dlouho, no je škoda že jej nechtějí dále vyvíjet, momentálně se Microsoft upnul možná až moc na nové rozhraní, neofficiálně nazvané Metro, a už kolují spekulace že Desktop zmizí jednou úplně. Uvidíme jak se to bude vyvíjet
Osobně teď programuju pro "Metro" a ten vývoj není špatný. Jsou to něco jako WinFormy s tím rozdílem, že musíš dělat celou aplikaci dynamickou (všechna rozlišení), podporovat Snap View (připnutý na levo) a Fill View (zbytek po připnutí) a ideálně ještě řešit naklopení tabletu (LandScape a Portrait), ale jinak je to celkem pohodička
Radši Javu než C# ...a radši C++ než javu
Zobrazeno 34 zpráv z 34.