« Posts under spider prank

New Update!

Well it’s been a while since I last blogged! And at long last I’m proud to announce the release of Spider Prank Lite! There are a ton of new features and two new spiders as well.
IPHONE5_EN_00004
There were a handful of commenters who said the spiders in the previous version seemed unrealistically loud and large… so now there are expert settings where you can chooses a realistic sound mode. You can also change the size of the spiders and fly to meet your own preferences.

Most importantly, I spent a good chunk of time optimizing for the ipod 4g. This was no small task. The ipod 4g has about half the RAM of the already kinda long in the tooth iphone 4. I almost had to write a completely different, lower rez version of the app to launch when an ipod 4g is detected… otherwise the device just couldn’t handle it. But using every trick in the book it’s running smoothly now.

And as mentioned– two brand new spider species to check out: Wolf Spider and Brown Recluse!

Hope you enjoy the update!

Coming Soon!

A HALLOWEEN TREAT is coming soon…

tarantula_snapshot

blackwidow_snapshot

How Many Pages of Code in an Indie App?

I was curious! So I just finished my iphone/ipad app: Spider Prank. How much work had I actually done? I know I’d worked like a dog for almost a YEAR on nights and weekends. But how much code had I actually written?

Well, there was only one way to find out. I saved all my code as pdfs, then opened in photoshop and saved each page as a tif. Then using some neat Photoshop actions, I shrank the images down and tiled them. I basically made sprite sheets out of them.

The result?

424 PAGES of C# code that I had personally written.

A friend joked that I had written the Great American Spider Prank novel. She wasn’t far from the truth. When you’re deep in development it’s hard to tell how much work you’re actually doing. There’s no such thing as ‘page count’ in scripting. And all your work is broken up into different classes of differing lengths.

But that’s a lot of writing!

Now granted, every page isn’t totally filled in. And it’s at least double spaced I’d say. But as a former screenwriter, I can safely say that I wrote the equivalent of at least 3 movies.

A few other notes– this is all the code that I wrote personally. But there’s a TON of other code in the app in the form of plugins I bought, cool license-free snippets I found online, and of course the huge C# and Unity3d libraries I built the whole thing on. So my code that you see below is just the tip of the iceberg when it comes to the bits in the game (gfx & sound aside).

Also I thought it’d be neat to highlight portions of the code to get a sense of how much code it took to create a specific result. In my app, I have a semi-intelligent spider that crawls around and reacts to swipes, gravity, taps etc. So in the code below, I’ve highlighted in RED all the portions that control the spider alone. All the rest is UI, photo import, saving/loading, localization etc etc etc. But the spider is quite a large chunk. Almost feels like peeking at a decrypted genome.

If you ever wanted a look at how much code goes into a little app, check out the code below and make sure to keep scrolling! If you’re a developer, how much code did you write for your game? I bet it’s more than you think!

code01

code02

code03

code04

code05

code06

code07

code08

code09

Delayed Launch

Okay– so *officially* I launched Spider Prank last week in the App Store. But *officially* I’m launching today. :)

The reason is as follows. I spent a ton of time with localization. Localization is simply translating all your app stuff so that it’s localized for different regions (Chinese, Korean, Russian etc etc.)

The great challenge, especially for an indie dev one man show, is that you not only need to localize your *app*, but also you need to localize all the itunes stuff that goes along with your app.

What does that mean?

Well first you gotta translate all the words that show up on itunes itself. The writeup basically.

Here’s my writeup in Russian:

**********************

ПАУЧЬИ ПРОДЕЛКИ

Невероятно реальные трехмерные ПАУК И МУХА на ваших iPhone and iPad!

ИСПУГАЙТЕ ВАШИХ ДРУЗЕЙ

АНОНС: http://www.SebastiansGames.com/RU

Насекомое ПОЛЗАЕТ. Оно ШИПИТ и АТАКУЕТ.

Оно реагирует на смахивания, касания и ГРАВИТАЦИЮ.

Уверяют, что оно настоящее!

Реалистичная, жужжащая муха вызывает их любопытство, а затем выскакивает паук и здорово пугает их.
Установите таймер: пауки появятся тогда, когда их менее всего будут ждать.
Используйте ваши фото в качестве фонов. Сделайте снимок экрана для фона, чтобы было похоже на то, как будто паук попал в ловушку в вашем устройстве.

ЭКСТРЕМАЛЬНЫЕ ЗВУКОВЫЕ ЭФФЕКТЫ И ТРЕХМЕРНАЯ РЕАЛИСТИЧНОСТЬ
РЕЖИМ НЕСКОЛЬКИХ ПАУКОВ

ВАЖНО: Совместимо с устройствами 4-го поколения и выше.
ВНИМАНИЕ: Максимальное количество пауков и фоновых фотографий зависит от поколения устройства.

Спасибо за поддержку НЕЗАВИСИМОГО РАЗРАБОТЧИКА. Чтобы узнать больше, посетите http://www.SebastiansGames.com

**********************

Now I’ve translated my app into ten languages (English makes 11), so do that ten times. Or I guess work with professional translators to do that ten times.

Then the hard part.

The itunes art.

Every time you have an app in the App Store you need to provide itunes with the requisite art to showcase your app. Five images. For each of the three screen ratios.

So five iphone4 images:
spiderprank_IPHONE4_01spiderprank_IPHONE4_02spiderprank_IPHONE4_03spiderprank_IPHONE4_04spiderprank_IPHONE4_05

Five iphone5 images:
spiderprank_iIPHONE5_01
spiderprank_IPHONE5_02spiderprank_IPHONE5_03spiderprank_IPHONE5_04spiderprank_IPHONE5_05

And five ipad images:
spiderprank_IPAD_01
spiderprank_IPAD_01
spiderprank_IPAD_01
spiderprank_IPAD_01
spiderprank_IPAD_01

And then you translate them.

Ten languages… times 15 images.

DE_IPAD_00000ES_IPAD_00000IPAD_FR_00000IT_IPAD_00000JA_IPAD_00000KO_IPAD_00000PT_IPAD_00000RU_IPAD_00000TH_IPAD_00000TR_IPAD_00000ZH_IPAD_00000

150 images to doctor in photoshop and translate correctly. No small feat!

And the reason the latest version of the app is late is that I’d just finished all of this work… and didn’t realize that when I submitted just the translated stuff to Apple, it would take them another week and round of approval to approve the artwork/itunes descriptions alone.

I’d mistakenly assumed that since my binary (the actual game data) was unchanged, I could skip the long approval process.

Live and learn!!

So long story short, now the game, the writeups, the itunes art are all properly localized. It’s official.

I’ve launched!

The Finish Line

Well it’s been a marathon that’s for sure.

Never in a million years did I imagine when I started this app process almost a YEAR ago that it’d take this long to reach the finish line.

But here I am. Finally.

This is a sight any developer is psyched to see:

uploading

It’s been a looong road. And I’m exhausted. Tomorrow the app launches all over the world. We’ll see what happens! Until then I’m gonna dream happy spider dreams and keep all my digits crossed. Here’s hoping.

readyforsale

Spider Prank Feedback

I’d love to hear your thoughts on Spider Prank! Have ideas on how to make it better? Have you had some problems you want to report? Let me know in the comments and I promise to reply!

Also– do you have thoughts on what spider species I should work on next? Here’s a little poll to add your vote– but other ideas are welcome in the comments as well.

New Spiders
What new spider species should be added to Spider Prank?


Thanks so much for your feedback!

Sebastian

How Much Work in an Indie App?

As I near the end of this seven month development process, my thoughts turn to reflection. What a journey it’s been. I initially thought I’d create a fun ‘spider’ app for Halloween. I had this thought back in mid October of last year. I was working on a pretty involved game project at the time that seemed like it would take another five years to finish. So I thought why not take a break and throw together something quick?

My initial plan was to give myself ONE WEEK to see what I could pull off. I coded like crazy and even pulled an all-nighter. I was super close to having something actually publishable.

But I ended up missing Halloween by a day or so. At that point I decided there was no longer any rush. Why not tinker with it and make it perfect?

I went from a cheesy 2D sprite spider to a fully rendered 3D spider equipped with a rudimentary artificial intelligence. I spruced up the interface considerably and added a lot of bells and whistles including localization in twelve languages.

Suffice to say it’s no longer October. What I thought could take a week instead took basically an entire a year.

Now to be totally fair, I work full time as a Motion Graphics artist, so it’s not like I could work every second on this app. I’d sneak in coding time where I could on nights and weekends. But it was still quite a slog.

So how much work did I actually do?

I use to-do lists to help me stay sane with my projects. My favorite list app is Wunderlist. It’s great cuz it synchs through the cloud over my phone, desktop, ipad etc.

Anyhoo, here’s a screengrab of my Wunderlist list for my app. Each checkmark represents a stage of the development process. Some items took me an hour, some took me over a week. Moreover, I wasn’t totally committed to list-keeping… so I’d say maybe 50% of the work I didn’t even bother listing. I use lists to help me stay organized– not to punish myself in some sort of OCD ritual.

Here’s the list! Whew. Quite a lot of checkmarks for such a simple little app. And you’ll notice that it’s not finished either. Any day now I hope! Of course, that’s what I was saying seven months ago.

todolist

REJECTION – part 1

Okay– so what is every developer’s worst nightmare? Finishing a long, arduous development process only to get your app REJECTED by Apple! That’s exactly what happened to me.
rejection01
Owtch!

Hopefully Apple won’t mind if I share a few of the details just so others may learn to avoid my mistakes.

The whole point of my app was to allow users to prank their friends by putting a ‘real’ spider on their phone. To this end, I added a bunch of device screenshots to the app that simulated an ios desktop. Apparently this is a no-no.

rejection02

So according to bylaw 8.3 (which I had not read), it’s against Apple’s rules to ‘simulate an ios behavior’. Including still screenshots of ios backdrops qualified and my app was rejected.

Should I have seen this coming? I suppose so. I was caught with my pants down, that’s for sure. I thought I’d seen apps that had done this sort of thing before… ie simulated stuff that appeared to be on your actual device.

Like this one:
Volt

Or this one:
Shake Break Make

But after digging deeper I started to uncover some others who had run into the same roadblock. Specifically, I found this great post from all the way back in 2009. Some guy wanted to simulate an iphone screen like I did. And he paid the price.

I love the evolution of his app design which illustrates his harrowing rejection process (image from www.mani.de):

rejection and iteration

So how come apps like Watchdog and my app got rejected, and other apps like Volt and Shake Break Make made it past Apple’s watchful eye?

It’s well documented that sometimes Apple’s review process is a little random. Get a cranky reviewer on the wrong day and you’re just out of luck (although I can’t blame the overworked review team). But my hunch is that the real difference is that in the apps that made it through, desktop imagery did not ship with the app. Users were instructed to take a screenshot to add as a background… something that should, in theory, be entirely legal.

The problem for me, however, is that without a screenshot shipped with the app to greet the user right away, a lot of the punch of the main concept of having a spider on your phone is deflated.

As a developer, my first reaction was to drink a lot of whiskey. I’d just spent a solid six months working on a project that would never see the light of day. FAIL. It was a brutal disappointment.

BUT, after taking some time to wallow, I picked myself up, dusted myself off, and asked the question that developers MUST ask after app store rejection:

HOW DO I SAVE THIS?

After all, I appealed Apple’s decision and they wrote this:

rejection03

Granted, it seems like a boilerplate, form letter response, but it was still encouraging.

“We hope you will consider revising the app to address the issue…”

Apple WANTED my app– they just needed me to fix it. And all-in-all I think in retrospect it was a pretty fair process. Upon reflection I understood that it made little sense for them to allow apps in their store that made it seem like their devices were busted or inoperable.

So HOW DO I SAVE THIS?

Challenge accepted.

Stay tuned for part 2 where I’ll fill you in on the solution I came up with.

Evolution of an Icon

Icon design is tough business. It’s gotta look good at full size, but it also has to scale down and look good when it’s just a tiny icon on your device.

Here’s my first stab at the icon for Spider Prank. It was back when I had a purple interface.


Actually I think this looks pretty good. But the purple interface wasn’t working for me. So back to the drawing board.

Here’s version #2:


I was trying to match the silver, sleek interface I’d settled on. But I think I missed the mark with this icon. The silhouette looks pretty boring. Plus the uniform legs make a visual mess when shrunk down.

A challenge I had was I wanted the icon to be really dark and menacing. But the spider was black. Hard to make black show up on black. I wondered what would happen if I tried the spider inversed. Version #3:

I kinda liked that version. But ultimately I decided that I need to showcase the hero– the spider itself in all of its 3D glory. That’s the main selling point of the app, so I figured I needed to at least feature it prominently in the icon. Version #4:

I was pretty happy with this. Decided it just need a little levels adjustment to make it pop more. So I added more contrast, and voila, version #5:

I think this one’s a keeper. But who knows? I’ll have to sit with it a little and play with it on my device(s) to see if it really does the trick. Also it’ll be important to get some feedback from testers. Almost to beta testing! Yeehaw!

Localization

korean

Is this amazing or what? Thanks to the very simple and easy to use localization plugin for Unity3d, I can localize the text in my app at the click of a button.

localization

It’s all automated through google docs– including the translations. Here are some blurbs from my app in French, Spanish, German, Chinese, Russian, Japanese, Korean and Thai– the list goes on and on.

spider prank in korean

Spider Prank in Korean

I love living in the future. (PS– anyone know how to say ‘swipes’ in Korean??)