SlideShare une entreprise Scribd logo
1  sur  55
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…
Poprzez Windows Store zainstalujesz grę na każdym urządzeniu z Windows 8
Platforma Windows 8
                               Windows Store apps                         Desktop apps

                               XAML                      HTML / CSS
   View




                         C                C#
 Controller
  Model




                                                         JavaScript    HTML          C      C#
                        C++               VB                           JavaScript   C++     VB
                                     WinRT APIs
   System Services




                     Communication      Graphics &         Devices &
                        & Data            Media             Printing

                                     Application Model                 Internet             .NET
                                                                       Explorer
                                                                                    Win32    SL


                                         Windows Kernel Services
   Kernel
Windows Store App API
                                                      User Interface
  HTML5/CSS                     XAML                       DirectX                    Controls             Data Binding

      SVG                           Tiles                   Input                Accessibility               Printing



                   Devices                                           Communications & Data
  Geolocation      Portable   Sensors          NFC       Contracts        Local & Cloud Storage               Web


                                                                      Notifications              Streams
                   Media
                                            Visual      Background
  Playback      Capture    PlayTo                                         XML               Networking        SMS
                                            Effects       Transfer



                                                      Fundamentals
     Application                                       Memory
                          Threading/Timers                             Authentication       Cryptography   Globalization
      Services                                        Management
wywołania Direct API




                                                                                       Jadro systemu
                                                  WinRT API
                                                                            Broker


Kontener aplikacji: podpisany i zwalidowany kod


                                                                        AppXManifest
Cykl życia gry



                          suspending
Użytkownik                             Uśpiona
uruchamia    Gra działa                          mało zasobów   Kill gry
    grę
                                         gra
                            resuming
Full screen   Filled    Snapped
  16 x 9      4x3      trochę jak
                         telefon
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);
}
Orientacje ekranu



        Landscape   Portrait
{
    DisplayOrientations::None;               // Enable rotation by OS/Accelerometer
    DisplayOrientations::Landscape;          // Lock rotation by OS/Accelerometer
    DisplayOrientations::LandscapeFlipped;   //     and enable this orientation
    DisplayOrientations::Portrait;
    DisplayOrientations::PortraitFlipped;
}

using namespace Windows::Graphics::Display;

DisplayProperties::AutoRotationPreferences = DisplayOrientations::Landscape
                                           | DisplayOrientations::LandscapeFlipped;
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”
•   Windows 8 umożliwia sterowanie grami poprzez dotyk

•   Mysz i klawiatura są nadal jednym ze sposobów sterowania
Poprawia przejrzystość kodu


Znajdź wszystkie odnośniki w kodzie


Wsparcie dla C++/CLI
   Diagramy zależności
#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];
        }
     );
}
Feature Levels umożliwiają dostosowanie do konkretnego sprzętu
    Feature_Level_9         DirectX 9 Hardware
    Feature_Level_10        DirectX 10 Hardware
    Feature_Level_11        DirectX 11 Hardware
•   Vertex shaders
•   Pixel shaders
•   8 Textures
•   4 Render Targets
•   Cube maps
•   Volume textures
•   Anisotropic filtering
•   Antialiasing
•   HDR rendering
•   Texture compression
•   Vertex shaders          •   Geometry shaders
•   Pixel shaders           •   Stream out
•   8 Textures              •   128 Textures per shader
•   4 Render Targets        •   8 Render Targets
•   Cube maps               •   Integers in shaders
•   Volume textures         •   Vertex textures
•   Anisotropic filtering   •   Shader sampling
•   Antialiasing            •   Constant buffers
•   HDR rendering           •   Alpha-to-coverage
•   Texture compression     •   Basic DirectCompute
                            •   Async resource creation
•   Vertex shaders          •   Geometry shaders          •   Full DirectCompute
•   Pixel shaders           •   Stream out                •   Random access writes
•   8 Textures              •   128 Textures per shader   •   Tessellation shaders
•   4 Render Targets        •   8 Render Targets          •   New compression formats
•   Cube maps               •   Integers in shaders       •   Shader linkage
•   Volume textures         •   Vertex textures
•   Anisotropic filtering   •   Shader sampling
•   Antialiasing            •   Constant buffers
•   HDR rendering           •   Alpha-to-coverage
•   Texture compression     •   Basic DirectCompute
                            •   Async resource creation
Windows 8 dla twórców gier - rzut oka
Windows 8 dla twórców gier - rzut oka
Windows 8 dla twórców gier - rzut oka
Windows 8 dla twórców gier - rzut oka
Windows 8 dla twórców gier - rzut oka
Windows 8 dla twórców gier - rzut oka
Windows 8 dla twórców gier - rzut oka
Windows 8 dla twórców gier - rzut oka
Windows 8 dla twórców gier - rzut oka
Windows 8 dla twórców gier - rzut oka
Windows 8 dla twórców gier - rzut oka
Windows 8 dla twórców gier - rzut oka
Windows 8 dla twórców gier - rzut oka

Contenu connexe

Similaire à Windows 8 dla twórców gier - rzut oka

Aplikacje mobilne tworzone w technologiach webowych
Aplikacje mobilne tworzone w technologiach webowychAplikacje mobilne tworzone w technologiach webowych
Aplikacje mobilne tworzone w technologiach webowychTomasz Borowski
 
Seminarium - Tworzenie Aplikacji Mobilnych 2004
Seminarium - Tworzenie Aplikacji Mobilnych 2004Seminarium - Tworzenie Aplikacji Mobilnych 2004
Seminarium - Tworzenie Aplikacji Mobilnych 2004Tomasz Cieplak
 
Aplikacje internetowe (2010)
Aplikacje internetowe (2010)Aplikacje internetowe (2010)
Aplikacje internetowe (2010)Adrian Kalbarczyk
 
Citrix Application Layering
Citrix Application LayeringCitrix Application Layering
Citrix Application LayeringPawel Serwan
 
Jak zostać mobile deweloperem w 1 dzień
Jak zostać mobile deweloperem w 1 dzieńJak zostać mobile deweloperem w 1 dzień
Jak zostać mobile deweloperem w 1 dzieńPaweł Kondraciuk
 
Automatyzacja fundament każdej chmury
Automatyzacja fundament każdej chmury Automatyzacja fundament każdej chmury
Automatyzacja fundament każdej chmury Jakub Mazurkiewicz
 
Programowanie Windows Phone 7
Programowanie Windows Phone 7Programowanie Windows Phone 7
Programowanie Windows Phone 7daniel.plawgo
 
Workshop - Szkolenie Xamarin Android
Workshop - Szkolenie Xamarin AndroidWorkshop - Szkolenie Xamarin Android
Workshop - Szkolenie Xamarin AndroidUTC Fire & Security
 
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDNPLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDNPROIDEA
 
infoShare 2013: Rafał Czupryński - Aplikacje na Windows Phone 8 - jak to ugryźć?
infoShare 2013: Rafał Czupryński - Aplikacje na Windows Phone 8 - jak to ugryźć?infoShare 2013: Rafał Czupryński - Aplikacje na Windows Phone 8 - jak to ugryźć?
infoShare 2013: Rafał Czupryński - Aplikacje na Windows Phone 8 - jak to ugryźć?Infoshare
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...Michal Furmankiewicz
 
Odśwież swoje Datacenter z Windows Server 2012
Odśwież swoje Datacenter z Windows Server 2012Odśwież swoje Datacenter z Windows Server 2012
Odśwież swoje Datacenter z Windows Server 2012Mariusz Kedziora
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz
 
Wprowadzenie do Cloud OS
Wprowadzenie do Cloud OSWprowadzenie do Cloud OS
Wprowadzenie do Cloud OSLukasz Kaluzny
 
Prezentacja witruallizacja dc 1.3
Prezentacja witruallizacja dc 1.3Prezentacja witruallizacja dc 1.3
Prezentacja witruallizacja dc 1.3Marta Pacyga
 
PLNOG15: Virtualization and automation of network and security services in Da...
PLNOG15: Virtualization and automation of network and security services in Da...PLNOG15: Virtualization and automation of network and security services in Da...
PLNOG15: Virtualization and automation of network and security services in Da...PROIDEA
 
Implementacja algorytmów na procesory kart graficznych
Implementacja algorytmów na procesory kart graficznychImplementacja algorytmów na procesory kart graficznych
Implementacja algorytmów na procesory kart graficznychKrzysztof Wegner
 

Similaire à Windows 8 dla twórców gier - rzut oka (20)

Developers Club 2003
Developers Club 2003Developers Club 2003
Developers Club 2003
 
Aplikacje mobilne tworzone w technologiach webowych
Aplikacje mobilne tworzone w technologiach webowychAplikacje mobilne tworzone w technologiach webowych
Aplikacje mobilne tworzone w technologiach webowych
 
Seminarium - Tworzenie Aplikacji Mobilnych 2004
Seminarium - Tworzenie Aplikacji Mobilnych 2004Seminarium - Tworzenie Aplikacji Mobilnych 2004
Seminarium - Tworzenie Aplikacji Mobilnych 2004
 
Aplikacje internetowe (2010)
Aplikacje internetowe (2010)Aplikacje internetowe (2010)
Aplikacje internetowe (2010)
 
Citrix Application Layering
Citrix Application LayeringCitrix Application Layering
Citrix Application Layering
 
Jak zostać mobile deweloperem w 1 dzień
Jak zostać mobile deweloperem w 1 dzieńJak zostać mobile deweloperem w 1 dzień
Jak zostać mobile deweloperem w 1 dzień
 
Automatyzacja fundament każdej chmury
Automatyzacja fundament każdej chmury Automatyzacja fundament każdej chmury
Automatyzacja fundament każdej chmury
 
Programowanie Windows Phone 7
Programowanie Windows Phone 7Programowanie Windows Phone 7
Programowanie Windows Phone 7
 
Workshop - Szkolenie Xamarin Android
Workshop - Szkolenie Xamarin AndroidWorkshop - Szkolenie Xamarin Android
Workshop - Szkolenie Xamarin Android
 
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDNPLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
 
infoShare 2013: Rafał Czupryński - Aplikacje na Windows Phone 8 - jak to ugryźć?
infoShare 2013: Rafał Czupryński - Aplikacje na Windows Phone 8 - jak to ugryźć?infoShare 2013: Rafał Czupryński - Aplikacje na Windows Phone 8 - jak to ugryźć?
infoShare 2013: Rafał Czupryński - Aplikacje na Windows Phone 8 - jak to ugryźć?
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
 
DSP Forecasting wdi
DSP Forecasting wdiDSP Forecasting wdi
DSP Forecasting wdi
 
Odśwież swoje Datacenter z Windows Server 2012
Odśwież swoje Datacenter z Windows Server 2012Odśwież swoje Datacenter z Windows Server 2012
Odśwież swoje Datacenter z Windows Server 2012
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
 
Wprowadzenie do Cloud OS
Wprowadzenie do Cloud OSWprowadzenie do Cloud OS
Wprowadzenie do Cloud OS
 
Prezentacja witruallizacja dc 1.3
Prezentacja witruallizacja dc 1.3Prezentacja witruallizacja dc 1.3
Prezentacja witruallizacja dc 1.3
 
PLNOG15: Virtualization and automation of network and security services in Da...
PLNOG15: Virtualization and automation of network and security services in Da...PLNOG15: Virtualization and automation of network and security services in Da...
PLNOG15: Virtualization and automation of network and security services in Da...
 
Budowanie sieci Grid
Budowanie sieci GridBudowanie sieci Grid
Budowanie sieci Grid
 
Implementacja algorytmów na procesory kart graficznych
Implementacja algorytmów na procesory kart graficznychImplementacja algorytmów na procesory kart graficznych
Implementacja algorytmów na procesory kart graficznych
 

Windows 8 dla twórców gier - rzut oka

  • 1.
  • 2.
  • 3.
  • 4. 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…
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. Poprzez Windows Store zainstalujesz grę na każdym urządzeniu z Windows 8
  • 10.
  • 11. Platforma Windows 8 Windows Store apps Desktop apps XAML HTML / CSS View C C# Controller Model JavaScript HTML C C# C++ VB JavaScript C++ VB WinRT APIs System Services Communication Graphics & Devices & & Data Media Printing Application Model Internet .NET Explorer Win32 SL Windows Kernel Services Kernel
  • 12. Windows Store App API User Interface HTML5/CSS XAML DirectX Controls Data Binding SVG Tiles Input Accessibility Printing Devices Communications & Data Geolocation Portable Sensors NFC Contracts Local & Cloud Storage Web Notifications Streams Media Visual Background Playback Capture PlayTo XML Networking SMS Effects Transfer Fundamentals Application Memory Threading/Timers Authentication Cryptography Globalization Services Management
  • 13. wywołania Direct API Jadro systemu WinRT API Broker Kontener aplikacji: podpisany i zwalidowany kod AppXManifest
  • 14.
  • 15. Cykl życia gry suspending Użytkownik Uśpiona uruchamia Gra działa mało zasobów Kill gry grę gra resuming
  • 16. Full screen Filled Snapped 16 x 9 4x3 trochę jak telefon
  • 17. 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); }
  • 18. Orientacje ekranu Landscape Portrait
  • 19. { DisplayOrientations::None; // Enable rotation by OS/Accelerometer DisplayOrientations::Landscape; // Lock rotation by OS/Accelerometer DisplayOrientations::LandscapeFlipped; // and enable this orientation DisplayOrientations::Portrait; DisplayOrientations::PortraitFlipped; } using namespace Windows::Graphics::Display; DisplayProperties::AutoRotationPreferences = DisplayOrientations::Landscape | DisplayOrientations::LandscapeFlipped;
  • 20. 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”
  • 21. Windows 8 umożliwia sterowanie grami poprzez dotyk • Mysz i klawiatura są nadal jednym ze sposobów sterowania
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34. Poprawia przejrzystość kodu Znajdź wszystkie odnośniki w kodzie Wsparcie dla C++/CLI
  • 35. Diagramy zależności
  • 36.
  • 37. #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]; } ); }
  • 38.
  • 39. Feature Levels umożliwiają dostosowanie do konkretnego sprzętu Feature_Level_9  DirectX 9 Hardware Feature_Level_10  DirectX 10 Hardware Feature_Level_11  DirectX 11 Hardware
  • 40. Vertex shaders • Pixel shaders • 8 Textures • 4 Render Targets • Cube maps • Volume textures • Anisotropic filtering • Antialiasing • HDR rendering • Texture compression
  • 41. Vertex shaders • Geometry shaders • Pixel shaders • Stream out • 8 Textures • 128 Textures per shader • 4 Render Targets • 8 Render Targets • Cube maps • Integers in shaders • Volume textures • Vertex textures • Anisotropic filtering • Shader sampling • Antialiasing • Constant buffers • HDR rendering • Alpha-to-coverage • Texture compression • Basic DirectCompute • Async resource creation
  • 42. Vertex shaders • Geometry shaders • Full DirectCompute • Pixel shaders • Stream out • Random access writes • 8 Textures • 128 Textures per shader • Tessellation shaders • 4 Render Targets • 8 Render Targets • New compression formats • Cube maps • Integers in shaders • Shader linkage • Volume textures • Vertex textures • Anisotropic filtering • Shader sampling • Antialiasing • Constant buffers • HDR rendering • Alpha-to-coverage • Texture compression • Basic DirectCompute • Async resource creation

Notes de l'éditeur

  1. Min 1024 x 768Widescreen 1366 x 768Snap view (required)Portrait optionalScaling across form factorsYour app has the opportunity to be used on hundreds of millions of PCsThey range form &lt;10” tablets to &gt;27” screensHD (~200DPI) and Ultra HD (&gt;25o DPI screens a reality soon
  2. Content before Chrome is a core principle to Metro-styled designThe shift in focus is crucial – it means that the users, instead of remembering how to use the software, are remembering the content – the news story they read about, the social updates from their friends, the products they are shopping for. Windows 8 is about putting the app on the center stage. Content is the heart of any experience, and everything else are only tools to let you consume and interact with your contentIt’s important to think about how to leverage this real estate and place content first, so that users can actually be immersed in the things they love.Where does chrome come from? LayoutCommandsNavigation
  3. Some things to think about:PersonalityCore ValueEmotional Awards Functional BenefitsMessaging and VoiceLogos, Colors, Fonts &amp; Word MarksPhotography, Shapes and Rhetorical ElementsContent and Data Types
  4. Possible options for showing ergonomics:On Screen D-PadOn Screen ButtonsGeneral swipe to chop, shoot, etcDragMulti-touch
  5. Primary Logo tile – two sizesLive tile will cycle through information like whose turn it isSecondary tiles may link to specific levels, puzzles, minigames, etc
  6. Letting you know when it’s your turnAnnouncing new levels being available for cut the ropeTapping the notification launches the applicationSliding down on the notification removes it
  7. Sound ControlLanguage selectionSocial sign-inSettings is where Help and About should goThis is also a place to put credits if desired