SlideShare a Scribd company logo
1 of 48
Vyvíjíme hry v XNA
pro Windows Phone 7.5

Tomáš Slavíček
Microsoft Student Partner




mail@tomasslavicek.cz       Twitter: tomasslavicek
Agenda 1/3
 Windows Phone a ČR
 možnosti zařízení
 prodej aplikací
 základy XNA
 orientace displeje, změna rozlišení…
 vykreslování
 jednoduché animace
Agenda 2/3
 multidotykové ovládání
 gesta
 pohybový senzor
 vykreslování textu, lokalizace hry
 „multitasking“
 zvuky a hudba
Agenda 3/3
 vstup z klávesnice
 ukládání dat
 portace pro PC/Xbox (rozdíly)
 vestavěné efekty, úvod do 3D
 nahrání do Marketplace

                   …prostor pro dotazy
Windows Phone 7.5
 nová mobilní platforma
Windows Phone 7.5
 situace v ČR
Pevné hardwarové požadavky
 displej 800x480 pix, min. 4 dotyky
 1 GHz procesor, DirectX9 GPU
 GPS, akcelerometr, kompas + gyroskop
 (5 Mpix fotoaparát), mobilní internet
 tlačítka
Hry na Windows Phone
 ukázka…
Hry na Windows Phone
 normální vs. Xbox LIVE hry
 způsob ovládání (displej, senzory…)
Marketplace
Marketplace
 52% zdarma
 29 Kč průměrná cena
 cca 100 českých aplikací
 možnost trial verzí

 soutěž Vyvíjej a vyhraj! (do 15.12.)
 http://bit.ly/vyvijej
Vývoj
 Silverlight a/nebo XNA
 jazyky .NET (C#, VB.NET...)
 Garbage Collector
Vývoj
 portál App Hub create.msdn.com
 vývojové nástroje zdarma
Další zdroje
 seriál SmartMania.cz
 články, video tutoriály
Konference MS Fest
 26.-27. listopadu 2011, Praha
 38 přednášek, hands-on-laby
 http://ms-fest.cz
XNA Framework
 pro PC, Xbox 360, WP7, (Zune)
 nadstavba DirectX, akcelerováno GPU
 2D a 3D hry
XNA – vlastnosti
 herní smyčka
 Content Pipeline
 operace s maticemi, přehrávání zvuku…
Herní smyčka
 sada připravených metod
Ukázka…
 vykreslení obrázku
 práce s Content Pipeline

 ke stažení: bit.ly/obrazky
Ukázka 2…
 běh na celou obrazovku
 orientace displeje
   událost Window.OrientationChanged
Ukázka 3…
 změna rozlišení (hardware scaler)
Ukázka 4…
 běh až 60 FPS (Mango novinka)
   událost graphics.PreparingDeviceSettings
Vykreslení raketky
 třída Sprite
    položky Position, Size, Texture
   metody LoadContent, Draw
Vstup z displeje
 jednodotykové – jako myš
 multi-touch
   TouchPanel
   gesta
Ukázka – pohyb…
 pohyb při držení „myši“
 rychlost animace nezávislá na FPS
 ElapsedGameTime.TotalMilliseconds
Vykreslení bonusů
 na náhodné pozice, za náhodný čas
   kolize bod/obdélník, obdél./obdél.
   nová metoda Intersects
Více dotyků
 TouchPanel
    TouchCollection
   položky ID, State, Position
Ukázka – AsteroidSprite…
 přilétávání asteroidů
 nové položky Life/MaxLife, Speed
 přetížená metoda Draw
Jednoduché animace
 objekt TimedSprite
   nové položky MaxTime/Timeout
   přetížená metoda Draw
Gesta na displeji
 TouchPanel.
    EnabledGestures
Pohybový senzor
 osy X / Y, hodnoty -1 až 1
 osa Z (gravitace), normálně -1
Pohybový senzor – ukázka…
 třída Accelerometer
 knihovna Devices.Sensors
    řízeno eventy…

 zašuměný vstup
Nové Motion API
 využívá kompasu, gyroskopu
     i akcelerometru
 + Yaw, Pitch, Roll
Vykreslování textu
 soubor SpriteFont
    načítání pomocí Content Pipeline
   české znaky?
Fonty přibalené k XNA
Lokalizace hry
 soubory Resources.resx, Resources.cs-CZ.resx
 vyplnit hodnoty + modifikátor public
 zvolit Neutral Language (Assembly Information)
 upravit .csproj soubor
   tag <SupportedCultures>
Životní cyklus aplikace na WP
 multitasking?
   Fast App Switching
   Background Agents
Fast App Switching
 stavy Dormant, Tombstoned
Přehrávání zvuků
 SoundEffect – „ruchy“
 MediaPlayer – hudba na pozadí
   nutné kontrolovat, zda už nehraje
Vstup z klávesnice
 třída Guide
    metoda BeginShowKeyboardInput
Ukládání dat
 Isolated Storage
   kolekce klíč/hodnota
   nebo ukládání souborů
Nahrátí do Marketplace
 XAP soubor
 nastavení názvu, ikonek
   64x64, 173x173 pix
 +Marketplace: 99x99, 200x200
   artwork 1000x800
Portace hry na PC/Xbox
 Create copy of project…
 direktivy
   #if WINDOWS | XBOX   #endif
   #if WINDOWS_PHONE    #endif
WP7 vs. PC/Xbox
 Reach profil
   DirectX 9, Shader Model 2.0
   Textury – velikost mocniny 2, max. 2048 pix.
   max. 65 535 primitiv / Draw() ...

 HiDef
   Xbox 360 / PC
   DirectX 10, Shader Model 3.0+
WP7 a 3D grafika
 nelze psát vlastní shadery
 5 připravených efektů
    BasicEffect
    DualTextureEffect
WP7 a 3D grafika
 5 připravených efektů
    EnvironmentMapEffect
Dostupné 3D engine
 Balder, Nova4Phone, delta, Helium,
     SunBurn…

 fyzika: Box2D.XNA, Chipmunk,
     Farseer…
Další zdroje
  SmartMania.cz web / fórum
  český MSDN blog
  vbnet.cz



Tomáš Slavíček
Microsoft Student Partner


mail@tomasslavicek.cz       Twitter: tomasslavicek

More Related Content

Viewers also liked

Step Guide Install Suse SLES v10 on vmware
Step Guide Install Suse SLES v10 on vmwareStep Guide Install Suse SLES v10 on vmware
Step Guide Install Suse SLES v10 on vmwareChris Sparshott
 
Minecraftmod install (JPN)
Minecraftmod install (JPN)Minecraftmod install (JPN)
Minecraftmod install (JPN)esspon
 
Impress 02
Impress 02Impress 02
Impress 02Nuriiah
 
Vývoj her v XNA - seminář 2
Vývoj her v XNA - seminář 2Vývoj her v XNA - seminář 2
Vývoj her v XNA - seminář 2Tomáš Slavíček
 
Novinky v Mango a Tango, propojení Silverlight a XNA na Windows Phone
Novinky v Mango a Tango, propojení Silverlight a XNA na Windows Phone Novinky v Mango a Tango, propojení Silverlight a XNA na Windows Phone
Novinky v Mango a Tango, propojení Silverlight a XNA na Windows Phone Tomáš Slavíček
 
[cz] MonoGame framework, mDevCamp 2013
[cz] MonoGame framework, mDevCamp 2013[cz] MonoGame framework, mDevCamp 2013
[cz] MonoGame framework, mDevCamp 2013Tomáš Slavíček
 
A primera-guerra-mundial-1914-1918-110508115128-phpapp01
A primera-guerra-mundial-1914-1918-110508115128-phpapp01A primera-guerra-mundial-1914-1918-110508115128-phpapp01
A primera-guerra-mundial-1914-1918-110508115128-phpapp01samudiego
 
A primera-guerra-mundial-1914-1918
A primera-guerra-mundial-1914-1918A primera-guerra-mundial-1914-1918
A primera-guerra-mundial-1914-1918samudiego
 
JIRA aplikace
JIRA aplikaceJIRA aplikace
JIRA aplikaceOnlio
 
MS Fest 2013: Vývoj her v C# a MonoGame pro WP, iOS a Android
MS Fest 2013: Vývoj her v C# a MonoGame pro WP, iOS a AndroidMS Fest 2013: Vývoj her v C# a MonoGame pro WP, iOS a Android
MS Fest 2013: Vývoj her v C# a MonoGame pro WP, iOS a AndroidTomáš Slavíček
 
Fotografické API a rozšířená realita pro Windows Phone
Fotografické API a rozšířená realita pro Windows PhoneFotografické API a rozšířená realita pro Windows Phone
Fotografické API a rozšířená realita pro Windows PhoneTomáš Slavíček
 
UX - MS Fest 2014 - Navrhujeme aplikace pro lidi, ne pro sebe - Tomáš Slavíček
UX - MS Fest 2014 - Navrhujeme aplikace pro lidi, ne pro sebe - Tomáš SlavíčekUX - MS Fest 2014 - Navrhujeme aplikace pro lidi, ne pro sebe - Tomáš Slavíček
UX - MS Fest 2014 - Navrhujeme aplikace pro lidi, ne pro sebe - Tomáš SlavíčekTomáš Slavíček
 
UX Monday: Easy Phone - telefon pro seniory, Tomáš Slavíček
UX Monday: Easy Phone - telefon pro seniory, Tomáš SlavíčekUX Monday: Easy Phone - telefon pro seniory, Tomáš Slavíček
UX Monday: Easy Phone - telefon pro seniory, Tomáš SlavíčekTomáš Slavíček
 
Step by Step Guide to Install Red Hat Linux on vmware
Step by Step Guide to Install Red Hat Linux on vmwareStep by Step Guide to Install Red Hat Linux on vmware
Step by Step Guide to Install Red Hat Linux on vmwareChris Sparshott
 
The 27 Best Growth Hacking Tools of 2016
The 27 Best Growth Hacking Tools of 2016The 27 Best Growth Hacking Tools of 2016
The 27 Best Growth Hacking Tools of 2016Wishpond
 
Úvod do Ruby on Rails
Úvod do Ruby on RailsÚvod do Ruby on Rails
Úvod do Ruby on RailsKarel Minarik
 

Viewers also liked (18)

Step Guide Install Suse SLES v10 on vmware
Step Guide Install Suse SLES v10 on vmwareStep Guide Install Suse SLES v10 on vmware
Step Guide Install Suse SLES v10 on vmware
 
Minecraftmod install (JPN)
Minecraftmod install (JPN)Minecraftmod install (JPN)
Minecraftmod install (JPN)
 
Impress 02
Impress 02Impress 02
Impress 02
 
Vývoj her v XNA - seminář 2
Vývoj her v XNA - seminář 2Vývoj her v XNA - seminář 2
Vývoj her v XNA - seminář 2
 
Novinky v Mango a Tango, propojení Silverlight a XNA na Windows Phone
Novinky v Mango a Tango, propojení Silverlight a XNA na Windows Phone Novinky v Mango a Tango, propojení Silverlight a XNA na Windows Phone
Novinky v Mango a Tango, propojení Silverlight a XNA na Windows Phone
 
[cz] MonoGame framework, mDevCamp 2013
[cz] MonoGame framework, mDevCamp 2013[cz] MonoGame framework, mDevCamp 2013
[cz] MonoGame framework, mDevCamp 2013
 
A primera-guerra-mundial-1914-1918-110508115128-phpapp01
A primera-guerra-mundial-1914-1918-110508115128-phpapp01A primera-guerra-mundial-1914-1918-110508115128-phpapp01
A primera-guerra-mundial-1914-1918-110508115128-phpapp01
 
Easy phone
Easy phoneEasy phone
Easy phone
 
A primera-guerra-mundial-1914-1918
A primera-guerra-mundial-1914-1918A primera-guerra-mundial-1914-1918
A primera-guerra-mundial-1914-1918
 
JIRA aplikace
JIRA aplikaceJIRA aplikace
JIRA aplikace
 
MS Fest 2013: Vývoj her v C# a MonoGame pro WP, iOS a Android
MS Fest 2013: Vývoj her v C# a MonoGame pro WP, iOS a AndroidMS Fest 2013: Vývoj her v C# a MonoGame pro WP, iOS a Android
MS Fest 2013: Vývoj her v C# a MonoGame pro WP, iOS a Android
 
Fotografické API a rozšířená realita pro Windows Phone
Fotografické API a rozšířená realita pro Windows PhoneFotografické API a rozšířená realita pro Windows Phone
Fotografické API a rozšířená realita pro Windows Phone
 
UX - MS Fest 2014 - Navrhujeme aplikace pro lidi, ne pro sebe - Tomáš Slavíček
UX - MS Fest 2014 - Navrhujeme aplikace pro lidi, ne pro sebe - Tomáš SlavíčekUX - MS Fest 2014 - Navrhujeme aplikace pro lidi, ne pro sebe - Tomáš Slavíček
UX - MS Fest 2014 - Navrhujeme aplikace pro lidi, ne pro sebe - Tomáš Slavíček
 
UX Monday: Easy Phone - telefon pro seniory, Tomáš Slavíček
UX Monday: Easy Phone - telefon pro seniory, Tomáš SlavíčekUX Monday: Easy Phone - telefon pro seniory, Tomáš Slavíček
UX Monday: Easy Phone - telefon pro seniory, Tomáš Slavíček
 
Gephi Tutorial Layouts
Gephi Tutorial LayoutsGephi Tutorial Layouts
Gephi Tutorial Layouts
 
Step by Step Guide to Install Red Hat Linux on vmware
Step by Step Guide to Install Red Hat Linux on vmwareStep by Step Guide to Install Red Hat Linux on vmware
Step by Step Guide to Install Red Hat Linux on vmware
 
The 27 Best Growth Hacking Tools of 2016
The 27 Best Growth Hacking Tools of 2016The 27 Best Growth Hacking Tools of 2016
The 27 Best Growth Hacking Tools of 2016
 
Úvod do Ruby on Rails
Úvod do Ruby on RailsÚvod do Ruby on Rails
Úvod do Ruby on Rails
 

Similar to Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

GDS 2013: MonoGame pro Android a iOS, tipy a triky
GDS 2013: MonoGame pro Android a iOS, tipy a trikyGDS 2013: MonoGame pro Android a iOS, tipy a triky
GDS 2013: MonoGame pro Android a iOS, tipy a trikyTomáš Slavíček
 
Vývoj her v C# pro Windows 8 (MonoGame, MS Fest)
Vývoj her v C# pro Windows 8 (MonoGame, MS Fest)Vývoj her v C# pro Windows 8 (MonoGame, MS Fest)
Vývoj her v C# pro Windows 8 (MonoGame, MS Fest)Tomáš Slavíček
 
Geewa - Startup Club Brno
Geewa - Startup Club BrnoGeewa - Startup Club Brno
Geewa - Startup Club BrnoMiloš Endrle
 
Mobilní (vs.) sociální hry
Mobilní (vs.) sociální hryMobilní (vs.) sociální hry
Mobilní (vs.) sociální hryMiloš Endrle
 
Strasti a slasti vývoje wp7 aplikací
Strasti a slasti vývoje wp7 aplikacíStrasti a slasti vývoje wp7 aplikací
Strasti a slasti vývoje wp7 aplikacíRené Stein
 
MSI AE2420 3D Info Kit
MSI AE2420 3D Info KitMSI AE2420 3D Info Kit
MSI AE2420 3D Info KitMSI
 
Programování pro Android - úvod, FI MUNI, 2013
Programování pro Android - úvod, FI MUNI, 2013Programování pro Android - úvod, FI MUNI, 2013
Programování pro Android - úvod, FI MUNI, 2013Tomáš Kypta
 
Android - vývoj, distribuce a propagace
Android - vývoj, distribuce a propagaceAndroid - vývoj, distribuce a propagace
Android - vývoj, distribuce a propagaceAvast Software
 
Tipy a triky pro vývoj her v XNA (MS Fest)
Tipy a triky pro vývoj her v XNA (MS Fest)Tipy a triky pro vývoj her v XNA (MS Fest)
Tipy a triky pro vývoj her v XNA (MS Fest)Tomáš Slavíček
 
Softwarově definované úložiště
Softwarově definované úložištěSoftwarově definované úložiště
Softwarově definované úložištěLudek Safar
 
Vývoj pro Microsoft Surface a HoloLens
Vývoj pro Microsoft Surface a HoloLensVývoj pro Microsoft Surface a HoloLens
Vývoj pro Microsoft Surface a HoloLensJiri Danihelka
 
"Multiplatformní" je sprosté slovo!?
"Multiplatformní" je sprosté slovo!?"Multiplatformní" je sprosté slovo!?
"Multiplatformní" je sprosté slovo!?Trinerdis
 
Počítač poliačik d3a
Počítač poliačik d3aPočítač poliačik d3a
Počítač poliačik d3aRobHaru
 
Comfor 2017 01 noviny
Comfor 2017 01 novinyComfor 2017 01 noviny
Comfor 2017 01 novinycomfor_web
 
Xlab 2012 full
Xlab 2012 fullXlab 2012 full
Xlab 2012 fullXLAB
 
Obchodní model MMORPG her a způsoby zvyšování motivace hráčů
Obchodní model MMORPG her a způsoby zvyšování motivace hráčůObchodní model MMORPG her a způsoby zvyšování motivace hráčů
Obchodní model MMORPG her a způsoby zvyšování motivace hráčůMartin Šmahel
 
Comfor noviny 04_2015
Comfor noviny 04_2015Comfor noviny 04_2015
Comfor noviny 04_2015comfor_web
 
4-1grafika&prace-s-obrazky
4-1grafika&prace-s-obrazky4-1grafika&prace-s-obrazky
4-1grafika&prace-s-obrazkypremysl
 

Similar to Hands-on-lab Vyvíjíme hry v XNA pro WP7.5 (20)

GDS 2013: MonoGame pro Android a iOS, tipy a triky
GDS 2013: MonoGame pro Android a iOS, tipy a trikyGDS 2013: MonoGame pro Android a iOS, tipy a triky
GDS 2013: MonoGame pro Android a iOS, tipy a triky
 
Vývoj her v C# pro Windows 8 (MonoGame, MS Fest)
Vývoj her v C# pro Windows 8 (MonoGame, MS Fest)Vývoj her v C# pro Windows 8 (MonoGame, MS Fest)
Vývoj her v C# pro Windows 8 (MonoGame, MS Fest)
 
Geewa - Startup Club Brno
Geewa - Startup Club BrnoGeewa - Startup Club Brno
Geewa - Startup Club Brno
 
Mobilní (vs.) sociální hry
Mobilní (vs.) sociální hryMobilní (vs.) sociální hry
Mobilní (vs.) sociální hry
 
Strasti a slasti vývoje wp7 aplikací
Strasti a slasti vývoje wp7 aplikacíStrasti a slasti vývoje wp7 aplikací
Strasti a slasti vývoje wp7 aplikací
 
MSI AE2420 3D Info Kit
MSI AE2420 3D Info KitMSI AE2420 3D Info Kit
MSI AE2420 3D Info Kit
 
Programování pro Android - úvod, FI MUNI, 2013
Programování pro Android - úvod, FI MUNI, 2013Programování pro Android - úvod, FI MUNI, 2013
Programování pro Android - úvod, FI MUNI, 2013
 
Android - vývoj, distribuce a propagace
Android - vývoj, distribuce a propagaceAndroid - vývoj, distribuce a propagace
Android - vývoj, distribuce a propagace
 
Tipy a triky pro vývoj her v XNA (MS Fest)
Tipy a triky pro vývoj her v XNA (MS Fest)Tipy a triky pro vývoj her v XNA (MS Fest)
Tipy a triky pro vývoj her v XNA (MS Fest)
 
Softwarově definované úložiště
Softwarově definované úložištěSoftwarově definované úložiště
Softwarově definované úložiště
 
Vývoj pro Microsoft Surface a HoloLens
Vývoj pro Microsoft Surface a HoloLensVývoj pro Microsoft Surface a HoloLens
Vývoj pro Microsoft Surface a HoloLens
 
"Multiplatformní" je sprosté slovo!?
"Multiplatformní" je sprosté slovo!?"Multiplatformní" je sprosté slovo!?
"Multiplatformní" je sprosté slovo!?
 
Počítač poliačik d3a
Počítač poliačik d3aPočítač poliačik d3a
Počítač poliačik d3a
 
Comfor 2017 01 noviny
Comfor 2017 01 novinyComfor 2017 01 noviny
Comfor 2017 01 noviny
 
Xlab 2012 full
Xlab 2012 fullXlab 2012 full
Xlab 2012 full
 
Obchodní model MMORPG her a způsoby zvyšování motivace hráčů
Obchodní model MMORPG her a způsoby zvyšování motivace hráčůObchodní model MMORPG her a způsoby zvyšování motivace hráčů
Obchodní model MMORPG her a způsoby zvyšování motivace hráčů
 
Lekce 1
Lekce 1Lekce 1
Lekce 1
 
Comfor noviny 04_2015
Comfor noviny 04_2015Comfor noviny 04_2015
Comfor noviny 04_2015
 
4-1grafika&prace-s-obrazky
4-1grafika&prace-s-obrazky4-1grafika&prace-s-obrazky
4-1grafika&prace-s-obrazky
 
Notebookexpo.sk 2014
Notebookexpo.sk 2014Notebookexpo.sk 2014
Notebookexpo.sk 2014
 

Hands-on-lab Vyvíjíme hry v XNA pro WP7.5