Last week, we couldn’t update you with anything at all, thanks to Pablo and Octo (he’s our first monster!). Since a week, we have been over-working to finalize all the character animations of Pablo in the game and at last we are done with them. Animating Pablo was not as easy as we thought and it went way over our deadlines! The main problem we faced was positioning of Pablo’s expressions in the game. We divided Pablo into the following parts for our convenience:
Hands being done by Inverse Kinematics, we didn’t have to animate them at all. So, positioning these body parts properly was a messy task. Our sincere thanks to Jack who created CocosBuilder which made our work a little easy. If you haven’t tried this tool yet, try it!
Apart from Pablo’s animations, we finished animating the first monster of our game – “Octo”:
As the animation is done in skeletal, it’s saving us the resource memory at least by 10 times. You can read more about skeletal animation here. Apart from monsters, the European puppets are done. We are yet to decide the weapons that they would carry.
Now, switching to the programming updates –
Straight to the problem we faced – This time it was with collision. Cocos2D allows only collision of either circle-shaped bodies or rectangles. But, in our game, we needed really odd-shapes. That’s what the physics Engines like box2D and Chipmunk are for. But, we didn’t want the physics bodies that these Physics Engines would create and we even wanted to avoid the physics environment during collision in the game, as that would complicate our game environment a lot.
Hence, we created the shapes in box2D by using “b2PolygonShape” and “b2CircleShape” classes and completely avoided creation of box2D physics bodies and the physics environment. Hence, whatever movement we are trying to do with our puppets, we are doing it manually – without using box2D physics environment. This is benefiting us in a lot of ways, due to the nature of the game we are trying to make; though we are not sure if this is the best solution. Do let us know, if you ever faced this problem and thought of something better.
We were going through numerous ways in which we can increase the randomization/surprise element in the game. But, we didn’t want to increase our resource memory in any way (that has been our agenda since the start!)
We then thought of doing something with the puppets in our game. What if we change the hue/saturation of the puppets dynamically and load them randomly with one among the list of weapons before it comes onto screen? It’ll look like a completely new puppet. Even though it has the same body structure, color difference (due to hue/saturation change) and the weapon difference will make it look like a new puppet! This definitely didn’t require much efforts and no addition in resource. So, there we had the solution. Cocos2D forums have helped us in this, just like every-time. We got the code to change it. You can check it out here. This guy wrote an awesome tutorial about how Photoshop changes hue/saturation and how to kind of replicate it.
So, yeah we are implementing that in our game. So watch out for some awesomely rendered puppets with huge hue/saturation changes in “Pablo and the Puppet Punch”
All the technicalities apart, we are hunting for passionate Programmer and Artist interns/freelancers. Get in touch, if you want to join an awesome and passionate team @ Mech Mocha here.
FB page : https://www.facebook.com/MechMocha
Youtube : http://www.youtube.com/user/MechMocha