Just a quick update as work on Crossfire (previously Stargun) is moving at pace just now.
I’m very keen to use the project as an exercise in broadening the featureset of my game framework.
Currently I’m focusing on creating the kind of vertical shoot ’em up that was popular around the late 80’s and early 90’s. The sort of game that you might have played on an Atari ST or Commodore Amiga. I didn’t personally own either machine as this was a period in my life when I didn’t do much with computers – parties, playing in a rock band and girls were far more important :) – so this is very much an exercise in researching the games of the day via YouTube & VGMuseum, buying a few old magazines and firing up emulators.
It’s a huge amount of fun and the results are proving to be very exciting.
I’m still using a 2 pixel brush as a hang over from the previous game. I rather like the pixellated style of the artwork that is produced and may continue the theme through a few more games. Drawing with a bigger brush in Photoshop is a lot of fun !
I guess the irony is that the artists of the day were probably desperate to work with greater palettes and increased resolutions. They would probably look in horror at how I adoringly craft these retro-inspired spaceships and effects :)
So the features of the game are pretty established.
The in-game level editor / structure allows me to define a JSON map of the level and then iterate through based on a pre-defined delay. As the code ticks through the level row by row a new set of obstacles / bonuses / enemies / power-ups is spawned just off the top of the screen and moves slowly in to view and off down the screen.
Based on the sprite’s type and class it will then animate, glide, blink on and off, shift left and right, rotate, be destroyable or simply shoot at the player. The combinations available to the level’s designer are huge !
I also took the decision to have the player’s fighter move instantly with the touch.
In River Raider I implemented a kind of drag effect. As you slid your finger across the screen the plane drifted in to position. A kind of drag effect. I think it worked for that game and gave you a little more to think about. But in Crossfire I wanted the movement to be instant.
It’s a mobile game so to enable this functionality and still be able to see the fighter sprite I register the first touch on the screen and move the fighter relative to subsequent touch co-ordinates. This really is the correct way to control your on-screen fighter / character. Too many times we see a virtual joypad and it really doesn’t work.
So currently I’m designing the enemy and toying with the idea of using a pre-rendered scrolling backdrop rather than just the trenchlines that I detailed in an earlier post. The game has a distinct feel and character which I think (hope) the retro shooter enthusiasts will enjoy.
It also has some cool sound effects courtesy of the Buzz JS Audio Library. Getting this to work across the board on mobile is flaky so ultimately I think the audio will be a desktop feature. But big things in mobile audio are on the horizon so watch this space.