• Microsoft UK Faculty Connection

    Are you new Start-up have you heard of BizSpark?



    So what is BizSpark

    BizSpark is a Microsoft program to help software start-ups at the beginning when money may be tight.  You can utilize it for a maximum of 3 years, but afterwards BizSpark Alumni can keep, at no charge, all the software they downloaded during their three years in the program, including a standard configuration of Windows Server and Microsoft SQL Server.  If you wish to purchase after your 3 years in the program, special BizSpark Alumni discounts are available.  Microsoft does not take equity in your start-up.


    BizSpark provides:

    * Software: You get access to a ridiculous amount of Microsoft software (a Visual Studio Ultimate MSDN subscription, which includes 900+ current, full-featured software development tools, platform technologies, and server products to build software applications).  This includes Windows, Office, Visual Studio, SQL Server, etc.  For the most up to date listing of products, click products by benefit level and then click Visual Studio Ultimate with MSDN tab for a representative list of products.

    * Cloud services: you receive $150 of free monthly Microsoft Azure benefits.  Run your services in the cloud (Azure supports running Linux virtual machines as well as Windows).  If you are building Windows, iPhone, or Android apps, take advantage of Windows Azure Mobile Services, which provides cloud storage space, authentication services (with built-in support for using Facebook, Twitter, Google, Microsoft Account/LiveID, and Active Directory credentials as well as custom auth using JWT), and push notifications (with support for Windows Push Notifications, Apple Push Notifications, or Google Cloud Messaging).

    * Support: access to investors, advisors, and valuable offers to help run their businesses, find talent, and obtain financing. Start-ups also get access to technical, product and business training and support.

    * Free access to the Windows Stores

    * Free promotion to the global BizSpark community


    To be eligible, you must meet these criteria:

    • Actively engaged in development of a software-based app, product, or service that will form a core piece of your current or intended business.  (NOTE: you must be building a product!  Start-ups providing consulting services are not eligible.)
    • Your company is privately held, and in business for less than 5 years.
    • Makes less than US $1 million in annual revenue
    • http://www.microsoft.com/bizspark 

    Here are some great resources to help you:

    Also, if you are a start-up that doesn’t have a public-facing company name or website yet, please

    Perks of the program:

    • Windows 8 / Windows Phone developer accounts
    • Visual Studio Ultimate 2013
    • Windows 8
    • Office 365
    • $150 / month Azure credits
    • Website hosting, virtual machines, databases, and mobile services
    • Visual Studio Online (Formerly TFS)
    • 90 Days of pluralsight + DigitalTutors training
    • Free marketing support with Microsoft
    • UnityVS, for debugging Unity games within Visual Studio

    Who qualifies?

    • Actively engaged in development of a software-based app, product, or service that will form a core piece of your current or intended business.  (NOTE: you must be building a product!  Startups providing consulting services are not eligible.)
    • Your company is privately held, and in business for less than 5 years.
    • Makes less than US $1 million in annual revenue

    Whether you are a student, start-up, or an indie game developer, Microsoft views you as a welcome addition to our start-up program.

    Some additional resources:

  • Microsoft UK Faculty Connection

    Startups, developer entrepreneurs, indie game developers get started @ Future Decoded



    Calling all  startups, developer entrepreneurs, indie game developers and students this month, inviting you all to Get Started @Future Decoded on 12th November, ExCeL London.

    This special event takes place from 1:00pm to 7:30pm in the open theatre space at ExCEL next to “Startup Alley” and includes networking drinks.  


    We are inviting the community of like-minded innovators to join together at Get Started @ Future Decoded to:

    · hear inspirational stories from other “cloud developers”

    · learn how to get started with the cloud to realize their digital dreams

    · learn practical tips and tricks from Microsoft Technical Experts to quickly get started – regardless of what platform or tools they build with—in the areas of:

    Web / Mobile Apps & Services

    Cloud Gaming

    Internet of Things

    · Enable anyone with a great idea for an app / game / IoT service to rock up and pitch for a chance to win:  free cloud services, a Microsoft Mentor, a Visual Studio license, 1 month residency at Microsoft Ventures Accelerator, and 1 day with the game studio team at Lift London.


    Register here:  http://aka.ms/getstartedcloud

  • Microsoft UK Faculty Connection

    Future Decoded Tech Day: 12 November, ExCeL London.



    Future Decoded Tech Day: 12 November, ExCeL London.

    Nobody can predict the future. But a bunch of clever folk can certainly help you prepare for it. That's why we've gathered together some great technology and business experts for our 'Future Decoded' event in London on 12 November. And we'd love for you and your technical colleagues to join us.  
    You and your technical colleagues can share thoughts with the likes of Professor Brian Cox and Sir Nigel Shadbolt. You also get to swap ideas with fellow developers and IT professionals. The day is split in two: keynote speakers in the morning; then choose from one of 8 specialist tracks in the afternoon.

    Giving your teams the opportunity to explore becoming an all-out ‘Native Ninja’ developer or going cross platform and immersing yourself in the Cloud. Tracks will be taking on the challenge of ‘Demystifying big data’ and highlighting the magic of DevOps bringing people together and synergising Enterprise Mobility.
    Future Decoded brings together some of the world's most influential thinkers to explore technologies and gadgets that will shape business in the 21st century. It's a fantastic opportunity to join the debate and take part in working sessions with leading technology experts. All the speakers have one thing in common - they've got fascinating insights that'll help you plan for the future. 

    To secure your Free place at Future Decoded on 12 November - Book your Free tickets now

  • Microsoft UK Faculty Connection

    MVP Community Lounge at Future Decoded 2014, 12th November 2014



    Future Decoded 2014 is a great new 3 day event that Microsoft UK has pulled together to demonstrate the very latest technology.

    I’m pleased to announce that there will now be a large MVP Community Lounge (12 November the tech day).  The lounge will be situated on the mezzanine floor as you enter the Excel Centre! So if you are attending the event on 12 November please be sure to find the lounge and have a free tea/coffee

    - clip_image003

    We have a number of MVPs speaking at the event on 12 November, and they include:

    · Damian Flynn

    · Paul Keely

    · Gordon McKenna

    · James Rowland-Jones

    · Jennifer Stirrup

    · Chris Webb

    · Jonathan Noble

    · Richard Conway

    Future Decoded is a 3 day event so register now at

    10 November: Target audience is Business Decision Makers

    11 November: Audience  Microsoft Partners


    12 November: Audience is IT Decision Makers and IT Implementers

  • Microsoft UK Faculty Connection

    Purchasing Power Parity setting the price of your app based on local economies


    Windows Phone now supports customizing the price of their games on a per currency basis. That's where Purchasing Power Parity (PPP) comes in.

    There is a great article on the subject of PPP One simple Hack to Crack IAPs in the Developing World The author Gurinder Pal Singh raise the issue that of the impact of currency conversion and the cost of living within different countries and cultures. This isn't something which many developers actual consider when listing their game or app in any of the stores..

    But the Purchasing Power Parity of each currency, is a pretty important factor the authors simply summarizes this as..

    The problem is that all currencies are not created equal, some are more valuable than others. A $100 bill, when converted at the exchange rate, will buy you more stuff in India or China or Mexico or Romania and so on, than it would in the United States. So a Dollar has more purchasing power in these countries than in the United States at the international exchange rate. And that is where the concept of Purchasing Power Parity (PPP) is born.That means that a “Tier 1″ In App Purchase (IAP) costs three times as much in India than it does in the United States!


    Windows Phone Dev Center gives you the option to customize your app’s price on a per-country basis

    Understanding base pricing

    Base price is the price you select that will be used in every country or region where your app is sold, unless you specify a different price for a particular country or region. The base price is converted to the same price level in the local currency of each country or region. For instance, if you select $.99 USD when you save your App info, the price in France will automatically be converted to the Euro pricing that’s used for that level of application. To learn more about your app’s tax implications in selected markets, see Tax details for paid apps.

    But what about PPP

    Now understanding PPP and from Gurinder article I think there is a real valuable lesson. Gurinder decided to run an experiment.  He manually adjusted each of his App Purchase based on the current Purchasing Power Parity in the players currency.

    The results?

    The number of transactions in those countries increased by 1100%, and revenue from those countries increased by 400% which is a pheonminal  success story.

    Customizing your app’s price on Windows Phone

    You also have the option to adjust pricing on a per-country basis. After you’ve successfully saved your App info, you will be returned to the App Submission Hub page. Under Options, click Market Selection and Custom Pricing. Once you’re in Market Selection and Custom Pricing, select from a list of countries or regions you’d like to set new pricing for and save your changes. Price changes will be applicable to all new purchases only.

    Price considerations for specific markets

    Payment methods such as mobile operator billing can help increase sales of paid apps and in-app purchase items in markets where credit card use is low.

    What are the considerations of using Mobile Operator Billing

    Due to the higher costs to enable mobile operator billing, a Commerce Expansion Adjustment of 13.9% is added to the Store Fee deducted from Net Receipts to calculate the Application Proceeds payable for paid apps and in-app purchase transactions in the following countries/regions .



    Payment Methods

    Effective Date


    Mobile Operator Billing

    March 2014


    Mobile Operator Billing

    March 2014


    Mobile Operator Billing

    March 2014

    Costa Rica

    Mobile Operator Billing

    March 2014


    Mobile Operator Billing

    June 2014


    Mobile Operator Billing

    July 2014


    Mobile Operator Billing

    March 2014


    Mobile Operator Billing

    March 2014


    Mobile Operator Billing

    March 2014

    South Africa

    Mobile Operator Billing

    March 2014

    You may want to consider if the Commerce Expansion Adjustment applies in a country/region where your app is available and factor that into your market pricing strategy.

    Details about the Commerce Expansion Adjustment can be found in the App Developer Agreement.

    The Commerce Expansion Adjustment will be applied to all transactions processed for the specified Country/Region and Payment Methods as of the Effective Date. This information will be updated monthly; new countries/regions and payment methods will be listed within thirty (30) days after the Commerce Expansion Adjustment takes effect for that country/region and payment method.

    Go Dos.

    Read One simple Hack to Crack IAPs in the Developing World How we increased our IAP Revenue from the Developing World by 400%! Consider PPP when localizing your games.

  • Microsoft UK Faculty Connection

    What’s the big deal about Monetisation?


    This week I had a catch-up with the UKs new MVP for ID@Xbox Simon Jackson @SimonDarksideJ and got into a conversation of monetisation, Simon mentioned he had a section on this very question in his new book “Mastering Unity 2D Game Development” which has been published under Packt Publishing.


    Simply put one of the hardest decisions developers need to make about their game or app is how to get paid, sure we love them and they are a part of us but there should always be some sort of reimbursement for efforts.

    So the following is a quick run down of the various options available to developers today!

    Some of the most common patterns for monetization in games are:


    Your game is sold at a fixed price. For big game studios this is generally the only option, especially with disk based delivery and some marketplaces.

    The emphasis with paid only means you need a high quality sale portfolio for your game, outstanding game marketing assets (logo’s, screenshots, videos, etc.).

    What is also just as important is the blurb about your game, it really has to stand out and draw the player in to make them part with their hard earned cash.

    Paid with trial

    Offering a trial with your game is a great way to entice players in, obviously it gives them a taste of you game before they commit cash.

    Be honest about the trial though, there have been many cases and annoyed players where games were published as free but were actually limited trials, do not upset your potential buyers, be up front about it.

    You still need a good presence with your marketing and store front, but the trial is also another great option to draw them in.

    When going down the trial route, just be sure to only pick a single path and stick to it, either by limiting the game, or only offering so many levels, or even having time limited play. Just don’t mix them.

    Another factor in offering trials is that each platform you deploy to may have a different way of providing it, either directly from the marketplace or through marketplace API’s. It’s best to design how your game will behave in trial and link that to a flag or option you can then control separately from the menu or check on startup.

    Ad Supported

    Often the route for a lot of “free to play” mobile titles, this is one option that can be hard to get right. Too many ads and the player will just get annoyed and uninstall it, too few and you are not going to get much back from it.

    A key thing to remember about ads is that it’s all about presentation and numbers. You need thousands of ads presented through your titles to make any kind of money back from Ad Providers, better if the player also clicks on the ad as this generates better revenue but you cannot bet on the player doing this.

    Warning, do not attempt to fake or force the player to click on ads. It’s a very bad experience and likely to get you uninstalled quickly. Also Ad Providers are clever enough to work out if you are faking the clicks and simply not pay you.

    I have seen cases where developers have layered ads on top of each other to maximize ad presentation or use GUI controls in close proximity to the ads tricking the player in to clicking them. These are very bad practices and should be avoided, at best you won���t get paid for your ads, at worst it will significantly get you bad reviews and lower the population of your players.

    A few patterns that generally work are:

    o Display in a non UI blocking portion of the screen in game play

    o Just display in the menu or non-game screens (e.g. inventory, pause screen)

    o Displaying ads only in loading screens

    o Pop up ads that appear when an event occurs

    o Ads on purchase screens

    You can mix and match but remember there is a fine line between a background annoyances the player can just ignore if they don’t want to look, to intrusive and overbearing. Test with a select audience and alter your implementation based on their feedback BEFORE publishing.

    The terms use by Ad Providers aren’t meant to befuddle you but they do take some getting used to, here’s some of the terms and their meaning:

    Fill Rate – The percentage rate at which ads will be sent to your game, if the provider has run out of ads or has none for your ad settings (age, region, language, etc) then this can drop to 0 meaning no ads.

    Impressions – This is a figure to denote the number of successfully show ads in your game, be aware that if the same ad is shown several times that some ad providers count this as the same impression, and just check against your own experience.

    Click through rate (CTR) – the higher paid option with ads to denote players are actually clicking on ads to look into them.

    eCPM – basically a unit of measure of how much you will be paid per click or impression. Usually multiply this figure by your number of impressions to see how much you will get. Note this figure will go up and down based on just about anything, including the weather.

    AdTypes – There are various ad types and sizes supported by each provider with different capabilities. Banners are the simplest being a screen area size it will take up when displaying the ad. Others like intersatials are interactive and generally take up the entire screen. Check each provider for what they support and which you want to use.

    Another factor to keep in mind is around publishers themselves, they will all perform differently in different markets and languages. Generally Ad Publishers focus on a few select markets or only take advertisements in certain languages, etc.

    Some examples of these are:

    Microsoft PubCenter – strongest in the United States

    Smaato – Strong in central Europe and US but poor in non-English countries.

     Inneractive – good mix of support across the globe and mix of ads but suffers from low or poor fill rates in practice (something they are working on)

    Google AdMob – strong across the globe but you need millions of impressions to make any real money

    There are many more out there such as InMobi, VServe, Leadbolt and others which each have their strengths and weaknesses, only your personal testing will see what publisher works best for you in which countries.

    When using advertising it is very important to add your own instrumentation to your title to track how the adverts are doing, don’t just use the Ad Publishers figures from their respective dashboards. That way you can manage yourself what works best for you and alter your plans accordingly. Don’t just publish and let it go, manage it effectively to improve your returns.

    When implementing ads there is also no rule that says you have to use only one provider! Always hedge your bets with AdProviders and implement as many as you are comfortable with, structure your ad presentation in a framework so that you always show the best performing adverts first and use another ad network if the current one isn’t delivering.

    If this seems a bit much to do yourself, then there are several frameworks out there that will do this for you. These Ad Rotating solutions are fully featured to work with a number of Ad Providers and ensure you always display ads.

    One such framework is a solution called AdRotator which is open source and works with most platforms, you can check it out at http://getadrotator.com, There are others also on the Unity asset store, just be sure to check what platforms they support (iOS, Android, Windows Phone, etc), so you might have to use a few different ones for all the platforms you deploy to. Vserv.mobi (vserve.com) for example can also display ads from other providers and not just its own.

    In app purchase

    A common feature being implemented in most games these days are in-app purchases, they are simply your paid shop front within the game to unlock levels, purchase rare items or remove unwanted features like Ads.

    In some cases in-app purchases have been used to implement trial functionality, publishing the title as free and then offering an in-game unlock option, on console like the Ouya, this is standard practise.

    Note, as with the trial system, be upfront if your game is sold as a trial. Players do not like and will aggressively mark down and slam titles that appear free until they are forced to pay to play!

    In-app purchases on most platforms come in two forms:

    · Durable

    Items that the player can purchase and have a real world item they can own. These are generally single use and you can verify with the marketplace for the platform if the player has purchased them. Although it is advised that you also manage that information locally so as to not slow the game down on start-up while checking. If you can also keep that information on a back-end service in case the user resets their device or transfers to a new one, this is not mandatory however.

    Can only be purchased once.

    · Consumable

    Effectively consumables are in-game currency, items that are meant to be recharged and replenished over time.

    The big difference between consumables and durables is that they are not tracked on the server (other than in payment history but that is not available to apps/games)

    Can be purchased many times over.

    As well as the store/marketplace for each platform there are some online services that will do payment systems for you, saving you from re-creating everything for each platform you support. One such company is called Lotaris (http://www.lotaris.com/) which offer many different ways for players to purchase items and apps, you still however have to publish your app to each platforms store.

    WARNING – If you are using in-app purchases be aware that big brother is watching. Employ unethical or illegal practices when implementing these systems could bring to a whole heap load of trouble.

    Check the following article for more info: http://webarchive.nationalarchives.gov.uk/20140402142426/http://www.oft.gov.uk/news-and-updates/press/2014/05-14.

    READ NOW if you plan to or are already using in-app purchases

    In-Game currency

    BitCoin as a practice in games has been rising steadily, the basic premise being that the game is generally free to play and uses some kind of in-game currency which players can earn in the game. This currency usually takes two forms, basic coin which can be earned in-game and premium coin which can only be bought with cash (or for completing rare and special events).

    The idea is simple, play through the game slowly as normal but if you want to advance quicker or get ultra-rare items then you need to buy and spend premium coin for those items. In some cases you can also convert premium coin to basic coin to get in-game currency quicker

    Although this makes a steady profit in single player or offline games, where it really comes in to its own is with online multiplayer. Seems there is a growing market for people to advance quicker than others or just to beat their friends quicker.

    Doing coin systems is generally harder than just doing in-app purchases but makes for an easier to manage ecosystem.

    Also see the warning about in-app purchases as this applies heavily to in-game currency/ bitcoin systems as well, if not more.

    The Roundup

    As you can see there are many options out there to get paid for your apps / games and lots of directions to consider. I’ll leave you with a few points to think on:

    · Think long term when considering returns for your app/game. If you have services to support how will you pay for them

    · Consider your whole app estate when generating revenue, give bonuses to loyal customer who get more than one of your apps/games

    · Never annoy users with “Too Many” or “Too Frequent” ads, be considerate.

    · Always ship an option to turn off ads. Offer several pay points for user to support your app/game, you may be surprised how much people are willing to support a good one

    · Tie in your monetisation with other channels, promotions, competitions, think out of the box.

    Monetisation is more than just about money, it is about brand awareness and the public’s view of your entire portfolio and says a lot about how you want to grow your business and treat your customers!

    Simon thanks for the chat and inspiration and congrats on the MVP award!

    Embedded image permalink

  • Microsoft UK Faculty Connection

    Windows 10 Tech Preview unable to build to Windows Store in Unity?


    I had a few question from game developers running into problems with the technical preview of Windows 10.

    Windows 10 is now available for FREE via the Windows Insiders program and for MSDN Subscribers. over 1 million users are now running the technical preview.

    The problem which I have been seeing is with Developers who are using Windows 10 and Unity3d 4.6 some are encountering the following issues. So I thought the following blog may provide a bit of support in addressing a fix.

    Reported issues include

    Previous projects now crash when loading them into Visual Studio 

    New Projects now crash on launch from Visual Studio

    To fix the issue you simply need to update DirectX SDK

    DirectX SDK Debug Layer: To obtain the Windows 10 Technical Preview  and Unity3d version of the DirectX Debug Layer DLLs required to successfully use D3D11_CREATE_DEBUG_DEVICE or the Visual Studio 2013 Graphics Diagnostics feature, download it from here.

    This will get integrated in a future version of the Window SDK for the RTM release of Windows 10. Be sure to install VS 2013, Windows SDK 8.1, and/or VS 2013 Remote Debugging Tools in addition to installing this patch.

    If your an avid gamer then I would suggest you follow the following guidance also

    Win32 desktop games: Such as STEAM

    The existing guidance for quality Win32 desktop games running on Windows 7, Windows 8.0, and Windows 8.1 all applies to Windows 10 as well (see Desktop Games on Windows 8.x). Note that there is a new <compatibility> manifest section GUID for Windows 10 (see Chuck Walbourn great post on Manifest Madness).

    DirectX 12: If you are looking to try out DirectX 12, you should read the DirectX Developer Blog post and sign up for the DirectX 12 Early Access program.

    Web Games HTML5 and Babylon.JS

    Web developers: The Technical Preview includes IE11, but there are a few improvements for Windows 10.

    Build Universal Apps which support Windows Store and Windows phone

    See this post.

  • Microsoft UK Faculty Connection

    Cloud Gaming Architecture–A walkthrough of how to get started



    The architecture has a logical layout (below). It looks complex, but the blog will hopefully explain it.


    The Pieces of the Puzzle for a great cloud gaming experience.

    When architecting our game your need to consider what the  components, described below. Some are apps (the clients), and the rest are cloud services.


    The clients are the apps that game players download to their devices. Each app must be developed for the particular device, but they must all have behave the same. The game is the same, just the UI changes.


    When building a game today you want it to be played on the most number of devices so, ideally it should be capable of being  played on Windows Phone 7 and 8, Windows 8.0 and 8.1, iOS, Android, and Kindle.

    To enable maximum platform support communication is enabled using REST APIs. The experience of playing the game should be smooth and seamless. A key factor is to ensure that the client app makes the minimal number of calls (after authentication).

    When developing your client its key to ensure that each of the client has a thin hardware abstraction layer (HAL). the HAL must contains the code necessary to display and process the UI controls, along with the code that initiates contact with the Visitor Center and the code that interacts with a Game Room.

    Visitor Center (VC)

    The first stop for a player is the Visitor Center. So think of the Visitor Center as the landing page for your game i,e.  you’ll find the leaderboard results and a directory of the gamer IDs. You can also find a friend on the system through the leaderboard.


    Identify Yourself

    When the player starts the game, the client app authenticates the player with either Facebook or another authentication services (using a username and password). The client app then sends the Visitor Center the identity of the player (via a token). The Visitor center confirms the identity by contacting Facebook or other authentication services to verify the token (and thus the player). Once confirmed, the Visitor Center sends the client app a new URL that goes to the Game Room where the user will be playing.

    Note that if the user does not sign I, you may want them to allow them to play as a Guest (guests may be simply unranked or wouldn't be issued persistent stats or friends).

    Game Room (GR)


    The Game Room consists of 3 APIs that interact with the client.

    1) Game: Sends the current puzzle to the client.

    2) Post: Receives the user’s individual results from the client.

    3) Results: Sends the leader scores and relative ranking of user to the client, along with the next puzzle.

    Game Room Services and Locations

    You may want to geo locate each of your games rooms, best practice is to locate each Game Room on the continent with the greatest player base – so European languages are housed in European data centers, for example. The hard cases are English, Spanish, and Portuguese, which have broad, world-wide audiences. English is played from everywhere, but is most concentrated in the US, UK, India, and Australia. Spanish is split between Spain and Latin America. Portuguese is most heavily played from Brazil, but there are still plenty of players from Portugal and other parts of the world.

    The Aggregator

    When a game ends, each client sends the player’s results to the Game Room. The Game Room has an Azure load balancer in front of it that distributes the results to one of its three web roles. Because the results are randomly scattered, they must be gathered into one central spot—the aggregator.


    The inner working of the aggregator is an Azure Cache. Caches are used in computing because they take the pressure off a system by holding recently stored data in memory and letting many operations access the data. Because the data is in memory, it can be instantaneously returned to any operation. The cache operates instead of a database engine that would otherwise query for a particular result. Multiply the queries and the database quickly reaches its capacity to respond. Caches are tried and true time savers.

    Here’s what happens between the GR and the aggregator.


    After a game ends, each Game Room web role receives the individual client results. The web role then sends all of its accumulated results to the aggregator. Note that due to retries, there may be duplicate client results received by the Game Room and received by the aggregator. (Two people sharing the same Gamertag while simultaneously playing using different devices also causes duplicate client results to be received.) Then, the aggregator sends all of the Game Room web role results back to each Game Room web role, as shown in Panel 3 of the diagram above.

    Each Game Room web role removes duplicates and sorts the results, and sends the top results and individual results with peer ranking back to the client. After the next round starts, each Game Room writes its buffer of unsorted results to blob storage. Each blob is named in the form <puzzle language id>-<game id>-<instance number>.txt, and consists of Comma Separated Values (CSV) data.

    Leader Board Orchestrator (LBO)

    The LBO does the heavy lifting for the app. It works in close partnership with the two database stores that conceptually flank it to create the “best of” lists (best of right now, best of the hour, best of the day, best of the week).


    When the Game Room and the aggregator have finished the results reporting work, the LOB starts.

    It first gets the results of the game from the newly written blob storage. It then processes the data to create in-memory tables that are inserted into an instance of Azure SQL Database. Once the data is inserted into the database, a large number of queries, in the form of stored procedures can be run against the data. To preserve the integrity of the data, stored procedures are the only way used to determine stats. The integrity of the data can also be checked during the process. The LBO can use more than one worker role to process the data. The results can also be compared. If any discrepancies arise, then the worker can be immediately stopped, and a new worker started to retry the processing.


    There is another component, although it is more of an infrastructure piece. The “Headquarters” service is used to run tests against the various other parts of the game. For example, it runs the test-bot that makes sure the game rooms (in all languages) are working. It also checks the integrity of the database operations. If a worker role running an operation creates a result that is different from others, the worker is terminated and a new one started. The headquarters handles those administrative and quality assurance duties.



    And finally, a server that is on-premises builds and deploys the whole system, every night. The build system is automated, and Azure REST APIs enable deployment. The function is key in protecting the integrity of the system by only allowing only the build scripts to perform the tasks. No one physically should have the permission rights to build and deploy manually.




    Azure Blob Storage

    How to use the Windows Azure Blob Storage Service in .NET

    Azure Caching


    Azure Cloud Services

    Cloud Services


    WorkerRole Schema

    Azure PowerShell

    Windows Azure PowerShell

    Azure table storage

    What is a Storage Account?

    Azure SQL Database

    SQL Database

    TFS Online

    Visual Studio Online

    Visual Studio

    Visual Studio

    Table-valued parameters

    Batching Techniques for SQL Database Applications in Windows Azure

  • Microsoft UK Faculty Connection

    Technology Primers for Cloud Services


    Cloud Services are just one of Azure’s compute models. Think of a ‘compute model’ as the motor of a vehicle. Every type of powered transportation needs an engine to roll, fly, or sail. In the same way, every Azure app needs an engine to process data and perform tasks. But the motor is specialized to the vehicle’s demands. A compute model serves computing power in one way or another, but is optimized for different service types.

    Azure has four compute models, each optimized for different uses:

    · Websites: these are designed for only one purpose—to serve websites by executing server-side code such as PHP, ASP.NET, Python, and node.js (along with SQL for databases). You only worry about the website code—not the system that it runs on.

    · Virtual Machines: Virtual Machines include nearly everything that a hardware-based system contains—an operating system and virtual disk space, in addition to the virtualized processing power. Like a real machine, you are responsible for installing software and keeping the system patched.

    · Mobile Services: a mobile service is a turnkey backend for a mobile or other connected client app. It provides infrastructure for server-side storage, user authentication, and handles push notifications. A single mobile service is often used to coordinate app activities across client platforms like Windows, Android, iOS, and HTML.

    · Cloud Services: Cloud services are made of “roles” which are like VMs, in having a system and small virtual hard disk. They have one bonus: you do not have to maintain the operating system. The downside is that any role can go down without warning. Therefore, it is best to code these as stateless entities—with no knowledge of what happened before or what will happen later. Roles should be autonomous and ready to immediately resume the task at hand whenever they start. They are called ‘roles’ because they are adapted to specific kinds of tasks. A web role is built to communicate on the web using IIS to serve websites or web services. In contrast, a worker role only runs the methods of the application—it is a VM dedicated to computing without the overhead of IIS.

    Understanding the Opportunity of Cloud

    Sign up for a Free One Month Trial via http://azure.microsoft.com/en-us/pricing/free-trial/

    Check our Architecture BluePrints of Cloud Based gaming


  • Microsoft UK Faculty Connection

    Wordament and Cloud Gaming



    One of the most successful word games on phones and tables is Wordament. The game is played by thousands of players, every day. It’s played on Windows phones, tablets, and PC, phones and tablets from Apple, and devices built on Android—including Kindle devices. It’s played around the world in over a dozen languages. And it’s all run on Azure.

    Here are some interesting facts:

    · It’s been downloaded and enjoyed by millions

    · They have about 500 million game results stored

    · Every puzzle is unique

    · Over 7000 concurrent players have participated at a single instant in time

    · After a game ends, the leaderboard for the worldwide session is shown

    · During a game, everyone using the same puzzle language plays the same game for two minutes at time—everyone is connected at the same time

    · The bits are located in four datacenters around the world

    · They roll out a new build every night using “a ton of PowerShell scripts and TFS”

    · They log everything. Data is so cheap, their data costs $45 a month

    · C# is the only language used to code all parts of the game

    So how does the game actually work?

    1. Wordament is a game that presents a grid of 16 random, different, letters in a four by four grid. Each letter is on a tile. Each letter has a score. None of the letters are duplicates.

    2. To score, you must start at a letter, and connect to an adjoining letter. You can go left, right, up, down, or diagonally. You cannot reuse the same tile.

    3. The goal is to spell as many words as you can. Only words that are spelled correctly are accepted. Longer words have higher scores.

    4. Every two minutes, a new game starts. Players from all over the world are playing the same game (the same four by four grid). (Different languages have their own grids and games—so people playing the English board only play against each other—not Spanish or Finnish.)

    5. When the game ends, results from all players are collected, and the highest scores (and the user names of the player) are shown on the leader board.

    6. After 45 seconds, the leader board disappears, and a new game begins.

    7. The total playing/scoring cycle is 2 minutes and 45 seconds (165 seconds).

    The Gaming Experience

    One factor contributes to the success of the game: its smooth playing experience—and this is also a result of the architecture. When playing the game, new games start and stop without missing a beat, and instantly leaderboards are shown. So around the world, such as playing on a train in Africa, you can still get a reasonable response and keep playing. That feeling of effortless response is key to keeping the game going—and that is also a product of the architecture.

    So what is the Architecture behind Wordament

    see the following 3 part blog at http://msdn.microsoft.com/dn774975

Page 7 of 101 (1,002 items) «56789»