How to Set Up a PC for a Web Based HTML5 Exhibition Game

Filed under: Branded Games — Simon Walklate

Why Use HTML5 For an Exhibition Game?

Web based HTML5 gives you the option of using a game across different devices at exhibitions/events. For instance you might want to set up your game on a PC with a large touch screen at one event, but scale it down to mounted iPads at another. It also gives you the added option of having a public web based version of your exhibition game with minimal changes if you wish, to help with your other marketing activities. Conversely, if you get a web based HTML5 game produced for a marketing campaign, you can easily get some slight modifications made to use it at a trade show on standard PC hardware or tablets.

There are a couple of different options for setting up a simple DIY interactive kiosk to use an HTML5 game at an exhibition, trade show or event. I'm going to try and cover the other (using mounted tablets) over the coming weeks/months. For now let's concentrate on using a PC...

What Hardware Will I Need?

Any PC with a screen (and input devices) connected can be used to run your HTML5 game on an exhibition stand. This setup also give you the greatest flexibility. You can choose the size of screen. Anything from a modest sized desktop screen right up to a giant touch screen display built into your exhibition stand, the choice is yours. You also get a choice of input devices, usually a touch screen or joystick/gamepad for more arcade style games. Although mouse and/or keyboard is out, for reasons I'll get to shortly (and in any case probably not right for game controls on an exhibition stand anyway).

Although most simple 2D games don't need a state-of-the-art games machine to run, I'd always recommend you test and set up the game on the actual hardware you'll be using at the exhibition well ahead of time. The last thing you want is to get to the trade show (with limited time on the morning of the first day) and set up for the first time. That's asking for trouble. So make sure you take a bit of preparation time to set up your game before the event, to make sure setup is stress free on the day.

Remove Physical Access to Hardware

The PC itself and any physical peripherals/input devices that would allow players to quit out of your game should not be accessible. Move them out of the way, lock them away, whatever you have to do. Any input devices and peripherals (anything players don't need or shouldn't have access to) should be disconnected from the PC altogether, where possible. If you need to connect a mouse and/or keyboard to set the game up on the PC, only connect when you need them and disconnect again afterwards. The only input devices accessible to the public should be the ones that they need to play the game (usually either a touch screen or gamepad/joystick).

It's also worth mentioning that any gamepads or joysticks you intend to use, should have some sort of secure mount on your exhibition stand. The last thing you want is for your controller to go walkies 10 minutes into the first day.

Use a Clean, Dedicated Machine

I'd also strongly recommend that you use a machine with a fresh, up-to-date install of Windows. Again it's about stripping the PC down to the bare minimum that's needed to run the game. No extra software that's surplus to requirements should be installed.

Under no circumstances should you use a regular in-use work PC for this. If a player does somehow manage to get out of the game and get access to Windows, you don't want them having access to all your sensitive files.

Windows 10 is ideal, as it's best equipped to set up and use touch screens and lock down the operating system for HTML5 games. Once we get to the details of setting up Windows, we'll be assuming we're working with Windows 10.

Don't Forget Power

Obviously, you need to make sure the PC you have the game set up on has sufficient power as well. If you're running all day, just a laptop with one battery pack isn't going to do it. You'll need either mains power or sufficient battery packs to last the duration.

Also, make sure any wireless, rechargeable input devices have sufficient charge to last the duration of each day of the trade show and you're able to recharge them in the evening. If you're using a gamepad or joystick that needs charging, make sure it's fully charged and consider having another fully charged spare on hand just in case.

Internet Connection

Usually you'll need a live internet connection on the PC you'll be running your web based HTML5 game on. Features like scoreboards, data capture forms etc. usually rely on server-side scripts and storage. So again, check in advance that you'll get access to Wi-Fi at the exhibition, if not you'll need to organise some other way to set up your game at the exhibition.

It doesn't generally need to be particularly fast (for scoreboards and data capture we're talking about transferring tiny amounts of data), but it does need to be there and not dropping out all the time.

Running in Full Screen Mode

You'll need a full screen mode button incorporating into the exhibition version of your game to enable this mode via the HTML5 fullscreen API. We do this anyway in all the web based HTML5 games we create and it's fairly easy for your developer to add one.

You'll also need the exhibition version of your HTML5 game to automatically disable any in-game buttons you don't want players to have access to while playing in full screen mode. The most important being the full screen button (so once the game is up and running in full screen mode players can't quit out of it). You might also want to consider disabling any settings controls, pause and mute buttons to keep the game running consistently throughout.

Stopping Players Accessing the Operating System

You need to make sure your PC is set up properly to lock it down. Otherwise players will be able to exit out of your game into Windows to mess with things they shouldn't. On PC this will require changing some Windows setting and utilising Google Chrome's "Kiosk Mode".

Again, once you've locked the machine down, test thoroughly to make sure there are no ways to quit out of the game using any of the input devices that will be accessible to players.

Setting up Windows 10

Google Chrome Kiosk Mode

I'd recommend using Google Chrome to run your HTML5 game at a trade show. It provides the best support for touch screens and other input devices and avoids some quirks that make some of the other browsers less than ideal for running an HTML5 game at an exhibition or event. It also provides a built in Kiosk Mode. This allows you to set up a shortcut to open your game directly in windowless browser mode.

First of all you'll need to download and install the latest version of Chrome, if you don't already have it.

Right click in a directory where you want to store your game shortcut and select New -> Shortcut.

Click "Browse" and find the Google Chrome program file (usually at "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe") then click "Next".

Give the shortcut a name, then click "Finish".

Right click the shortcut you've just created and select "Properties".

Edit the "Target" field and put --kiosk followed by the web address of your game, after the last quote marks of the existing text and click "OK". So it should read something like...

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --kiosk http://www.thedomain.com/the-exhibition-game-url/

Double click the shortcut icon to open Google Chrome in Kiosk Mode, automatically opening the game page, which you can then full screen (via the in-game full screen button). You'll need to press Alt-F4 on a keyboard to quit Chrome while in Kiosk Mode, but once it's up and running you hopefully shouldn't need to.

Disable Screen Edge Swipe Functions

Windows 10 has built in functions that occur when you swipe at the edges of the screen (including opening Task View, dragging in the "Action Center" sidebar etc.) You need to disable these, otherwise players will be able to quit out of the game or get into PC settings.

This setting isn't available in the standard Windows settings and requires a quick registry change. You can either (create and) set the key manually (not recommended), or download and run these handy registry files to quickly enable/disable this feature. In case you're interested, the relevant registry key is:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\EdgeUI] "AllowEdgeSwipe" - set to 0.

Either way you'll need to restart Windows for the changes to take effect and you should be able to test afterwards that the edge swipe functions no longer work.

It's also worth mentioning that messing with the registry can do bad things to a Windows install. So don't change anything but this one key. This is yet another reason to use a dedicated machine with a fresh Windows install to run your game and again, set this up ahead of time. You really don't want to be making registry changes on an important work machine if you can help it.

Turn Off Action Center Notifications

Action Center is a new feature built into Windows 10 that allows installed software to deliver mobile-like push notifications, as well as giving easy access to certain Windows settings. This can be useful on a standard machine, but these are often clickable (taking the user into the relevant program or settings) and can be distracting. For these reasons we need to make sure we disable these notifications, to stop them popping up over our game. To do this:

Open Windows Settings, by selecting the cog icon.

Select "System".

Select "Notifications & Actions" from the list on the left. Under the main "Notifications" heading, on the right, you'll see a list of notification permission toggles. You need to make sure all of these are switched off. Otherwise pop-up, clickable notifications will allow players to click away from the game.

There's also a long list of program specific notification toggles below. The top toggle we've just switched off (labelled "Get notifications from apps and other senders") should have automatically disabled these (greying them out), but just double check these are all disabled as well.

Switch Off Sleep Mode

This is worth doing to make sure the game keeps running continuously and the computer doesn't hibernate if it's left idling. The last thing you want is for the screen the go black every few minutes, if no one is playing your game in that time.

Go into Windows Settings, "System" again.

Click "Power & Sleep" on the left and switch both "Screen" and "Sleep" to "Never" via the drop-downs.

Put Windows Into Tablet Mode

This is necessary to make sure the on screen keyboard appears when you select a text entry form (such as a scoreboard entry form) on a touch screen. However, even if you're not using a touch screen it's worth switching to tablet mode anyway because it helps with locking out access to features such as the Windows task bar when you're running your game at the exhibition.

The easiest way to toggle this on/off is to open "Action Center" by clicking the square speech bubble icon in the bottom right of the Windows task bar. Then just press the "Tablet Mode" button to toggle it on/off.

You're All Set

You now have everything set up to use your HTML5 game at an exhibition or event. Players should be totally locked into the game, taking up the full screen area, so you shouldn't be able to tell it's a web based HTML5 game either.

The ‘Build It and They Will Come’ Approach to Branded Games

Filed under: Branded Games — Simon Walklate

Branded games can be a great way to get huge exposure for brands, when integrated with your other marketing. The problem that I see more often than you would think (and I would like) is businesses insisting on taking the 'build it and they will come' approach, despite being strongly advised against it.

As with most bad ideas, it comes from a lack of knowledge and experience and it's definitely not the client's fault for thinking this way. People see the hype around branded games and think they're something magical, where you build this piece of content, post it to your website and all of a sudden (by some sort of psychic link?) millions of people will suddenly know about it, visit and play it. Although branded games can be quite magical at times, in terms of just how many people they can reach, there's nothing magical about the hard work that goes into launching one successfully.

The fact is, very little content goes truly 'viral', this equally applies to other forms of multimedia content such as videos. For something to be truly viral and grow in popularity exponentially, every person that sees it needs to pass it on to more than one other person, which rarely happens. If that was the case, you could literally tell just a handful of people about the content you've created and watch it spread out of control. In reality, banking on this is only going to lead to failure and that's what you're pretty much guaranteeing if you don't do everything you can to promote a piece of content.

Now that isn't to say producing a branded game is a waste of time and money and it's doomed to failure from the start, far from it. They can be a brilliant hook to gain exposure within your industry, via your own marketing and PR channels. We've seen clients use press releases to really push their branded game and get great, targeted exposure by doing so. It goes without saying that a high quality game will serve you much better (in increased engagement, spread and ultimately exposure) than a poor game, but you need to be aware of the realities of launching a branded game. Whether it's a game posted on your own website or on a third party platform such as Facebook or a mobile app, spending some time planning and effectively making use of all the channels at your disposal will only benefit you in the long run.

The process of launching a branded game involves getting as many eyeballs on the content as possible from the start, much the same as promoting any other piece of content. The most successful branded games we've produced have been successful because the client has been passionate about promoting the game and really gone the extra mile. We take care of production of a quality, engaging game, but that's only part of the equation.

If you're a small business without a good, targeted mailing list (and/or an extensive following on social media) and the means to promote a branded game to potentially get exposure in industry specific media then, in all honesty, a branded game (or indeed any multimedia content) may not be for you. But as long as you have those things (plus, put in the work to take advantage of them) and are able to fully integrate a game into a current marketing campaign to drive even more players, there's no reason why you shouldn't see good results from a branded game as an engagement tool.

I won't go into specifics about what you should do to promote a branded game here, but it should definitely be fully integrated into your overall marketing campaign to see good results, not just left in isolation. It's also worth noting that it's possible to maximise your return by thinking about other ways you can use the game from the start. E.g. we've had clients have branded games produced for inclusion on their website, but also have a slightly modified version built to take to trade shows and events. This may increase the production costs slightly, but will allow you to maximise use of your game for a relatively small additional cost.

Long story short, to maximise exposure and return from a branded game takes some work on the client's part. If you really make the most of the opportunity and think of creative ways to use your branded game as a promotional tool, instead of just seeing the game as the end of the process, you'll undoubtedly reap the rewards.

Things Every Brand Should Do to Promote Their Branded Game

Filed under: Branded Games — Simon Walklate

Branded games really are the king of premium content that can help engage your audience, give your PR the hook it needs to get coverage in online and traditional media, help your SEO efforts and more. But like with any content, your branded game can be the most amazing piece ever created, but if few people know it's there, it will fail.

Without a promotion strategy to drive a good number of players in the first instance, you're fighting an uphill battle and will likely be disappointed with the results of even the most amazing branding game. On the other hand a good promotional strategy, implemented well, can produce great results. But it does require some work, above and beyond just producing and posting a branding game.

I'm not going to go into every single creative method you can use to promote a game, many of these are likely to be industry specific, or even specific to your particular brand. What we're going to go after here is the low hanging fruit. The easy stuff that every brand can and should be doing as a bare minimum to promote a branded game in order to dramatically increase their chances of making it a success.

Most of them seem pretty obvious, but you'd be surprised how many brands fail to do even the most basic promotion and end up missing out on potentially huge amounts of exposure. Anyway, here we go:

Leverage Your Existing Audience

Existing Website Traffic

This is the most obvious one and it can make a huge difference, especially for brands that already have good amounts of traffic to their website. Promote your game with a link from your homepage (or some other high traffic page).

If it's a web based game sitting on a page on your website, it's not enough just to put it up and not give your visitors an easy way to find it. Same goes for a mobile app, or a game that sits on Facebook or some other external website. Link it from your homepage.

A nicely designed image link is obviously preferable, but you'd be surprised how many brands don't even promote their game with a text link (either to the game, or games index page, if you have more than one) on a high traffic page of their website. If you don't do this, you're missing out on a great, extremely easy opportunity to give your branded game a promotional boost  and dramatically increase play numbers.

Social Media

I'm going to assume your business is active on social media (Twitter and Facebook at least). Anyone that's chosen to follow you on social media is already interested in your business. So make sure you promote your branded game to them.

I should also mention, this isn't a once and done thing. Now I'm not advocating spam, but if you have a reason to post again, do it. E.g. if you do an update to your game, tell people about it.

It also depends the social network. Twitter for instance is very much in the moment and tweets "expire" very quickly. So if you have a very active business Twitter account, why not consider promoting your game there more frequently (maybe once a week).

Mailing lists

If your business has a mailing list (email or snail mail) use it to tell people about your game. Once again, this is a prime opportunity to target people who've shown an interest in your business, or have even been past customers/clients. Not leveraging your mailing list to promote a branded game is a big mistake.

Integrate With Your Other Marketing Activities

A branded game usually ties in with a specific marketing campaign, yet many brands forget to cross-promote their content.

Advertising

Whether you're a huge multi-national corporation, or a small business, I'm guessing you're doing some sort of advertising to promote your business. Whether online or offline and no matter what the scale, why not at the very least mention the game in your other advertising? Otherwise it's a missed opportunity to generate interest in your game and ultimately promote your business.

PR

Same goes for your PR activities. Businesses (particular smaller, less established ones) often struggle to get media coverage. Without a good hook, it can be difficult to stand out from the mountain of similar, bland press releases received by media each day.

If you have a branded game, that may very well be the hook you need to stand out from the crowd and get the coverage your business needs, and deserves to help promote your brand. Unfortunately, many brands squander this opportunity by either not doing this at all, or not doing it effectively.

Increase Your Chances of Success

Don't be one of the businesses that takes the "Build it and They Will Come" approach and forgo these easy steps to promote their branded game. It almost never leads to success, with any form of content, however good it is.

Make sure you go through this checklist and at the very least do everything on it. But don't stop there, I'm sure you can think of many more creative ways to promote and drive even more traffic to your branded game.

Never Use Online Game Scores to Award Competition Prizes

Filed under: Branded Games — Simon Walklate

We get asked a lot by clients if we can incorporate a competition into a branded online game. This isn't a problem in itself and obviously many clients want to use a competition as a way of increasing interest. What is a problem however is running competitions where prizes are given based on the highest scores (or other game outcomes) and this is usually what they want to do. It doesn't help that clearly inexperienced developers are doing just that for their clients, so other people assume it's ok.

Only yesterday I discovered another Facebook game that included a competition based on players' scores. And as expected the scoreboard was full of scores that were impossible to attain in normal gameplay. This is the fundamental problem with doing this, players can cheat to win prizes and any experienced developer, quite frankly, should have known better.

I'm not going to go into too much of the technical side but I am going to explain the two main methods players use to cheat in order to win prizes.

It's unfortunately unavoidable, although there are some limited precautions we can take to help prevent cheating, if players are determined enough they will get around them. And it goes without saying that the more worthwhile you make it for them (the bigger and better the prizes they can win), the more likely you are to attract some serious hacking attempts. For this reason we always strongly recommend to our clients not to base in-game competitions on high scores.

Scoreboard Hacking

This is one of the most common method used to cheat, in order to win competition prizes. Global scoreboards have to be implemented by using a remote server-side script to send the score data to a data file or database.

If the player knows where this server side script resides (and it's fairly easy to find out by checking the calls from the browser) they can fake the act of sending a new high score. So they can effectively add whatever score they want to the scoreboard, without having to even play at all.

Another method involves changing the score as it's stored in memory, during runtime. There are freely available programs written specifically to do this. These types of hacks are generally how you end up with scoreboards full of impossibly high scores into tens or hundreds of millions.

There are limited methods to combat this. In the case of hacking the script call, verifying scores as they're submitted and discarding impossibly high ones is one solution. This won't stop people finding the limits of that range though and filling up the scoreboard with equal, highest possible scores in a attempt to win.

It's also possible to use something called a cryptographic hash to send the data. This adds a basic level of security to the data you send, which means in order to cheat you'd need to crack the code first.

To help combat memory hacks, it's also possible to apply some encryption to the score data in memory. These types of methods can make it much more difficult, but not impossible to hack and as I said before, make it worth their while and they will hack it.

It's also worth mentioning that this isn't something that's technology specific whether your online game is Flash, HTML5 or something else, the risk of cheating to win competition prizes applies to all web based technologies. However, HTML5 is potentially the easiest to hack because the code is viewable by anyone with a web browser.

Cheating on Timed Games by Altering Frame Rate

This will involve a bit of techy explanation, so I'll try to keep it as simple as possible.

Game timers can be implemented in one of two ways:

Tie It Into the Main Game Loop

This has the disadvantage of only having accuracy based on the frame rate. A game running at 30 frames per second (which is the frame rate we usually use) will be able to count the timer in steps of 1/30th second. This is usually fine (and preferable) for games where the timer just counts down a limited gameplay time, such as in a timed puzzle. Although this can cause it's own problems (which I won't go into here), the timer is not independent of frame rate. If the game slows down or speeds up, the timer slows down and speeds up with it.

Tie It Into the Computer Clock

This has the advantage of much greater accuracy, allowing timers accurate to thousandths of a second. If the player's score is directly tied to the timer, e.g. a racing game where the quickest time is the highest score, this is usually essential. Without this sort of accuracy, there's just not enough to separate the scores of players and you'd end up with too many players getting the exact same time. The problem with this though is the timer is independent of the frame rate, so regardless of whether the game runs at 30 frames per second or 60 frames per second the timer will run in the same "real" time.

This opens the opportunity to cheat to win prizes, if your competition is based on high scores. Programs are freely available that enable the player to change the frame rate of a game as they see fit. So, if for instance you have a timed race game, the player could potentially double the frame rate, which would make the race happen twice as fast, but the timer would still run the same as it would at the normal frame rate. This could allow the player to halve their time and get a much better score and was likely the exact method used to cheat on the Facebook competition I mentioned earlier.

Again verifying the times and throwing out impossibly fast ones before sending to the scoreboard is a partial solution, but not a particularly great one and certainly won't prevent cheating altogether. Another possible solution (which I won't go into too much) is using something called delta time in the main loop. This is used in lots of commercial games to get around variable frame rates (usually caused by hardware performance, or lack of it) but has a number of disadvantages for small scale retro/2D games.

The Solution

Obviously none of these hacking issues are too much of a problem if there aren't competition prizes at stake. With no incentive to "hack" to win a competition, players are far less likely to try and even if they do, there's no harm done. Plus, any good developer should be aware of these issues (although in practice it seems very few are) and take appropriate, limited security steps to make it harder to cheat, as we always do.

The problem comes when prizes are at stake. But this doesn't mean you have to ditch the idea of including a competition in your game altogether, there's a simple solution. Don't tie the awarding of prizes to scores achieved, or other game outcomes. Instead, run a free entry prize draw competition.

This gives you complete control over the awarding of competition prizes and removes the incentive to cheat, because the reward is only a chance to win a prize, not a guarantee they'll win. You can also help combat obvious cheating through your terms and conditions, enabling you to put a limit on number of entries per person and exclude entirely players who might hack to gain many entries.

Overall, it's a much safer solution and allows you to incorporate a competition in your game, without risking the whole thing being rendered null and void by casual hackers.