Archive for September, 2010

Dynamic Background Music

Here’s a good one for you if you’re as musically challenged as trolls are; ever wonder how to

Give Your Game Dynamic Background Music

with nothing but GarageBand? Well, that’s the handholding walkthrough for you!

Remember the underwater scene in the Sonic game where the music becomes dramatic as Sonic starts to drown? Sorry to bring up those anxiety memories, but that is a great example of dynamic background music. I’m going to show you how to add seamless mood changing music that follows the action in your game…

Steps you through how to set up the music in GarageBand then export it in segments that can be overlapped seamlessly with the CocosDenshion engine, shipped with cocos2d. Pretty straightforward actually, once someone shows you how.

Not that we’d actually trust our composing, mind you; but why bother, when nin.remix.com has GarageBand tracks available for you to download, and NIN is just about the flavour we’d want for our soundtracks anyways!

Continue Reading →
2

SIO2 Commercial Source

So we haven’t actually got around to doing any 3D iPhone projects yet, but we understand that SIO2 is fairly well regarded in the free open source end of that pool: and if you’ve been thinking of maybe picking that up, there’s for sale to go with it a whole whack of

iPhone Game Source Code Packages

which cover a pretty solid set of different tasks you might wish to perform. And if you’d rather sell instead of buy your source, well the store’s for that too!

Don’t make enough money with your iPhone Games on the App. Store?

Don’t let months or weeks of work go to waste! Register as a Publisher on the SIO2 STORE and instantly reach thousands of iPhone, iPad and iPod Touch Game Developers who can benefit from your knowledge!

For iPhone Game Developers the SIO2 STORE is a all-in-one solution to find iPhone Game Source Code, code snippets and other iPhone Game related materials. Don’t re-invent the wheel! Simply borrow it from someone else, and that’s where the SIO2 STORE kicks in for developers!

Well, that certainly looks like a good reason to pick SIO2 for one’s 3D engine needs; but if any of you, Dear Readers, have actual experience writing iDevice 3D stuff and have some recommendations, please make them!

h/t: @gaminghorror!

Continue Reading →
1

GPL vs. App Store

So you may have noticed a few months back the kerfluffle that arose when the FSF noticed that an iPhone version of GNU Go had shown up in the App Store, and contrary to previous statements on the subject of GPL compliance leading us and other reasonable people to conclude that GPLv2 was App Store-compatible, decided that App Store downloads are in unacceptable contravention of section 6:

Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients’ exercise of the rights granted herein.

So they were like all “get rid of app signing so users can install any app!” and Apple was like all “Ah … no.” Good-bye GNU Go!

It is interesting to note, as pointed out here,

An Analysis of the Impact of the FSF Apple Enforcement Action

the Android Market and Windows Marketplace TOS are just as incompliant with the point supposedly at stake here as is the App Store. But the FSF has shown no interest whatsoever in pursuing analogous infringements there. How strange!

But any-ways, there’s lots of other GPL-licensed programs available in the App Store, and Apple’s made no proactive moves to take any of them down in the months since; so it seems that they’re applying the principle that if you claim compliance with the GPL, they’ll take your word for it unless someone complains.

An informative example of that kind of complaint in a significantly sized GPL project, Battle of Wesnoth, over its iPhone port is annotated here:

Wesnoth struggles with App Store’s GPL incompatibilities

It’s actually worth reading through the whole thing, but it really boils down to these two stances.

Stance A:

We do not see a conflict between the GPL and the iOS, and we’d be outraged if you take wesnoth away from us in order to strive for a slightly more fundamentalist interpretation of the GPL.

Stance B:

I’ve come to the conclusion that, both legally and ethically, it’s impossible to justify Wesnoth’s presence on the app store.

Ah, yes. HOLY WAR! BRING IT ON!

There were a number of rational attempts at resolving the issue; most interesting thing to take away was that the CDDL is probably the license that you’d want to pick if you’re an Open Source supporter that retains any last shred of rationality, as it reputedly boils down to “distribute compiled binaries any way you want as long as the source is available”. Seems both App Store-compatible and, well, sane. But opinions are heated, and discussion is ongoing about how to resolve this conundrum; as we write, Wesnoth is still on the App Store, but if it’s gone by whenever you’re reading this, you’ll know the “slightly more fundamentalist interpretation” won the day over the voices of pragmatism. Despite that as pointed out here

… In the context of potential loss of users, it was noted that although an estimated 10% of the userbase were on these devices …

Seriously? Wesnoth’s been around for what, seven years now, completely free on all major desktop OSes, and the $4.99 App Store version takes 10% of the userbase in six months? Kinda impressive, that.

But any-ways. The thing you should take away from this, Dear Reader, is that if any GPL-licensed code strikes your fancy as something that would be nifty on an iDevice, make alternate license agreement with the copyright holder(s) before you spend eight months on the port…

Continue Reading →
3

Sharing Solutions

Now here’s a pretty darn cool way to build engagement with your game projects; let people share not just their scores, but their actual strategies:

Sharing Solutions

… Trainyard is a puzzle game with tons of ways to solve each puzzle, so a sharing system gives players a way to show off their unique and interesting solutions. A somewhat similar approach could be taken with a different kind of game, such as replays in a racing game. Sharing is also a great tool to help spread the word about your game through Twitter and Facebook. High scores are cool, but it’s way more awesome to see a high score and see how it was accomplished. Sharing also gives you a great way to see how people are using your game…

Take a look at the sharing site — it’s very well done indeed.

solutionUseIt.png

Leaderboards? Ha! This is the kind of thing you need if you want to be one of the really cool kids!

Continue Reading →
0

UIWebView Cache Substitution

Now here’s a downright clever approach to the problem of slow network connections making your UIWebView display drag:

Substituting local data for remote UIWebView requests

In this post, I’ll show you how you can load a webpage in a UIWebView in iOS while using a modified NSURLCache to substitute local copies of resources within the webpage for the remote copies referred to by the actual page…

… The only important method we need to override is cachedResponseForRequest:. This will allow us to examine every request before it is sent and return local data if we prefer…

Neat idea! Also note that NSURLCache is used by NSURLConnection as well, so this same technique would no doubt be applicable to replacing the rather complex — and no doubt buggy somewhere — code that we’ve implemented in various apps for updating their local copies of web content.

And … why check this out, looks like some bright spark already had that idea:

Add on-disk HTTP caching in your iPhone / iPad application

… It’s a shame Apple didn’t let developers choose if they need needs on-disk caching or not. It’s why I found it necessary to give this feature back to the Cocoa Touch framework. I thus created the SDURLCache open-source projet for this purpose. It’s a complete wrapper around NSURLCache to add on-disk caching support back our apps…

So check out SDURLCache on github for what’s no doubt a good start on that!

Continue Reading →
2

Bribe For Install

So, just how desperate can you possibly get to market your app?

First off, you can just mark it free on the store. Easy. But everybody does that.

So, to take things up a notch, you pay people money to advertise you’re giving it away for free. Most successful with that as a business model appears to be that freeappaday.com thing we dismissed before but, we’re willing to concede, some people do claim to have found a successful marketing channel. We’ll take their word for it.

But where do you go from there? It’s free, you’re paying for advertising, maybe you’re even paying per install to advertisers like Tapjoy and Flurry and Burstly have marketplaces for … or maybe you’ve tried out some of the other free app sites like Applifter or AppRebates … but how can you really go completely over the top from really dubious CPA propositions into outright insanity?

Well, welcome to the next level: Bribe For Install.

Yes, folks, this is the new cutting, bleeding, dripping, edge in marketing: just plain outright bribing people with cash to install your app. And there are two services that will help you along with that, on the theory apparently that if you’re that dumb they might as well make a buck off you too!

Option A: Apperang

apperangsignup.png

MORE THAN YOUR MONEY BACK! WHAT A DEAL!!1!one!

We were going to proceed with seeing just exactly who it is that thinks this is a good idea, but it booted us from signing up. The excuse was that we’re outside the U.S., but we just think it could smell our cynicism even through teh Intertubez.

Option B: Ads Reloaded

These dudes at least let you see the dosh up front:

AdsReloadedGoodies.png

… and that appears to be all of them, unless we’re missing something, so it’s not exactly setting the world on fire yet.

Which, actually, is somewhat of a surprise. Leaving aside our gentle mocking above, if you’re dead set on downloads at all costs, these actually do look like rather more cost-effective alternatives to regular advertising … at least if you’re this poor sucker who tried out iAd for Developers, anyways!

However, we’d have to really, seriously, question whether people you get this way are going to stay engaged with your app long enough for there to conceivably be any positive value proposition attached to their acquisition. However, we’re always open to being educated; if anybody who’s tried these has found it rewarding, we would certainly love to hear details!

And if you’re trying to pick just one of these to sign up with; check out the market research here. There are some real gems in the comments:

I am unsure what [Apperang]‘s website is about from looking at the URL. I would be skeptical to go to a website that I do not understand the name of.

[Apperang] is better because it explains the steps of setting up an account. I don’t like [Ads Reloaded] because I don’t like the sound of the robot voice and cartoon.

I do not like [Ads Reloaded], I dislike ads and loaded makes me think of being drunk.

Ah yes, the wild wooly wonderful world of being a user. Reading these comments makes us think of being drunk too, now that they mention it. In fact, we do believe we’re going to go have a drink right now. A hefty chug of our current favorite vodka Żubrówka is no doubt the best way to make all this make sense, indeed.

UPDATES:

And here’s a new take on the cutprice promotion thing: @fingerbakery‘s Zeepo.com — “Group buying for iPhone apps”. The deal with this one is your app is on sale for 99¢, and people unlock prizes for doing the best job of publicizing it. Fresh new today so no guesses at how effective it’ll actually be, but looks like an intriguing idea.

And another in the bribing category, Leaderboard Media, might be worth a look too.

Continue Reading →
6

Video Mirroring

So if you’d like to add video mirroring to your iOS app — as opposed to video out, as referenced here — for presentations or whatnot, it’s actually possible now in an App Store friendly fashion!

… this is a fire-and-forget solution to mirroring the display of your iOS device (iPhone, iPod Touch, iPad) on an external display. The new version uses public APIs, so it can be used in apps published on the App Store. It supports detecting cabling (plugging and unplugging the display), orientation changes, and even offers a “tv safe mode” for displaying your app on an older analog video device…

The main caveat appears to be that it works only with iPads and iPhone 4s, with which Apple’s allegedly iPad-only VGA connector cable reputedly works fine.

Also note the hot tip for debugging via USB whilst having a device connected:

… I found a reference to the Kensington K33368 “4-in-1 Car Charger,” which is a USB cable that includes a full pass-through dock connector, intended for an FM tuner. I guessed that they’d have wired all of the pins, and it would allow me to plug a second dock cable into the first. These are no longer manufactured, but a few online stores still had stock. I ended up buying one from a seller on eBay. It turned out to work perfectly. I plugged the Kensington cable into my Mac, and the RCA video out or VGA cable into the Kensington cable, and was able to debug away…

Might want to pick up one of those while you can, just in case!

h/t: ManiacDev!

Continue Reading →
0

Core Text Wrapper

Got around to doing much with Core Text yet? Yeah, us neither. But if you are, this looks like a good start:

Core Text Objective-C Wrapper

… Strings drawn with Core Text feature lots of custom settings such as detailed font information, columns, variable line and paragraph heights and several different attributes, which designers and font aficionados surely understand much better than I do…

Couldn’t have said it better myself.

… One of the most interesting capabilities of Core Text is being able to render text in several columns. However, Core Test is a C-based framework, and I think that understanding and using the concepts and structures required to render text in columns can be particularly tricky. To make the my life and that of my fellow developers easier, I’ve created a small set of Objective-C classes that encapsulate the creation of framesetters, attributed strings and other constructions, and takes care of the creation of several columns, as well as the division of the text in several pages if required…

Well, that certainly does sound handy, doesn’t it now? If that’s something you might use, check out CoreTextWrapper on github!

Continue Reading →
4

NGMoviePlayer

Niftiness of the day: NGMoviePlayer on bitbucket, sample code for using AV Foundation to play movies. As described here:

It does some of what MPMoviePlayerControllerView does.

Stellar marketing there, indeed. And why exactly would you want to bother doing that then, other than pure curiosity? If you run into this bug!

(I had to write a custom movie player because of a bug in iOS 4 where after you play a movie that’s embedded in a UIWebView, MPMoviePlayerController won’t work as expected: it plays just a few frames and then automatically pauses the movie. <radr://8326264>)

So if that bug’s biting you, or might … you know where to go!

h/t: iOS Development Goodies!

Continue Reading →
0

Framework: Airplay SDK

Here’s an option for an iPhone/iPad graphically-oriented framework you might find it useful to be aware of: AirplaySDK!

“What, another framework?”, you ask, “And what’s so special about this one?”

Well, for starters, this is rather unusual:

airplaywindows.jpg

Of course your immediate reaction is “And shall I gouge out my eyes with a fork too, to make it even more of a challenge to write an iPhone app THE WRONG WAY?” An understandable riposte, indeed. But there is a potential benefit. Specifically,

airplaydeploy.jpg

OK, starting to look a little more interesting now? Yep, if you want to do something cross-platform that’s beyond what HTML5 is capable of, like these examples,

airplaysamples.jpg

then this does indeed look like it would be worth a serious looksee. And the pricing is reasonable too, especially for those of us out here on the ragged edge:

If the annual turnover (revenue) of your business is less than $100,000 per year, you fall into the ‘Indie’ category. In this category there are two license types available to you:

  • ‘iPhone’ License (free): permits public distribution of iPhone/iPod/iPad apps. These have no visual watermarking. Deployments to all other platforms have an “evaluation only” splash screen, and public distribution of these deployments is prohibited.
  • ‘Indie’ License, $99 per seat per year: permits public distribution on all supported platforms. No mandatory visual watermarks or splash screens.

Not bad, not bad. Just as soon as we hear that there’s any chance of making a buck on those other platforms, or some client really REALLY insists that they absolutely HAVE to be delivered something severely graphical on all these other OSs, we’ll take an indepth look at this. In the meantime, if any of you check it out seriously, Dear Readers, please let us know what you think!

h/t: ManiacDev!

Continue Reading →
2
Page 3 of 3 123