You are previewing Learning Windows 8 Game Development.
O'Reilly logo
Learning Windows 8 Game Development

Book Description

Windows 8 brings touchscreens to the tablet and PC. This book will show you how to develop games for both by following clear, hands-on examples. Takes your C++ skills into exciting areas of 3D development.

  • Use cutting-edge technologies like DirectX to make awesome games

  • Discover tools that will make game development easier

  • Bring your game to the latest touch-enabled PCs and tablets

  • In Detail

    With the recent success of a lot of smaller games, game development is quickly becoming a great field to get in to. Mobile and PC games are on the rise, and having a way to create a game for all types of devices without rewriting everything is a huge benefit for the new Windows 8 operating system. In this book, you will learn how to use cutting-edge technologies like DirectX and tools that will make creating a game easy. This book also allows you to make money by selling your games to the world.

    Learning Windows 8 Game Development teaches you how to create exciting games for tablets and PC on the Windows 8 platform. Make a game, learn the techniques, and use them to make the games you want to play. Learn about graphics, multiplayer options, how to use the Proximity + Socket APIs to add local multiplayer, how to sell the game outright, and In-App Purchases.

    Learning Windows 8 Game Development guides you from the start of your journey all the way to developing games for Windows by showing you how to develop a game from scratch and sell it in the store.With Learning Windows 8 Game Development, you will learn how to write the code required to set everything up, get some graphics on screen, and then jump into the fun part of adding gameplay to turn a graphics sample into a proper game. From there, you’ll look at how to add awesome features to your game like networking, motion controls, and even take advantage of new Windows 8 features like live tiles and sharing to make your players want to challenge their friends and keep playing.

    This book wraps up by covering the only way a good game can finish development: by shipping the game on the Windows Store. You’ll look at the things to remember to make certification painless and some great tips on how to market and sell your game to the public.

    Table of Contents

    1. Learning Windows 8 Game Development
      1. Table of Contents
      2. Learning Windows 8 Game Development
      3. Credits
      4. About the Author
      5. About the Reviewers
        1. Support files, eBooks, discount offers and more
          1. Why Subscribe?
          2. Free Access for Packt account holders
      7. Preface
        1. What this book covers
        2. What you need for this book
          1. NuGet and DirectXTK
          2. MSDN
          3. Languages and other resources
          4. WinRT
            1. Components
            2. Threading
          5. C++ Component Extensions
        3. Who this book is for
          1. Conventions
        4. Reader feedback
        5. Customer support
          1. Downloading the example code
          2. Errata
          3. Piracy
          4. Questions
      8. 1. Getting Started with Direct3D
        1. Setting up the stage
          1. Applications and windows
        2. Structuring each frame
        3. Initializing the Direct3D API
          1. Graphics device
          2. Device context
          3. Swap chain
          4. Render target, depth stencil, and viewport
        4. Down the graphics pipeline
        5. Understanding the game loop
          1. Updating the simulation
          2. Drawing the world
            1. Clearing the screen
            2. Presenting the back buffer
        6. Summary
      9. 2. Drawing 2D Sprites
        1. Installing DirectXTK
        2. What a sprite is
        3. Textures
          1. File formats
          2. Loading
        4. Co-ordinate systems
        5. Drawing the sprites
          1. Sorting modes
          2. Finishing the batch
            1. Vectors
        6. Text rendering
          1. TTF versus BMP
          2. Building the font
          3. Drawing the font
        7. Summary
      10. 3. Adding the Input
        1. Input devices
        2. Pointers
        3. Keyboard input
        4. GamePad input
          1. Multiple controllers
          2. Buttons
          3. Deadzones and thumbsticks
        5. Summary
      11. 4. Adding the Play in the Gameplay
        1. Structuring a game
          1. Traditional object-oriented design
          2. Components and entities
          3. Putting it all together
          4. Subsystems
          5. Refining the input system
            1. Trigger
            2. Action
            3. InputManager
            4. Triggers
          6. Renderer
            1. Resource management
            2. Culling
            3. Implementation
          7. Collision detection
            1. Rectangle collision
        2. Fighting for score
        3. Summary
      12. 5. Tilting the World
        1. Orientation
          1. Accelerometer
            1. Shaking things up a bit
          2. Spinning with gyros
          3. Compass
          4. Inclinometer
          5. Orientation for games
          6. Practice makes perfect
        2. Other sensors
          1. Light
        3. Locking on with a GPS
          1. Status
          2. Position
          3. Polling
        4. Summary
      13. 6. Bragging Rights
        1. Game state and progression
        2. Sharing in Windows 8
        3. WinRT components
        4. Live tiles
        5. Summary
      14. 7. Playing Games with Friends
        1. A better menu system
        2. Networking
          1. Choosing between client/server and peer-to-peer models
            1. The client/server model
            2. The peer-to-peer model
            3. Maybe a hybrid?
          2. The first stage
            1. Using the PeerFinder
          3. Communicating the gameplay
            1. TCP – StreamSocket
            2. UDP – DatagramSocket
            3. Reading and writing data
              1. Side note – Async
              2. The DataReader
              3. The DataWriter
        3. Summary
      15. 8. Getting into the Store
        1. Getting into the store
          1. Free accounts
        2. Submitting your game
          1. GDF Certificates
        3. App packages
          1. Capabilities
            1. Adding a privacy policy
          2. Declarations
        4. Certification kit
        5. Creating your app packages
        6. Uploading and submitting
        7. Certification tips
          1. Privacy
          2. Features
          3. Legacy APIs
          4. Debug
          5. WACK
        8. Summary
      16. 9. Monetization
        1. Selling your games
        2. Monetization models
          1. The freemium model
          2. The traditional model
          3. The hybrid model
        3. The trial mode
        4. In-app purchases
          1. The consumables
        5. Testing with the simulator
        6. Summary
      17. A. Adding the Third Dimension
        1. Vertices and triangles
        2. Indices
        3. Cameras
        4. DirectXMath
        5. Buffers
          1. Building the vertex and index buffers
          2. Setting the buffers
          3. Using the buffers
          4. Constant buffers
          5. Updating the buffers
            1. Mapping the buffer
            2. The UpdateSubresource() method
        6. Shaders
          1. Vertex shaders
          2. Pixel shaders
          3. Compiling and loading
        7. Input layouts
        8. Drawing the model
          1. Setting the buffers and drawing
        9. Summary
      18. Index