Windows Phone 8 Game Development


Windows Phone 8 Game Development
eBook: $29.99
Formats: PDF, PacktLib, ePub and Mobi formats
$25.49
save 15%!
Print + free eBook + free PacktLib access to the book: $79.98    Print cover: $49.99
$49.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Overview
Table of Contents
Author
Reviews
Support
Sample Chapters
  • Create a 3D game for the Windows Phone 8 platform
  • Combine native and managed development approaches
  • Discover how to use a range of inputs, including sensors
  • Learn how to implement geolocation and augmented reality features
  • Allow communication between players via web services
  • Prepare and publish your game in the Windows Phone Store

Book Details

Language : English
Paperback : 394 pages [ 235mm x 191mm ]
Release Date : September 2013
ISBN : 1849696802
ISBN 13 : 9781849696807
Author(s) : Marcin Jamro
Topics and Technologies : All Books, Mobile Application Development, Other, Mobile, Games

Table of Contents

Preface
Chapter 1: Getting Started
Chapter 2: Game User Interface
Chapter 3: MVVM Design Pattern
Chapter 4: 3D Graphics Basics
Chapter 5: 3D Game World
Chapter 6: Steering, Sensors, and Collision Detection
Chapter 7: 2D User Interface in 3D Game
Chapter 8: Maps, Geolocation, and Augmented Reality
Chapter 9: Exchanging Data via Web Services
Chapter 10: Social Networks, Feeds, Settings, and Local Rank
Chapter 11: Improving Game Experience
Chapter 12: Game Publishing
Appendix A: Useful Resources
Appendix B: Languages and Technologies
Index
  • Chapter 1: Getting Started
    • Windows Phone platform
    • Managed, native, and hybrid development
      • Managed approach
      • Native approach
      • Hybrid approach
    • First steps
      • Software Development Kit
      • Integrated Development Environment
      • Developer account registration
      • Phone registration
    • Concept of the game
      • Objective
      • Screens
      • Architecture
      • Programming languages and technologies
    • Summary
    • Chapter 2: Game User Interface
      • New project
      • Project structure
      • Manifest file
      • Application lifecycle
      • First screen
        • Required modifications
        • New application page
        • Working with designer
        • Working with the XAML code
          • Layout controls
          • Screen layout
          • Background
        • Menu options
        • Styles
        • Handling events
          • Separate event handlers
          • Common event handler
        • Navigating between pages
      • Running
      • Debugging
      • Resources shared among all screens
      • Data binding
      • Localization
      • Summary
      • Chapter 3: MVVM Design Pattern
        • Model-View-ViewModel
          • Simple implementation
        • Menu screen
        • Map screen
          • View
          • View model
          • Model
        • Ranks screen
          • Model
            • RankItem class
            • RankTopScoreConverter class
          • View model
          • View
            • RankControl user control
            • Ranks page
        • Settings screen
        • World, Web, and Help screens
        • Game screen
        • Summary
        • Chapter 4: 3D Graphics Basics
          • Introduction to 3D graphics
            • Vertices, indices, coordinates, and faces
            • Model, view, and projection matrices
            • Rendering pipeline
            • Shaders
          • Direct3D-related part
            • Windows Phone Runtime Component
            • Direct3DInterop class
            • Direct3DBase class
            • CubeRenderer class
              • Fields
              • Device resources
              • Resources dependent on the window size
              • Updating
              • Rendering the scene
            • Shaders
            • GamePage.xaml.cs
          • Necessary modifications
          • Native part debugging
          • Summary
          • Chapter 5: 3D Game World
            • Planet model
              • Creating model
              • Adding model file
              • Importing model
                • VertexData structure
                • GameHelpers class
                • ModelLoader class
              • Placing a model in the game world
                • MVPConstantBuffer structure
                • Object3D class
                • GameHelpers class
                • Constants
                • Planet class
                • GameRenderer class
            • Adding asteroids to the game world
              • Asteroid class
              • GameRenderer class
            • Flying towards the planet
              • Rocket class
              • GameRenderer class
            • Summary
            • Chapter 6: Steering, Sensors, and Collision Detection
              • Rocket steering
                • Steering by accelerometer
                  • Rocket class
                  • GameRenderer class
                • Game world limitation
                • Engine power adjustment
                  • Rocket class
                  • GameRenderer class
                  • Direct3DInterop class
              • Game levels
                • Implementation
                  • Constants
                  • Game class
                  • GameRenderer class
              • Collision detection
                • Concept
                • Implementation
                  • CollisionDetector class
                  • GameRenderer class
              • Improving performance
                • Update operation
                • Render operation
              • Other sensors in the native part
                • Writing to output
                • Gyrometer
                • Compass
              • Interactive Help screen
                • HelpPage.xaml
                • HelpPage.xaml.cs
                • HelpViewModel.cs
              • Other sensors in the managed part
                • Gyroscope
              • Summary
              • Chapter 7: 2D User Interface in 3D Game
                • DirectX Tool Kit
                • Game states
                  • Concept
                  • Implementation
                    • Constants
                    • Game class
                    • GameRenderer class
                • Rocket display
                  • Concept
                  • Texture
                  • Font
                  • Implementation
                    • Constants
                    • RocketDisplay class
                    • GameRenderer class
                • Localized strings
                  • Concept
                  • Implementation
                    • Constants
                    • LocalizedStrings class
                • Level countdown
                  • Concept
                  • Implementation
                    • Constants
                    • Countdown class
                    • GameRenderer class
                    • Direct3DInterop class
                    • GamePage class
                • Menus
                  • Concept
                  • Implementation
                    • Constants
                    • Localized strings
                    • MenuItem class
                    • MenuButton class
                    • MenuLabel class
                    • Menu class
                    • GameRenderer class
                    • Direct3DInterop class
                    • GamePage class
                • Summary
                • Chapter 8: Maps, Geolocation, and Augmented Reality
                  • Maps and geolocation
                    • Windows Phone Toolkit
                      • Installation
                      • Ambiguous reference error
                    • Locations of other players
                      • PlayerData.cs
                      • MapViewModel.cs
                      • MapPage.xaml
                      • MapPage.xaml.cs
                    • Your location
                      • MapViewModel.cs
                      • MapPage.xaml
                  • Augmented reality
                    • Geo Augmented Reality Toolkit
                    • Locations of other players
                      • ARItemExtended.cs
                      • WorldViewModel.cs
                      • WorldPage.xaml
                      • WorldPage.xaml.cs
                    • Error message
                      • VisibilityConverter.cs
                      • WorldViewModel.cs
                      • App.xaml
                      • WorldPage.xaml
                  • Navigation to GPS coordinates
                    • Implementation
                      • GameHelpers.cs
                      • MapViewModel.cs and WorldViewModel.cs
                  • Summary
                  • Chapter 9: Exchanging Data via Web Services
                    • SOA and WCF
                    • Creating a web service
                      • New project
                      • Database
                        • Adding SQL Server database
                        • Players table
                        • Results table
                      • Access to database
                        • Language-Integrated Query
                        • LINQ classes
                      • Implementation
                        • SA3DPlayer.cs
                        • SA3DRankItem.cs
                        • SA3DRank.cs
                        • ISA3DService.cs
                        • SA3DService.cs
                    • Web service deployment
                      • Development deployment
                        • IIS Express hosting
                        • Access by IP address
                        • Web service testing
                      • Production deployment
                    • Web service usage
                      • Adding reference
                      • Settings
                        • Settings.cs
                      • Ranks screen
                        • RanksPage.xaml
                        • RanksViewModel.cs
                      • Map screen
                        • MapPage.xaml
                        • MapViewModel.cs
                      • World screen
                        • WorldViewModel.cs
                      • Game screen
                        • GameRenderer.h
                        • Direct3DInterop.h
                        • Direct3DInterop.cpp
                        • GameViewModel.cs
                        • GamePage.xaml.cs
                    • Summary
                    • Chapter 10: Social Networks, Feeds, Settings, and Local Rank
                      • Publishing posts with Facebook API
                        • Creating Facebook application
                        • Facebook C# SDK
                        • Implementation
                          • WebPage.xaml
                          • WebPage.xaml.cs
                          • WebViewModel.cs
                        • Result
                      • Tweeting by Twitter API
                        • Creating Twitter application
                        • LINQ to Twitter installation
                        • Implementation
                          • WebPage.xaml
                          • WebPage.xaml.cs
                          • WebViewModel.cs
                        • Result
                      • Obtaining data from RSS feeds
                        • Implementation
                          • News.cs
                          • WebPage.xaml
                          • WebViewModel.cs
                      • Game settings
                        • Implementation
                          • Settings.cs
                          • SettingsViewModel.cs
                          • MapViewModel.cs
                      • Local rank
                        • Files in the isolated storage
                        • Implementation
                          • LocalRank.cs
                          • RanksViewModel.cs
                          • Direct3DInterop.h
                          • Direct3DInterop.cpp
                          • GamePage.xaml.cs
                          • GameViewModel.cs
                        • Isolated Storage Explorer tool
                      • Summary
                      • Chapter 11: Improving Game Experience
                        • Saving and loading the game state
                          • Concept
                          • Implementation
                            • Constants.h
                            • Game.h
                            • GameRenderer.h
                            • GameRenderer.cpp
                        • Audio support
                          • Background music
                            • App.xaml
                            • App.xaml.cs
                            • SettingsViewModel.cs
                          • Sounds
                            • WAV file creation
                            • Using files from sample
                            • GameRenderer.h
                            • GameRenderer.cpp
                        • Video support
                          • Concept
                          • Implementation
                            • CalibrationPage.xaml
                            • CalibrationPage.xaml.cs
                            • WorldViewModel.cs
                        • Vibrations
                          • Concept
                          • Implementation
                            • MenuViewModel.cs
                            • GameRenderer.h
                            • GameRenderer.cpp
                            • Direct3DInterop.h
                            • GamePage.xaml.cs
                        • Speech recognition and synthesis
                          • Concept
                            • Speech recognition
                            • Speech synthesis
                            • Asynchronous operations
                          • Implementation
                            • MenuPage.xaml
                            • MenuPage.xaml.cs
                            • MenuViewModel.cs
                        • Disabling the lock screen
                          • Implementation
                            • GameViewModel.cs
                            • GamePage.xaml.cs
                        • Summary
                        • Chapter 12: Game Publishing
                          • Manifest file
                            • Basic configuration
                            • Tiles
                            • Remaining settings
                          • Rating by the users
                          • Release version
                          • Store Test Kit
                            • Application details
                            • Automated tests
                            • Manual tests
                          • Simulation Dashboard
                          • Windows Phone Application Analysis
                          • Frame rate counters
                          • Certification requirements
                          • Publishing in the store
                            • Application information
                            • Map credentials
                              • View model
                              • View
                            • XAP submission
                          • Updating submission
                          • Summary
                          • Appendix A: Useful Resources
                            • Getting started
                            • Game user interface
                            • MVVM design pattern
                            • 3D graphics basics and 3D game world
                            • Steering, sensors, and collision detection
                            • 2D user interface in a 3D Game
                            • Maps, geolocation, and augmented reality
                            • Exchanging data via web services
                            • Social networks, feeds, settings, and local rank
                            • Improving game experience
                            • Game publishing

                              Marcin Jamro

                              Marcin Jamro is the developer and architect of various kinds of applications, such as web, mobile, and distributed ones. He is interested in many aspects of computer science, including software engineering and project management. Marcin is passionate about C#, C++, and C languages, design patterns, various technologies, and mobile devices, especially the Windows Phone platform. He has practical experience in project development and holds the position of Chief Executive Officer at JAMROTECH Sp. z o.o. [Ltd.] (Rzeszow, Poland) which consists of activities like IT projects development, consulting, as well as conducting training. He also works at Rzeszow University of Technology and is writing a PhD thesis regarding real-time software engineering. Marcin has published several papers, taken part in many conferences and organized a few of them, as well as participated in two internships at Microsoft in Redmond (USA). He has Microsoft Certified Professional, Microsoft Certified Technology Specialist, and Microsoft Certified Professional Developer certificates. More information about Marcin is available at his website: http://jamro.biz. You can easily contact him by sending an e-mail message to marcin@jamro.biz.

                              Code Downloads

                              Download the code and support files for this book.


                              Submit Errata

                              Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

                              Sample chapters

                              You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

                              Frequently bought together

                              Windows Phone 8 Game Development +    Oracle User Productivity Kit 3.5 =
                              50% Off
                              the second eBook
                              Price for both: €40.05

                              Buy both these recommended eBooks together and get 50% off the cheapest eBook.

                              What you will learn from this book

                              • Combine native and managed development approaches
                              • Run and debug Windows Phone 8 applications
                              • Use XAML language to create the user interface
                              • Create 3D graphics with Direct3D
                              • Draw 2D graphics with DirectXTK
                              • Create game logic and detect collisions
                              • Steer the game with sensors
                              • Use maps, geolocation, and augmented reality features
                              • Share data via social networks
                              • Add audio and video support
                              • Recognize and synthesize speech

                              In Detail

                              Currently almost everyone has a mobile phone that is used not only for calling, texting, and browsing the Internet, but also as an entertainment and social platform. Developers can create advanced 3D games with outstanding functionality that allow the player to enjoy the game directly on the mobile phone and cooperate with other players via the Internet!

                              Windows Phone 8 Game Development is a practical, hands-on guide that will show you how to create a 3D game for the Windows Phone 8 platform. From setting up the environment to publishing your game, you will first learn how to implement 3D and 2D graphics with Direct3D, XAML, C++, and C#. We will then look at the game logic, steering with sensors, detecting collisions, as well as using maps, geolocation, augmented reality, social networks, and web services to share data between players. Featuring many code examples, images, and diagrams you should find the content both engaging and easy to understand.

                              Approach

                              Written as a practical Packt tutorial, this essential reference will show you how to develop games on the Windows Phone 8 platform.

                              Who this book is for

                              The book is dedicated to the beginners in a field of game development and the Windows Phone 8 platform who want to create their first game! No prior experience regarding 2D and 3D games development, the mobile platform, as well as XAML and Direct3D technologies, is necessary. However, some basic knowledge of object-oriented programming (especially in case of C++ and C# languages) is required to understand parts of code described in the book.

                              Code Download and Errata
                              Packt Anytime, Anywhere
                              Register Books
                              Print Upgrades
                              eBook Downloads
                              Video Support
                              Contact Us
                              Awards Voting Nominations Previous Winners
                              Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                              Resources
                              Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software