C# XNA game studio - Úvod a instalace

C# .NET XNA game studio C# XNA game studio - Úvod a instalace

Vítejte u prvního dílu seriálu o XNA, vyspělém herním frameworku, ve kterém lze jednoduše vytvářet profesionální 2D a 3D hry. Narozdíl od různých klikacích nástrojů (GameMaker a podobně.) se s XNA naučíte doopravdy programovat, nebudete mít v budoucnu problém se zaměstnáním a dosáhnete vysoké kvality a rychlosti vytvořených her. Některé možná i překvapí, že tvorba profesionálních her je relativně snadná.

Co je to XNA

Všichni jste se jistě setkali s pojmem DirectX. Je to sada knihoven, které umožňují přímé ovládání grafické karty. Dosáhne se tak maximálního výkonu a tuto technologii využívají všechny moderní počítačové hry. Jak už to bývá, vysoký výkon je bohužel často spojen s nízkou úrovní programování. Přímá práce s DirectX je problémová a je většinou realizována přes C++, tedy nízký jazyk s manuální správou paměti. Díky tomu je vývoj složitý a těžkopádný. S příchodem technologie .NET a moderního jazyka C# přišel Microsoft s novou verzi DirectX, tzv. Managed DirectX (managed jako řízený, je tím na mysli zejména automatická správa paměti). Zájemce o podrobnější informace odkáži na úvodní článek o C# . Managed DirectX dokázalo využít až 98% výkonu DirectX a zároveň umožňovalo vysokoúrovňovou práci. Nakonec z něj vzešlo XNA, jako vysokoúrovňová nástavba nad DirectX pro C# .NET, určená pro pohodlnou tvorbu profesionálních her.

XNA je framework, to znamená, že to není nějaký program nebo jazyk. Je to sada knihoven do jazyka C#. Vývoj her v XNA probíhá ve Visual Studio. Díky této skutečnosti se při vývoji her učíte C#, ve kterém je po programátorech velká poptávka. Narozdíl od klikání v GameMakeru tedy něco opravdu umíte a nemusíte se bát o zaměstnání :)

Pro koho je XNA?

Microsoft vývoj XNA cílí na freelancery a vývojářská indie studia. Je tedy určené k tvorbě profesionálních her v malých firmách nebo v jednotlivci. XNA zbořilo mýty o tom, že profesionální hry musí být složitě programovány v C++ a dokázalo, že i ve vysokých jazycích můžeme dosáhnout vysokého výkonu. XNA umožňuje pokročilou tvorbu 2D a 3D her. Umožňuje operace se sprity, umí efekty, zobrazovat animované 3D modely, multiplayer a další. Vznikají zde amatérské i profesionální hry, konec konců, pojďme se na nějaké podívat:

Zaujmou by vás mohl např. Fortress craft - vylepšený Minecraft:

Ukažme si další hry:

Podpora XNA

Hru můžete zkompilovat pro:

  • PC s Microsoft Windows
  • Windows Phone
  • Xbox 360

Pomocí SilverLight je možné s malými úpravami hru spustit i v prohlížeči. Díky nástroji MonoXNA je možné hry provozovat i pod MacOS a Linux, i když se na tyto platformy vývojáři většinou příliš nezaměřují.

XNA je freeware a hru na PC můžete libovolně distribuovat i prodávat. Na Xbox a Windows Phone se platí nějaký poplatek, jak již to na těchto zařízeních bývá zvykem.

Proč tvořit v XNA?

Jak již bylo řečeno, XNA je unikátní projekt, který umožňuje používat vysoce kvalitních herních technik a vyspělého enginu.

Co není XNA

Ačkoli to tak může vypadat, XNA je framework, není to engine. To znamená, že zde nenalezneme žádnou předpřipravenou architekturu, fyzikální engine, kolize a podobně. XNA je jednoduše řečeno soubor rutin pro zobrazování spritů, přehrávání zvuků a práci se vstupy od hráče. Je na samotném vývojáři, jak si komponenty hry vytvoří a naprogramuje.

Co potřebuji k vývoji her v XNA

Hned zpočátku bych rád upozornil, že seriál vyžaduje alespoň základní znalosti jazyka C# a objektového programování . Pokud s tímto nemáte zkušenosti, nezoufejte, máme zde velmi kvalitní a názorné tutoriály, se kterými vám stačí jen trochu trpělivosti, abyste do C# pronikli :)

Potřebovat budeme samozřejmě Visual Studio, viz odkazy výše. Dále budeme potřebovat samotný XNA framework, ten stáhneme zde: http://www.microsoft.com/…details.aspx?… . Přejděme k instalaci.

Instalace XNA

Instalace je velmi jednoduchá a jediné nastavení spočívá ve firewallu, kde povolíme XNA hrám, aby přistupovaly k síti:

Nastavení firewallu při instalaci XNA game studio frameworku

To je pro dnešek vše, příště si vytvoříme první jednoduchou hru :)


 

  Aktivity (1)

Článek pro vás napsal David Čápka
Avatar
Autor pracuje jako softwarový architekt a pedagog na projektu ITnetwork.cz (a jeho zahraničních verzích). Velmi si váží svobody podnikání v naší zemi a věří, že když se člověk neštítí práce, tak dokáže úplně cokoli.
Unicorn College Autor se informační technologie naučil na Unicorn College - prestižní soukromé vysoké škole IT a ekonomie.

Jak se ti líbí článek?
Celkem (4 hlasů) :
55555


 


Miniatura
Předchozí článek
Jak nahrát Content v MonoGame
Miniatura
Všechny články v sekci
C# - Tvorba her v XNA game studio
Miniatura
Následující článek
Od nuly k tetrisu v XNA game studio

 

 

Komentáře
Zobrazit starší komentáře (68)

Avatar
danar2004
Člen
Avatar
danar2004:

Ahoj Davide, nejprve díky za supr tutoriály!
Teď jsem si přečetl tvoji informaci o tom, že je XNA mrtvé, SilverLight taky a trochu mě to vyděsilo. Zkouším něco udělat pro Windows Phone a narazil jsem na několik tutoriálů, kde se XNA zabývají. Nejsou tedy z aktuálního roku, tak nevím. Všechny ale mluví o XNA a SilverLightu. Stáhnul jsem si MS VS Express 2012 for Windows Phone a SDK pro WP8 a normálně tam XNA je (když dám nový projekt, mám jako jeden z výběrů XNA Game Studio 4.0). Má tedy cenu do XNA pronikat a snažit se v něm něco dělat pro WP, nebo na co se mám raději orientovat, aby to mělo budoucnost, když je mým cílem Windows Phone?
Díky za odpověď.

 
Odpovědět 20.5.2014 9:50
Avatar
Lako
Člen
Avatar
Odpovídá na danar2004
Lako:

Určitě ruce pryč od XNA a silverlightu..
Nainstaluj si sdk pro windows phone 8.1, tam už asi xna není (ale tím si jistý nejsem). Nicméně: http://smartmania.cz/…e-1-dil-7403
Prostě xna i silverlight jsou mrtvé a ms to podporuje jenom z důvodu, aby vývojáři měli čas to přepsat do něčeho nového.

 
Odpovědět 20.5.2014 9:56
Avatar
vodacek
Redaktor
Avatar
 
Odpovědět 20.5.2014 10:01
Avatar
danar2004
Člen
Avatar
Odpovídá na Lako
danar2004:

Jestli to dobře chápu (omluvte moje tápání, je to pro mě skoro nový svět, programováním jsem se zabýval naposledy před cca 10 lety), tak nemůžu jednoduše vyvíjet aplikace pro WP7/8 a WP8.1 "jedním vrzem"? Tedy pro stroje s WP7/8 budu mít verzi v SilverLightu, které je ještě v WP8.1 podporováno, ale pravděpodobně už dále nebude a musím začít myslet i na verzi ve WP8.1 bez SilverLightu.. Pokud je to tak, začínám mít depresi.. Doteď se to všechno zdálo jedodušší ;(

 
Odpovědět 20.5.2014 10:45
Avatar
Lako
Člen
Avatar
Odpovídá na danar2004
Lako:

Aplikace pro WP 7 jsou kompatibilní s WP 8 a nejspíš i WP 8.1. Ale opustit silverlight je dobrá cesta. Co se vám na tom tak líbí? Neopouštíte přeci xaml a c#, v tom můžete pokračovat.

 
Odpovědět 20.5.2014 12:18
Avatar
danar2004
Člen
Avatar
Odpovídá na Lako
danar2004:

Já na ničem nelpím, jen jsem trochu "rozhozenej" z toho, že jsem našel spoustu tutoriálů k vytváření WP aplikací v SilverLightu a XNA, tak mě to nadchlo, přišlo mi to celkem jednoduchý, srozumitelný (rozuměj pro normálního člověka - blbce - mě ;)) a řekl jsem si, že to bych mohl zvládnout. A teď jsem se dozvěděl, že nemá cenu se touto cestou vydávat. Prostě mi ukradli vánoce ;)

 
Odpovědět 20.5.2014 12:59
Avatar
Lako
Člen
Avatar
Odpovídá na danar2004
Lako:

Naprosto ti rozumím. Ty alternativní cesty nejsou tak odlišné, takže Vánoce budou - sice bez sněhu, ale o to lepší dárky dostaneš.

 
Odpovědět 20.5.2014 14:06
Avatar
danar2004
Člen
Avatar
Odpovídá na Lako
danar2004:

Teď se tedy rozhoduji, jestli se XNA a SL vůbec nezabývat, nebo vzhledem k množství tutoriálů v tom alespoň něco zkusit a získat nějaký přehled, návyky a pod.. Má to cenu, nebo by to byla zbytečná ztráta času?

 
Odpovědět 20.5.2014 16:08
Avatar
Lako
Člen
Avatar
Odpovídá na danar2004
Lako:

Úplně zbytečná ztráta by to nebyla - frameworky pro tvorbu her jsou si jistým způsobem podobně... Ale nedělej to. Jestli chceš tvořit hry, přejdi třeba k monogame, nebo unity (v obojim se dělá v c#), pokud chceš tvořit klasické aplikace , nebo jednodušší hry, tak si projdi nejnovější tutoriály z toho http://dev.windowsphone.com/en-us - jsou tam i samply a tak. MS to teď tlačí do toho,aby jsi apku dělal univerzílně - pro wp8.1 a w8.1 - to je možná celkem rozumné.

 
Odpovědět 20.5.2014 21:04
Avatar
Noxar
Člen
Avatar
Noxar:

Ahoj, vím, že instalace je většinou velmi jednoduchá avšak nyní mám s instalací XNA frameworku do Visual C# 2010 Express ve Windows 10 velké problémy. Windows 10 mi hlásí při zpuštění setupu XNA, že je tato aplikace nekompatibilní. Chtěl bych se tedy zeptat, zda s tím někdo tady nemá zkušenosti a jestli by mi případně poradil, jak bych mohl tento problém obejít. Nakonec ještě přikládám vyfocené okno XNA setupu, které se mi objeví po neúspěšném pokusu o instalaci.

 
Odpovědět 18. dubna 18:37
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.

Zobrazeno 10 zpráv z 78. Zobrazit vše