The goal of this site is to put relevant and applicable tools and information at the fingertips
With this blog we want to inform you on our latest initiatives.
Enjoy reading and stay tuned!
In 2012 the Computing in Schools project looked at the current provision of education in Computing in UK schools, the Royal Society report was informed by evidence gathered from individuals and organisations with an interest in computing.
Key points of the report include:
Over the past year I have been working with a number of inspirational teachers and had the pleasure of keynoting at the Computing in Schools annual conference. One of the key drivers for me with the children at school is simply getting them inspired and looking at ways of making Computer Science in lessons, exciting interesting and more importantly thought provoking at the impact technology has on everyone lives.
Over the last year I have worked with a number of inspiring teacher from the Microsoft Partners in Learning programme.
One of these teacher is Ray Chambers. Ray has successfully included programming into his curricula using tools such as Kodu, but as they progressed, he didn't want them to be simply complacent or loose interest so he decided to step it up a notch and get his students understanding functions.
He also wanted to start introducing arrays and if statements into their vocabulary. This you may think would be a huge challenge but during BETT last year I introduced Ray to a great friend and fellow Partner in Learning Teacher David Renton and David simply evangelised Ray to the power of the Touch Develop platform.
I am pleased to announce that Ray has now successfully developed an entire Scheme of works for Touchdevelop for the GCSE CS curricula.
The following is a guest Blog by Ray Chambers ICT teacher / Lead Practitioner at Uppingham Community College
To see how each of the lessons map into the new national curriculum, you can follow the links on the images.
Each of the links will take you to the video you need. Alternatively, you can click on the links below in order to go through the scheme of work lesson by lesson.
TouchDevelop is a programming environment that runs on your mobile devices. You write scripts by tapping on the screen. You do not need a separate PC or keyboard or even a PC as Touchdevelop works on any device with a web browser.
Scripts can perform various tasks similar to regular apps. Any TouchDevelop user can install, run, edit, and publish scripts. You can share your scripts with other people by publishing them to the TouchDevelop script bazaar, or by submitting them as an app to the Windows Store or Windows Phone Store.
Ray has developed the scheme of work which will allow students to break in slowly and progress, learn and be inspired at each step.
The first lesson starts off by introducing them to variables, backgrounds and sprites. They will be able to add a character into their game and they will be able to use variables to change the height and width of characters. Ray has attached some PDF’s to support and the videos on this page will support the learning. The materials are free to download and let me know if they have been useful.
Lesson 1 – This lesson introduces the basics and shows the environment to students. This lesson should get students creating a background and a character using variables. Click on the resource above for a walk through on creating and setting up the background on program. Click on the resource above for a walk through on creating your own characters / sprites within a game or application.
Lesson 2 – This lesson introduces the game loop event. This tests for interactions over and over to see what is happening. Lessons are taught about IF statements and how to update text. Learn how to add the game loop event. This tests for what is happening (all the time). Think of this as a traffic light sensor which is always looking for what is happening next. Learn how to create text as part of your game. You also learn how to set the text on the text. This activity will allow your students to put things in the correct order in the correct table. Cut out the tiles and mix them up. Your students should be able to re-arrange this into the correct order.
Lesson 3 – This lesson introduces the basics of functions and procedures and shows students how they can update their existing code to be a procedure. Learn how to use some of your existing code and how to change to insert procedures. Learn how to set up a function which uses input and output perimeters. Learn how to use the function you set up in the previous walk through.
Lesson 4 - How to move characters across the screens without input from the user. Here is a quick pop quiz to test what your students have marked so far. Most of the questions ask them to explain the knowledge they’ve gained so that you can judge their answers. Here is a quick guide to changing the X and Y variables of sprites so that they can move on their own. You might like flying objects in a game and this introduces it to students.
Lesson 5 – Users plan and develop a program which will benefit their school. They must design screen shots of their game and talk about how they plan on meeting the requirements. Attached is a proposal which was made for an Appathon competition by me. You can see some of the screen designs. Students can do this task in PowerPoint or on paper. It is something they can use as an idea. Requirements sheet. Students must write out how they plan on meeting the client needs in order to achieve marks for planning. The next lesson will focus on pseudo code.
Lesson 6 – Users plan and develop a program which will benefit their school. They’re required to use Pseudo code during this lesson. They need to think about the code and understand the importance of writing a structure of code before making it. Pseudo Code activity sheet 1 – Get students to write some structured English to help them understand coding. Pseudo Code activity sheet 2 – Get students to underline variables which might be used within Pseudo code.
Lesson 7 – This lesson allows the students to start building their application. The video tutorials are embedded and it is a large file. Alternatively you can watch the video from the tutorials attached.
Lesson 8 – This lesson introduces the final stages of development to students and talks to them about the importance of testing. There are examples of test plans in the slides for you to try with students.
Here are a few Bonus Lessons to support different aspects of the new national curriculum.
Lesson on Algorithms Resource which show you how to make a cup of tea using algorithms Instructions for Resource 1 on making a cup of tea. Students are required to make their own algorithm using this task.
Lesson on Data Types
Lesson on Logic and Logic Gates Logic Gates work sheet to support task. Logic Gates work sheet answers for previous task.
Publishing your App to Windows 8
If you follow these steps, you can publish your own students apps to the Windows store.
This guide was developed as a starter guide for anyone who is working with touch develop and their students.
If you would like more help about Touchdevelop and how Ray is using it in his curricula you can contact him via Microsoft Partners in Learning or his blog at http://raychambers.wordpress.com/
If your a UK teacher, lecturer or researcher and interested in becoming joining the Microsoft Partners in Learning UK team please see http://www.pil-network.com/
If your interested in Touchdevelop please see http://www.touchdevelop.com
GameSalad Creator is a 2D object oriented tool that allows you to create completely original games using a drag and drop interface, enabling you (the user) to create applications for Windows 8, iOS, Android, HTML5, and even for the Mac Platform without typing a single line of code so perfect for those developing there first app. This is possible by using Creator's unique design and powerful features to turn logic and assets into finished high-quality products. For our purposes, ‘logic’ refers to the combination of Rules, behaviours, and Attributes that jointly define how a project operates, and ‘assets’ are the images and sounds imported into your project.
To download Creator for Windows, head over to http://gamesalad.com/creator to get the most recent version.
GameSalad Windows Creator supports Windows 8, Android, and HTML5 publishing while Mac Creator supports iOS, Windows 8, Android, HTML5, and Mac Platform. An active Professional GameSalad Membership subscription is required for Android and Windows 8 publishing. As Pro memberships are account based, you'll only need one even if you plan on using both Windows Creator and Mac Creator. Simply log in to the Creator with your Pro account and you're good to go.
What Screen Size/Canvas should I use?
This is common question the setting should be 720p HD as the native resolution for Windows 8 is 1366 x 768
Publishing your GameSalad Apps and Games to Windows 8 To publish for Windows 8, you'll need a Windows 8 Developer License (available at http://dev.windows.com) or if your a student or educator via DreamSpark.com (available at https://www.dreamspark.com/Student/Windows-8-App-Development.aspx) and an active GameSalad Pro membership subscription (available at http://gamesalad.com/creator/pricing)
It's important to note that while it’s possible to publish for Windows 8 using any supported Windows operating system, you'll need a Windows 8 environment to adhoc test your game. Another key detail is that unlike iOS publishing, the code signing process isn't divided into developer signing versus distribution signing. Instead, you'll simply upload the resulting APPX file using the Windows 8 developer portal (available at http://dev.windows.com) when you're ready for submission via .
Once you're ready to publish your game, you'll go through the same Web Publishing process you've already been using, but this time using the newly added 'Windows 8' platform tab. This page has the following fields and configuration options:
Its vital that these field are completed I will explain each of these settings individually in regards to what they do and how they affect your game. Keep in mind that many of the terms I'll be using are Windows 8 user-interface specific.
This is One of the most common reasons Windows 8 apps fail certification is lack of a privacy statement.
Windows 8 Certification requirement 4.1.1 states
Now most of us building apps read that and think, I’m not collecting anyone’s email address or phone numbers with my app so I don’t need a privacy statement. Then you submit your app for certification and it fails! Why?
Personal information includes: Webcam snaps, Audio/Video recordings, Photos, Documents, Contacts, and so on. So if you are using the webcam to take pictures or creating a document that access contact information or users files you need a privacy statement.
Personal information also includes: IP Addresses. That means if your app has the ‘internet client’ capability enabled in your app you are going to need a privacy statement. By the way, the default templates in Visual Studio include the ‘internet client’ capability, so unless you change the default manifest, you will need a privacy statement.
According to Windows 8 certification requirement 4.1.1
• Informs users of the information collected by your app
• Informs users how that information is used, stored, secured and disclosed
• Describes the controls that users have over the use and sharing of their information
• Describes how they may access their information
• Complies with applicable laws and regulations
Where can I find some examples?
A good example is
This application does not collect or share any personal information. Your IP address (and related data provided by the operating system when making a web request) may be logged by the Internet-based servers (controlled by the vendors ) that provide the data used by the application.
This application does not collect or share any personal information. Your IP address (and related data provided by the operating system when making a web request) may be logged by the Internet-based servers (controlled by the vendors ) that provide the data used by the application.
Is there a code sample for adding it to settings?
Windows 8 UI Features
Tile Settings (Including 'Tile Background Colour', 'Foreground Text', 'Show App Name', 'Logo', and 'Small Logo') - These are all fairly self explanatory, but each includes a tool tip with additional details for further clarity. Note both the Logo and and Small Logo must either be a .png or a .jpg and their required dimensions must be pixel perfect. Splash Screen (Including 'Splash Screen Background Colour') - again must be pixel perfect in size and .png or .jpg. Snap View Image (Including 'Background Colour' and 'Vertical Alignment') -- Must be pixel perfect .png or .jpg
Windows 8 Store Package Settings (Including 'Package Name', 'Publisher ID', 'Publisher Display Name', 'Version Number', and 'Store Logo') - With the exception of the Store Logo, these fields contents are provided to you by Microsoft, through the developer portal. You'll be able to provide placeholder text in this field, these will need to be a perfect match to the information provided in the developer portal. The logo must be pixel perfect and .png or .jpg. Ensure that the following fields must be character-for- character exact to what's on your Windows 8 developer portal http://dev.windows.com, otherwise your app submission will be unsuccessful:
Display Name, Package Name, Publisher ID (minus "CN="), Publisher Display Name.
Once you've filled out the Web Publish form and have generated/downloaded your game, you're ready to submit to the Windows Store. After registering a Developer Profile via www.DreamSpark.com or directly at http://dev.windows.com you will be given a Publisher ID and Publisher Display Name. To find these values you will need to login to your Developer Account via dev.windows.com From your Developer Dashboard under Profile click on Account You will under Display Info your publisher Display Name and Publisher ID. It is critical that these values are input exactly as they appear on the page (Again, no need to include the CN= when entering your ID, GameSalad take care of this in the publishing system) Before publishing the final product for submission to the Windows 8 Store you will need to have reserved the App Name via your developer portal on Microsoft's Website.
To Reserve App Name: Go to your Dashboard Click on Submit an App Click App Name Add the Desired Name to the App Name field and submit. Reserving the App Name will then provide you with the Package Name. To get the package Name: Go to Your Dashboard Click Edit on the App in Question Click on Advanced Features Click on Push Notifications and Live Connect Services Click on Identifying your app The Identity Name at the bottom of the page is your Package Name.
Steps for ad-hoc testing your Windows 8 game: Prerequisites
If your a student simply head over to
Getting Started Building Windows 8 apps https://www.dreamspark.com/Student/Windows-8-App-Development.aspx
If your a Non Student developer you will need
• Windows 8 SDK (http://msdn.microsoft.com/en-us/windows/hardware/hh852363.aspx)
• Visual Studio 2012 Express or Professional installed (http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products)
• GameSalad App-Signer available at http://gs.downloadables.s3.amazonaws.com/AppSigner0.10.0.zip (this is required to sideload and test your app/game before publishing to the windows store)
Getting Started testing your app/game
• Install Visual Studio and Windows 8 SDK Download and Extract the GameSalad App Signer to the directory of your choice (we recommend your Documents folder)
• Go to Directory that the App Signer was extracted into
• Right Click AppSigner.exe and select Send to > Desktop Create Shortcut
• Right Click Shortcut and select Properties
• Go to Compatibility Tab and select the Run as Administrator (bottom of window)
• Apply > OK
• Build your app or Game with Gamesalad and publish the app
How to Use the GameSalad AppSigner after you have created your app/game
• Double Click to Run Program
• App Path - Browse to the published APPX file that you desire to sign • Publisher ID - This is the Publisher ID that was used during publishing
• Key Name - This can be anything that you desire. Ideal use case is to enter in the name of the Application without spaces.
• Click Sign App • You are now ready to Side Load your game for ad-hoc testing
To Side Load for Testing
• Browse to directory that has the signed APPX
• Right Click the Add-AppDevPackage.ps1 and choose Run in Power Shell
• Follow the prompts in Power Shell ◦ NOTE: If this is the first time that you are side loading an application for testing, you will be prompted to Acquire a Developer License. The account that you use to sign in must be a Microsoft Live account. Once you are signed in, continue following the prompts. ◦ NOTE: If the version Number of the app/game was not increased during publishing, and you have previously installed a version of the app/game onto the Windows 8 device, you will need to uninstall the existing version prior to installing.
• Once the app has been installed, proceed to the Windows Start Screen and click the icon for your test application.
Publishing your app to the Windows 8 Store
Once you're ready to publish your game, you'll go through the same Web Publishing process you've already been using, but complete all the fields in the 'Windows 8' platform tab as instructed above.
Have you Got your game face on?
Take it to the next level with Windows Azure. Whether you’re targeting iOS, Android or Windows, Windows Azure has the tools you need. Windows Azure allows game developers to focus on making great games and scale in the face of unpredictable demand. Learn how real-life game developers are benefiting from Windows Azure.
Epic Games on Windows Azure
Halo 4 Uses Windows Azure
Pixel Pandemic on Windows Azure
Webzen on Windows Azure
Meeting Challenge of Peak Loads
Kobojo on Windows Azure
What are the dev saying about Microsoft Azure?
“We can continue to work with the development language we know, and we are able to scale up when demand is high. It used to take us a week to set up a computer to run the game; this now takes only 10 minutes." - Vincenzo Tinebra, Cofounder of Waappy
“With Hadoop on Windows Azure, we can mine data and understand our audience in a way we never could before. It’s really the BI solution for the future.” - Mark Vayman, Lead Program Manager, Halo Services Team
See the following case studies
• Halo 4 Developer Gets New User Insights from Big Data in the Cloud
• Game Developer Uses Windows Azure to Reduce Costs, Meet Demand
• Game Developer Reduces Costs and Achieves On-Demand Scalability with Windows Azure
• Online Game Studio Minimizes Costs, Enhances Margin with Windows Azure
• Application Developer Enhances Agility and Reduces Risk with Cloud Services
• Game Developer Meets Demand and Prepares for Success with Windows Azure
Blogs and Resources
• Combat in the Cloud: Game Designer Launches Global Online Game on Windows Azure
• Pottermore, Based on Hugely Popular Harry Potter Books, Uses Windows Azure to Scale Up to 1 Billion Page Views in First Two Weeks
• Meet the ‘Plumbers’ Powering ‘Halo 4’ Infinity Multiplayer
• Social Game Developer Enjoys Lower Costs and Improved Scalability with Windows Azure
• MobileBits Makes It Easy to Deploy Games on Multiple Devices and Platforms
Windows Azure Mobile Gaming Poster
Learn more at www.WindowsAzure.com and Azure in Education at www.windowsazure.com/education also see our free cloud teaching resources at http://www.microsoft.com/faculty
Great new app ideas aren’t worth much if you don’t get them out there. There is nothing more important to students than being to develop a suitable portfolio to get them ahead in future career aspirations.
So with student getting back to University this week its key that they make the most of the FREE resources we offer.
Even non technical students will find the following resources of use to developing apps. So if your at school, college or University educators and students need to ensure they register for DreamSpark and register for Free developer resources and accounts for publishing Windows 8 and Windows Phone apps.
So here’s a way to make developing and publishing your app ideas easy and fast.
All DreamSpark institutions and students over 18 get FREE membership in the Windows 8 Dev Center and Windows Phone Dev Center where you can submit applications for publication for Windows 8 and Windows Phone.
Building for Windows Phone
Windows Phone is one of the best-designed mobile operating system with the best developer platform. It has strong consumer momentum, too, growing at a rate 6 times faster than the overall Smartphone market according to our internal analysis of available data. Here are some outstanding resources to get you started, based on your skill level.
1. Windows Phone App Studio and ZipApp these are great tools that makes developing Windows 8 and Windows Phone applications easier for beginners. In fact, some developers have gotten up and running on it in as little as 10 minutes.
2. If you’re new to traditional software development, Windows Phone 8 Development for Absolute Beginners is an easy-to-follow, 35-part course that takes you from beginning to end in building two completely Store-worthy apps.
3. Experienced developers can learn the ropes of Windows Phone development in our fast-paced, demo-rich online course, Windows Phone 8 Jump Start.
Nokia Developer Program DLVP
You’ll also find ways to have some fun with your app development, in Nokia’s DVLUP program. There, the apps you submit help you complete challenges and earn XP (experience points) you can redeem for rewards, everything from gift cards to the latest Nokia Lumia devices. Terms and Conditions of DVLUP apply. We look forward to seeing your first app and to helping you get it to the world.
And because you already have a Microsoft Dev Center account, you can quickly submit applications for the fastest-growing smartphone platform.
Registrations for the Imagine Cup 2014 are now officially open!
This is the 12th year of Imagine Cup, and with that we are rolling out a new model which evolves the program to foster year-round engagement based on feedback we have received from institutions world wide.
So what is new?
The new model is designed to give more student developers the opportunity to get involved with Microsoft to learn, develop and innovate with our technologies, inspiring young people around the globe to reach their full potential.
We have some great new opportunities and a lot of cool new stuff to share, so be sure to spread the word about Imagine Cup to student developers and their faculty in your markets. We’ll be giving out more than $750,000 in prizes this year and we’ll have even more to add in the months ahead.
Where will the finals be?
The Imagine Cup 2014 Finals will be held in Microsoft home city Seattle
Our three main competitions are back for 2014:
And once again the prizes are substantial: $50,000 to the first-place team in each competition!
The UK were Winners in 2013 the competition had some amazing projects during the 2013 World Finals in St. Petersburg, Russia. Want to hear more about the journey see http://blogs.msdn.com/b/microsoftukstudents/archive/2013/07/23/judgement-day.aspx
This year at Imagine Cup we want to help students get their project off the ground early and with the right planning. We’re launching a new series of global online challenges inspired by the Software Development Life Cycle to help students start fast and start smart:
For each of our bi-monthly challenges, student teams can compete in:
and World Citizenship
With the top team in each category winning $3,000!
In addition, the top ten teams in each category will be honored as Challenge All-Stars.
All of these winners will receive expert feedback on their projects and they will be celebrated on our website for the entire Imagine Cup community to congratulate.
That’s Not All
Take part in our global trivia quiz, Brain Games 2.0. Subscribe to our Insiders Newsletter to get the latest news and join us on Facebook and Twitter.
Electronic License Management System (ELMS) for DreamSpark is an electronic software distribution solution included in every DreamSpark subscription at no additional cost. ELMS for DreamSpark provides a Webstore for the easy management and distribution of software licenses to students, faculty and staff, and everything you need to outfit your computer labs. Watch a short introductory video for a quick overview.
1. Complete the Request Form to receive your customized ELMS for DreamSpark Webstore. Note that you need to first complete the enrollment process and receive your subscriber ID number before you can submit this request. Our partner Kivuto will set up your ELMS Webstore once they verify that your institution has an active subscription. When the setup is complete, you will receive an e-mail with the URL to your ELMS Webstore and your administrative login information. Setup can take about five business days.
2. Review the Quick Start Guide to learn how to set up your ELMS for DreamSpark Webstores, and provide user access to your students and faculty in a few easy steps. Your ELMS Webstore is a hosted and automated solution that streamlines all administrative tasks associated with software distribution, including user verification, policy enforcement, software delivery, reporting and more through an easy-to-use interface. ELMS provides:
Access: A 24/7 online store accessible only by you and your students, faculty and staff.
Customization: Ability to configure the look and feel of your DreamSpark Webstore to your department or school.
Authentication: Ability to define end-user verification types including user import and single sign-on (SSO) methods.
Standard Integrated User Verification (IUV) allows you to set up a SSO system between your organization's existing user authentication system such as LDAP/Active Directory and an ELMS Webstore.
ELMS supports the use of Shibboleth. Shibboleth is an industry standard technology for web SSO across or within organizational boundaries, commonly called Federated Identity Programs.
Ability to create accounts and deploy software to students regardless of whether the institution provides them school-issued email addresses.
Software product key management and distribution.
Secure electronic and/or physical software delivery: Direct or Campus-hosted downloads, usable also behind institution firewalls.
Real-time reporting: access to comprehensive on-demand reports.
Compliance: ELMS complies with all Microsoft and school-specific requirements.
Flexibility: Ability to configure your product catalogues to users under different agreements.
For further assistance with your ELMS for DreamSpark Webstore, please send an e-mail to DreamSpark@kivuto.com or call +1 613-526-3005
With the release of Unity 4.2, you can now take your Unity games and quickly port them to Windows Phone 8 and extend your reach to Windows users.
Getting started building a Windows Phone 8 game with Unity
To develop, compile and submit a Unity game to the Windows Phone store, you will need:
• Unity 4.2 . Either the Unity free version or Unity Pro will work. The add-ons to publish to Windows and Windows Store are free, even for Unity Pro users.
• Windows Phone SDK 8.0 The WP8 SDK includes a stand-alone version of Visual Studio Express 2012 - if you already have Visual Studio Premium or Ultimate, the SDK will work as an addin and you can continue to use your version-.
• Windows 8.0 or later. If you do not own a Windows 8 license, you can get a 90-day evaluation version. If you are running Mac OS X or will install on Apple hardware, check different options for installing using Boot Camp, VMWare , or Parallels.
• Windows Phone developer account. This is needed to “unlock” your phone so you can side load your game for developing and testing. It will also be needed to submit your game to the Windows Phone store.
• Windows Phone 8 device. In Unity 4.2, deploying and debugging to the Windows Phone emulator is not supported, so you will need a phone. Once you have a phone and your developer account, follow these instructions to register your phone for development.
Targeting a new platform always requires a few tweaks, such as using a few platform specific APIs (e.g. in-app purchase or application life cycle) and tailoring the game to the device’s hardware capabilities (e.g. a back button).
To create your game, you will still be using the Unity IDE. This will feel very familiar and keep your productivity high. That said, there is a significant difference that you should keep in mind: When running the game within Unity, it will run using the Mono run-time; however, once you build for Windows Phone platform and deploy to the phone, you will be running in the .NET for Windows Phone run-time.
Here are a few tips for dealing with this “dual run-time” environment:
1. If including script files that will run in Unity, use the #if UNITY_WP8 pre-processor directive to refer to code that should not run inside Unity.
2. For plugins, include Unity plugins to be used in the Unity editor in the Assets/Plugins directory and include the run-time plugins for Windows Phone in the Assets/Plugins/WP8 folder.
3. Make sure you test your game thoroughly on a device. If you are referencing a Mono API that is not on Windows Phone, it will work fine in the Unity player, and throw an exception on the phone.
4. Unity uses the Mono compiler to generate phone assemblies, as such you may find that once in a while you will call a Mono API that is not in phone and even the compiler (when you build for phone) will not catch it. These errors will lead to exceptions when running on the phone. A good tool to validate an assembly’s portability to Windows Phone is http://scan.xamarin.com. You should extend this practice of validating your assemblies to compiled plugins. If you purchase a plugin that ships as a binary, validate it to make sure it uses only Windows Phone APIs.
If you find errors or missing Mono APIs that you are using in your game, you should look at the .NET API for Windows Phone reference site to find alternates.
Windows Phone renders their UI using XAML. This infrastructure can be useful if you want to have UI that is not in your Unity game (such as a splash screen or ads). XAML UI and Unity UI can compose seamlessly. The way this composition works is via the DrawingSurfaceBackgroundGrid control. This control uses Direct3D to render what is effectively the background to the whole screen. Unity renders your game against this surface using hardware accelerated Direct3D. For more details on XAML + Direct3D composition, refer to the XAML and Direct3D apps for Windows Phone 8 write-up on MSDN.
The graphics composition with via the Unity engine will all be transparent to you. It is where you mix and match that you will need to remember these four details:
1. Within your app, you can include XAML UI controls and widgets (such as an ad control, buttons, etc.) that compose visually with your game.
2. If you add XAML UI, this will be in front of your game since your game is rendered as the background of the scene.
3. To maximize compatibility across screen sizes, XAML content is scaled. XAML content is 480 wide, and then scaled. [So on devices with 1280x768 resolution, Unity will see this resolution and XAML content will be 480x800, scaled 1.6 times. If you are trying to align a pixel-perfect composite of a scene that uses XAML and Unity content, you will need to scale down your Unity content. You can get the scale from the Appication.Current.Host.Content.ScaleFactor property.
4. XAML UI runs on a different thread than Unity, so you will need to dispatch messages to the right thread in order to access the respective UI components for each technology:
To tweak XAML UI from a Unity callback, use this:
1: Dispatcher.BeginInvoke(() =>
3: //access XAML UI elements here..
To call from within XAML UI thread onto the Unity thread, use:
1: UnityApp.BeginInvoke(() =>
3: //access Unity objets here..
Windows Phone games must declare some of the resources or APIs they will consume.
This is done via declarations in the application manifest (WMAppManifest.xml). If you are making network requests, accessing sensors, using push notifications, etc. you will need to declare these, else your app with get exceptions or failures with access denied.
Everything you need to know about capabilities is in the capabilities documentation page. Review that page and double click on the WMAppManifest.xml document in your Visual Studio project to declare the resources you will need; there is no coding required for any of these.
Process Lifecycle Management
The Windows Phone application model has one foreground app (the one that is visible) that has access to most of the OS resources (memory, CPU, networking); to enable fast app switching, the OS does keep recently used apps that the user has not explicitly closed in memory. All of this app model is explained to great detail in the “App activation and deactivation for Windows Phone” documentation.
For games where you are saving state as early as possible, the default mappings to Unity events should work well. If you want to optimize further, all these events are in App.xaml.cs and the default Unity generated code is subscribing to them, you can add extra logic in the event handlers on the C# side, and use a plugin to communicate with your game code.
Windows Phone 8 has a detailed minimum hardware spec that all devices must meet; you should expect high-degree of consistency across the devices.
Hardware acceleration with programmable GPU. Windows phone uses Direct3D with feature level set to 9_3. MSDN has a great table of the supported features by level. The two biggest take-aways to notice are shader model level 2 and max texture size of 4096.
Windows phone 8 devices come in three resolutions: 480x800(WVGA), 768x1280 (WXGA) and 720x1280(720p). To find the resolution of your device, you can query the Screen.width and Screen.height properties within your Unity scripts; you can then scale appropriately within the game. For static assets outside the game (tiles, splash image, etc.) supplying assets for the WXGA resolution often suffices, Windows Phone will scale these.
Memory comes in multiple configurations: 512 MB of RAM for the WVGA devices, and minimum of 1GB RAM for the 720p devices. The newest phones such as Nokia 1020 are up to 2GB.
The OS limits how much memory a single application can consume; for lower memory phones this is around 150MB for a single app, and it goes up to around 380MB for higher memory phones. There are capabilities you can declare in your manifest to opt into specific memory behaviours and to opt out of running on low-end devices.
The default Unity projects opt into the ID_FUNC_EXTENDED_MEM capability, which says your game will run in a lower memory device, getting up to 180 MB. You can opt out of lower memory devices by using the ID_REQ_MEMORY_300 capability; learn more about the limits and the capabilities from the App Memory Limits documentation.
Accelerometer is available on all phones and directly accessible from Unity APIs.
Magnetometer and gyroscope are optional on the hardware on the phone. Compass APIs are not implemented in 4.2, but they are in the upcoming 4.3 release.
Hardware Back button. All Windows Phones have a dedicated back button and there are specific guidelines on what an app should do when the back button is pressed:
• If you have implemented navigation within your app, pressing the back button should go back to the previous step in your navigation.
• If you are inside a modal dialog (e.g. settings or achievements, etc.) pressing back button should dismiss the dialog.
• If you are not in a dialog and you are at the root of the navigation game (or you do not have navigation in your game), pressing the back button should exit the game.
To handle the back button, use the same mechanism as android: listen for the Escape key.
Note that proper handling of the back button is a certification requirement. If you do not handle it, you will fail certification. The default code exported from Unity does not handle it, they do the work to suppress it, and expect you to handle Escape key. If you do not want to waste cycles on every update listening for the Escape key you have a game with a single screen and no modal dialogs where the back button would always exit the game, you can comment out the e.Cancel assignment from the
1: BackKeyPress event handler in MainPage.xaml.cs
2: private void PhoneApplicationPage_BackKeyPress(object sender,CancelEventArgs e)
4: //e.Cancel = UnityApp.BackButtonPressed();
As any mobile platform, performance is important and you should test for it. Most of the standard Unity guidance on optimizations for mobile devices applies. Most games should not need platform specific optimizations (outside of tweaking visual features to the GPU capabilities on phone). For those looking to get every drop of performance, interop cost on Windows is a bit higher than on Mono. You need to be smart about crossing the boundaries from your script (C# or UnityScript) to the unity engine (which is written in native code).
Unity support for Windows Phone is still growing so not all APIs have been ported, there is only a few missing,
• Compass support is not in Unity 4.2
• Location services is not in Unity 4.2
• Webcam support is not in Unity 4.2
• Microphone support is not in Unity 4.2.
• WWW is implemented but multiplayer networking APIs are missing. You can used .NET APIs or third party libraries (e.g. photon) as an alternative.
• GPU profiling is not available yet.
• Application.OpenURL is not implemented. You can use the Windows Phone WebBrowserTask for this.
Enhancing your game with some of the Windows Phone platform features
The Windows Phone Start screen is a signature and highly praised feature in Windows phone. Tiles are the ‘first impression’ your users will get about your app; when used effectively, tiles can be a differentiator that drives continuous engagement to your game.
Anyone shipping a game for Windows phone should read the introduction to tiles for Windows Phone and the tile design guidelines for Windows Phone.
At a minimum, your game should have beautiful tile that meets the design guidelines on all possible sizes – tiles come in 3 sizes: 159x159 (small), 336x336(medium) and 691x336(wide).
To configure and include the tiles for your app, you must use Visual Studio’s manifest editor and include the images in your VS project.
Once you have a beautiful static tile, consider how to “invite” your users to come and play often. If you have a turn-based game, you can use the tile to notify the user of their turn; if you have a game that can start at any level, let the user create a secondary tile that lets’ them pin their favorite level and start there every time. If you have any server-side features (high scores from peers, special offers, etc.) use Windows phone push notifications to let the user know about your offers or any other relevant data that invites your user to play a game. You can also do local notifications, and scheduled tiles. There is a lot of different options to keep your start screen alive.
Unity does not include APIs for tiles and since Unity uses the Mono compiler, you can’t just include a script in your project to access tiles (the compiler won’t be able to resolve this), you must do a plugin and compile it using Visual Studio. For details on the tile APIs for Windows Phone, refer to the ShellTile class.
A few seconds will pass between a user tapping to launch your game, and the Unity engine rendering it to the screen. Windows Phone allows you to configure an image that the OS will show between the time the user launches your app and when XAML UI is rendered to the screen. This image is a JPG and you can configure different sizes for the different phone resolutions:
Image size in pixels
Filename (you must use)
You can also just include a single image called SphashscreenImage.jpg, this is what the default Unity builds do; if you are shipping a single image, make it the WXGA size, the OS will scale appropriately.
The Unity 4.2 Player Settings dialog does not allow you to override the Splash Image with your own, so you must configure it in Visual Studio. Instructions on where to copy the images to and what resolutions to use are in this How to create a Splash Screen walk-through.
Having a splash screen is a must-do, but it is usually not enough. Windows Phone only shows the splash image while the app is getting started and once it is ready to show XAML UI, it transitions into this XAML UI. For some games, there are still a couple seconds between that and your Unity UI. To get around this, you can just edit your XAML to display your splash image (or any other UI you want to display) until Unity is ready. For details on how to accomplish this, look at the “Extending your splash image” in the common tasks section below.
Windows Phone offers different options for monetizing your game.
Beyond the one-time purchase of your game, Windows Phone offers trials (that you would need to convert to a full purchase), in-app purchase for durables and consumables and advertising.
To access the in-app purchase APIs you will need to write a Unity plugin. MSDN has a great overview of the in-app purchase APIs, most concepts will feel ‘familiar’ for those who have implemented in-app purchase in other platforms. The only ‘quirk’ you will encounter is that Windows Phone does not have a staging environment to test in app purchase. There is a Mock API library that you can use for your development; if you feel that testing the in-app purchase APIs (not just the mock library) is absolutely required before submitting to the store, then do a beta for your game. This would allow you to test inapp purchase using the real APIs before you submit to production.
If you prefer to purchase a plugin instead of writing one, here are vendors that have plugins. RobotoWP for Windows Phone , BitRave and Prime31 have Microsoft Store plugin and lots of other useful Windows Phone and Windows store plugins such as Microsoft ads plugin, and an essential plugins that includes a lot of sharing tasks
Submitting to the store
To submit to the store, you will need your Windows Phone developer account and a licensed version of Unity. The trial version of Unity, will produce a water mark in the build that says “development build” on the bottom right of your game, and this will not pass certification. The Unity addins for Windows Phone are free for Unity basic and even Unity Pro users, so just contact Unity to get your free license.
When you are ready to submit to the store, follow these steps.
1. Check out the App certification requirements for Windows Phone 2. Become familiar with Windows Phone app product submission process.
3. Run your app through the Windows Phone Store Test Kit. The Windows Phone Store test kit is a suite of automated tests and manual tests for your game. The kit will identify and help you fix issues that Microsoft testers will find during certification; by finding them early, you will save a lot of time. The store kit can be executed from within visual studio (under the project tab), this walkthrough gives you step-by step- instructions and details on running the kit.
You will be tempted to just run the automated tests and ignore the manual ones; this is a bad idea; you can learn a lot about the platform and about making your game better from looking at what the Microsoft certification folks are testing for; give the manual tests a try and see how your game fares.
4. We recommend you go through a beta submission. More details at the “Beta testing your app” page , on MSDN
5. Submit your master configuration. Unity will create a debug, release, and master configuration for your visual Studio project. Make sure you submit the master, not the release one.
Other useful references
• Unity’s Windows Phone 8: Getting Started guide is a must read.
• The getting started with Windows Phone will walk you through downloading the tools, registering your phone for development (aka unlocking the phone) and writing a basic app that walks you through Visual studio project structure.
• The Windows Phone SDK samples collection has hundreds of coding samples to accomplish specific tasks.
Unity has instructions on debugging with visual studio.
Unity has instructions on profiling Windows phone apps
Microsoft Research is soliciting proposals for the use of Windows Azure in research.
Microsoft Research welcome research proposals from any branch of scholarly activity. To qualify, applicants must be affiliated with an academic institution or non-profit research laboratory. In addition to individual investigator projects, we are interested in projects that will support access to services and data of value to a collaboration or community. Winning proposals will be awarded large allocations of Windows Azure storage and compute resources for a period of one year.
We will periodically announce additional special-opportunity RFPs on specific cloud research topics. These topics will include community research data services, streaming instrument data to the cloud, machine learning in the cloud, large-scale image analysis, environmental science, astronomy, genomics, and urban science.
Your proposal should not exceed three pages in length. It should include resource requirement estimates (number of core, storage requirements, and so forth) for your project.
Proposals will be evaluated and awards announced six times a year. The first deadline for proposals is October 15, 2013, and results will be announced within two weeks after that date. The next deadline is December 15, 2013, and on the fifteenth of every other month after that.
“Science is at an inflection point where the challenges of dealing with massive amounts of data and the growing requirements of distributed multidisciplinary collaborations make moving to the Windows Azure cloud extremely attractive.”
Windows Azure for Research Microsoft Research is pleased to announce a new initiative to help the research community use the cloud to advance scientific discovery.
Three years ago, Microsoft Research partnered with researchers to experiment with cloud computing on Windows Azure. The results from these early efforts, many of which are described on our website have been outstanding.
These pioneering projects have cut across disciplines, from bioinformatics to ecology, social network analysis, civil engineering, mobile computing, natural language processing, and more. Read More
If your Institution is in interested in teaching Cloud services, in its Under Graduate Programmes. See http://www.windowsazure.com/education for FREE Azure educator and student offerings.
This week I have been at Campus Party in the TheO2 which is pretty specular location for any event. During the week I have been discussing apps and game development with 1000s of students. One of the most popular questions I have had was what are the to main 8.1 changes? This lead into lots of discussions around the fact that the snap view is optional and the default view is 500px. The fact that there are 2 more tiles sizes, and the search capability is in app search and much smarter and finally there are a number of new controls.
So here a quick summary of all the facts and resources if you have questions about any of the above.
· Windows 8.1 Preview http://windows.microsoft.com/preview
· Windows 8.1 Feature Guide http://msdn.microsoft.com/library/windows/apps/bg182410
· Windows 8.1 UX/UI http://msdn.microsoft.com/en-us/library/windows/apps/bg182890.aspx
· Windows 8 UX Design Jump Start (MVA) http://www.microsoftvirtualacademy.com/training-courses/windows-8-ux-design-jump-start
· For further design information http://design.windows.com
Some useful sessions to watch from Build.
· Designing and Building User Interfaces for Windows - http://channel9.msdn.com/Events/Build/2013/2-168
· Upgrading Windows 8 Apps to Windows 8.1 - http://channel9.msdn.com/Events/Build/2013/3-077
· Beautiful Apps at Any Size on Any Screen - http://channel9.msdn.com/Events/Build/2013/2-150
· What's New in XAML - http://channel9.msdn.com/Events/Build/2013/2-164
· What's New in WinJS - http://channel9.msdn.com/Events/Build/2013/2-165
· Building Apps that Work Together - http://channel9.msdn.com/Events/Build/2013/2-010
· Building Apps That Integrate with People and Events - http://channel9.msdn.com/Events/Build/2013/3-007
· Design and Build a Great Search Experience in Your App - http://channel9.msdn.com/Events/Build/2013/3-144
· Alive with Activity: Tiles, Notifications, and Background Tasks - http://channel9.msdn.com/Events/Build/2013/3-159
· Monetization Opportunities for Windows Store Apps in Windows 8.1 - http://channel9.msdn.com/Events/Build/2013/3-121
· First Impressions Matter: Delighting Your User from the Moment They Click “Buy" - http://channel9.msdn.com/Events/Build/2013/2-095