Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /homepages/27/d312880249/htdocs/spacemonsters.co.uk/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 77

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /homepages/27/d312880249/htdocs/spacemonsters.co.uk/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 87
HTML5 – in search of Space Monsters

Neogun: New arcade game in Beta

I’m thrilled to announce that my latest HTML5 arcade game is nearing completion. The bugs are ironed out and the action is super fast. If you’re a fan of old school SNES styled gaming then I think there is plenty here for you to get your teeth into :-)

The game will be available very soon for your web browser and also for your mobiles via the app stores. Watch this space!

Play my retro arcade games for free

I’ve created so many retro styled arcade games in the last 10 years. The best of which you can find on my online arcade Playstar.

If you’re a fan of SNES style shoot em up, ultra retro shoot em ups, platformers or car games, there’s something for you there! They work great on your mobile phone.

Enjoy

Defining alien attack formations in a retro shoot em up

In our last game, Thundergun, we adopted a purely randomised approach to generating the levels. That is, the alien formations were predefined prior to the game loading but their formations for completely random.

For our next game, Akari: Battlestar (working title), we’re looking to plan the action with far more precision.

Our inspiration for this game is from the early 1990’s and games like Raiden.

Raiden was a tough game. Very tough. Our game will hopefully be a little more forgiving in the style of what were once referred to as manic shootersDo Don Pachi epitomised this style in which you pitched your fighter against hordes of formation-based adversaries who sprayed bombs (with some elegance) around the screen. Under normal circumstances avoiding the bombs would be nigh on impossible. But this genre used much tighter collision detection; often using just a single pixel in the centre of the player’s ship for collision reference.

We’ve already adopted a similar approach.

But it’s the fighter formations we’re keen to establish up front by way of an in-house level design system. The placement of aliens, cannons, collectables, mini bosses, tanks; you name it, will be handled by this system. Each entity will have all attributes defined and the resulting output stored in a JSON format to be read by the game.

The attack formations for Thundergun were based largely on Capcom’s 1943.

Fighters swooped in, curled around and then flew off. If you took the entire formation down you were presented with a bonus item.

For Akari we want to have a lot more variation.

Fighters will adopt one of several attack formations.
e.g.

  • Drift down from the top of the screen, pause, fire, drift off to the side
  • Drift in from the side, fire bursts, drift off to the side
  • (Tanks) trundle in from the side and follow a set path
  • Squadron formations from the bottom of the screen that fly off screen and return in slow formation

For Thundergun we introduced the concept of a game progress ticker. In code this was defined as part of the global namespace g{} and referred to as g.progress

g.progress bumps with every tick of the game’s main loop. This is consistent and in tune with everything else that the game loop handles (movement, animation, collision etc) so it’s a good base for defining the introduction of alien formations.

As g.progress counts its way through to several thousands for each level it passes what we refer to as waypoints. As each waypoint is triggered a new randomly but predefined alien formation is spawned.

The difference with Akari is that there will be no randomisation. Everything will be delivered from a level data file.

At set intervals in Thundergun the action was interspersed with a mini boss; a larger fighter that drifted into view and bullied the player. Formations continued to spawn around it.

For Akari we’ll suppress the formations and halt the bumping of g.progress while the mini boss action plays out.

With the mechanics for the mini boss developed we have pretty much 90% of the code written to handle a proper end-of-level boss. The main difference will be in defining the scale of the boss and any sub-elements such as wing-mounted cannons.

Level structuring isn’t a new thing for us. We’ve employed it for our platform games and the C64 style shooter Crossfire.

Hopefully we can get a demo up and running in the near future. Exciting times in arcade game development!

Thunder Gun – 1942 themed game in development

Capcom’s 1942 is a game we’ve always played and enjoyed. In a brief meeting where we review future projects we voted unanimously to give it a revamp.

Here’s some screens from early development.

 

WKWebView, WebAudio and PhoneGap for iOS games

Here’s a handy little tip for anyone wanting to load files via AJAX in their PhoneGap apps that run on iOS courtesy of PhoneGap.

Our first attempts at creating games with PhoneGap were satisfactory but not brilliant. The frame rates were awful though the music and sound effects seemed to work fine. So we did a little digging and found that by default PhoneGap will use UIWebView, the default web view, on iOS.

You can change this to use the far more advanced and polished WKWebView (Web Kit Web View) which makes great use of such things as requestAnimationFrame. Something that is hopefully familiar to HTML5 game developers.
With WKWebView you also get to run against the superior JavaScript Nitro Engine which will massively increase the performance of your games.

Here’s how to implement WKWebView via your config.xml.

Add the following just beneath your <widget> declaration:

 <feature name="CDVWKWebViewEngine">
 <param name="ios-package" value="CDVWKWebViewEngine" />
 </feature>
 <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />

 

But we found that our audio now failed to load.

We use AJAX (XMLHttpRequest) to load our audio. To date it’s worked a treat. The reason we use it is because it’s a neat way to asynchronously load and capture the onload event and act upon it as we configure each audio file (volume, for example).

This works using a relative path.

Here’s some code:

 var request = new XMLHttpRequest();
 var url = "sfx/" + o.soundname + "." + AUDIOFORMAT;
 request.open('GET', url, true);
 request.responseType = 'arraybuffer';

You can see that our mp3 files are sat in a sub-directory called /sfx.

But WKWebView doesn’t like this. It wants its AJAX calls to be fully qualified from the http://

The change to the config.xml file is simple.

Add the following amongst your plugin declarations:

<plugin name="cordova-plugin-wkwebview-engine-localhost" spec="https://github.com/apache/cordova-plugins.git#wkwebview-engine-localhost" />

And change your content definition from

<content src="index.html" />

to

<content src="http://localhost" />

Hope that helps somebody!

New game on the iOS AppStore – Chaos Grid

Well it’s been a long, long time since we updated our blog. So it’s a real thrill to be able to announce that we’ve been working hard on making some new arcade games. But these games are a little different; they’re built using HTML5, JavaScript and CSS3 (as usual) but are also wrapped up and served to the iOS AppStore.

We’re currently using PhoneGap to do the bundling and it appears to be working just fine. There are issues with choppy performance but there’s a wealth of information out there to address this. Something for a later blog post.

So what’s Chaos Grid all about?

Well, it’s an homage to the earliest shooting games from the video game arcades of yesteryear. We took our love of Defender, Robotron, Galaxians and the 8-bit classic Gridrunner and built a game around their mechanics.

The screens above are the ones we use on the iOS AppStore and they pretty accurately depict the action. Though later levels become pretty frenetic!

If you’re a fan of the old school shooting genre and love those old beeps, whirrs, and electronic wind-up sounds then we’re pretty sure you’ll love the game.

Check it out on the app store today and tell us what you think :)
AppStore icon

HTML5 as a search term – we’re almost there

I recently started poring over the search terms to the Playstar Arcade in some more detail.

I found something quite interesting. A number of search terms carried the phrase “no download”.

Here’s a brief summary:

  • free online ipad games no download
  • mobile games no download
  • online ipad games no download
  • free games no downloads
  • free mobile games no download
  • free online games for ipad no download
  • free online mobile games no download
  • online games no download
  • free online games with no download

I receive a healthy amount of traffic from search engines, most of which are on desktop. I’d love for this to shift to mobile but that will take some time. None the less it’s encouraging to see that people are looking for games to play and are aware that games can be played without the need to download an app.

Although the phrases listed above are all variations on a couple of themes they show a brief insight in to the mind of the searching gamer. That list accounts for around a third of all phrases that include “no download”.

The intriguing phrases are the ones that contain “iPad”. I imagine it’s fairly common knowledge amongst the iOS community that there is no support for Flash or any other 3rd party browser plug-in. So this can really only amount to games that can be played in the web browser natively.

The same cannot be assumed for those searching more generally for “mobile” or simply “online”. But by virtue of the fact that they’ve included “no download” I’d assume that they are referring to browser games.

There is a clear opportunity for HTML5 games here. As the quality of HTML5 gaming rises (and it should as publishers demand more visual quality at least) we can hopefully start to see a level of education amongst the browser gaming public that “HTML5”, at least in a gaming sense, can be synonymous with not only quality gaming but crucially “no download”.
Strictly speaking it could also become synonymous with “online”. But let’s not muddy the water as its real strength is of course in “offline”. That’s a different story.

HTML5 is quicker to type and probably ultimately far easier to remember.

Let’s look at that list again with the words changed to suit the HTML5 developer.

  • free HTML5 ipad games
  • mobile games HTML5
  • HTML5 ipad games
  • free games HTML5
  • free mobile games HTML5
  • free HTML5 games for ipad
  • free HTML5 mobile games
  • HTML5 games
  • free HTML5 games

We’re getting there…

Continuing to target the arcade gaming niche with my HTML5 games

Ever since my first foray in to browser gaming I’ve stuck to my goal of creating the kind of games that I enjoyed in my youth. Generally speaking this means classic “pixelled” sprites and the control of an on-screen character / spaceship / vehicle of some kind. Ideally I’d also throw in bombs, lasers and explosions a plenty. 
If I’m honest it’s also a pretty easy style of game to write.

I guess right now I’m wondering whether it’s right for me to continue to target this niche in retro gaming or whether I should move on a bit and challenge myself with a different genre.

There are benefits to maintaining a niche and also several drawbacks.
The benefits clearly come in the form of brand association and search relevance. The more I can focus on writing about a specific area of mobile gaming the more I improve my chances of being returned favourably in Google et al.

But sticking to a niche also narrows my opportunities in the wider field of attracting work. Whilst I’m always going to favour working on my own projects and my own designs I can’t disregard the fact that there is some value in being a coder for hire.

Arcade games, the classic ones (which I guess we now refer to as retro arcade games), offer some wonderful pointers for achieving an optimum in designing games for casual mobile play.
Arcade games almost by definition were games that you could play and access quickly and each “go” would last for little more than a few minutes. This is what your single coin gave you and if the experience was a good one you’d possibly sink another coin. If not you’d move on and find something else.
This has real parallels with today’s online games scene. Especially the mobile web gaming scene.

HTML5 game portals tend to target mobile devices. The good sites are clean and optimised for display on the smaller screens. As such they are pretty straight forward to navigate around and generally uncluttered. The same cannot be said for the desktop equivalents which in many cases are more of an excuse to litter the screen with advertising than offer any kind of a gaming experience.

My stats continue to show me that my games are popular. When somebody visits the site they generally play around 3.2 games per session before they disappear. 6% of visitors exit via an advert. I’m not actually sure whether those 6% have enjoyed their time on the site and played that average 3.2 games or whether they’re simply hacked off with the experience and were looking for a way out. I guess there’s every chance this is the case.

Regardless mobile arcade games  and mobile game design (HTML5 game design) continue to challenge my brain cells. I’m always thinking of new elements to games that I scribble down for later reference and often draw upon them when I’m thinking of the finer details of a game’s execution. 

I use SNES and Arcade emulators (ZSNES and MAME) on a regular basis to research gaming styles, challenges, reward systems and every other vital element of a good gaming experience. 
MAME generally offers that throwback to the mind boggling and dazzling array of cabinets that beeped and zapped at me as I stalked the arcade for that perfect way to spend 5 minutes and 10 pence. I suppose it gets me in the mood :)
The SNES games on the other hand are showing me the visual style that I’m aiming for. Especially in my most recent game Jumpin’ Jasper which was every bit a SNES inspired game.

I’ve not set out to find any magic solution here it’s really just a Sunday morning blog update with a coffee and some thoughts. 
I have to say that playing and designing retro-styled arcade games still thrills me. There’s a lot to be said for this.
I may be missing a trick or two by not becoming a more high profile game developer but maybe that’s not for me. 

An old manager once said to me “Stick to what you know by all means but do it well. Do it very well. Be the best at what you do well and above all enjoy it.” 

Article about the perception of HTML5 as a gaming technology on Gamasutra

I recently posted an article on Gamasutra about the association with HTML5 and gaming. I go in to a little detail about how we as HTML5 game developers can improve the perception of HTML5 as a viable medium for mobile gaming.

You can read the full article here: The public perception of HTML5 and its association with games

Some (more) thoughts on a football game

It’s World Cup year. As a football lover I love the world cup finals. This year we are in Brazil, the home of traditionally the most exciting team in the world. Brazil are generally the neutrals favourites and have, in years gone by, come to epitomise a free flowing style of football that is both easy on the eye and extremely effective at opening up the opposition’s defence.

I’ve thought about making a football game before but have never really settled on a design that suits the nature of the touchscreens that I target.

Lately I’ve been thinking about a game in which the player controls an attacking player with the sole goal of dodging oncoming defenders.
For as long as he has his finger on the screen the player is controlling the movement of the player. It’s all about timing. When an approaching defender looks as though he is about to slide in the player must lift his finger off the screen. This triggers a jump from his on-screen attacker.
If the jump is well timed the play continues until the attacker reaches the edge of the box.

Now it’s about position. As the player steps on to the edge of the 18 yard box the game automatically shoots. But it’s not over yet, the player just has the keeper to beat. To maintain the momentum I don’t want to completely stop the action for the player to place his shot. Instead I’m going to give him as long as he has earned!
For each well timed jump to avoid the defenders the player earns valuable time. Also, to distract the player in to changing direction during his run toward goal I will drop bonuses on to the pitch. The more the player collects the longer he has to aim his shot at the goal.

After each attack it’s the turn of the opposition to attack. But I’m not interested in displaying that. For that I’ll roll a dice and present whether or not they scored to the player. I want to get right back in to the attacking phase so that the player is primarily concerned with scoring goals.

I think I could probably take this design forward in to an initial concept with some crude graphics.

%d bloggers like this: