Developing Windows 10 Games with Construct 2 Shahed Chowdhuri | Senior Technical Evangelist James Quick | Technical Evangelist
Meet James Quick| @jamesqquick Technical Evangelist - Mobile and Cloud Windows, Android, IOS, Xamarin, and 2D Games Azure App Services Background Co-Admin of “Construct 2 Devs” Facebook group – 3,000+ members Published games through Construct 2 Frequent speaker on Windows 10 UWP and Azure App Services Online http://jamesqquick.com/ https://github.com/jamesqquick/
Meet Shahed Chowdhuri | @shahedc Sr. Technical Evangelist, East Coast Works with students, indie developers, startups Focuses on DC, MD, VA and beyond Indie Dev Background Games published on Windows Store, Windows Phone, Xbox 360 Dev tools published for Xbox 360 developers Founder/admin of FB game dev groups (Xbox One, Unity, Construct 2, HoloLens) Online Blog: http://WakeUpAndCode.com Twitter: @shahedC, Email: shchowd@microsoft.com Meetup: http://meetup.com/DC-MS-Devs
Course Topics Construct 2 with Windows 10 01 | What’s New with Windows 10 and Azure 02 | Input and Controllers 03 | Exporting and Ads 04 | Hosting with Web Apps and Publishing
Setting Expectations Target Audience Some background in Construct 2 Familiarity with SAAS Cloud Services Suggested Prerequisites/Supporting Material MVA 1 – Building Games with Construct 2 http://aka.ms/mva-construct2 MVA 2 – Advanced Game Development with Construct 2 http://aka.ms/mva-construct2-advanced
Join the MVA Community! Microsoft Virtual Academy Free online learning tailored for IT Pros and Developers Over 3M registered users Up-to-date, relevant training on variety of Microsoft products No login required (new!) Join Today! http://mva.microsoft.com
Recommended Resources Construct 2 Resource Lists http://jamesqquick.com/construct2/ http://wakeupandcode.com/construct2/ James Quick’s Blog - http://bitly.com/c2win10 Facebook: http://fb.com/groups/Construct2Devs Demo Projects Platformer: https://github.com/shahedc/mva3platformer Space Shooter: https://github.com/shahedc/space-shooter
01 | What’s New With Windows 10 and Azure Shahed Chowdhuri| Senior Technical Evangelist James Quick| Technical Evangelist
Module Overview Windows 10 Universal Windows Platform (UWP) Azure App Services Leaderboards in Azure Mobile Apps
Windows 10 Universal Windows Platform (UWP)
The convergence journey Xbox 360 Xbox One Unified core and app platform Converged OS kernel Windows 8.1 Windows 10 Windows 8 Converged app model Windows Phone 8.1 Windows Phone 8 Easy for users to get & stay current Windows Phone 7.5 Windows on Devices
UWP UWP UWP UWP Windows Core Windows Core Windows Core Windows Core Desktop Mobile Xbox More…
Multiple device families PC XBox Mobile Surface Hub Devices +IoT HoloLens Universal Apps Multiple device families Adaptive User Interface Reuse Existing Code One Store + One Dev Center Natural User Inputs One SDK + Tooling One Universal Windows Platform
Universal Windows Platform C++ .Net languages MFC WF WPF runtime Universal Windows Platform WWA C++ & CX .Net languages HTML DirectX XAML Windows 10 operating system
Universal Windows Platform A single API surface A guaranteed API surface The same on all devices Phone Device Xbox Desktop Windows Core Universal Windows Platform
Universal Windows Platform Windows app A package on any device Test for Capabilities Adjust to Device Phone Device Xbox Desktop Windows Core Universal Windows Platform Windows App
Visual Studio 2015 Editions Enterprise Architecture Modelling, Diagnostics, VSO/ALM & Release Management Professional Architecture Validation, VSO/ALM & Feedback Management Community Editions Visual Studio Professional Edition
dev.windows.com
Universal Windows Platform One Operating System One Windows core for all devices One App Platform Apps run across every family One Dev Center Single submission flow and dashboard One Store Global reach, local monetization Consumers, Business & Education
Azure App Service
Azure App Service Build and scale great cloud apps Web Apps Mobile Apps Logic Apps API Apps
Benefits of App Services Automatic OS patching Enterprise-grade security High availability Automated scale out/in Built-in load balancing Supports many languages and platforms .NET, Node.js, Python, Ruby and many more Easy continuous deployment Continuous delivery from third-party source control providers Built-in Git repo Benefits of App Services
Web Apps Logic Apps Mobile Apps API Apps http SQL Administration App Customer site Order Completed Customer App http SQL API Apps
Conceptual Model Conceptual Model App Service Plan App Service Plan App Service App App Service App App Service App App Service App App Service App App Service App SKU: Premium (# of sites, storage, slots…) Compute Resource: P4 ( 8 cores, 14 GB memory) Scale: 8 SKU: # of sites, storage, slots… Compute Resource: cores, memory Scale: number of instances Note: For App Service Environment the SKU will always be Premium
CI with GitHub, BitBucket, VSO Site slots for staged deployments Full capability set available including: .NET, Node.js, Java, PHP, and Python Integrated VS CI with GitHub, BitBucket, VSO Site slots for staged deployments Web Apps Web apps run as-is no changes required
Visual Studio + App Service Web Apps Create Azure Resources during File / New Create Web App during deploy Manage with Server Explorer
Dozens of built-in APIs for popular SaaS Easily use cloud or custom APIs: Dozens of built-in APIs for popular SaaS Create and publish custom, reusable APIs Visual Studio Integrations Automatic client SDK and Swagger generation for many languages Api Apps Create, consume and host APIs more easily
Consuming API Apps API Apps expose HTTP services Metadata is exposed using Swagger 2.0 metadata JSON file Widely supported Client applications
No code designer for rapid creation New Logic Apps for easy automation No code designer for rapid creation Dozens of pre-built templates to get started Out of box support for popular SaaS and on-premises apps Use with custom API apps of your own LOGIC Apps Automate SaaS and on-premises systems
Mobile Apps
Azure Mobile Apps Storage Authentication Logic Push Scheduler
Custom API Non-table based endpoints Accessible from GET POST PUT PATCH DELETE For node.js logic in scripts like table endpoints For .NET delivered through a WebAPI Expose any functionality you want Custom API
Leaderboards in Azure Mobile Apps
JSON To C2 Array
Adding Leaderboard in Azure Apps
02 | Input and Controllers Shahed Chowdhuri| Senior Technical Evangelist James Quick| Technical Evangelist
Module Overview Input and Controllers Input Overview Touch Controls Xbox One Controller
Input Overview
Input Overview Input methods Gamepad Keyboard Mouse Touch
Input Overview
Gamepad Overview
Keyboard Overview
Mouse Overview
Touch Overview
Touch Controls
Touch Controls Invisible sprites on parts of screen Virtual gamepad buttons
Touch Areas
Touch Areas
Touch Buttons
Touch Buttons
Xbox One Controller
Xbox One Controller Gamepad Detection Gamepad Usage Multiple Controllers
Wired or Wireless
Gamepad Detection
Gamepad Usage
Multiple Controllers
Gamepad Controls
Gamepad Controls
Multiple Controllers
Multiple Controllers
03 | Exporting and Ads Shahed Chowdhuri| Senior Technical Evangelist James Quick| Technical Evangelist
Module Overview Exporting and Ads Exporting to UWP for Windows 10 Universal Ad Client SDK Adding Ads
Exporting to UWP for Windows 10
Exporting to UWP for Windows 10 Enable Developer Mode Enter Game Details Export to Windows 10 Universal format
Enable Developer Mode Search for “developer mode” or “developer features” Enable “Developer mode” option
Enter Game Details
Export to Windows 10 Universal Format Click “Export Project” Select “Windows Store”
Export (continued) Enter (or browse to) a location… Click Export Select Windows 10 Universal as Target… Click Export
Exporting to UWP for Windows 10
Universal Ad Client SDK
It all starts with…
dev.windows.com
Universal Ad Client SDK
HTML/Javascript Support
Adding Ads
Adding Reference to the Javascript SDK
Add ad.js Reference
Body
Replace appId and adUnitId
Adding Ads
04 | Hosting as Web Apps and Publishing Shahed Chowdhuri| Senior Technical Evangelist James Quick| Technical Evangelist
Module Overview Hosting as Web Apps and Publishing Hosting as Web App Publishing to the Windows Store
Hosting as Web Apps
CI with GitHub, BitBucket, VSO Site slots for staged deployments Full capability set available including: .NET, Node.js, Java, PHP, and Python Integrated VS CI with GitHub, BitBucket, VSO Site slots for staged deployments Web Apps Web apps run as-is no changes required
Visual Studio + App Service Web Apps Create Azure Resources during File / New Create Web App during deploy Manage with Server Explorer
Creating Azure Web App in Portal
Publishing with Visual Studio
Publishing with Github
Publishing to the Windows Store
Publishing to the Windows Store Open in Visual Studio Associate with Store App and Add Images Create Packages and Publish to Windows Store
Open in Visual Studio
Optional: Fix Manifest File Right-click to View Code (F7)
Associate with Store App Right-click project in Solution Explorer then click Store Associate App with the Store in popup menu
Add Required Images Identify placeholder images to replace
Add Required Images (continued)
Run WACK to Create Packages Right-click project in Solution Explorer then click Store Create App Packages… in popup menu
Run WACK (continued) Step through dialogs, then launch WACK If FAILED, fix issues and repeat. If PASSED, proceed to next step.
Publish to Windows Store Go to Dashboard dev.windows.com
Publishing to the Windows Store