Date post: | 02-Jul-2015 |
Category: |
Technology |
Upload: | tomas-slavicek |
View: | 362 times |
Download: | 2 times |
Multiplatformní vývoj herpomocí MonoGame
Tomáš SlavíčekMVP – XNA/DirectX, MS Student Partner
@tomasslavicek http://tomasslavicek.cz
Agenda
• herní frameworky – můj pohled
• XNA a MonoGame
• Xamarin
• praktická ukázka
• vady, nevýhody? :)
Herní framework / engine
• jednoduchost použití, rychlost vývoje
• multiplatformnost
• náročnost portace
mezi platformami
• cena, poplatky
• komunita
XNA Framework
• pro PC, Xbox 360, Windows Phone 7…
• nadstavba DirectX,
jazyk C#
• herní smyčka, Content Pipeline
operace s vektory…
Herní smyčka
• sada připravených metod
MonoGame
• opensource implementace XNA
• iOS, Android, Mac, Linux,
Windows 8, Ouya…
• nad DirectX i OpenGL
MonoGame – hry
MonoGame – hry
MonoGame – hry
MonoGame – hry
MonoGame – hry
• desktop PC
• Xbox 360
• Windows Phone 7
• přehrávače Zune
• Windows 8 / RT
• Windows Phone 8
• iOS, Mac
• Android, Ouya
• PlayStation
• Linux…
*2004 – †2012
MonoGame
• kompatibilní většina kódu s XNA
• velmi aktivní projekt
• je zdarma*
MonoGame
pro Android a iOS je nutné
mít licenci na Xamarin
• kompatibilní většina kódu s XNA
• velmi aktivní projekt
• je zdarma*
Xamarin
• vývoj v C# pro iOS, Android a Mac
• implementace Mono
Xamarin
• vývoj v C# pro iOS, Android a Mac
• implementace Mono
• vlastní nástroje: Xamarin Studio, návrh
UI…
• přístup k nativním API
• vývoj na Mac i Windows
Xamarin.Android
• Mono je runtime „vedle Dalvika“
• vykonáváno just-in-time
• možné volat .NET funkce, Android API
i binding na Java knihovny
Xamarin.iOS
• aplikace kompilovány přímo
do strojového kódu platformy
• opět možný binding na externí knihovny
(Flurry, TapJoy…)
• lze i z Visual Studia na Windows!
Xamarin – ceny
• pro MonoGame zatím nelze FREE
Xamarin – ceny
• $299 za 1 platformu (Android, iOS…)
• licence napořád, podpora jen na rok
• možnost slev:
• studenti: $99, univerzity: $79
MonoGame – instalace
• pomocí instalátoruhttp://monogame.codeplex.com/
• ze zdrojákůhttps://github.com/mono/MonoGame
MonoGame – instalace
• pomocí instalátoruhttp://monogame.codeplex.com/
• ze zdrojákůhttps://github.com/mono/MonoGame
• branch develop
• stáhnout i ThirdParty/Libs
• pozor na verzi SharpDX
• přidat referenci do Visual Studia
Konečně ukázka :)
• projekt pro iOS
• stejný benchmark
MonoGame vs. XNA
• není Content Pipeline
• content pro iOS se musí kompilovat zvlášť
MonoGame vs. XNA
• není Content Pipeline
• content pro iOS se musí kompilovat zvlášť
• občas ještě mezery
• render do textury, průhlednost, pokročilejší 3D…
• chyby… (ale řeší je)
MonoGame vs. XNA
• není Content Pipeline
• content pro iOS se musí kompilovat zvlášť
• občas ještě mezery
• render do textury, průhlednost, pokročilejší 3D…
• chyby… (ale řeší je)
• nutné řešit platformově specifické věci
• message boxy, in-appy…
(Ne)výhody
• pořád ještě docela low-level
• nejde hra „naklikat“ :)
• můžeme ale zase docela hluboko…
(Ne)výhody
• pořád ještě docela low-level
• nejde hra „naklikat“ :)
• můžeme ale zase docela hluboko…
• složitější portace
• nejde jen kliknout „exportuj pro iPhone“
Další materiály
• rozcestník na SmartMania.czhttp://bit.ly/xna_smartmania
Děkuji za pozornost!
Tomáš SlavíčekMVP – XNA/DirectX, MS Student Partner
@tomasslavicek http://tomasslavicek.cz