Richard's blog

  • Nogginbox is back

    This website has been down for a few weeks since my old web host lost my virtual machine in a RAID disaster. If my business depended on this website I would have spent more time and money on my backup strategy. And although this is not a business critical site, it is still one close to my heart and the pain and time taken to get this site back up has been more than I anticipated.

    This site was hosted on a cheap VM with UK Webhosting. I was not paying for the optional extra of backups. But I was regularly backing up the database and saving it on the server. I made the assumption (NEVER MAKE … more

  • Installing a free SSL Cert on your IIS .NET Core Mvc website

    SSL certs are getting more and more important on the web as we want to make sure that our websites are safe and trustworthy. I’ve put off installing them on my own personal web site projects because of the cost and the work involved in keeping them up to date.

    Let’s Encrypt is an open Certificate Authority that is trusted and issues free 3 month certificates. They have an API that lets you automate getting these certificates and there are several tools for Linux and Windows that use this API to save you the work of installing and keeping your certs up to date.

    I used the … more

  • Forms Authentication in .NET Core (AKA Cookie Authentication)

    In .NET Core MVC you're encourages to use .NET Identity, but you don't have to. You can manage your own user identities and you use forms authentication which is now called Cookie Authentication (which is a better name really).

    You need to install the Microsoft.AspNetCore.Authentication.Cookies nuget package.

    There is some configuration that needs to go in startup.cs:

    public void ConfigureServices(IServiceCollection services)




    .AddCookie(options => {

    options. … more

  • My Windows Services Panel

    As a developer I have a lot of different types of Windows Services installed on my computer for the different projects I work on. Services like MS SQL Server Express, MS SQL Server, IIS, MSMQ and MySQl.

    I don't use all of them all of the time, but I would normally leave them running because I couldn't be bothered trawling through all of the services in Services Manager to stop and start them. Having them running all the time made my computer take longer to startup and I felt like it was slowing it down generally and stealing battery power.

    So I created My Windows Services Panel as a way to … more

  • Finding the best Windows 8 Apps

    There is a media war raging between the various app stores about how many apps there are, but to turn this on its head, as Richard Cambell off of .NET Rocks said 'Over 100K apps in the Windows Store is a disaster'. No one needs that many apps and how are you supposed to find the ones you need. Also, a lot of them are rubbish.

    I often find myself asking what's the best x app for Windows 8 such as what's the best eBook reader for Windows 8, or what's the best RSS reader for Windows 8. It was to help answer these questions that I created the site Appy Ninja. It also seemed like a good excuse to … more

  • Dizzy Dalek at NDC 2014

    The video of my talk on MonoGame and 3D (featuring a dizzy dalek) is now live on Vimeo:

    You can find the demo code here:

    Other NDC Game Development Related talks

    If you enjoyed this talk, you may also enjoy:

    Cross-platform physics-based gaming using MonoGame and Farseer

    Game and Simulator Physics for Developers, Gamers and Petrol Heads

    Porting Quake III to F#: A Journey to Functional Programming


    Tags: code

  • Game development talks at NDC 2014

    It's less than a week to go till NDC 2014. I've been going through the talks for ones I want to see and already found so many great ones that there is no chance I will get to see them all, particularly as some of them are on at the same time.

    As I'm talking about game development and the other talks on this subject also look excellent here are the talks I will definitely not miss:

    Game and Simulator Physics for Developers, Gamers and Petrol Heads – Alan SmithWednesday 17:40 - 18:40

    Cross-platform physics-based gaming using MonoGame and Farseer – Rune Andreas GrimstadThursday 1 … more

    Tags: ndc

    No Comments
  • Tower Blocks March Report

    So, I'm 3 months in and Tower Blocks has not yet become an Internet sensation. Also, I've been really busy with client projects and found it really hard to find the time to focus on Tower Blocks. This must be the dip I've heard so much about and experienced on most projects I've ever worked on. I've still got lots of ideas for this project, but I've also got new project ideas and it's very tempting to abandon this one and move on to new green pastures.

    In March the iOS version of Tower Blocks went live, but I didn't have enough time to get the problems I've got with the Windows Phone 8 … more

  • Putting iAds in a MonoGame game

    Here is the code you need to add to Main.cs in you game to get iAds working. You don't need to add any unique IDs. The iAd SDK is able to work out what you app is by magic. Everything will work fine as long as your app is registered for iAds in iTunes Connect.

    I call the method SetupAdvert at the end of FinishedLaunching in Main.cs:

    private object _adBannerView;private bool _advertPausedGame; private void SetupAdvert(){    int width, height;    var view = (game.Services.GetService(typeof(UIViewController)) as UIViewController).View;    if (view. … more

  • The Monument Valley Gap

    There's a great quote by Ira Glass, captured nicely in this video. The quote is about learning to writing stories, but I'm going to apply it to creating games. It talks about the gap between your skill to produce something and your taste to recognise something truely special. Sometimes the gap is so painful to see that you want to quit, but all great creative people making interesting stuff have stuck with it through the gap till their skills caught up.

    Monument Valley for iOS recently came out and I was reminded of the gap between my taste in games and my current ability.

    If you haven't … more