I am currently in the process of updating and modernising my catalogue of games. The main reason being that they run with out-dated setTimeout() functionality when we have better options available to us these days.
So I’m looking at Spy Chase. A car game that I wrote about two years ago and which still enjoys several thousand plays a day on my portal. It’s a popular game and consequently I’m reluctant to meddle with it too much. But it needs an upgrade.
So much about the game works well. The pace of the game feels about right but if there’s one thing I could happily change it’s the difficulty levels. It really is just too easy.
In my previous post I mentioned average game session times. It seems that around 3 minutes is optimum to trigger that “just one more go” in a player. Anything longer than that and I’m struggling to keep the player sufficiently challenged. The average game time for Spy Chase is around 10 minutes. It’s far too long.
Much of this was down to the limitations of mobile browsers at the time of writing it. There was a limit to the number of sprites and objects that I could litter the screen with back then. I pool sprite objects and pick them from the pool dynamically. The size of the entity pool was around 16. Entities such as trees and power-ups that whizz down the screen during the game would start to stutter on an iPhone two years ago if they went above 16 on the screen at any one time.
I could comfortably increase the pool from 16 to 160 today and they’d glide beautifully without any issues.
So I want to capitalise on this performance boost and create not only a different challenge but a different game.
I enjoy playing some of the “endless runner” games currently popular on the App Store and am keen to explore the potential for an endless running driving game.
Spy Chase was one long road dash broken down in to short levels that culminated with the player capturing a spy car. I may well remove the spy car all together and just heap increasing amounts of pressure on the player.
I have a few options here.
The dynamics of the game allow for collision with other cars. The player can repeatedly ram a car and force it off the road at the expense of some damage to his own car. Health collectables repair his car.
Other forms of damage come in the shape of obstacles such as an oil slick and a road cone. Finally if the player veers off the road the car will sustain damage.
So it makes sense that I could adjust the width of the road to present a challenge as well as increasing the number of obstacles to avoid. But I want to go a step further and put my trademark gun fire in there.
I was always a huge fan of Spy Hunter in the arcades. You could power your car up with guns and shoot at the enemy. This I like. Better still it makes sense that the enemy should fight back!
So on the more complex and challenging stages of the game the player is trying to stay on the road whilst dodging obstacles, enemy bullets and stray missile-launching cars and trucks.
I will also increase the base road speed to reduce the amount of time that the player has to react.
Designing and building these games is a lot of fun and rather surprisingly revisiting old games isn’t nearly as painful as I thought it might be. You have to love the advances in technology. Long may it continue.