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ě.
Haha, chlapečku, vývojářská studia nepreferují C++ "jen" kvůli jeho
výkonu. Prosím, probuď se.
Až budeš jednou pracovat pro nějakou normální vývojářskou společnost
tak pochopíš, na čem záleží výběr programovacího jazyka.
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ář.
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 Čápka 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.
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).
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
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.