One of the most important aspects of Muster my Monsters is the animation system. Muster my Monsters is a semi-interactive game in the sense that you do not control directly the characters in the game but chose the actions they will execute. In some sense, it is like choosing the cinematic sequences that will be played in a while.
Muster my Monsters is a social/party game featuring terribly horrible and ridiculously weird fighting-monsters.
So, the quality of those cinematic sequences is critical. They need to be very visually appealing and, most important, they need to communicate the state of the game precisely to the player.
Muster my Monsters’ basic rules are similar to the rock-paper-scissors game, but in MmM we have ruder actions: Attack wins Mock, Mock wins Dodge and Dodge wins Attack. And this is called “balance”.
Cocos2d is and excellent framework. It has saved me tons of time during my game projects. It offers almost everything I need. However, sometimes there are some features that are not supported by cocos2d.
This is the case of rotating a sprite around an arbitrary point. Rotation in cocos2d is based on the concept of anchor point. This is ok on the 99% of situations, probably. However, during the development of Muster my Monsters I need to perform rotations around arbitrary points. The idea is to have an sprite “orbiting” around another sprite or some defined point in the space.
In today’s post I would like to share with you a handy piece of code to manage sprite sheets. I have called it TSSpriteSheetManager.
TSSpriteSheetManager is a singleton cocos2d class that allows for easily manage sprite sheets. You just add sprite sheets to the manager and then request a sprite or frame automatically batched for you. The manager will search for the sprite in all the added sprite sheets and if it is not in any of them, it will search for individual files on your project.
You have the entire source code for this project at the end of this article.
Exporting Flash animations to cocos2d actions is a topic that has been in my mind since some months ago. Spritesheets based animations are very limited in terms of sprites size and frame rate. The more frames you have, the more memory you consume. And the bigger the sprites, the more memory you need as well.
However, actually, memory usage has not been an issue in the projects I have worked so far. So, exporting Flash animations to cocos2d is a task that I have been procrastinating… till now.
Today’s post is going to be a tutorial-style one. One of the (few) annoying things of cocos2d is the fact that it is very unrelated to UIKit and the Model View Controller paradigm of Apple’s views a view controllers. This is a problem when you need to show, for example, a view controller modally to send an e-mail or show Game Center leaderboards and achievements.
In this tutorial I am going to describe the technique I use to connect with “Apple’s layer” from cocos2d in an easy, modular, reusable way. You will find the project source code used on this tutorial at the end of this post.
Today’s post will be a classical one: postmortem of New Sokoban. New Sokoban was officially launched around a month ago and I think that it is enough time to write this post. Basically because I think that things are not going to change a lot in the future concerning New Sokoban. So, here you have what went right and what went wrong.
Today’s post is going to be short (hope so). Basically I would like to announce that finally New Sokoban is officially available on the App Store!!! 😀 It has been a long and hard way, but finally, my own first iOS game is out.
Today’s post is the second part of last week post about using sprite sheets with cocos2d and Tiled. In the previous post we saw what is a sprite sheet, how to to create it from a collection of individual sprites using Texture Packer and how to code it using cocos2d for iPhone. Today I’m going to explain how I used sprite sheets as source libraries in Tiled to create and edit New Sokoban puzzles. In this previous post I partially covered this topic. However, today I’m going to enter in more detail into some technical issues.
As we saw in the first part of this article, sprite sheets are mainly used to drastically improve our games performance in terms of both memory and CPU usage. We basically need to group our original individual sprites and then have some way to refer to them in our game code.