Monday, November 21, 2011

Game Art for the Artistically Challenged (Part 2)

Hello again, this is Ken Vadella blogging for Five Lakes Studio, LLC (FLS).

In my last article on the subject of Game Art I discussed the FLS strategy for acquiring artwork for our iOS projects. A reader of this posting (plicatibu) provided, what looks to be, a very valuable website for hiring artists to produce custom artwork at reasonable prices - thanks plicatibu. The site is called oDesk and though we have not tried to use it as of yet we plan to give it a shot in the near future. Check it out.

This month I would like to discuss the editing tools we use to turn our art findings into usable game components. Let me start with a small sidebar discussing how we choose tools for our efforts. The following list summarizes our evaluation technique. The list is in order of importance.

We don't want to spend an arm and a leg for image editing tools.

A text editor with a limited feature set isn't very useful to us. Here are some of the items we look for in our image editing tools:
  • File Format Support - PNG, JPG, etc.
  • Layers - No layers, no tool. It's really that simple for us. We love layers for image editing and find it nearly impossible to live without this feature.
  • History - No undo/redo, why bother. See above.
  • Effects - Blurs, distortion, noise, embossing, etc.
What is simple to some is difficult for others. Tod and I are not new to image editing but we are also far from experts; this is not a task that we do everyday so we look for easy to use tools.

A product that runs on multiple platforms is a plus but not a show-stopper. We have access to many brands of computers that run many different operating systems. If a tool meets our other criteria then we won't rule it out just because it doesn't work on a Mac OS.

The Gold Standard
For us Adobe Photoshop CS5 is the gold standard of image editing but it does not fit the shoe string budget of a startup company like FLS. Don't get me wrong, if we didn't have alternatives we would pay the money and acquire copies of CS5. But, we do have alternatives that suit our needs very well and cost significantly less money to acquire.

The List
Without further ado, let's move to that list. These are the tools that we use for our image editing tasks. This list is arranged in order of preference as it relates to FLS.

My preferred application for image editing. This may be sacrilegious to some because it does not run on a Mac OS. But, as I mentioned above, we have access to many brands of computers running many different operating systems and this tool has a lot of positive attributes:
  • It's very easy to use.
  • It performs well.
  • It's very stable - we can't remember the last time it crashed.
  • It fits all of the criteria cited above with the exception of Availability.
  • It is 100% free. Yes, free.
Tod's preferred editor and for those on Mac OS. It exhibits many of the positives cited above for Paint.NET. Some other positive things that can be said about Pixelmator include:
  • Reasonable pricing. It's not free but you won't need to do much more than skip a restaurant dinner with your significant other to save enough money to buy a copy.
  • It performs well - it's fast; really fast.
  • It reads native Adobe Photoshop files relatively well - Paint.NET does not do this.
But it comes with some minuses as well:
  • It lacks basic drawing tools. This seems like a major oversight. I have heard that newer versions of Pixelmator will support drawing tools.
  • It lacks that ease of use inherent to Paint.NET. It's not difficult to use, but it isn't as easy to use as Paint.NET.
Still, it is a wonderful editor for the money.

Pixlr is an oddity in this list. It's not a product that you put on your machine and run. Rather, it runs in the context of a web browser. It works surprisingly well and is very full-featured. But, the whole edit-in-browser experience feels, somehow, too crammed for space and for this reason we tend to use it less than the other editors mentioned above. Still, it's free, cross-platform and powerful. What more could you really ask for?

You can say many positive things about GIMP:
  • It is very powerful.
  • It's free. Yes, free.
  • It's cross-platofrm.
It's everything that Paint.NET is and more. And yet, we don't use it that often. We use it less than any other editor in this article. Why? Because it's lacking in simplicity and user-friendliness. At least, we feel this way about it. Maybe we are just not that bright. Give it a try though, you might find otherwise.

We also use Snagit to take screenshots and do basic image editing to help communicate with our customers and each other.  Snagit gets heavily used for support, it's so much easier and clearer sending a picture then a bunch of text.  Snagit does a great job of taking screenshots of the iOS simulator, saving and tagging them, and allowing awesome markup.  It is affordable and works on both Mac and PC.  I should say that Tod works at TechSmith the makers of Snagit.

Final Comments
That's it for this Blog entry. I hope you find one or more of these editors to your liking.

In a future Blog entry I will discuss some additional tools that we use to make our art assets even better. I'd also be interested in what image editors you use in your development efforts. It never hurts to evaluate new products recommended by others.

Thanks for reading.


PS (7/28/2016): One thing that was missing from this review was some web based photo editors.

One of the folks over at Canva asked that give them a shout out.  They have a basic free photo editor at and their full product is at  Ken and I haven't used it yet in a real project yet, but it might be worth checking out.  Leave some feedback and let us know if you tried it out and if you liked it or not.

- Tod

Monday, November 7, 2011

Integrating Social Media - Epic Fail

I plan on returning to my multi-part series on creating a Star Rating System in a future post. This week, I wanted to take a small side detour and talk about how Ken and I have tried to integrate social media into our games.   Or perhaps I should say, how we have failed at it miserably.  I'm hoping someone will share some words of wisdom as there must be something fundamentally wrong with our approach thus far.

iOS 5 Twitter

With iOS5 Twitter integration, I thought it would be great to add twitter to Kento.  I created a little twitter helper class based on the iDevBlogADay article by Tony Ngo.  The class source is just two files and is available for download.

I added a twitter button to two places within Kento: on the main screen and when you solve a puzzle.

On the main screen, there is a tweet button that pre-fills in the number of tokens the player has won and a link to Kento.

When the player solves a puzzle, we place a tweet button in the upper left corner that pre-fills in some nice information about the puzzle along with a picture.

The version with twitter was released about two weeks ago and we have over 17,000 updates/downloads.  Can you guess how many times I have seen #KentoApp tweeted or received a tweet to @fivelakesstudio from Kento?  The answer is .......... ZERO, if you don't count my test ones.

A Previous Attempt

We tried integrating facebook into #Lost in Space with the same result: ZERO usage.  People just don't click on the facebook icon.

We show a little icon and some game text when the player tries to share their score through Facebook.


The puzzle star rating system we added continues to get great usage, but we have totally failed at engaging other types of social media such as Facebook or Twitter within our games.  We have also tried things such as HeyZap which has had better results then Facebook or Twitter, but it still doesn't have the level of engagement and usage we would like to see.  Has anybody had better luck at integrating social platforms?  I'm thinking that slapping a button in a UI just isn't the right way to do this type of social integration.


Sunday, November 6, 2011

UIAlert with Blocks

I wish Apple would make a version of UIAlert with blocks.  I have seen a fair number of simple examples on how to do this, but I have been unhappy with most of them.  Most use Categories on UIAlert, and I would rather not do that especially when the alert handler is also involved.

This very simple implementation uses a separate class to implement a UIAlert.  Here is how you use it:
TCAlert *alert = [[TCAlert alloc] initWithTitle:@"Reset Puzzles" 
                                        message:@"Reset ALL puzzles in this puzzle pack?"
                              otherButtonTitles:@"Yes", nil];
[alert showAlertWithCompletionBlock:^(int buttonIndex)
                                        NSLog( @"Hello I got it %d", buttonIndex );
                                        [alert release];
It is important that the alert object stay retained through the life of the Alert, but that is easy to do by releasing it in the block.  The block will retain the alert!  If the system closes the alert the completion block will be called with a buttonIndex of -1 (kAlertViewCanceled).

The code is just a small source and header file.  Please feel free to download it and let me know what you think.  I haven't switched over to ARC yet, so I'm not sure what would need to be changed to support ARC.  It would be great if someone would like to do that.

- Tod