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!
Get up to speed by undertaking the follow Microsoft Virtual Academy intro to Developing 2D & 3D Games with Unity. This training was delivered by Adam Tuliper, David Crook, Dave Voyles, Tobiah Marks, Jason Fox, Carl Callewaert (Unity) and Matt Newman.
Get up to speed by undertaking the following Microsoft Virtual Academy hosted a Porting Unity games to Windows Store and Windows Phone training event.. This training was delivered by Mickey MaDonald and Jaime Rodriguez.
Porting to Windows is easy and profitable check out the following videos..
· http://channel9.msdn.com/Blogs/The-Game-Blog/Inside-Unity3d-for-Windows-Phone -- is an interview with Tautvydas (one of the Unity devs for Windows Phone)
· http://channel9.msdn.com/Blogs/The-Game-Blog/The-Bridge -- is the winner of our Unity contest and also the Unite 2014 award for best 2D game.. You gotta get this inside story (especially if you were an XNA fan before)..
· http://channel9.msdn.com/Blogs/The-Game-Blog/The-Veil -- is the winner of 3rd place on our Unity contest..
· http://channel9.msdn.com/Blogs/The-Game-Blog/Owlchemy-Labs -- Alex Schwartz is a creative whiz.. super cool, super eloquent.. and a one to watch
· http://channel9.msdn.com/Blogs/The-Game-Blog/Zoo-Tycoons-Friends -- is a solid story on our own Microsoft Studios Zoo Tycoon friends game.. Matt Roberts from the Zoo Tycoon team show how they reused their C# logic on Unity and Azure..
· http://channel9.msdn.com/Blogs/The-Game-Blog/Luc-Bealieu-of-Frima-Studio -- these folks are super creative.. they are the publisher for the Nun Attack series of games, and Zombie Tyccoon
· http://channel9.msdn.com/Blogs/The-Game-Blog/The-People-Behind-the-Unite-Conference -- has an interview with our dear friends at Unity Carl and JC
The new D instances have solid-state disk (SSD)-based local drives and faster processors relative to many of the A-series instances.
The D-series instances can be used as VMs, as well as web or worker roles in Cloud Services, and are well suited for applications that demand faster CPU performance, local disk performance, or higher memories. Please note that the SSD drives in the D-series are non-persistent.
For more information, visit the Virtual Machines webpage.
To get a comprehensive look at pricing, visit the Virtual Machines Pricing Details webpage
If you are new to Cloud and Azure try Azure with a Free one month trial* Sign-up for free and get €150 to spend on all Azure services http://azure.microsoft.com/en-us/pricing/free-trial/
Want to learn more about Cloud Services undertake one of our FREE Microsoft Virtual Academy Session http://www.microsoftvirtualacademy.com
Free on a Tuesday attend one of our UK specific, learning Webinar http://blogs.msdn.com/b/uk_faculty_connection/archive/2014/09/19/getting-started-with-azure-webinar-every-tuesday-lunchtime-live-demos-of-websites-cloud-services-vms-and-mobile-services.aspx
If your a educator or researcher you apply for a FREE Azure academic pass from www.windowsazure.com/education
The Microsoft UK team are spending every Tuesday to teach you how to use free cloud computing resources from Microsoft Azure cloud and cloud computing concepts.
So why not learn how to develop beautiful, interactive and fast websites using Microsoft web tools and platform!
You also have the option of attending our physical Camp so here is a list of our events for Sept and Oct.
At this Web Camp, you’ll learn how to develop beautiful, interactive and fast web sites using Microsoft’s web tools and platform. You will also learn how to deploy and scale your web sites with the cloud.
Getting Started With Azure
The Azure Weekly runs every Tuesday from 12:30 – 13:30 (UK timezone) and is aimed at the techie who has not yet had any/much exposure to Azure but who just wants a leg-up to get started.
Getting Started With Azure
Getting Started With Azure & Guest Speaker Richard Conway from Elasta Cloud – Big Data
The Azure Weekly runs every Tuesday from 12:30 – 13:30 (UK timezone) and is aimed at the techie who has not yet had any/much exposure to Azure but who just wants a leg-up to get started. We have invited Richard Conway, MVP for Azure, to show you how to get started with Machine Learning on Azure
Getting Started With Azure & Game Development Guest Speaker L.Deane Gateway Interactive
The Azure Weekly runs every Tuesday from 12:30 – 13:30 (UK timezone) and is aimed at the Game Developer who has not yet had any/much exposure to Azure Cloud Services
Getting Started With Azure & Guest Speaker P.Norris from Madfellows
The Azure Weekly runs every Tuesday from 12:30 – 13:30 (UK timezone) and is aimed at Game Developers who just wants a leg-up to get started. Madfellows use Azure cloud for game data storage and content distribution. Speaker soon!
Building Websites With Azure
New to Azure? Are you a web developer? Find out how you can use tools in Visual Studio to deploy websites into Azure. This introductory webinar will teach you everything you need to know about getting up and running and developing web applications in Azure
So if your looking for the Windows Phone Emulator to test your apps or games please follow the links below.
Windows Phone 8.1
Windows Phone 8.1 development tools
The Windows Phone 8.1 development tools are installed with Visual Studio Express 2013 for Windows with Update 2 or later and Visual Studio 2013 Update 2 or later. New features include universal Windows app development for all Windows devices—universal app templates, a full-featured code editor, a powerful debugger, emulators, rich language support, and more, all ready to use in production.
Get Visual Studio Express 2013 for WindowsGet Visual Studio 2013 Update 3
Windows Phone 8.1 Emulators
The Windows Phone 8.1 Emulators package adds six emulator images to an existing installation of Visual Studio. With these emulators installed, developers can test how apps will run on phones running Windows Phone 8.1. This package requires Visual Studio 2013 with Update 2 or later, Windows 8.1 (x64) Professional edition or higher, and a processor that supports Client Hyper-V and Second Level Address Translation (SLAT).
Download now (1.14 MB, English)
Windows Phone 8.1 Update 1 Emulators
Add six emulator images to Visual Studio 2013 so you can test how your app will run on phones running Windows Phone 8.1 Update 1. (Requires Visual Studio 2013 Update 2 or later.) Learn more about Windows Phone 8.1 Update 1 Emulators.
Download the Windows Phone 8.1 Update 1 Emulators
Windows Phone 8
Windows Phone SDK 8.0
Tools for developing apps for Windows Phone 8 and Windows Phone 7.5 devices. Get details and additional languages
Download now (1.02 MB, English)
Windows Phone SDK 8.0 Update 3 Emulators
Adds five new emulator images to an existing installation of Windows Phone SDK 8.0. With this update installed, you can test how your app will run on devices that have Update 3 (version 8.0.10492 or later) of Windows Phone 8. This update requires either Visual Studio 2012 with Windows Phone SDK 8.0 and Update 4 or later, or Visual Studio 2013 with the optional Windows Phone SDK 8.0 option selected during setup. Get details and additional languages
Download now (942 MB, English)
Windows Phone SDK 8.0 Update for Windows Phone 8.0.10322
Adds four new emulator images to an existing installation of Windows Phone SDK 8.0. This update requires either Visual Studio 2012 with Windows Phone SDK 8.0 and Update 4 or later, or Visual Studio 2013 with the optional Windows Phone SDK 8.0 option selected during setup. Get details and additional languages
Download now (920 MB, English)
Windows Phone 7
Windows Phone SDK 7.1
Tools to help you develop apps for Windows Phone 7.5 and Windows Phone 7.0 devices. Get details and additional languages
Download now (3.37 MB, English)
Windows Phone SDK 7.1.1 Update
Brings additional functionality to Windows Phone SDK 7.1. With this update, it’s easier to develop apps and games that are optimized to run on 256-MB devices. Get details and additional languages
Download now (290 MB, English)
Windows Phone SDK Update for Windows Phone 7.8
Adds two new emulator images to an existing Windows Phone SDK installation. This update supports Windows Phone SDK 7.1 and Windows Phone SDK 8.0. With this update, use Windows Phone 8 Start screen experience in your Windows Phone 7.5 apps. You also can test how your apps will run on Windows Phone 7.8 devices. Get details and additional languages
Download now (1.1 MB, English)
New Dev Center Lifetime Registration And Benefits Program
Starting today, Windows Dev Center requires only a one-time registration payment, which grants developers the ability to submit apps to both Windows and Windows Phone stores, with no annual renewal fee. Existing registered developers will no longer have to pay Dev Center renewal fees to maintain their account.
Today we also announced the Dev Center Benefits program, the program has been designed to increase your success on Microsoft platforms by helping develop, improve and market your apps with a variety of offers and tools.
The good new is the Dev Center benefits program will be available to all registered developers worldwide.
So what are you waiting for sign up Now! for the Dev Center and the Dev Center Benefits program.
For more details see http://bit.ly/1soCDeD
Performance tools and resources to help you get the best customer experience.
Unity Profiler for Windows Phone & Windows 8
You can connect Unity3d profiler to running Windows Store Application. Perform the following steps:
Note: Profiler doesn’t work on Master configuration
Note: Due Windows Store Apps restrictions, you won’t be able to connect the profiler if the application is running on the same machine. For ex., if you’re running Unity editor and Windows Store App on the same PC, you won’t able to connect. You have to run Unity editor on one machine, and Windows Store App on another machine.
Note: Also ensure that machine where Unity3D Editor is running and machine where Windows Store App is running - are on the same subnet.
One of the simplest ways to profile Windows Phone 8 app is over WiFi. Build your app with Development Build enabled in Build Settings (or choose Debug or Release configuration if you’re building from Visual Studio). Deploy and run the app. Open Profiler window in Unity and select WP8Player from Active Profiler menu. Incoming data will appear on the screen. Please keep in mind that GPU profiling is not yet support on Windows Phone 8 platform.
If WP8Player option doesn’t appear in Active Profiler menu you can try connecting directly to the phone by manually specifying IP address. Also make sure that Unity Editor is not blocked by the firewall. Profiler might also not work if connected to the public network.
The Graphics Diagnostics tools in Visual Studio are designed to help you locate rendering problems by starting with the visual artifacts that indicate the problem and then tracing back to the source of the problem by focusing only on relevant shader code, pipeline stages, draw calls, resources, and device state in the app's own source code.
Here are some of the kinds of rendering problems that Visual Studio can help you solve.
Correct configuration of the graphics device is important because it determines how the graphics pipeline interprets the data associated with each draw call, and how draw call outputs are merged. For example, if the device state specifies the clockwise vertex winding order, then any model that specifies vertices in a counter-clockwise order will not be rendered correctly. Device state problems can be difficult to diagnose because the root of the problem in the source code is often far removed from the affected objects. By using Graphics Diagnostics, you can view the current device state at any time during rendering.
Graphics apps use constant buffers and parameters to pass additional data to a draw call or set of draw calls. For example, the data might specify different locations or appearances for different objects. When that data is not initialized or contains incorrect values, the corresponding object is rendered incorrectly, or perhaps not at all. This kind of problem can be difficult to diagnose because it's not always clear whether the problem is in the data or the shader code that consumes it. It can also be difficult to determine which shaders, constant buffers, and parameters correspond to the error. You can use Graphics Diagnostics to determine which shaders, constant buffers, and parameters apply to each draw call, and view their contents.
Making a mistake in app code is almost inevitable, whether the code is C++ or High Level Shader Language (HLSL). However, debugging HLSL code has traditionally been more difficult because it hasn't had the rich debugging support that C++ and other languages enjoy. Graphics Diagnostics brings traditional code debugging tools to HLSL so that you can step through code, set breakpoints, and examine the contents of variables, parameters, and constant buffers.
Windows Phone Developer Power Tools are three powerful testing and debugging tools for app developers packaged into a single user interface. Use the Power Tools to monitor your app's responsiveness and resource consumption and to debug its crashes. After you make fixes, run the tools again to verify the improved stability and performance of your app.
The Power Tools include the three following tools. These are existing tools that have been adapted and customized for use by Window Phone developers.
Application Verifier. Detect subtle programming errors in native code.
Performance Monitor. Capture real-time performance metrics and visualize them graphically.
Performance Recorder. Collect system-wide logs and analyze them on your computer.
Included in the Windows® Assessment and Deployment Kit (Windows ADK), Windows® Performance Recorder (WPR) is a performance recording tool that is based on Event Tracing for Windows (ETW). It records system events that you can then analyze by using Windows® Performance Analyzer (WPA).
Windows® Performance Recorder (WPR) is a tool that extends Event Tracing for Windows (ETW) and provides detailed recordings of system and application behavior and resource usage. You can use WPR together with Windows Performance Analyzer (WPA) to investigate particular areas of performance and to gain an overall understanding of resource consumption. WPR and WPA enable development and IT professionals to proactively identify and resolve performance issues.
You can download WPR by visiting http://go.microsoft.com/fwlink/?LinkID=293840.
Included in the Windows Assessment and Deployment Kit (Windows ADK) and the Windows software development kit (SDK), the Windows Performance Toolkit consists of performance monitoring tools that produce in-depth performance profiles of Windows operating systems and apps.
To learn more about how to use the Windows Performance Toolkit to help you improve the performance of your Windows Store app using C++, C#, or Visual Basic, see the Windows Performance Toolkit Technical Reference. This technical reference discusses both the Windows Performance Recorder (WPR) and the Windows Performance Analyzer (WPA).
How to Analyze Performance Issues in Your Windows and Windows Phone Apps http://channel9.msdn.com/Events/Build/2014/4-557
This week I have been helping devs with a number of question about where are logs stored on the Windows Phone and Windows 8 Platforms
Well here a nice summary of the location of logs
Logs (Windows Phone)
Located at %LOCALAPPDATA%\Unity\Editor\Editor.log
Located in App’s data folder Use Windows Phone power tools to view
Located at <device>\Phone\Documents\Debug folder on phone simply - Connect phone via USB and use Windows Explorer
Located in App’s data folder – Elevate Permissions and look under c:\program files\windowsapps\<yourapp>
%LOCALAPPDATA%\CrashDumps or use HKLM\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps
Head of Xbox Phil Spencer discusses Microsoft’s acquisition of Minecraft and Microsoft’s respect and admiration for the Minecraft community across all devices and platforms. http://youtu.be/lXNWchwDiG8
One of the most common questions I get is.. what is the best way to monetise my app?
Well as a quick indication the following Image is how I generally advise people how to approach monetisation on the Windows Phone and Windows 8 Platform
As the image above clearly indicates, one of the best ways of monetising your game or app is via Ads within your App or Game.
To help you get started on Ads within Apps I had a chat with AdRotator developer and Unity Author, Simon (Darkside) Jackson and asked him to share his view on the opportunity of Ads in Apps and Games using AdRotator
AdRotator is a premium advertising solution that is able to integrate with several Ad Providers for windows platforms, take the Ads for those providers and then rotate or flip through them in a controlled and configured way. It also provides a fall back capability where if any Ad Provider fails to deliver an ad, it will intelligently move on to the next, ensuring that the app or game is always displaying ads.
What really makes AdRotator stand out is that it’s configuration can also be hosted externally to the app on a website or hosting area so that it can be updated without rebuilding or redistributing your application, you can change the ad configuration to match the best paying advertisers at any time and all apps will then be updated to use the new configuration on next use. (A by-product of this, is that you can also use this facility to deliver messages / notices to your apps and keep users informed)
AdRotator primarily targets the major Windows platforms including Windows Phone (7 & 8) and Windows 8, however there are plans to incorporate web based solutions through WinJS and Mono support.
With the release of the V2 solution for AdRotator we have now achieved parity with the aging V1 solution. This also brings several key improvements over V1 including:
· Multiple Ad Unit support from the same Ad Supplier (previously you could only support a single AdUnit per provider)
[Ad Units are individual ad configurations for Ad Providers which usually target ages, cultures, market segments, etc. These need to be monitored as different Ad Units have different payouts]
· Reduced dependency on provider DLL’s (previously you had to have all Ad Providers controls in your solution, now you ned only those you use)
· Improvements in the Ad Selection logic and probability (now 20x more random J)
· Many internal improvements to improve performance and scalability
There are many more features which can be discovered on the AdRotator site (http://getadrotator.com) or the GitHub Site (https://github.com/Adrotator/AdrotatorV2)
Additionally, if you want to see the roadmap or request future features, then check out the VoteIt page for AdRotator - http://www.voteit.com/v/HiHC8jq1MV8wxEW
Find the example app here
AdRotator has always supported a core set of Ad Providers but we are always willing to increase and add more providers with sufficient interest. We do our best to include as many as possible on all platforms (provided the Ad Providers support those platforms)
Currently, AdRotator supports the following AdProviders:
· Microsoft PubCenter
· Google AdMob (Windows Phone 8 only)
· MobFox (windows Phone 7 only)
· Inneractive (formally Nokia Ad-Exchange)
· House Ads
(Platform support is only limited by Ad Provider SDK’s and their supported platforms)
Have a provider you would like to see supported, then check the VoteIt page (http://www.voteit.com/v/HiHC8jq1MV8wxEW) and submit it as a suggestion.
Part of the power of AdRotator is the configuration file that controls its operation and what ads to display and when, this configuration gives you several levels of configuration:
· Target specific Ad Providers
· Target specific cultures / regions
· Define a probability or order that Ad Providers are displayed
· Deliver individual AdUnits or multiples per provider
· Host your own ads both online and offline
For example here’s a basic multi-cultural configuration file for AdRotator:
1: <?xml version="1.0" encoding="utf-8"?>
3: <AdSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
5: <CultureDescriptors CultureName="en-us">
7: <AdDuplex AppId="<ID>" Probability="10"/>
9: <PubCenter AppId="<publisherID>" SecondaryId="<AdUnitID>" Probability="80"/>
11: <Inmobi AppId="<ID>" Probability="10"/>
15: <CultureDescriptors CultureName="fr-fr">
17: <AdDuplex AppId="<ID>" Probability="10"/>
19: <PubCenter AppId="<publisherID>" SecondaryId="<AdUnitID>" Probability="30"/>
21: <Inmobi AppId="<ID>" Probability="60"/>
25: <CultureDescriptors CultureName="">
27: <AdDuplex AppId="<ID>" Probability="33"/>
29: <PubCenter AppId="<publisherID>" SecondaryId="<AdUnitID>" Probability="33"/>
31: <Inmobi AppId="<ID>" Probability="33"/>
Breaking down this configuration we can see:
1: <AdDuplex AppId="<ID>" Probability="10"/>
Each provider has its own configuration block which you can have within a culture block as many times as you wish. In here you configure the ID’s required for that provider to deliver ads (most have only one ID, some have multiple, like PubCentre). You can also then set a probability that AdRotator will pick that provider to display its ads, the higher the probability, the more likely it will try and display an ad from that provider. (setting a probability of 0 or no probability means that ad won’t be displayed)
1: <CultureDescriptors CultureName="">
These blocks allow you to target several cultures / regions within a single configuration file. This uses the devices native culture to determine which configuration to use for that region.
AdProviders all have their own home regions (PubCentre - US, Smaato - central Europe) where they have a higher likelihood of delivering ads to your customers
[Note, AdProviders won’t deliver ads if they do not have any suitable ads for your demographic, region or culture. Ad delivery is never guaranteed]
By providing different sections you can selectively configure each provider differently, using either different priorities (probabilities) or even if you use that provider in that region. (Providers are optional, you don’t have to use all of your available providers for all cultures, only those that are likely to give you the most impressions and deliver the best pay-out rates
[Ad Providers pay different rates by market or type of Ad. Impressions are when an ad is delivered by the provider and displayed in your app, which gives a minimal pay-out. Clicks are also monitored by providers which offer higher pay-out rates for user clicks]
Additionally to specifying cultures, there is the default culture (as highlighted above) where no culture is provided. This is the fall back position if the region the users device is set to is not available in your configuration. However it is also just as valid to ship a configuration file with only the default culture. This simplifies your configuration but obviously won’t pay as well as customising it per culture.
Once you’ve configured your file you need to host it in your solution or make it available to AdRotator
One of the biggest features of AdRotator is that you can put your configuration file on an external site (even use the same config for all your apps) and AdRotator will attempt to load it on each launch. If for some reason it can’t it will used a cached version of your configuration until it can update it again.
[Even with hosted configuration, we also recommend deploying a default configuration file with your app, this ensures ads will start from day one even if it cannot contact your external web host for some reason]
Nothing special is required for the file hosting, so long as it is available from the internet and isn’t blocked by firewalls and such.
Several free solutions exist for hosting your file if you don’t have your own web server.
· Azure Websites (https://azure.microsoft.com/en-us/) – Azure offer 10 websites free under their basic free plan. Sign up, setup a basic page, upload your configuration file and you are good to go.
· AppHarbour (https://appharbor.com/) offer free hosting, it’s a bit more tricky to setup but you cannot argue with free.
They have worked hard over the years to improve the installation of AdRotator and these day’s it’s easier than ever thanks to NuGet.
[If you are not aware of NuGet (where have you been?), then NuGet is a dependency manager able to install and manage external references and dll’s for your solution. It has a vast library of opensource libraries you can access, just check out http://NuGet.Org for more details. Also install the NuGet extension in to Visual Studio or MonoDevelop]
If you open your solution and then Right-Click on References in the Solution Explorer you should see the following dialog:
Clicking on the Manage NuGet Packages option will open the following NuGet package manager (I’ve highlighted some important bits):
Feel free to have a browse through the packages available if you wish. When you’re ready, enter AdRotator in to the search window in the top-right hand corner of the window, ensuring that Stable Only packages are selected in the drop down (NuGet also includes the ability to host dev / alpha / beta backages, to get in progress versions of dependencies). Once you search you should see AdRotator listed in the results. Looking on the right hand side you can see this is the Stable V2 release.
[AdRotator also uses some other dependencies from NuGet itself (Microsoft.bcl references which are portable extensions for .NET), when you see a license prompt appear, simply accept it to continue the installation. The Microsoft.BCL libs use a standard OpenSource license that is free to use.]
On clicking Install, NuGet will download the package and install it directly into your project, adding references and copying important files, including a sample “defaultAdSettings.xml” configuration file for you to modify or replace. Close the NuGet window and when you return to Visual Studio you will also see the implementation instructions for the AdRotator control, these instructions walk you through the rest of the journey to get up and running, here they are in short.
1. Open the XAML page you want to display ad’s on
2. Add the xmlns:adRotator="clr-namespace:AdRotator;assembly=AdRotator" XAML using/namespace reference to the top of the XAML page, in line with the other XAML using/namespace references (note there are different examples for Windows Phone and Windows 8 because the using/namespace references are subtly different
3. Add the following XAML code to the page where you want it displayed, which is an example implementation for the AdRotator control:
6: RemoteSettingsLocation="http://<your site here>/defaultAdSettings.xml"
7: AutoStartAds="True" />
4. If you are hosting your configuration externally as well, replace the website reference in the RemoteSettingsLocation property, also you can rename your configuration file in your project if you wish, if you do so also update the LocalSettingsLocation property
[If you wish you can also add the AdRotator control through the designer, we support whichever way you want to do it]
5. Finally, return to the Solution Explorer and add references to all the AdProviders you wish to support. PubCenter is available direct from Visual Studio, AdDuplex and Inneractive are now available through NuGet. For other providers you’ll likely need to visit their websites and download their SDK’s
[If an Ad Provider does not exist or is not referenced in your solution, then AdRotator will handle it by ignoring that Ad Providers configuration. Can’t use it if it doesn’t exist!]
And you are done. Just run the project and provided the Ad Dll’s are in place and the configuration in your config XML is correct, you should start seeing Ads in your page.
Now life would be simple if all providers were just DLL’s like they used to be, however that is not the world of today, now we also have WinRT components.
Because we cannot use standard techniques to discover WinRT components (COM is alive and breathing) we need to do a bit extra for AdRotator to be able to use them, just one line mind.
At present two providers we support have upgraded to use WinRT components, these are:
· Microsoft PubCenter (well, that makes sense)
When you use these providers, we need to pass the references for these WinRT components to AdRotator on startup, to do this we simple add an extra line to the Code behind (the .cs files) for the Pages you implement Adrotator on which looks like this:
1: MyAdRotator.PlatformAdProviderComponents.Add(AdRotator.Model.AdType.PubCenter, typeof(Microsoft.Advertising.Mobile.UI.AdControl));
The readme that comes with AdRotator gives you all the details and code for each provider that does this.
[Just check the namespace for the AdControl itself as some providers use different namespaces for different platforms]
A lots of developers want AdRotator on multiple pages in their app or in several locations on a page. Now it’s fine to use several controls throughout your app but unless you are using different configurations then it is better to build a user control and then re-use that throughout your app. It is simply more efficient.
To set up AdRotator in a user control, simply:
1. Create a new User control in your project
2. Set it’s width and height to your desired ad placement size (this will largely depend on the size of ads you have configured with your Ad Provider)
3. Repeat the instructions above within the user control.
4. Save and close it.
5. Now just Add the user control to each page you wish to display ads on, e.g.
1: Using: xmlns:local="clr-namespace:PhoneApp3"
2: Control: <local:AdRotatorUserControl />
This way is more efficient and also means you only need to update the User Control if you wish to change any of the AdRotator properties.
Another very useful feature of AdRotator is that you can setup your very own Ads, in fact we’ve talked to some implementation that only do their own ads.
[In fact we know if at least one implementation where the developer uses AdRotator to sell ad space in their app, they just host the Ad remotely and rotate each ad in]
Implementing a House ad is very easy, in effect it is just another User control in your project.
1. Create your UserControl Ad
2. Note the full namespace identity of the user control (in the example app it is PhoneApp3.MyHouseAd.MyHouseAd1)
3. Add a DefaultHouseAd entry in to your configuration xml, for example:
1: <DefaultHouseAd SecondaryId="PhoneApp3.MyHouseAd.MyHouseAd1" Probability="90"/>
[The probability setting is completely optional, if you set a probability it will be included in the ad rotation, if you do not set a probability, then it will only be shown if no other ads could be fetched (fallback)]
If you wish to also then place the HouseAd online, they you just need to host it online and then add the Url to the AppID property for the DefaultHouseAd, for example:
1: <DefaultHouseAd AppId="http://adrotator.apphb.com/SampleRemoteHouseAd.xaml" SecondaryId=" PhoneApp3.MyHouseAd.MyHouseAd1"/>
For an example online House Ad, check the one we include with our example projects here: http://adrotator.apphb.com/SampleRemoteHouseAd.xaml
At the time this blog was posted, our Unity editor integration is currently broken, something changed in Unity of late and it no longer works. We are working on it with some help from our community and as soon as it’s working again we’ll update the main site.
So AdRotator still works, it is just our editor integration and build process that isn’t working, meaning you cannot just configure it from Unity itself.
The AdRotator team are working hard to remedy this with the time we have, so keep checking.
This article has been a brief run through the setup of AdRotator. Ignoring the time it takes you to register on all the ad providers and work out the Ad configuration that works for you, you should be up and running in 5 mins.
There are more features currently in the framework and many more planned for the more advanced edge cases for Ad Configuration and rotation, so feel free to check out the voting page for what people are asking for.
If you have any suggestions / improvements or other AdProviders you want us to support, then please use the Voting page for AdRotator users here: http://www.voteit.com/v/HiHC8jq1MV8wxEW
If you have any issues or want to get in touch with the AdRotator team, then log an issue on the GitHub site and either we or one of our growing community will be there to help you: https://github.com/Adrotator/AdrotatorV2/issues
Finally, if you are so inclined and want to get involved with this amazing project, then put your hand up, race out and let the AdRotator team know. Simon and other are always willing to encourage developers to join in, fork our the repo and send/contribute some interesting code!
You need to think about what the cloud can do for you, whether it's something small like sharing save states or something larger like monitoring data and making quick iterations while your product is live. Then you can think about whether your use aligns with your players' perceptions, and whether you need to surface any information about your usage to show that your cloud offering is significant enough to give you an advantage.
The cloud can give you more than technology
If you decide to move to a cloud service, you may find that it offers your more benefits than you might think. An example can be seen in the indie development studio Gateway Interactive, who ditched their server stack in favour of moving to the cloud. While this resulted in faster transaction speeds and other improvements The savings they made from moving off a local server stack to a cloud-based model allowed them to hire an extra team member, increasing productivity and the quality of their upcoming games.
A platform agnostic approach is a powerful approach
One of the greatest benefits of game developers using the cloud is the fact that it's completely platform agnostic. If you were to create an app for the iOS platform using your own engine, you'd then have to make numerous changes and alterations to get it working on Windows and Android.
Pick your Middleware
This is why middleware solutions like Unity have thrived, as they allow for easy porting between different devices. However, these apps are never going to be connected without the use of the cloud. For example, do you want players to be able to move from one device to another and continue where they left off? Do you want players to be able to compete with each other, irrespective of what device they are using?
Agility is essential
Game development has come a long way in the past decade. Internet connectivity on devices has allowed for developers to create additional content and patch out previously undiscovered errors after the initial release, something that was once impossible.
Embrace big data
If you truly want to understand your users and how they play, then big data is the way to go. Not only will you be able to see information such as playing habits and playtime length, but you can also see details that'll help you with your next iteration, such as making improvements to a level if most people are getting stuck. Even if you're not planning to use the full capabilities of the cloud.
Example of Cloud Services
To give you some idea of how we are using cloud please watch the following video from Microsoft Studio Zoo Tycoon Friends. Zoo Tycoon Friends, a free-to-play title for Windows 8 PCs and tablets, plus Windows Phones. It was developed by Doritos Crash Course studio Behaviour Interactive and looks similar to the Xbox 360 and Xbox One versions of Zoo Tycoon that launched in November last year.
Like the Xbox versions of Zoo Tycoon, gameplay revolves around interacting with the animals themselves, as well as building your park. Instead of Kinect controls, you'll now be clicking or tapping on your animals to care for their needs.
See the game trailer below:
Here is a nice technical overview of how the team has implemented Microsoft Azure Cloud Services