Quick Tip: Working With Shaders On iOS

Quick Tip: Working With Shaders On iOS

I’m taking a couple of days to upgrade some of my libraries for doing prototyping both in 2D and 3D. One of the many overdue things I wanted to do, was to finally ditch OpenGL ES 1.1 and move to 2.0 exclusively. Yes, even if you’re only doing a 2D game, OpenGL ES 2.0 is way worth it. There were even a couple of cases during Casey’s Contraptions that we wanted a particular effect, and couldn’t get it quite right, but it would have been trivial to whip up a shader if we had been using OpenGL ES 2.0. In the end, we had to resort to texture combiners (yuck), and it wasn’t exactly what we had in mind. ...

iCloud Demystified

iCloud Demystified

Play a game on a device, put it down, pick up another device, and continue playing exactly where you left off. This is the future of games. That future is a reality today for some games and apps (Netflix, Kindle), and I’m convinced that players will expect that in most games in the next year or so. So obviously, the next bit of new iOS tech I decided to try was iCloud. I would love to turn Flower Garden into that kind of seamless experience, independently of the device you use to access it. As a quick spoiler, it turns out I won’t be able to make Flower Garden quite so seamless without a lot of extra work. But I learned a lot along the way and I should be able to take a small step in that direction. ...

Trying Out Multisampling On iOS

Trying Out Multisampling On iOS

I only recently broke free of iOS3.x for Flower Garden, so I’m finally adding all the features I had been itching to add that required higher OS support. I had already added some iOS4+ features, but I was keeping them to a minimum because it’s always a huge cause of bugs to target multiple versions of the OS at once. One of the first features I looked into adding was multisample antialiasing (MSAA) support for OpenGL, which was originally introduced in iOS 4.0. The geometry generated for the petals in Flower Garden is fairly high contrast, and since it’s not like the textures were carefully created and laid out by an artist, the result is pretty bad aliasing around the edges. Perfect candidate for multisampling! ...

View Controller Notification Changes on iOS5

If you use view controllers in your iOS apps, here’s a doozie: The behavior of viewWillAppear/viewDidApear/viewWillDisappear/viewDidDisappear silently changed on iOS5. Depending how your app is organized, this might range from not mattering to being a total disaster. ...

Duplicating Launchboard Wobble

Duplicating Launchboard Wobble

One of the most requested features for Flower Garden is to be able to move pots around. Not only do players want to group similar flowers or colors together, but they also want to be able to take advantage of the properties of the different gardens. I figured the best thing to do this is by mimicking the wobble on the iPhone launchboard icons when you enter edit mode. ...

URL Shorteners In Under Two Minutes

URL Shorteners In Under Two Minutes

This morning I added the goo.gl URL shortener to Flower Garden, so I thought a quick post with sample code might be helpful for other developers looking to do something similar. I use the URL shortener in Flower Garden to send bouquets through SMS. Space is limited in a text message, so the message just contains some text explaining what is it and the URL pointing to the bouquet image. (Yes, I would much rather send them through MMS, but Apple isn’t exposing that yet to developers). In this case, the full URL is http://flowers.snappytouch.com/sms.php?id=949618b4b3c6f3d76e32b45446e238a0 which gets thankfully shortened to http://goo.gl/IV5cq. ...

Analytics For iOS Games

Analytics For iOS Games

Unlike a lot of console and PC games, most mobile and web games keep evolving over time [1]. It’s up to a game’s designers to ultimately decide how to change and improve the game, but the more data about players’ habits they have, the more informed a decision they’ll be able to make. Having good analytics on iOS games is simply essential these days. ...

The Curious Case of Casey and The Clearly Deterministic Contraptions

The Curious Case of Casey and The Clearly Deterministic Contraptions

As we gear up for Casey’s Contraptions launch on May 19th, this is the first post in a series dealing with different aspects of the game. I’m planning on covering technical aspects like today, but also design and other parts of development. For those of you who have been living under a rock and haven’t seen the Casey’s Contraptions video, go watch it now. I’ll wait. Or even better, here it is. You don’t even have to leave this page: ...

The Business of iPhone and iPad App Development

The Business of iPhone and iPad App Development

Full disclosure: Apress asked me to review this book and sent me a free copy. I agreed with my usual condition of being able to really say what I thought about the book, good or bad. So here it is. TL;DR Great book for someone starting out on iOS development. You would be at a severe disadvantage if you don’t know about most practices described in the book. Single resource for lots of good practices you’d have to pick up from blogs or Twitter otherwise. ...

All It Needs Is Love

All It Needs Is Love

The App Store today is a different beast from the one in early 2009, when iShoot ruled the charts. Look at the top paid games on the App Store today. Actually, don’t worry, I did all the leg work for you. Here they are: What can we tell by looking at those games? I see two clear categories: Games with a strong, established IP (Street Fighter, Sonic), or independent games with a huge amount of polish and style. ...

Finding the Loose Change

I’m thrilled to present a guest post by Ian Marsh, 1/2 of the independent studio (and wildly successful) NimbleBit. They’re the creators of iPhone hits such as Pocket Frogs, Scoops, and Sky Burger, and they recently announced they reached 20 million downloads on the App Store__! One of the most important steps on the way to becoming a profitable independent iOS developer is diversifying your revenue stream.  While business lingo like that makes me throw up a little, all it really means is discovering all the ways you can earn money using the platform.  New developers sometimes pigeonhole themselves into a single App Store strategy: “Sell as many copies at 99 cents as possible”.  More savvy developers mix  multiple strategies: “Paid apps”, “In-App Purchases”, and “Advertising”.  I want to make sure all developers know about another additional option often overlooked: LinkShare. ...

Flower Garden Featured For Valentine's Day!

Flower Garden Featured For Valentine's Day!

Two years ago, when I was working on the first release of Flower Garden, Valentine’s Day was my target ship date. Unfortunately (or fortunately depending on how you look at it), I missed it and rescheduled it for April. Last year I was eagerly awaiting the Valentine’s Day features hoping for a feature by Apple, but Flower Garden wasn’t one of the apps to be selected. It was disappointing but understandable given how many newer quality apps are out there. ...

Sleep-Deprived Reflections On The 360iDev Game Jam

Sleep-Deprived Reflections On The 360iDev Game Jam

About 48 hours ago, I participated in the 360iDev Game Jam. I’m still recovering from the sleep deprivation and caffeine excesses, but here are some random thoughts about the game jam and why I highly recommend the experience to all developers. This was my third 360iDev Game Jam, and it gets better all the time. It’s great to see that it has become a 360iDev tradition, and that the number of people participating is going up every time. The last couple of times we had one invited guest to participate remotely (and preside over everybody else in the big video screen), but this time we opened it up so anybody, anywhere in the world could join us and participate in the updates and discussions through the web site (big thanks for Mike Berg for all the excellent work on the web site!). ...

The Power Of In-App Purchases

The Power Of In-App Purchases

I finally managed to get through the hotel wifi and upload the slides for this morning’s 360iDev talk: The Power Of In-App Purchases. Thanks everybody who attended for the great questions and feedback! Session description The common-sense approach to make money on the App Store used to be to do anything to get on the top charts. In-app purchases changed all of that. Good in-app purchases can make your app profitable without being anywhere on the charts, and are the best hope for the independent developer. Come to this session to learn why IAPs can be so effective and how to leverage them effectively: what makes a good IAP, how to increase your user involvement, how to present IAPs in an attractive way, what things attract users, and what things turn them away. We’ll go through lots of detailed real-world data from Flower Garden and other games with strong IAPs. ...

Chronicle Of A Failed Experiment

Chronicle Of A Failed Experiment

In the last year and a half, I’ve written about the different things that I’ve tried with Flower Garden and their effects on sales. From adding Facebook support, creating a free version, adding in-app purchases, or giving Flower Garden for free for a limited time. Some strategies worked and some didn’t. Today I want to share my latest experiment, and how it was a total and complete failure: Adding the option to gift IAP items from within the game. ...