• Microsoft UK Faculty Connection

    Cross Promotion of your own content from within embedded Ads


    Today Microsoft Advertising released ‘house ads,’ 

    Well what are house ads?

    Basically House ads are a new capability that enables developers that have two or more Windows or Windows Phone apps in the Store, to promote one of the apps in the other apps, using the Microsoft Ad SDK.

    So simply put its an awesome portfolio cross promotion tool, allowing you to promote your content apps/games from one apps to another..

    For example, let’s say you have a 2 games..

    game1, and game2. Both games use the Microsoft Ad SDK, and there are times when the Ad SDK cannot deliver an add or you may want to simply say for every 100 paid ads add 1 of my ads.

    So  you can be promoting your game1 within game2, and the game2 within game1, without any changes to your code.

    So what do you need to do to implement this..

    You must have at least two apps in the Store using the Microsoft Ad SDK, running either standalone or as part of Windows ad mediation.

    How do you create a House Ad?

    To create a house ad, go to the Microsoft pubCenter, create an ad campaign, select ‘House’ in campaign type, and enter the app that you want to promote. You can start and stop the campaign any time you want. House ad campaigns have no time boundaries and are provided at no cost to you.

    When choosing to use house ads, you will need to balance promotion vs revenue. Windows ad mediation helps deliver the highest fill rate possible, with revenue generating ad networks. Using house ads reduces the inventory of ads available to your app to monetize, shifting your advertising focus to app promotion.


    Read more about house ads in the Microsoft Advertising blog.

    Our recommendations are give house ads a try if you have multiple apps in the Store, in addition to using Windows ad mediation to help increase your Windows Phone ad revenue.

  • Microsoft UK Faculty Connection

    Xbox Controller support to a Windows 8 HTML5/JS Game & a HTML5/JS Web Browser game



    This game has been built using the Microsoft Platform Starter Kit Game  RubbaRabbit platformer 

    We are actually going to consider two variants:

    A game for Windows 8. x and Web Browser game.

    GamePad support in Windows 8 using HTML and JavaScript

    To enable gamepad support to the game which has been developed in HTML5/JavaScript on Windows 8. x you will need to learn how to work with XInput control class. There are a number of great examples available these include the JavaScript controller and XInput sketch.

    These samples include some  C++ code this C++ code is simply required as its the library project-strapping above XInput to enable it to be able to work in your HTML5/JS game

    C  Javascript

    So firstly we need to add the game contraoller to the project. You need to add the C++ .cpp files and header .h files to your solution within the game and add a link to it within your project for Windows 8. x References:


    If you wish, you can open up the C++ file with Visual Studio to see  what they actually do, simply they are an interface to access the controller: the constructor to obtain a reference to the controller and function getState to retrieve its current state with the projection on the Xbox controller buttons.

    Now you need to add support for the GamePad in the game itself. To do this, usually, you have to make quite a small change in processing input from the player.

    The game loop

    So the game loop is simply the code inside the game which loops on a regular cycle, The game loop forms every scene of the game. In our case we want to check whether the user pressed the button.

    In this example the  game loop is defined inside the function update:

       1: /**
       2:  * game simulation loop step - called every frame during play
       3:  */
       4: this.update = function () {
       5: ...
       6: }

    You need to include the function which is processing the buttons and sticks:

       1: if (touchleft || jaws.pressed("left") || jaws.pressed("a")) { 
       2:     player.vx = -move_speed; player.flipped = 1; 
       3: }
       4: else if (touchright || jaws.pressed("right") || jaws.pressed("d")) { 
       5:     player.vx = +move_speed; player.flipped = 0; 
       6: }
       8: if (!player.attacking && (touchjump || jaws.pressed("up") || jaws.pressed("w") || jaws.pressed("space"))) { 
       9:     if (!player.jumping && player.can_jump) { 
      10:         sfxjump(); 
      11:         player.vy = jump_strength; 
      12:         player.jumping = true; 
      13:         player.can_jump = false; 
      14:     } 
      15: }
      16: else { 
      17:     player.can_jump = true; 
      18: }

    As you can see, the engine developers are already taken care of that the user can send a command not only with different buttons with the keyboard jaws.pressed("a")

       1: if (touchleft || jaws.pressed("left") || jaws.pressed("a")) 

    What nice is that  they have also added support for  virtual buttons on a touch device (variables touchleft, touchright , etc.).

       1: if (touchleft || jaws.pressed("left") || jaws.pressed("a")) 

    Your code must have some variables that meet different game actions and imput controls which support various input methods/devices.

    Adding Gamepad support

    To add gamepad support is really simple

    Firstly we need to initialize the controller and them simply check the status on a regular basis.

    To initialize the controller we create a Controller via the designer that is available to us from the connected earlier C++ libraries:

       1: //Add Xbox Contoller support    
       2: function initXboxpad() {
       3:     var controller = new GameController.Controller(0);
       5:     if (controller != null) {
       6:         updateState();
       7:     }
       9:     ...
      10: }
    Next, we need to periodically update the status of the controller, for this will describe updateState feature that will query the call on every frame of the animation:
       1: //Add Xbox Contoller support    
       2: function initXboxpad() {
       3:     var controller = new GameController.Controller(0);
       5:     // render loop
       6:     if (controller != null) {
       7:         updateState();
       8:     }
      10:     function updateState() {
      11:         var state = controller.getState();
      13:         if (state.connected) {
      14:             var x = state.leftThumbX / 32767;
      16:             touchleft = (x < -0.9);
      17:             touchright = (x > 0.9);
      19:             touchjump = state.a;
      20:             touchattack = state.x;
      21:             touchpause = state.start;
      22:         }
      23:         window.requestAnimationFrame(updateState);
      24:     }     
      25: }

    Note that in this case we've have added support for touch, keyboard and controller input so a variety of control methods could be used.

    GamePad support in browser

    GamePad support is currently being developed in W3C standard Gamepad API that will consistently work with different types of game controllers and browsers.

    The W3C standard assumes "General" model

    For example, here is the documentation of Mozilla. The only thing I want to mention here is that it is out of date on the assumption Internet Explorer 11 Gamepad API are supported.

    The game loop and game code

    To demonstrate, I am continuing to use the same example of the Starter Kit, only this time, create an empty Web project and copy the original source files.


    Because the game is simply HTML5/JS , the game simply runs in your browser. Everything else remains unchanged, and we use the same assumptions about the game loop, which we did for a project under Windows 8.

    Gamepad support

    What's great about HTML5/JS is that you can use code from the Babylon.js library which support gamepad input

    babylon.gamepads.ts (GitHub). You can simply copy the library itself or make it a fork.

    The library makes a few important things:

    • The Gamepad API to simulate an event-driven model (if you need);
    • makes it easy to access the individual elements of the controller (such as a joystick axis brings together into one object);
    • distinguish between an Xbox controller

    Please note that the library is written in TypeScript.

    You can simply add the library inside the project, Visual Studio includes support for the TypeScript and automatically generates the .js files when saving.

    Do not forget to connect the library to the page with the game:

       1: <script src="js/babylon.gamepads.js"></script>

    The wiring diagram of the controller is very similar to what we did in the case of Windows 8 x:
       1: //Add Xbox Contoller support 
       2:    function initGamePad() {
       3:        var xboxpad;
       4:        function updateState() {
       5:            if (xboxpad != null && xboxpad.browserGamepad.connected) {
       6:                xboxpad.update();
       7:                touchleft = (xboxpad.leftStick.x < -0.9);
       8:                touchright = (xboxpad.leftStick.x > 0.9);
       9:                touchjump = (xboxpad.buttonA == 1);
      10:                touchattack = (xboxpad.buttonX == 1);
      11:                touchpause = (xboxpad.buttonStart == 1);
      12:            }
      13:            window.requestAnimationFrame(updateState);
      14:        }
      15:        var gamepadConnected = function (gamepad) {
      16:            if (gamepad instanceof BABYLON.Xbox360Pad) {
      17:                xboxpad = gamepad;
      18:                updateState();
      19:            }
      20:        };
      21:        var gamepads = new BABYLON.Gamepads(gamepadConnected);
      22:    }

    Inside features BABYLON.Gamepads is passed to an event handler connection controller from your computer. As you can see, adding support to the project controller is about 20 lines of code

    Version of the code with event-based programming model:

       1: //Add Xbox Contoller support 
       2:    function initGamePad() {
       3:        var xboxpad;
       4:        var gamepadConnected = function (gamepad) {
       5:            if (gamepad instanceof BABYLON.Xbox360Pad) {
       6:                xboxpad = gamepad;
       7:                xboxpad.onleftstickchanged(function (values) {
       8:                    var x = values.x;
       9:                    touchleft = (x < -0.9);
      10:                    touchright = (x > 0.9);
      11:                });
      12:                xboxpad.onbuttondown(function (button) {
      13:                    switch (button) {
      14:                        case BABYLON.Xbox360Button.A: 
      15:                            touchjump = true;
      16:                            break;
      17:                        case BABYLON.Xbox360Button.X: 
      18:                            touchattack = true;
      19:                            break;
      20:                        case BABYLON.Xbox360Button.Start: 
      21:                            touchpause = true;
      22:                            break;
      23:                    }
      24:                });
      26:                xboxpad.onbuttonup(function (button) {
      27:                    switch (button) {
      28:                        case BABYLON.Xbox360Button.A: 
      29:                            touchjump = false;
      30:                            break;
      31:                        case BABYLON.Xbox360Button.X: 
      32:                            touchattack = false;
      33:                            break;
      34:                        case BABYLON.Xbox360Button.Start: 
      35:                            touchpause = false;
      36:                            break;
      37:                    }
      38:                });
      39:            }
      40:        };
      41:        var gamepads = new BABYLON.Gamepads(gamepadConnected);
      42:    }

    As a result, we can easily control the character in the game directly from the Xbox controller
    Useful links
  • Microsoft UK Faculty Connection

    Visual Studio 2013 Community Edition Azure Virtual Machines



    We recently announced a new version of Visual Studio.What was interesting in the announcement of Visual Studio 2013 Community Edition which would replace the existing Visual Studio Express and Professional and that it would be a free development tool.


    Visual Studio 2013 Community Edition simply has all the feature which the Visual Studio Professional version had to offer. So if your new to Visual Studio or running Express because it was FREE. I would suggest you update and give Community edition a spin.

    Additionally if your a small indie or studio of developer it has some  pretty high-end featured version and if your company has less than 5 developers using the tool and with a turnover of less than $1 million its still FREE!

    Additionally a few weeks ago someone accused me of creating link bait with one of my post titles http://blogs.msdn.com/b/uk_faculty_connection/archive/2014/11/19/are-you-a-mac-user-who-wants-to-use-visual-studio-and-build-net-applications.aspx well I was setting a nice precursor to the announcement of something really excellent for dev who currently use Apple MacBook or MacBook Pro to dev with or even Linux.

    So what happened?

    Well we ended up hosting Visual Images in the Azure Image Galler so now you can spin up an image in the Microsoft Azure VM portal which has Windows Server 2012 R2 and Visual Studio Community Edition 2013 so even if you don't have a Windows 8 desktop you can us your MacBook or even a iPad or Android Tablet to build and deploy apps across all platforms using Visual Studio.


    Getting Started

    So its really easy to provision a Windows Server 2012 R2 with Visual Studio Community Edition already installed what neat is that the VM has all the Windows 8 and Azure SDK installed.

    Windows Server 2012 R2 is pretty close to Windows 8 So you get a very modern development environment so you can build apps for Windows phone, Windows 8, Android and iOS.

    So is it difficult to setup as I don't use Windows 8?

    To set this up it takes around 9 clicks and a short wait of between 5 and 8 minutes….

    You then simply make a remote desktop connection to the machine over the Internet or use a RDP client or even the new AzureRemoteApp feature.

    Additionally its really to connect via the “Connect button” in the  Azure portal.

    So why not give it a go?

    So setup a free Azure trial subscription – you can provision this system and use it for free for the 30-day duration of the subscription.

    So What are my plans for Azure VM and Community Edition 2013

    Every month a run a number of developer or game camps in the past for Mac users we have helped them provision a bootcamp of Windows 8 then Visual Studio which can sometimes take a few hours depending on what the spec of machine is HDD space capacity etc.. well not anymore!

    The prerequisite or first task can be for delegates to provisioned their own dev machine in the cloud.

    What's next?

    So Azure VM Gallery and Azure RemoteApp are the very start of one of the huge use-cases we’re seeing for Azure: Dev-and-Test in the cloud. From the conversations I had with people to date it’s really fired a few imaginations as they think of the range of possibilities for their own companies’ dev and test environments.

    So what are you waiting for?

    You can sign up for that right here for FREE to provision a dev workstation.

  • Microsoft UK Faculty Connection

    Azure RemoteApp - stay productive anywhere, and on a variety of devices – Windows, Mac OS X, iOS, or Android



    Azure RemoteApp  allows you to stay productive anywhere, and on a variety of devices – Windows, Mac OS X, iOS, or Android.

    RemoteApp simply lets you run the Windows applications you want or need on a Windows Server in Azure, where they're easier to scale and update.

    Users can access their applications remotely from their internet-connected laptop, tablet, or phone – while appearing to run on the users' local device, the applications are centralised on Azure's trusted, reliable platform.

    Azure RemoteApp

    • Run Windows applications anywhere
    • Scale quickly to meet changing business needs
    • Safeguard sensitive corporate applications
    • Supports cloud and hybrid deployments

    Azure RemoteApp will be GA on Thursday 11th Dec 2014.

    Azure RemoteApp will be available as Pay-As-You-Go subscription and via Azure Agreements see www.azure.com for more details.

    For more information, please read the blog post at: http://blogs.technet.com/b/enterprisemobility/archive/2014/12/04/microsoft-azure-remoteapp-general-availability.aspx

    So if your interested give it a try with a free 1 month subscription


  • Microsoft UK Faculty Connection

    Developer Unlock your Windows Phone 7 devices before 1st Jan 2015



    This is a reminder that effective January 1, 2015, it will no longer be possible to unlock Windows Phone 7.x devices for app testing.

    So if you have a Windows Phone 7 device, we recommend that you developer unlock your Windows Phone 7.x devices prior to January 1, 2015 in order to continue testing your apps with those devices.

    Please note this unlock will be good for 24 months.

    On January 1, 2015, if you have not unlocked your Windows Phone 7.x device, deploying and testing of apps from Visual Studio on that device will no longer be possible.

    However, app testing can still be done on other unlocked phones, via the Windows Phone Emulator, or by submitting beta apps through the Windows Dev Center.

    Please note that this change will not impact apps available in the Windows Phone Store, nor will it impact customers with Windows Phone 7.x devices.

    Additionally, if you have apps that only have a Windows Phone 7.x package, now is a good time to update these apps to Windows Phone 8 or 8.1.

  • Microsoft UK Faculty Connection

    Marmalade Windows Developer Offer



    Just Apply, Port & Publish! Spreading your game to the Windows Store and Windows Phone Store is super-easy with Marmalade and you could bag up to $1000 of incentives.

    To qualify, your game will need to:
    • Have received a 3 star rating or above and/ or your game has at least 5,000 installs (if premium/paid) or 50,000 installs (if free-to-play)

    If your game does not meet the above criteria, it can still qualify. Submit it for evaluation and your entry will be evaluated on the following criteria:

    • Whether your game has innovative content and is clearly differentiated from other games in the same genre
    • Developer track record in shipping quality games on mobile or other platforms
    • Overall quality of the user experience and presentation
    What’s in it for you?
    • $100 PayPal gift voucher
    • A priority review for Windows Phone Store promotion
    • A developer account token for the Windows Phone Store
    • A license to Windows 8.1 Pro (worth up to $200)
    • A Windows Phone device (at Microsoft’s discretion and subject to availability)
    • A Marmalade Indie license (worth $500)
    How to participate

    1 Register or login

    You need to be logged in to sign up for the offer

    2 Sign up for the offer

    Once you have signed up, someone from Marmalade will be in touch to let you know if you have been accepted onto the program.

    3 Get tooled up

    Once accepted you’ll receive:

    • a Windows Dev Centre token to set up a dev account
    • a license to Windows 8.1 Pro (worth up to $200)
    • a Windows Phone device (at Microsoft’s discretion and subject to availability)
    • a Marmalade Indie license (worth $500)

    4 Develop or Port

    Develop or port an innovative, functional app using Marmalade.

    • read the porting guides, which cover everything you need to know about configurations, SDKs, general considerations, and first steps
    • complete your Windows Phone app

    5 Publish your app to the Windows Phone Store and Windows Store *

    To publish to the Windows Store or Windows Phone Store you will need a developer account. Email us at windows@marmalademail.com for a developer token code that you can use to create an account free of charge, if you have not already received one.

    *Game must be published between 1st Nov 2014 and 31st March 2015 to qualify.

    6 Reap your reward

    Once you have published your app to Windows Phone Store and Windows Store don’t forget to let us know to receive extra rewards.

    • $100 Paypal gift voucher
    • priority review for Windows Phone Store promotion

    Sign up for the offer

  • Microsoft UK Faculty Connection

    Getting started with code? learn to code with Microsoft Virtual Academy


    So you want to learn to code?

    Whether you’re just about to start exploring the world of coding, want to create the next hit game, or build an app that can change the world, you’ve come to the right starting place! Microsoft Virtual Academy

    Getting Started with Programming Courses

    Hour of Code with TouchDevelop

    Hour of Code™ with TouchDevelop

    Oh no! This video game is broken! We need your help to get it working! Join Microsoft in completing your Hour of Code™ by helping fix a game that controls a crazy robot trying to make it through a maze of wacky obstacles. The Hour of Code™ is an initiative by Computer Science Education Week and Code.org designed to introduce you to computer science and computer programming.

    Learn Now

    Introduction to Programming with Python

    Introduction to Programming with Python

    Are you brand new to coding? Want to see how fun and easy it can be? This course will provide you with an introduction to solving real-world problems using the popular programming language, Python. Get step-by-step instructions for translating an idea into code.

    Learn Now

    Software Development Fundamentals

    Software Development Fundamentals

    This introductory level course will help you understand the various aspects of software development. The course focuses on key fundamental concepts that all software developers need to know, and helps you prepare for the MTA Exam 98-361: Software Development Fundamentals.

    Learn Now

    Preparing for Exam MTA 98-375 HTML5 App Development Fundamentals

    Preparing for Exam MTA 98-375 HTML5 App Development Fundamentals

    This course will help you explore introductory concepts for Hyper-Text Markup Language (HTML), Cascading Style Sheets (CSS), and JavaScript. Get expert insight as to how to prepare for the MTA Exam 98-375: HTML5 Application Development Fundamentals.

    Learn Now

    Getting access to more dedicated resources for Education with Microsoft IT Academy

    If these courses have sparked your interest and you want to learn more, there are loads of FREE courses at http://www.microsoftvirtualacademy.com

    If your a school, college or Uni then click here to find out if your a Microsoft IT Academy. If your school, college or Uni is already a member of the IT Academy program, you will have access to learning materials that can help take you farther on your learning journey and get Microsoft professional certifications as part of your full time or part time studies.

  • Microsoft UK Faculty Connection

    Getting Started with Cloud Services to backend your game– SOA Models and best practice


    Microsoft wants you to be a successful game developer. We want you to capitalise on the emerging market landscape with the models made possible by cloud

    To help you get started we have developed the following models. These models help you understand what cloud is? what services are offered? How the cloud can help your game and studio.

    Gaming Model 1 – Palabra Simple turn based game (demonstrates the architectural model and cloud services required to setup the service)

    Get started in the cloud with a simple turn-taking game.

    3D 2DVideo

    Gaming Model 2 Wordament Full cross platform game developed in Xamarin (demonstrates the architectural and cloud services required to setup the services)

    Set up your gaming infrastructure. Add a leaderboard that’s updated continually.


    Gaming 3 – Zoo Tycoon Friends Windows 8 and Windows Phone game built by Xbox Studios on a game franchise offers highly scalable services.

    Use the cloud infrastructure for more complex transactions such as validating user actions.


  • Microsoft UK Faculty Connection

    3D Game Dev Starter Kit – Unity3D




    The hardest thing with video game development is, “Where do I start?”  Well a colleague at Microsoft David Cook has answered this with the development of the 3D Game Dev starter kit for Unity3d

    You can download this from https://onedrive.live.com/redir?resid=BA8DC4B28555902A!1496&authkey=!AACNnQmRmY0GGkg&ithint=file%2czip

    First Steps

    Start by simply opening up the kit, looking around a bit, and then changing the name in the credits to your name  and the name of the game from Space Robot Zombie Escape to something your own. 

    0Its a Starter Kit, so you have a few directions you can go with it.

    1. Build on the existing kit.  Add new platforms, tweak the collision boxes a bit more, add new events and interesting things.
    2. Take the existing kit and build a completely new game with it!  Get the “elementals” asset and start figuring out how to get the robot and the zombie to fight with each other, incorporate magic, or maybe have cars and space ships!

    After that, go to File -> Build, and build the game as a Universal App (should be selected for you already).  Once your happy with the game you can publish it to the Windows 8 and Windows Phone Store.


  • Microsoft UK Faculty Connection

    Tools of the trade A Interview with Windows Games Ambassador Gary Lloyd and his favourite tool SketchFab


    Interview with @GaryLloyd89 Artist at @Sketchfab and @HyperSlothGames . Windows Games Ambassador.

    I've been completely obsessed with pretty much all things related to 3d-art for four or five years now. I love being immersed in 3d worlds and my time at University, along with working in games for the past two years, has enabled me to work on some pretty awesome projects with some great visuals. However, there always comes the dilemma of building up a portfolio to show off to new clients or employers. Traditionally, myself and other artists have used 2d images, which usually consist of beauty and wireframe renders, along with a breakdown of the texturing process applied to the asset. This is still a great method, but times are changing and the future is here right now as a standard for every major web browser out there.

    It was almost two years ago I was introduced to Sketchfab: a platform and community for sharing 3d content. I was really interested and immediately started testing their service. The absolute brilliance of the Sketchfab viewer is that it can be embedded into pretty much any website, forum or portfolio. With a few clicks the actual upload process for 3D content is quick, easy and painless. Rather than viewing 3d content in 2d through renders, you can now interact with and manipulate the content in real time, without any sort of plug-in, through the power of WebGL.

    Necromancer Altar by Gary Lloyd on Sketchfab

    Currently, the site supports over 27 different 3d file formats and has dedicated exporters for 3d software packages, such as Maya, 3ds Max and Blender, which makes it perfect for any aspiring game artists or developers to quickly share content with followers and friends. Best of all, they offer free unlimited uploads to all users, as well as access to their premium 'Pro' features for students! (As long as your college/university has signed up. Read more about that here if you're interested: https://sketchfab.com/students 
    The applications for Sketchfab relate to pretty much anything that can be displayed in 3D: game art, architectural visualisation, 3d scanning and more. There's a huge variety of content on there but I think it's a particularly awesome service to help game developers and artists really show off their assets in a unique way. There are a variety of game developers on Sketchfab who are using the service to aid with their PR and Kickstarters, or as a tool to just share content with their communities.

    With recent additions, such as post-processing and Physically-Based Rendering, on the way to browsers, I think Sketchfab is the perfect tool for showcasing 3d content and a unique opportunity for users to showcase their work to everyone in an interactive way. Check out the video below and get involved in the community. The staff at Sketchfab are very active on social media and are only an e-mail away for any questions or help.

    Discover Sketchfab from Sketchfab on Vimeo.

Page 5 of 101 (1,007 items) «34567»