Geek tričko zdarma Geek tričko zdarma
Hledáme grafika na pohodovou brigádu v Blenderu nebo programátora na hry v PyGame. Máš zájem? Napiš nám na redakce [zavináč] itnetwork.cz!
Tričko zdarma! Stačí před dobitím bodů použít kód TRIKO15. Více informací zde

MonoGame - Úvod a instalace

Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem.
Vydávání, hosting a aktualizace umožňují jeho sponzoři.

Vítejte u první lekce on-line kurzu MonoGame, vyspělém herním frameworku, ve kterém lze jednoduše vytvářet profesionální 2D a 3D hry. Na rozdíl od různých klikacích nástrojů (GameMaker a podobně.) se s MonoGame 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á.

MonoGame je založeno na původním frameworku XNA od Microsoft, jehož vývoj byl poté ukončen.

Co je to MonoGame

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. No a z XNA později vzešlo MonoGame, které mu dodalo mimo jiné schopnost fungovat na různých platformách (Windows, macOS, Android, ...)

MonoGame je framework, to znamená, že to není nějaký program nebo jazyk. Je to sada knihoven do jazyka C#. Vývoj her v MonoGame 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. Na rozdí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 MonoGame?

MonoGame 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. MonoGame 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. MonoGame umožňuje pokročilou tvorbu 2D a 3D her. Umožňuje operace se sprity, umí efekty, zobrazovat animované 3D modely, multiplayer a další.

Ukázky her

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Pro ukázky her, které byly v MonoGame vytvořené, navštivte MonoGame ShowCase. Uděláte si tak představu co vše je s frameworkem možné vytvořit :) Jsou zde i veleúspěšné tituly na platformě Steam, za všechny jmenujme např. hru FEZ.

A ještě jedno video:

Podpora MonoGame

Svou MonoGamne hru můžete zkompilovat pro:

  • iOS
  • Android
  • MacOS
  • Linux
  • všechny Windows platforms
  • PS4
  • PSVita
  • Xbox One
  • Switch

MonoGame je Open-Source a hru na PC můžete libovolně distribuovat i prodávat. Na Xbox, Android a iOS se platí nějaký poplatek, jak již to na těchto zařízeních bývá zvykem.

Proč tvořit v MonoGame?

Jak již bylo řečeno, MonoGame je unikátní projekt, který umožňuje používat jednoduché rozhraní pro práci s multimédii a zároveň se perfektně naučíte programovat, což se u hotových enginů jako je např. Unity říci nedá.

Co není MonoGame

Ačkoli to tak může vypadat, MonoGame je framework, není to engine. To znamená, že zde nenalezneme žádnou předpřipravenou architekturu, fyzikální engine, kolize a podobně. MonoGame je jednoduše řečeno soubor rutin pro zobrazování spritů, 3D modelů, 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 MonoGame

Hned zpočátku bych rád upozornil, že kurz 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ý MonoGame framework.

Instalace je jednoduchá. Jednoduše stáhneme instalátor pro Windows a nainstalujeme, čímž se v našem Visual Studio zobrazí možnost vytvářet MonoGame projekty.

To je pro dnešek vše. Příště, v lekci Od nuly k tetrisu v MonoGame, si vytvoříme první jednoduchou hru :)


 

 

Článek pro vás napsal David Čápka
Avatar
Jak se ti líbí článek?
4 hlasů
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 sítě se informační technologie naučil na Unicorn College - prestižní soukromé vysoké škole IT a ekonomie.
Předchozí článek
Jak nahrát Content v MonoGame
Všechny články v sekci
C# - Tvorba her v MonoGame
Miniatura
Následující článek
Od nuly k tetrisu v MonoGame
Aktivity (4)

 

 

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

Avatar
Lako
Člen
Avatar
Lako:20.5.2014 9:56

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á na Lako
vodacek:20.5.2014 10:01

je tu monogame

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

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:20.5.2014 12:18

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:20.5.2014 12:59

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
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Lako
Člen
Avatar
Odpovídá na danar2004
Lako:20.5.2014 14:06

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:20.5.2014 16:08

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:20.5.2014 21:04

Ú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:18.4.2016 18:37

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.4.2016 18:37
Avatar
Patrik Pastor:20. června 15:29

O directX neni v uvodnim clanku ani zminka, jak to autor myslel?

 
Odpovědět 20. června 15:29
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 79. Zobrazit vše