Windows 8 dla twórców gier - rzut oka
-
Upload
rafal-czuprynski -
Category
Technology
-
view
956 -
download
4
description
Transcript of Windows 8 dla twórców gier - rzut oka
![Page 2: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/2.jpg)
O czym dzisiaj?
Dlaczego właśnie gry na Windows 8?
Nowe możliwości i wyzwania dla twórców gier
Narzędzia dla programistów i nie tylko
![Page 3: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/3.jpg)
Dlaczego właśnie gry
na Windows 8?
![Page 4: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/4.jpg)
Dlaczego właśnie gry na Windows 8?
Platforma łatwo dostępna dla deweloperów
(Stosunkowo) łatwo się je programuje
Bardzo duża baza odbiorców
jedyna możliwość jednoczesnego zaadresowania urządzeń
ARMowych
Nowe możliwości…
![Page 5: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/5.jpg)
34% wszystkich ściągniętych aplikacji stanowią gry
57% wszystkich płatnych ściągnięć to gry!!!
Czy wiecie, że…
![Page 6: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/6.jpg)
Windows 8 to wiele urządzeń
![Page 7: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/7.jpg)
Twoja gra jest w centrum uwagi
![Page 8: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/8.jpg)
Łatwość wykreowania własnej marki
![Page 9: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/9.jpg)
Łatwość w dystrybucji i zarabianiu
Poprzez Windows Store zainstalujesz grę na każdym urządzeniu z Windows 8
Wersje trial Płatności wewnątrz gry Reklamy
![Page 10: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/10.jpg)
Nowe możliwości i wyzwania dla twórców gier
![Page 11: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/11.jpg)
Platforma Windows 8
Communication
& Data
Devices & Printing
WinRT APIsGraphics &
Media
Desktop apps
CC++
Win32
C#VB
.NET SL
HTMLJavaScri
pt
Internet Explore
r
Windows Store apps
Application Model
XAML
JavaScript
HTML / CSS
CC++
C#VB
Windows Kernel Services
Syst
em
Serv
ices
Vie w
Mod
el
Con
trol
ler
Kern el
![Page 12: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/12.jpg)
DevicesSensor
sGeolocation
Portable
NFC
Communications & DataContracts
XML
Web
SMSNetworking
Notifications
Local & Cloud Storage
Streams
Background Transfer
User InterfaceHTML5/CSS XAML DirectX Controls
Input Accessibility Printing
Data Binding
TilesSVG
FundamentalsApplication
ServicesAuthenticatio
nCryptograph
yGlobalizatio
nMemory
ManagementThreading/Timers
MediaVisual Effects
Playback
PlayToCaptur
e
Windows Store App API
![Page 13: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/13.jpg)
Środowisko uruchomieniowe aplikacji
Jadro
syst
em
uwywołania Direct API
Brokerwywołania API
Brokera
Kontener aplikacji: podpisany i zwalidowany kod
Twoja gra
Win
RT A
PI
Game.exe
AppXManifest
![Page 14: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/14.jpg)
Uruchomienie gry
OS wczytuje Twoją grę
Gra urucha
mia Loadin
g Screen
Splash Screen Loading Screen
Gra działa
Gameplay
Menu Screen
Load() Run()
![Page 15: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/15.jpg)
Cykl życia gry
Gra działa
Uśpiona gra
suspendingKill grymało
zasobówresuming
Gra ma jeszcze 5 sekund działania zanim
zostanie zawieszona
Gra nie dostaje informacji, że będzie
„ubita”
Gra dostaje powiadomienie, że jest
wznawiana
Użytkownik
uruchamia grę
![Page 16: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/16.jpg)
Różne stany widoku
Gra otrzymuje informacje o zmianie widoku Można np. zapauzować grę w widoku Snapped Użytkownicy mogą mieć np. naszą grę otwartą w Filled i
serwis społecznościowy uruchomiony w Snapped
Filled4 x 3
Snappedtrochę jak
telefon
Full screen16 x 9
![Page 17: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/17.jpg)
ViewState
void MyApp::SetWindow(CoreWindow^ window){ window->SizeChanged += ref new TypedEventHandler<CoreWindow^, WindowSizeChangedEventArgs^>( this, &MyApp::OnWindowSizeChanged); ApplicationView::GetForCurrentView()->ViewStateChanged += ref new TypedEventHandler <ApplicationView^, ApplicationViewStateChangedEventArgs^>( this, &MyApp::OnViewStateChanged);}
![Page 18: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/18.jpg)
Orientacje ekranu
Gra otrzymuje powiadomienia o zmianie orientacji ekranu Możemy zablokować grę w określonej orientacji Jak z tego korzystać?
Landscape
Portrait
![Page 19: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/19.jpg)
Preferencje rotacji{
DisplayOrientations::None; // Enable rotation by OS/AccelerometerDisplayOrientations::Landscape; // Lock rotation by OS/AccelerometerDisplayOrientations::LandscapeFlipped; // and enable this orientationDisplayOrientations::Portrait;DisplayOrientations::PortraitFlipped;
}
using namespace Windows::Graphics::Display;
DisplayProperties::AutoRotationPreferences = DisplayOrientations::Landscape |
DisplayOrientations::LandscapeFlipped;
![Page 20: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/20.jpg)
Gęstość pikseli (DPI)
Przy tworzeniu grafiki skup się na DPI
XAML jest właściwie niezależny od rozdzielczości
Uważaj na sterowanie dotykiem – ludzka dłoń ma taki sam
rozmiar niezależnie od rozmiaru ekranu
Ekrany 1080p mogą mieć różne rozmiary np. 10”, 30”, 75”
![Page 21: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/21.jpg)
Korzystaj z nowych możliwości sterowania
• Windows 8 umożliwia sterowanie grami poprzez dotyk
• Mysz i klawiatura są nadal jednym ze sposobów sterowania
![Page 22: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/22.jpg)
Nawigacja wewnątrz aplikacji
Semantic Zoom
Główny Hub Rozgrywka
Dodatki
![Page 23: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/23.jpg)
Żywe kafelki
Przyciągnij uwagę gracza do swojego
produktu – nawet jeżeli w tym momencie w
niego nie gra!
![Page 24: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/24.jpg)
Notyfikacje Toast
![Page 25: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/25.jpg)
Wykorzystaj możliwości „bump to play”
![Page 26: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/26.jpg)
Pamiętaj o Semantic Zoom
Semantic Zoom
Główny Hub
![Page 27: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/27.jpg)
Wykorzystaj akcelerometr
![Page 28: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/28.jpg)
Potrząśnij żeby wczytać od nowa level
![Page 29: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/29.jpg)
Charm Settings
![Page 30: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/30.jpg)
Charm Share: podziel się rozgrywką
![Page 31: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/31.jpg)
Charm Device = Extend + PlayTo
![Page 32: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/32.jpg)
?40,000,000 użytkowników
2,100,000,000 godzin gry / miesiąc
>6,300,000,000 przyznanych achievementów
176,802,201,383 zdobytych punktów gracza
![Page 33: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/33.jpg)
Wykorzystaj nowe możliwości C++
![Page 34: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/34.jpg)
Poprawiony edytor kodu
Kolorowanie koduPoprawia przejrzystość kodu
Podświetlanie referencjiZnajdź wszystkie odnośniki w kodzie
IntelliSenseWsparcie dla C++/CLI
![Page 35: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/35.jpg)
Testowanie, ALM i C++
Testy jednostkowe Poprawione możliwości
analizy kodu Diagramy zależności
Struktura projektuTesty jednostkowe
Pokrycie kodu Analiza kodu
![Page 36: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/36.jpg)
Specjalne rozszerzenie języka na potrzeby WinRT (pełne wsparcie C++ 11)
Między innymi: nowy sposób
tworzenia obiektów i referencji do nich
partial classes wsparcie dla typów
generycznych integracja z STL
Rozszerzenie języka C++/CXXAML:
<Button x:Name=“TestButton” Width = “50” Height= “20” Content=“Click Me” Click=“TestButton_Click” />
C++ (generated):Button^ TestButton = ref new Button();TestButton->Width = 50;TestButton->Height = 20;TestButton->Content = “Click Me”;
C++ (user editable):void MyPage::TestButton_Click(Object^ sender, RoutedEventArgs^ e){// do something}
![Page 37: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/37.jpg)
C++ AMP (Accelerated Massive Parallelism) Biblioteka oparta
na DirectX 11
Łatwe zrównoleglanie algorytmów
Znaczne przyspieszenie wykonywania obliczeń – przeniesienie ich na GPU
Poprawiony kompilator C++
#include <amp.h>using namespace concurrency;void AddArrays(int n, int *pA, int *pB, int *pC){ array_view<int,1> a(n, pA); array_view<int,1> b(n, pB); array_view<int,1> sum(n, pC); parallel_for_each(sum.grid, [=](index<1> idx) restrict(amp) { sum[idx] = a[idx] + b[idx]; } );}
![Page 38: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/38.jpg)
Co z DirectX?
![Page 39: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/39.jpg)
Wersje DirectX
Windows XP DirectX 9 Hardware Direct3D 9 API
Windows Vista DirectX 10 Hardware Direct3D 10 API
Windows 7 DirectX 11 Hardware Direct3D 11 API
Jak stworzyć grę na wszystkie te platformy?
Feature Levels umożliwiają dostosowanie do konkretnego sprzętuFeature_Level_9 DirectX 9 HardwareFeature_Level_10 DirectX 10 HardwareFeature_Level_11 DirectX 11 Hardware
![Page 40: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/40.jpg)
Feature Level 9(Available on ALL hardware)
• Vertex shaders• Pixel shaders• 8 Textures• 4 Render Targets• Cube maps• Volume textures• Anisotropic filtering• Antialiasing• HDR rendering• Texture compression
![Page 41: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/41.jpg)
Feature Level 10(Available on DirectX 10 and later hardware)
• Vertex shaders• Pixel shaders• 8 Textures• 4 Render Targets• Cube maps• Volume textures• Anisotropic filtering• Antialiasing• HDR rendering• Texture compression
• Geometry shaders• Stream out• 128 Textures per
shader• 8 Render Targets• Integers in shaders• Vertex textures• Shader sampling• Constant buffers• Alpha-to-coverage• Basic DirectCompute• Async resource
creation
![Page 42: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/42.jpg)
Feature Level 11(Available on DirectX 11 and later hardware)
• Vertex shaders• Pixel shaders• 8 Textures• 4 Render Targets• Cube maps• Volume textures• Anisotropic filtering• Antialiasing• HDR rendering• Texture compression
• Geometry shaders• Stream out• 128 Textures per
shader• 8 Render Targets• Integers in shaders• Vertex textures• Shader sampling• Constant buffers• Alpha-to-coverage• Basic DirectCompute• Async resource
creation
• Full DirectCompute• Random access writes• Tessellation shaders• New compression
formats• Shader linkage
![Page 43: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/43.jpg)
Narzędzia dla programistów i nie tylko
![Page 44: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/44.jpg)
Programiści C++ Unreal Engine (UDK)
Od Epic Games – kompletny profesjonalny framework do tworzenia gier
![Page 45: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/45.jpg)
Programiści C++ CoCos2d-X
Oparty o bibliotekę iOS -> taka sama struktura API
![Page 46: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/46.jpg)
Programiści C# XAML
Można stworzyć grę w Blendzie
![Page 47: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/47.jpg)
Programiści C# MonoGame
Framework oparty na XNA 4.0
![Page 48: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/48.jpg)
Programiści HTML5/JS Canvas
Stwórz grę wykorzystując element Canvas
![Page 49: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/49.jpg)
Programiści HTML5/JS CreateJS
Zestaw przydatnych bibliotek i narzędzi, umożliwiający tworzenie gier w HTML5
![Page 50: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/50.jpg)
Programiści C# Unity
Najpopularniejsze narzędzie cross-platformowe do gier 2D i 3D
![Page 51: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/51.jpg)
Programiści HTML5/JS ImpactJS
Oparty na JavaScript silnik umożliwiający tworzenie multiplatformowych gier w HTML5
![Page 52: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/52.jpg)
Programiści HTML5/JS GameMaker
Zestaw narzędzi dla początkujących umożliwający tworzenie cross-platformowych gier
![Page 53: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/53.jpg)
Programiści HTML5/JS GameSalad
Cross-platformowe gry budowane z klocków -> nie trzeba kodować
![Page 54: Windows 8 dla twórców gier - rzut oka](https://reader038.fdocuments.net/reader038/viewer/2022103116/55865033d8b42ac4538b45e9/html5/thumbnails/54.jpg)
Programiści HTML5/JS Construct2
Platforma dla początkujących