Electromaster – awesome iOS shooter game with single touch controls that work

A game that I’ve enjoyed a huge amount of late is Electromaster. It carries that irresistable blend of retro, arcade action and compelling gameplay.

Electromaster Electromaster screenshot.
 

The premise is simple. You control your electro zapping character as she walks around the screen and press and hold the screen to charge the weapon. When you release the weapon fires and you can then control that weapon by sliding your finger around the screen. The longer you can hold on (the screen rapidly fills with enemies and one collision halts your charge and depletes your health) the longer the weapon fires for.

Using your electro charge you must zap the enemies until they disappear off the screen.

It has that same frenzied sense that Robotron had many moons ago. But I guess the beauty of this game is that there are no overlaid controls. For that reason alone I play it pretty much every day. In fact my daughter and me are in serious competition! It comes with bonuses and power-ups and just, well, delivers. Even better it has a scoring system that quickly runs to the millions. Great game.

I like it so much I’m going to attempt to emulate it in JavaScript. I hope I can do it justice.

Update: check out the author’s web site http://xionchannel.blogspot.com/ and other game – Hungry Master.

Introducing Hellspawn – an HTML5 take on the frenzy of Robotron and Gridrunner

I’ve spent the last two days wrapped up in game development and it’s produced some fantastic results.
I set out initially to further refine my code base for making arcade games. What fell out of that process was quite eye-opening in that I realised I could tie quite a few operations together within the code and produce some nice effects.
Assembling the framework for the game takes just minutes these days so now being able to quickly define the basic presentation of the game in little more than half an hour is a real boost and means that I can concentrate on the specifics of the game itself.

The game (which I’m currently calling Hellspawn since endless waves of creatures spawn in to the scene to be blasted in to tiny pixels) is essentially my take on Jeff Minter‘s stunning Gridrunner from 3 decades ago. Like Jeff I love colour in my games but for me this has been a bit of a departure since the style is very much of the very early days of the video game arcades.
I’m generally most comfortable when I can use a broad palette and have several pixels to play with. For Hellspawn I’m going for the pixelated look and setting a 2px brush in Photoshop. I’m also using fairly vibrant “web safe” colours as they really stand out against the dark grid that scrolls behind the action. I’m not sure this will be the most screenshot friendly game I’ve made but I’m aiming for a game that is possibly the most frenetic.

Hellspawn screenshot

So the challenge is in presenting a playable game to the end user. Like all my games this is designed with mobile in mind and specifically iOS. I test on iPhone 4 and iPad. The game scales to fill the screen on whatever device is is played on so the gamer gets the full screen to play with.

My initial focus was on filling the screen with aliens. I’d wanted to re-create Robotron. The challenge there is of course converting the two joystick approach to a touchscreen. Something had to be sacrificed.
I took a long look at Robotron and play it for some time. I also played Gridrunner and newer Gridrunner++ from 10 years ago. The thrill of these games is common – blasting things to pieces. I had to have a game where the focus was on reducing sprites to an explosion of dots and colour.

I’ve always liked Gridrunner’s presentation. The sight of squares filling the screen is quite pleasing for me. Especially when juxtaposed against the circles, dots and random shapes that fly around above them.
I wanted to make a big deal out of this. I really wanted to fill the screen with chaos. Almost Bangai-O style chaos.

So I set out to create some simple pixel graphics and threw them around randomly.
For the player I decided to have a starship that runs along a rail. Initially I just slid it left and right effectively bouncing between end points. The ship autofires a stream of laser shots. Roughly 10 on screen at any one time.
I then implemented an icon that the player controls. As I was drawing it I liked the look of a spinning orb with some kind of a magical glow that span around it so I stuck with it.
As with Rebel Rescue I ensured that the player could touch any place on the screen to initiate full multi-directional movement. This is of huge importance. The alternative would see the player’s finger masking the orb. Definitely not a good idea.
The orb acts liked a magnet for the starship’s lasers. As you direct the orb  it can be quite mesmerising watching the laser shots as they arc around the screen blasting sprites to pieces.

I’m thrilled by the effect.
The added bonus of unifying my code base also means that I have some neat routines at my disposal for presenting special effects. This is a game that really needs special effects.

I later re-worked the player’s path code so that I could define multiple paths. The player is now presented with a rail that wraps the screen in some circumstances. As the ship moves along the rail between waypoints it spins to face the right direction for the action.

I’m absolutely thrilled by what’s come out of the last 48 hours of development and look forward to launching the game on Mozilla’s Marketplace and our own PlayStar.mobi once its complete.

 

Converting Robotron in to an HTML5 mobile web game

I’m looking for inspiration for my next arcade game and somewhat predictably I turn to the games of 30 years ago.
Robotron was a stunning arcade game. In many respects a pure arcade game. It was a game that could only be played at a cabinet with two joysticks. The sound, the visuals, the player feedback.. awesome.

Robotron arcade game

Robotron

I like the idea of it a lot as an HTML5 phone game. But the controls. Something’s got to give with the controls.

Lazy coders that port these kind of games place two virtual joysticks on the screen and expect you to handle the lack of touch feedback like it’s second nature. The purists would of course argue that altering the game to suit the touch screen’s control is an act of pure heresy so the virtual control seems to be the only option.
But I’m intrigued by the potential for presenting a similar game where the game actually handles something – say, the movement !

Radical for sure.

The thing with these mobile games is that you really need to feel comfortable with the controls.
I always present the simplest of demands on the player where possible. e.g. swipe left and right to move the player. Rarely to I deviate from this.
The game’s code tends to handle such things as laser firing automatically. That way the player is concerned more with movement and the game is as much about avoidance as it is about blasting the enemy.

But with a Robotron style game the movement is quite free and the lasers are independent of the player’s movement. The 8 way lasers define the game.
Which bit to you hand over to the code ?

Perhaps it’s time to hand over the player movement to the game. Shift the player’s avatar horizontally across the screen and allow the player to touch the screen to direct his lasers.
I don’t know. It’s just thoughts right now.

I tend to try and strip the game back to its foundations and identify where exactly the fun is to be found. In a game like Robotron the fun is in being surrounded by a ton of things to blast to piece and therefore the fun is in blasting things to pieces. It’s almost like there’s an unwritten rule that sits within this game’s design that reads “if you’re gonna recreate this for God’s sake honour the blast-everything-to-pieces ethos that defines the game”.

I love Robotron enough to attempt to honour it. (I swear Eugene Jarvis knew how to make great games)

I also love the idea of grabbing a 2px square brush in Photoshop, editing my grid to be 2 pixel squares and coming up with some cool graphics.

Watch this space :)

%d bloggers like this: