Addicus – First App from Get Set Games
Welcome to Addicus, the first game we will release on the App Store. Development has been going full pace, especially after a good weekend sprint with the entire team locked up together for three days straight. It’s been extremely productive and we’re now in the final testing phases before submission to Apple.
Some screenshots can be found below.






Custom cocos2d Action For Animating an AtlasSprite’s TextureRect
While working on our coming-soon first iPhone game, we have been having a lot of success with cocos2d. One area in particular that we have been impressed with is the ability to run “Actions” on sprites, string them together in sequences and wrap them in modifiers such as ease-in, ease-out etc. This has made it easy to make our UI lively and animated as well as animate our game objects.
Recently we had a need to animate an AtlasSprite’s texture rect in order to pan around an atlas sprite. We ended up creating a custom cocos2d action to do this and we figured it would be a good thing to give back to the community.
This will allow you to transform an AtlasSprite’s texture rect’s origin and size over the length of a provided duration. You can also wrap this in a modifier action such as ease-in or repeater.
Here is the code
TransformTextureRect.h:
#import "cocos2d.h" @interface TransformTextureRect : IntervalAction { CGRect fromRect; CGRect toRect; } +(id) actionWithDuration:(ccTime)d toRect:(CGRect)rect; -(id) initWithDuration:(ccTime)d toRect:(CGRect)rect; @end
TransformTextureRect.m:
#import "TransformTextureRect.h" @implementation TransformTextureRect +(id) actionWithDuration:(ccTime)d toRect:(CGRect)rect { return [[[self alloc] initWithDuration:d toRect:rect] autorelease]; } -(id) initWithDuration:(ccTime)d toRect:(CGRect)rect { if ( (self=[super initWithDuration:d] ) ) toRect = rect; return self; } -(id) copyWithZone: (NSZone*) zone { Action *copy = [[[self class] allocWithZone: zone] initWithDuration: [self duration] toRect: toRect]; return copy; } -(void) start { [super start]; fromRect = [(AtlasSprite*)target textureRect]; } -(void) update: (ccTime) t { [(AtlasSprite*)target setTextureRect:CGRectMake(fromRect.origin.x + (toRect.origin.x - fromRect.origin.x) * t, fromRect.origin.y + (toRect.origin.y - fromRect.origin.y) * t, fromRect.size.width + (toRect.size.width - fromRect.size.width) * t, fromRect.size.height + (toRect.size.height - fromRect.size.height) * t)]; } @end
Example Usage
This transforms an AtlasSprite’s texture rect to the position (25,25) and with a width and height of 50 over the course of 1 second:
[sprite runAction:[TransformTextureRect actionWithDuration:1 toRect:CGRectMake(25,25,50,50)]];
This does something similar to the above example, only it eases in and out of the action as well.
[sprite runAction:[EaseExponentialInOut actionWithAction:[TransformTextureRect actionWithDuration:2 toRect:CGRectMake(480,0,480,320)]]];
New Gameplay in Development
Well it’s been a couple of weeks since the last game development update. The good news is that development on our first game has actually gone in a new and interesting direction and there’s been a huge amount of work done in that time.
After playtesting the first tech demos a whole bunch we’ve decided to actually split the gameplay into two different games. The first of these games is shown below. This game is a number based puzzler with very simple but very addictive gameplay. You are given a series of goal numbers and must pop mushrooms on the screen to create the sum of the goal number. As you achieve each goal number a new one will be presented. Pressure is applied to the player in the form of a timer that will countdown for each goal number.
Of course there are tons of chain and timer bonuses along the way so there’s big opportunities to rack up huge amounts of points as you go. Coloured mushrooms also play a big part in the game too.
Sounds simple but it’s actually pretty hard to put down once you start. We’ll have a video of some of the gameplay in the near future.

The latest incarnation of our mushroom popping game
What Caught Our Eye This Week – September 6 to September 12, 2009
Here are some of the stories that piqued our interest this week:
- We were wrapped up in nostalgia once the Commodore 64 app was finally approved and made available on the app store. That didn’t last long however, as Apple removed it once they discovered that the BASIC program was still contained within. The developer has since re-submitted the app, sans BASIC.
- A couple of apps that made us say “finally” were released. Flickr released an iPhone app and us Canadians finally got a taste of Skype on the iPhone.
- Apple updated the iPod touch, iTunes and the iPhone OS this week. Following which Steve Jobs proclaimed the iPod touch to be primarily a gaming device.
- Zynga got a restraining order against Playdom and accused them of stealing trade secrets.
- Beware marketing weasels who try to use your irrationality against you.
Join our Friendfeed group to share and discuss stories like these.
Versions and using an external diff/merge tool
Subversion has been around for a while now and there are some very reliably maintained Windows clients, most notably Tortoise SVN. Unfortunately the same can not be said for OSX. There is one client that seems to stand out quite a bit from the others, Versions. Keep in mind that Versions is not free like Tortoise SVN but so far it has proven to be well worth the money.
Versions is a great tool but one of things it lacks is integration into one of my preferred diff/merge tools KDiff. Thankfully the developers of Versions have exposed hooks to allow people to write scripts which will allow users to integrate their preferred diff/merge application. I’ll show you how I was able to do that and how you can integrate your preferred application.
Versions has great support forums and after posting a question about how to integrate kDiff I was led to this page detailing how I could do just that.
The key steps to get your diff script to work…
- Copy your script to the folder “~/Library/Application Support/Versions/Compare Scripts”
- In Versions preferences in the file comparison drop down select your compare script
That’s it you should be set to go. Here’s a screenshot of how kDiff is integrated in my preferences screen.
What Caught Our Eye This Week – August 30 to September 5, 2009
Here are some of the stories that piqued our interest this past week:
- We enjoyed the minimalist gameplay of the new iPhone game, Button.
- Tim Langdell resigned from the IGDA board of directors amid controversy.
- Larva Labs released sales data that compares their iPhone sales with their Android sales in an effort to shed light on how much the two markets are worth.
- A new study showed something that we all knew already: Tetris makes your brain bigger.
- We enjoyed reading about the history of Harmonix from the horses mouth, and how they almost failed twice before hitting the big time.
Join us in our FriendFeed group to share and discuss other news.
Dev Video Diary – September 1, 2009
It has been a few weeks since our last video update and the game has progressed in leaps and bounds since then. It now features, among other things:
- new intro video
- new sound effects
- multiple levels
- decorative sprites throughout levels
- scrolling levels
- scoring
- multiple icon pairs per level
- treasure, bling and jewels
Also be sure to check out our first foray into screencasting with the hilarious PhoneFinger app.







