We’ve been a bit distracted over the past month or so with work on our other mobile game, Pancake Panic (which is out now on Android, Windows, and Windows Phone). The goal behind Pancake Panic was to test, on a smaller scale, some of the components we’ll need for Bad Day for a Balloon Ride, in particular some of the cross-platform and platform-specific code.
It was a good way to try out some of the ideas we want to roll into Bad Day for a Balloon Ride on a one-level game first. We can then scale up these ideas to use in this game, which just keeps growing in scale and scope.
Whilst I’ve been busy with Pancake Panic and some coding workshops, Alex has continued producing artwork for Bad Day for a Balloon Ride.
The background and foreground assets are coming together, giving us diverse and dynamic environments. Here are a few graphics from each of the levels (without enemies). The different levels feel really unique, whilst retaining the style Alex established with our Pirate level.
Prehistoric Levels
Haunted Caves Levels
Futuristic Levels
The graphics and animations for the enemies in the Prehistoric levels and the Haunted Caves levels are complete, so I’m working on coding up these enemies for these levels now.
It’s fun watching these enemies come together. I’ve created a “staging” level which is a level created just for testing and coding these enemies. It makes it easier for me to code, position, and test enemies and their code without having to think about the environment itself. I can just focus on the enemies.
A few of the enemies you’ll see throughout the Prehistoric levels are raptors that give chase and then attack the balloon, a clumsy brontosaurus that “hears” the balloon whilst munching grass and swiftly lifts up his head (therefore becoming an obstacle to navigate around), cavemen firing arrows and throwing rocks, and a rock-throwing Tyrannosaurus rex.
In the Cave levels, you’ll find creepy ghosts, mummies, spiders and more.
One of the bigger challenges has been creating enemies that have projectiles. So, for example, our arrow-firing cavemen, or our rock-throwing mummies.
For those enemies, Alex’s throwing/firing animations kick in when the balloon is in the sight line of these enemies.
The projectile (the rock/arrow) is then created, separately and on-the-fly, at the end of the throwing/firing animation and the size/scale/position/velocity/angle matches the last frame of Alex’s animation, therefore making it look as if the enemy has thrown or fired the projectile when, in fact, the rock in the throwing animation is not the same rock that is actually thrown. But everything is matched up so it looks seamless.
All the projectiles themselves have realistic physics too, so can hit an object and react accordingly. For example, the rock bounces and rolls, and the arrow could hit another enemy, or the balloon, and then fall realistically.
So, all the enemies are coming together, Alex is busy finishing up the graphics and animations, and Andrea has been busy creating some music (more on that in a future post). Once the assets are complete, and the enemies all coded, then we’re onto the fun job of laying out the levels and creating some challenging environments to navigate.