Semi Secret http://blog.semisecretsoftware.com Official Blog for Semi Secret Software, Creators of Wurdle and Canabalt posterous.com Thu, 24 May 2012 09:07:00 -0700 Status Update: Sales, Overhauls and Progress Reports! http://blog.semisecretsoftware.com/status-update-sales-overhauls-and-progress-re http://blog.semisecretsoftware.com/status-update-sales-overhauls-and-progress-re

Blogpost

Hey everypony! It feels like it's been a while. We've been really busy with a few different things for the last few months, and I just wanted to take a minute to give some updates on what the heck we've been up to since the last time we posted here.

 

Because We May

Screen_shot_2012-05-24_at_10

"We rely on the ability to promote our games for our livelihood and control over pricing is an important tool for this purpose."

While some distribution platforms give game makers a fair amount of control over the pricing, there are still many platforms that are far too closed and tightly controlled to allow things like that to happen (or worse, they can just make all the price changes themselves without even consulting the game maker). This sale is an opportunity to give our audience a little peek into the biz of running a small game company and hopefully expand our audience at the same time.

The most interesting thing about the sale (to me) is that it is an "open" sale. Any independent game maker with a game on sale on a platform that gives them pricing control can join in the promotion; some developers are even raising the price when they join! There's more info about signing up to be part of the promotion here.

Canabalt is our only game participating in the Because We May promotion, and is priced at $0.99 for the next week. This is only the second time that Canabalt has gone on sale; while it may go on sale again in the future, it won't be anytime soon. So this is a good time to spread the word!

 

The Canabalt Update

Img_1762

"I got this game a couple of years ago and feel it would be great if they added some gamecenter achievements." (via "dogface", TouchArcade front page comments)

"It needed updating in all sorts of ways ages ago." (via "jonathanjk", TouchArcade front page comments)

For once, chaps, I totally agree with you. Canabalt is (maybe obviously) a special game for me - it is my "business card" game - the one game I made that many people have actually heard of, or actually care about. It's also a game that doesn't have a whole lot of moving parts or ingredients; messing with one piece of the game tends to have drastic consequences across the game as a whole. For these two reasons I have been really reluctant to update it just for the sake of updating it. Generally speaking, "if it ain't broke, don't fix it."

On top of that, we are a very small company, and we have been working very hard on creating an entirely new iPad game that we think you all will really love (more on that below), which hasn't left as much time for doing support, maintenance and updates as we hoped.

HOWEVER.

A few months ago I finally started getting some ideas. Finances were a bit tight so I was doing a design exercise in my head: what would Canabalt 2 be like? That's the obvious, easy money-maker in our stable of games. Well, probably it would be a bit more cinematic, maybe throw in some slow-motion here and there... but that doesn't really justify a sequel on it's own, does it? I knew I didn't want to add guns or double jumps or whatever. The rest of the endless runners pretty much have the "buy in-game hats with real money" market cornered. So what's a designer to do?

Sometimes the best answers are the most obvious (after the fact). In the case of Canabalt, the best way to explore the game is to take things away. Some twitter users aptly joked: "what, Canabalt without jumping?"

Well... what about Canabalt without rooftops?

Screen_shot_2012-05-24_at_10

Also, what if it is a free update for Canabalt, and not a standalone sequel? I don't want to explain everything we have planned (yet), partly because some of it may not make the cut, or we may add some things at the last minute, but here are some of the planned features that are pretty concrete and/or already tested:

  • Local Two Player Simultaneous/Cooperative mode
  • Eight (!) New Hardcore Game Modes (and leaderboards)
  • Game Center Achievements

There are some more hints scattered around my twitter feed if you know where to look (but no release date). Finally, ALL of these new features and gameplay modes will be part of a free update to the existing iOS version of the game, which, as we mentioned, is currently on sale for $0.99!

 

Hundreds Progress

Screen_shot_2012-05-24_at_10

Like I mentioned a moment ago, the other thing we're working on is this game Hundreds. Hundreds doesn't really look or play like anything else on the App Store - we've got about 100 rounds, or levels, some of which are fantastically difficult, and a nice pile of secrets and unlocks built into the game now. However, like Canabalt, Hundreds is a game that doesn't have a whole lot of moving parts or ingredients, so we've decided to take extra time to make sure that the few bits and pieces that ARE in there are as amazing as we can make them.

Thank you for being patient - this game means a lot to our whole team (led by Greg "aeiowu" Wohlwend, co-creator of Solipskier and the upcoming-and-brilliant Gasketball), we just don't want to release it until it is Just Right. And it is getting very close, but it will probably not be ready for release until early August 2012 or even later. Thanks again for bearing with us on this one!

Permalink

]]>
http://files.posterous.com/user_profile_pics/774215/pixel_me_reasonably_small.png http://posterous.com/users/4ScYA1LDgQFj Adam Saltsman Adam Atomic Adam Saltsman
Fri, 13 Apr 2012 07:30:00 -0700 Announcing Aquaria for iPad Weekend Sale, plus iPad Retina Support! http://blog.semisecretsoftware.com/announcing-aquaria-for-ipad-weekend-sale-plus http://blog.semisecretsoftware.com/announcing-aquaria-for-ipad-weekend-sale-plus

Happy FEZ day, everyone! I had the honor of contributing to FEZ in as a backup animator in a very part-time capacity over the last 2.5 years or so, and it is pretty thrilling to see it out in the wild after all that time.

However, I also wanted to let you know that the other* IGF Grand Prize-winning game I have been honored to contribute to (in an even smaller way) is having a sale this weekend, to celebrate adding support for the new iPad's crazy retina display. I think this is the first time Aquaria has supported a resolution as high as 2048x1536!

(click to enlarge to ridiculous full size)

So, from now until Sunday night, Aquaria for iPad is available for just $2.99 (or your local equivalent pricing tier). The iPad Retina update is also available right now: programmer Andrew Church did a great job upgrading the visuals for this update, and we even got a new super-high-res logo with the help of Kert Gartner.

*Trivia note: Brandon McCartin is the only person who actually worked on both Aquaria and FEZ before they won the Grand Prizes! Talk about secret sauce.

Permalink

]]>
http://files.posterous.com/user_profile_pics/774215/pixel_me_reasonably_small.png http://posterous.com/users/4ScYA1LDgQFj Adam Saltsman Adam Atomic Adam Saltsman
Mon, 19 Mar 2012 11:55:00 -0700 Announcing Canabalt HD for Android devices and cross-platform Canabalt 2P for desktop, plus, HUMBLE BUNDLE. http://blog.semisecretsoftware.com/announcing-canabalt-hd-for-android-devices-an http://blog.semisecretsoftware.com/announcing-canabalt-hd-for-android-devices-an

Screen_shot_2012-03-19_at_1

Where to even begin? I guess we'll start with this: Canabalt is a proud participant in The Humble Bundle for Android #2! It's such an honor to be up there alongside these other indie classics. This is our first bundle we have ever participated in, directly, so I am very curious to see how it works out in the short and long term.

Device-2012-03-09-234532

NEXT UP: As you may have deduced, Canabalt being in a Humble Bundle for Android means that Canabalt is now available for Android! Ported by the upstanding gentlemen at Kittehface Software, Canabalt HD is a perfect 1-to-1 copy of Canabalt for iOS, with one important difference: you can toggle HD mode while playing, hot-swapping all the 2D graphics for full 3D ones! The effect is subtle but really really cool. If you prefer the classic pixels those are all there in perfect working order, but the new mode is pretty neat :D The performance and device support are both top-notch; the crew at Kittehface did a really outstanding job and were amazing to work with. You can read a bit more about their port and the devices they're targeting over at their company blog.

(also read about the making of this rad trailer)

Finally, the special 2-Player version of Canabalt, formerly found only on Winnitron cabinets around the world, is now available for PC, Mac and Linux exclusively through The Humble Bundle! This native AIR package of the Flash game runs in fullscreen and features the weird new co-op play mode that we designed for the Winnitron cabinets.

To summarize, picking up a copy of The Humble Bundle for Android #2 gives you a DRM free version of Canabalt 2P for desktop, a DRM free copy of the Canabalt soundtrack (FLAC and 320k MP3!) by Danny Baranowsky, and Canabalt HD for Android devices, for whatever price you think is fair, including other indie classics like Cogs and Zen Bound 2! So, if you're into that, head over and support some indies and/or the associated charities and enjoy the games :)

Permalink

]]>
http://files.posterous.com/user_profile_pics/774215/pixel_me_reasonably_small.png http://posterous.com/users/4ScYA1LDgQFj Adam Saltsman Adam Atomic Adam Saltsman
Tue, 17 Jan 2012 09:42:00 -0800 Lessons Learned from Localizing Canabalt http://blog.semisecretsoftware.com/lessons-learned-from-localizing-canabalt http://blog.semisecretsoftware.com/lessons-learned-from-localizing-canabalt

At the end of 2011 we finally released an update to our popular game Canabalt that had support for something like 15 languages. If only for the sake of our own unreliable memories I wanted to record some of the things we learned during that process. This is not, by any stretch of imagination, a mandate to localize your own software, or, if you decide to, to do it this way. It is simply a public recording of our experience and our plans for the future :)  Much of what is recorded here will have to do with iOS specifically, but likely applies to other platforms as well.

Fan Translations (i.e. Crowdsourced Translations)

We certainly were not the first game to rely on fans to translate the game content into other languages. World of Goo and Fieldrunners, among others, were famously ported to other languages by dedicated fans.  If this was a traditional postmortem, though, we would definitely file "fan translations" under the What Went Right column. We had a ton of up-front interest from fans from all over the world, who in general displayed a remarkable degree of dedication, patience and professionalism.  I believe there were a couple of keys to making this work though:

  1. Canabalt has very little, in the grand scheme of things, to translate. It is maybe 1 page of double-spaced full sentences, if that.
  2. Canabalt is a popular game with some very passionate fans.

The combination of these two things I think led very naturally to some amazing people being willing to dedicate a few hours to "the cause" as it were. The ratio of effort to results was quite good for them I think!

File Management, Nuts & Bolts

The way we did most of the translation work, physically speaking, for Canabalt, I would probably file under the What Went Wrong column, even though it basically worked. We put together a central file in english, clearly annotated, of all the sentences we needed translated. Then we sent a copy of this file to anyone that was interested in working on a particular language. This was really easy to do at the start of the process. It was... less easy to deal with at the end of the process.

Copy-pasting and touching up the translated files at the end of the process was sufficiently daunting that we ended up delaying the inclusion of the translated files for months! It was that boring. In the end we had to kind of pull ourselves together and just knuckle down and do the grunt work, which was about 3 or 4 work days of copying, pasting, and touching up files. More later on why that took so long, but in the meantime, we figured out what we think might be a better approach. We are testing it out on some new languages now, so the jury is still out... but it seems pretty promising.

In the future I'd like to try prepping a Google doc of the annotated English language file, and then duplicating that to any requested language. These other language files will be publicly viewable, possibly publicly exposed using a Google Form. Fans who are up for doing a translation can email us, and we will then add them as a private editor for that Google doc. Once the editors (3 or fewer, ideally) are satisfied with the translation, we can simply copy-paste the entirety of the file directly into the XCode language project file and test it out in-game.

EFIGS and Other Acronyms

Initially it seemed quite important to focus on EFIGS to maximize our effort to "new market exposure" or whatever, which actually makes a lot of sense if you're doing traditional localization, rather than crowd-sourcing. Traditional localization is pay-by-the-word, so there's a kind of obvious, direct cost there. Crowd-sourced localization has muddier, less obvious costs though, which generally boiled down to about 2-4 hours of grunt work per language. This made including some non-standard languages viable and interesting, and allowed us to cater to small but vocal fan-bases in oft-ignored countries like Finland or the Czech Republic.  For a small company with a small game I actually think this makes a lot of sense. Those players mean a lot to us!

It also meant that we were able to survey the impact the different languages had technologically. Languages like Italian and German are infamously lengthy, and thus problematic, especially if you make tight, minimalist games with compressed interfaces!  We found that 1.5-2 lines of English text expanded to nearly 3 lines in Italian or German. However, many emerging markets like China have logographic languages that can easily fit within the English layouts for very little effort (you will, of course, need a font that supports a few extra thousand characters).  For a small developer, those things are worth keeping in mind I think.

Various Pitfalls & Other Details

Finally I wanted to run down some other things we ran into along the way, that we will definitely be keeping in mind for the future:

  1. Text with manual line breaks in it is a huge pain in the butt, and scales badly. Good word wrapping and variable height text display areas are not that hard to do, programmatically, and will vastly simplify the process of localization later in development.
  2. We added special fields in the language file we sent out to translators that we parsed into our Credits screen, so they could add themselves to the game credits. This worked really well, since then each translator is credited but only in their own language, completely automatically. I think we can do it even better in the future though; there was some confusion about whether they should credit themselves as "Translator for Language X" in English or in their native language. Note: all of our translators worked for free - being credited in their native language was the least we could do!
  3. Localizing achievements in iTunes Connect is a horror I wish upon no one, and I have no plans to ever do localized achievements until they provide some better procedural approach. As it stands, as far as I know, you have to translate all the achievement text in your own game, but then upload individual graphics and achievement text to iTunes Connect's web interface manually. This is patently insane. There needs to be a way to upload a translated achievements package that can be generated locally from the game's existing language files. That or we need an unpaid intern.
  4. Canabalt has some sentences that use variables to customize their display. For example, "I ran 400m before falling to my death on my iPhone." uses two different variables to indicate how far the player ran and what device they are using.  Not all languages display the distance measurement before the device name.  The sentence could just as easily be "On my iPhone, I ran 400m before falling to my death."  So when you are using multiple variables within a single translated sentence, make sure you encode the ordering of those variables, especially in C-style languages. Otherwise, players may be disappointed to find that they "ran iPhone meters before falling to their death on their 400."
  5. Text encoding can be a bit of a headache. Usually your IDE will do a good job of opening the file, but if the translator saved it wrong (UTF-8 instead of UTF-16 or some such thing) then it may be possible that you can't get at the proper characters at all, and have to request changes from the translator. I am hopeful that relying more on Google Docs in the future might alleviate some of these issues.
  6. We added a language override selection to Canabalt's options. This was a huge win, for a few reasons: it wasn't that nightmarish to implement, players liked it because they could still play in English even if their phone was Russian, and it made it very easy to test the different languages as we implemented them. We found that some languages (like Bulgarian I think?) could be set up in XCode, but would not automatically trigger using the phone's built-in language settings.

Results

Someone on twitter reminded me that I never mentioned anything about whether this had any impact on sales. As far as I can tell, at least in the short term, the introduction of new language options has had no measurable effect on sales.  I am confident that in the long run it was a good idea though. It broadens our fanbase, if only by a little, and it felt good to deliver fan-generated content to other international fans. Canabalt was more than two years old by the time we released this update as well. Internationalization may matter more at launch, when international app stores may be more likely to feature the game. The time put in to implement was substantial though, and non-English-speaking iPhone users are still a minority of the market.

Permalink

]]>
http://files.posterous.com/user_profile_pics/774215/pixel_me_reasonably_small.png http://posterous.com/users/4ScYA1LDgQFj Adam Saltsman Adam Atomic Adam Saltsman
Tue, 06 Dec 2011 08:49:00 -0800 Open-Sourcing Your Game While It's Still Popular http://blog.semisecretsoftware.com/open-sourcing-your-game-while-its-still-popul http://blog.semisecretsoftware.com/open-sourcing-your-game-while-its-still-popul

I don't know if you all remember or not, but about a year ago, as part of a holiday indie iPhone games charity sale, we opened up the source code for Canabalt to the public.  Canabalt was still earning more than half of our monthly revenue as a company, and had only been commercially available for a little over a year. In the meantime, Canabalt had become quite popular and revived the auto-runner genre of one-touch games for the iOS platform. We thought that would be a good time to open source the game. The results of this decision, though not what we expected, have been very positive.

Part of our inspiration to go open source was the way a lot of Humble Bundle games were going open source around the same time, including our friends' IGF Grand Prize-winning game Aquaria. I talked to Alec Holowka earlier today about the results of going open source with Aquaria:

Open sourcing Aquaria was really scary for me. I knew my code was really messy in some places, and while it got the job done, I felt a bit ashamed by it. Fortunately, Ryan C. Gordon (who created the Linux port of Aquaria) convinced me that it wasn't that bad and that things would work out.

Releasing the source turned out to be a great idea. Tons of small issues in the game got fixed right away by the community. Changes were also made to the modding system, making it easier to use and enabling new features.

Folks started making their own ports of the game. One of those was a PSP homebrew port by Andrew Church. The creation of this port made me realize than an iPad version of Aquaria should be possible. Rather than having to hunt around for a programmer, I could simply recruit Andrew. It's great being able to collaborate with people who love what they do. Open source provides an interesting venue for people to prove their abilities.

I've also heard some nasty comments about the length of some of my functions. ;) But I figure I can live with that, given all the benefits that open sourcing the game has provided.

Our experience so far has been pretty similar. We had a lot of concerns at the get-go, but we've seen a few wonderful things develop since then:

  1. Other developers have been able to use some of the abstracted game engine code to create their own successful iOS games, like Austin's own Connectrode.
  2. Canabalt sales continued to be quite strong throughout the year. Putting the game source code up online didn't seem to hinder our ability to offer it commercially at all.
  3. While there were some high profile source clones, they were easily DMCA'd, and news coverage of the most recent one actually resulted in a spike in sales for our version of the game, which earned us an extra few hundred dollars.
  4. Having all the game source packed up and organized and easily accessible online has dramatically improved negotiations for commercial ports to other platforms. When vendors are interested, we simply link them to the source and tell them what kind of rev share we want. No muss, no fuss!
  5. Like Aquaria, indie devs from the homebrew scene have had the opportunity to port the game to different platforms. The most impressive port to date is the recently announced and unbelievably authentic Commodore64 version of the game:

I don't know if I would go so far as to encourage everyone to make every game open source, but for us and for Bit Blot it's been a win-win-win scenario. We continued to earn money from the games, people learned from them, contributed to them, and even got their own start in independent commercial development thanks to these open source projects. If those are things that you are interested in, then I definitely recommend considering making your project open and available to your fans and the game development community.  Sites like Google Code and Github make this process pretty painless, and the results are pretty awesome.

Permalink

]]>
http://files.posterous.com/user_profile_pics/774215/pixel_me_reasonably_small.png http://posterous.com/users/4ScYA1LDgQFj Adam Saltsman Adam Atomic Adam Saltsman
Thu, 03 Nov 2011 08:00:00 -0700 Available now: Bit-Blot's Award-Winning Aquaria for iPad! http://blog.semisecretsoftware.com/available-now-bit-blots-award-winning-aquaria http://blog.semisecretsoftware.com/available-now-bit-blots-award-winning-aquaria

It is our great honor to have the opportunity to publish our friends' award-winning action-adventure game Aquaria, which is available right now on the iTunes App Store!

Aquaria, created by Derek Yu (Spelunky) and Alec Holowka (Paper Moon), winner of the Independent Games Festival Seamus McNally Grand Prize, was originally released in 2007 to rave reviews from Wired, the Onion AV Club, The Globe & Mail, and more.  Programmer Andrew Church spent most of 2011 porting the underwater action-adventure game to the iPad before handing it off to Semi Secret Software (Wurdle,Canabalt) for distribution on the iTunes App Store.  With new controls, a new user interface, and a host of new accessibility features, Aquaria is easier to play than ever, and the iPad provides an intimate new way to experience this award-winning masterpiece.

If you are new to Aquaria, here is what the critics said about the PC/Mac version:

 “Stunningly well crafted with a compelling story, beautiful visuals and music, and hours upon hours of action-adventure, Aquaria provides patient gamers with an ocean of depth.” Mac | Life

 Aquaria isn’t so much a retro adventure as a fresh take on everything that made the old 2D adventures great.” The Onion A.V. Club

 “...Aquaria, if you give it time to boil, starts to feel like the first 10 minutes of Pan’s Labyrinth – a dark fairy tale taking place underneath our feet.” The Globe and Mail

"...high production values and intuitive controls... 9 out of 10" Wired Magazine

 WINNER: “Independent Games Festival: Game of the Year” 2007

WINNER: “Game Tunnel: Game of the Year” 2007

NOMINATED: “Best Debut” Game Developer’s Choice Awards 2008

Thanks to Andrew's diligent programming and Alec's design experience, Aquaria for iPad is the best version yet.  Touch controls, the new journal feature, auto-saves and an improved mini-map all make their debut on iPad, along with extensive optimizations to run perfectly smooth with all the special effects intact even on iPad1.  Of course if you do have an iPad2, you'll be treated to some additional visual delights!

Last but not least, we've also put together a couple of Aquaria iPad wallpapers using Derek's gorgeous game artwork, which you can download here and here.

If this sounds like your kind of game, it is available now on the iTunes App Store, and we would love to know what you think. Thanks and enjoy!

 

Permalink

]]>
http://files.posterous.com/user_profile_pics/774215/pixel_me_reasonably_small.png http://posterous.com/users/4ScYA1LDgQFj Adam Saltsman Adam Atomic Adam Saltsman
Tue, 27 Sep 2011 07:54:00 -0700 Semi Secret to Publish Aquaria for iPad http://blog.semisecretsoftware.com/semi-secret-to-publish-aquaria-for-ipad http://blog.semisecretsoftware.com/semi-secret-to-publish-aquaria-for-ipad

Aquaria for iPad Teaser Trailer from Kert Gartner on Vimeo.

Hey everybody!  I am super excited and proud to announce that Bit Blot have decided to partner with us to publish their award-winning action-adventure game Aquaria for the iPad this winter.  As you can see from the video, this version has received a lot of improvements, mostly to take advantage of the new touch-screen interface.  Otherwise, the game is fully intact, including the enormous world to explore, all the crazy boss fights, unlockable powers, and so on.  We'll have more information available soon, but for now, enjoy the video :)

Permalink

]]>
http://files.posterous.com/user_profile_pics/774215/pixel_me_reasonably_small.png http://posterous.com/users/4ScYA1LDgQFj Adam Saltsman Adam Atomic Adam Saltsman
Thu, 15 Sep 2011 08:59:00 -0700 Macleans, The New York Times, and Damn Dirty Lies http://blog.semisecretsoftware.com/macleans-the-new-york-times-and-damn-dirty-li http://blog.semisecretsoftware.com/macleans-the-new-york-times-and-damn-dirty-li

On Tuesday, September 13, 2011, Jesse Brown wrote an inflammatory article about video game developer tax breaks for the Canadian news organization Macleans, which understandably irked many of our Canadian developer friends.  In the article, he slams the Canadian game industry for gaming the tax system to get undeserved subsidies and public support for their private enterprises, consisting primarily of horrible, violent games.

Unlike my esteemed Canadian colleagues, I am not actually mad at this Jesse Brown character at all.  He did something irresponsible, and wrote an opinion piece that lacked research and comprehension.  But check out the first sentence of his article:

The New York Times has published an exhaustively reported piece exposing the cocktail of deductions, write-offs and tax credits that make the video game business one of America’s most heavily subsidized industries.

In this situation I can only use the somewhat damning metaphor of placing a steak in front of a dog, telling him not to eat it, and leaving the room for the next hour.  If you come back and the steak is gone... well, the dog did eat it, but it's hard to blame him.  The New York Times, one of the most widely respected news institutions in the world, published a lengthy article about US corporate tax breaks by David Kocieniewski on Saturday, September 10, 2011.  This is a hot topic right now, especially after the whole Warren Buffet thing.  The issue I have with this new article is not that it sets out to expose US corporate tax loopholes; it's that it makes grossly inaccurate implications about the video game industry as a way to get attention.  It's blatant sensationalism and is the primary source of the Macleans article.

It only takes a few minutes to illustrate the many ways in which the Times' article contradicts itself in the name of moral populist outrage.  In the third paragraph of the article, Kocieniewski quotes a source who claims that:

Those tax incentives — a collection of deductions, write-offs and credits mostly devised for other industries in other eras — now make video game production one of the most highly subsidized businesses in the United States, says Calvin H. Johnson, who has worked at the Treasury Department and is now a tax professor at the University of Texas at Austin.

Of course, he doesn't provide numbers.  It's easy to find numbers for other industries though: oil for example saves more than $4 billion on domestic exploration tax breaks alone.  The total amount of oil industry subsidies in the US on an annual basis is rumored to be as high as $100 billion.  The US pays at least $20 billion annually directly to farmers.  One site claims that the trucking industry in the US receives over $300 billion in direct federal subsidies.  According to Johnson's appraisal then, the video game industry should, conservatively, be receiving maybe $50 billion in tax incentives and subsidies.  That sounds a little high to me, but let's just keep that estimate in mind for now.

The other problem with this paragraph is that the specific methods he lists - namely deductions, write-offs, and credits - are, according to page 2 of this exact same article, exactly the same corporate tax loopholes used by every other major corporation in the US:

Several tax experts noted that one of the company’s biggest tax advantages is a tool available to all companies, a deduction related to the stock gains on options exercised by its executives. (Tax practitioners also said that the company’s losses, under generally accepted accounting principles, provided the most meaningful picture and reflected the standard approach used by other companies.)

 Johnson's statement implies that the game industry is somehow engaging in practices that are not considered standard, which is not only obviously untrue but the author contradicts on the very next page.  Johnson's controversial statement also lacks specific numbers, but we at least estimated the sort of figures he might be talking about, even if it prevents a real comparison to other industries.  However, the article goes on to strongly contradict our estimate near the bottom of page 1:

Many tax policy analysts say the breaks for the video game industry — whose domestic sales of $15 billion a year now exceed those of the music business — are a vivid example of a tax system that defies common sense.

If the game industry only brings in $15 billion in profits, and Johnson is implying that they receive at least $50 billion in tax breaks, clearly they need most of those tax breaks, and the noticeably unnamed "tax policy analysts" claim that this system defies common sense lacks justification.  It also obviously conflicts with the page 2 quote about how the vast majority of these "subsidies" are the same corporate tax loopholes used in every industry in the US.

Kocieniewski goes on to make a number of unsubstantiated claims about the bounteous profits the game industry reaps from the US tax system, without a single number or credible source.  For example:

When the video game industry sprouted in the early 1970s, game developers reaped substantial tax savings because most of their costs were for software development... Electronic Arts... has benefited mightily from that tax incentive.

He also claims, without numbers or sources, that:

Video game companies also get other research-related breaks... Congress added another research and development credit, this time specifically for companies that increased their R.& D. spending from the previous year... Within a few years, the credit was being claimed by businesses with little technological background — fast-food restaurants, hair stylists and fashion designers... Even when companies are merely creating new versions of existing games... their development processes usually involve enough experimental uncertainty to qualify for the tax break.

Finally, he reveals, but again without specific numbers, that:

During the last five years, Electronic Arts has claimed tens of millions in tax savings from research and development credits for its various games, according to the company’s regulatory filings. (Company officials declined to specify how much of that total came from the federal government.)

And this is only halfway through the article!  EA may have received as little as $4 million per year through R&D-related tax savings, some of which comes from California's state R&D incentive.  This is not insiginificant, obviously, and we'll talk more about state arts incentives and effects on state economies in a little bit.  The important thing to take away here, is that Kocieniewski just spent more than a quarter of his article explaining how EA claims less than $5 million per year in tax savings from a technology-related incentives program, after launching the article with claims that the video game industry is one of the most highly subsidized industries in the US, placing it in the $50 billion ballpark.  $5 million accounts for 0.01%, or one ten-thousandth, of that amount.  One can't help but feel that perhaps Kocieniewski hoped that we wouldn't have noticed that he switched from discussing industries receiving billions in subsidies to industries receiving millions in subsidies.

Kocieniewski's article continues, juxtaposing an unfunded pollution-reducing project to the game industry incentives, implying in so many words that the game industry is deliberately attacking environmental entrepreneurs by undercutting their funding.  He then quotes another tax expert, who is also an executive officer for a semi-conductor company, who goes so far as to claim that the video game industry "is hobbling American invention."

Kocieniewski then explains how EA hired a lobbyist for almost $60,000 to help get them even more tax incentives.  This is I am sure true, but Kocieniewski forgets to contrast it with the lobbying expenses from other industries.  Video games, sadly, do not even make the list.

Finally, with a mere three paragraphs left in the article, Kocieniewski actually addresses the only industry-specific subsidies that actually exist: regional incentives programs.

Several recent studies have raised doubts about the effectiveness of subsidies offered by state and local governments, and Michigan this year reduced its breaks for game developers. But Texas officials say its tax breaks for game developers are more beneficial than those given other businesses, in part because the average salaries in the industry exceed $80,000 a year.

After 3 pages of inflammatory and unsubstantiated claims, the facts seem to boil down to this one paragraph.  Regional incentives sometimes work, sometimes don't.  Depends on the city.  Kocieniewski boldly concludes:

But industry officials say they eventually hope to persuade Congress to make video game companies eligible for the federal tax breaks now available to film and television producers.

Did he even read his own article?  If I was trying to get people up in arms about how the game industry is scamming the US tax system, I probably wouldn't choose to end it by explaining how the other entertainment industries all have their own tax breaks too.  Industries, by the way, which earn more money than video games, save more on tax breaks, and spend more on lobbying.

My point, I guess, is don't be mad at Jesse Brown.  David Kocieniewski threw him a steak.  If you want to be mad at someone, be mad at the NYT for publishing a poorly researched and obviously slanted attack on the game industry.

Finally, this is decidedly not intended as a defense of the game industry.  There is a reason that I work on the fringes of this "industry" and that I work actively to change and improve it, whether it is through education, open source software or my involvement in various juries and industry advisory boards.  I am the last to defend the abuse of a 50 year old tax code which can't handle the way modern businesses are run, and which serves only to reinforce an already embarrassingly third-world distribution of wealth in the US.

However, wasting four pages of newspaper singling out the game industry as being one of the major sources of corporate tax sheltering in the US is grossly inaccurate and irresponsible.

If I have made any errors in research or interpretation of Kocieniewski's article please let me know.  The point is not to discredit any one person but to add to and clarify our knowledge of the role the game industry plays in the US.

Permalink

]]>
http://files.posterous.com/user_profile_pics/774215/pixel_me_reasonably_small.png http://posterous.com/users/4ScYA1LDgQFj Adam Saltsman Adam Atomic Adam Saltsman
Sat, 20 Aug 2011 07:50:36 -0700 cfxr for OS X Lion: Bandaid fix http://blog.semisecretsoftware.com/cfxr-for-os-x-lion-bandaid-fix http://blog.semisecretsoftware.com/cfxr-for-os-x-lion-bandaid-fix

After upgrading to OS X Lion, I launched cfxr and was dissapointed to discover that preview of sound effects was extremely choppy. Exporting sound effects still worked perfectly, but it's a bit frustrating to not be able to hear a live preview.

After a little bit of poking around, I discovered what could be considered a bandaid fix: a few lines of code added in, and now previews play back fine on my machine.

This is in no way meant to be the absolute correct fix for cfxr (I'm simply not familiar enough with the code to know). However, it seems to work well enough for me, so I thought I'd share.

You can find my patches to the cfxr project at my github project page, or you can download a precompiled binary: cfxr 0.2.0-osx-lion-patch.zip.

 

Permalink

]]>
http://posterous.com/images/profile/missing-user-75.png http://posterous.com/users/36PzbF4PNpMR Eric Eric Eric
Tue, 14 Jun 2011 08:41:00 -0700 Help Translate Canabalt, Get Your Name In The Credits! http://blog.semisecretsoftware.com/help-translate-canabalt-get-your-name-in-the http://blog.semisecretsoftware.com/help-translate-canabalt-get-your-name-in-the

Wow!  Yesterday, we asked our community of friends and fans to see if they could help us translate our App Store display text into some other languages, to help with visibility in international storefronts.  The response was HUGE: we have a French translation in our hands already, and we have volunteers committed at least four other languages in less than 24 hours. So, first and foremost, thank you!! That is so awesome.

However, it turns out that in order to update your app store text to support more than one language, you have to resubmit your application.  We're already working on a big Wurdle update, so we'll be able to update that text when we submit that anyways, but we didn't have any updates planned for Canabalt... until now.  This seems like a perfect excuse to update Canabalt to support more languages too!

So, like our app store text, these are the languages we'd like Canabalt to support next:

French

Italian

German

Spanish

Japanese

Chinese (simplified)

Other languages we wouldn't mind having include Dutch, Portuguese, Russian, Korean, Swedish and Norwegian.  And if you're interested in helping to translate into any of those languages, you can find the source text here, on our company website.  For completists, you may note that this source text includes the data for all of the in-game epitaphs!  Volunteer translators will have their chosen name displayed in the "About" screen in-game for each language.  If you are interested in helping with this translation, please contact us directly, and we're looking forward to working with you!  Thank you!

PS: If this goes as well as the app store text we are interesting in translating Wurdle and Gravity Hook HD too, but one step at a time...

Permalink

]]>
http://files.posterous.com/user_profile_pics/774215/pixel_me_reasonably_small.png http://posterous.com/users/4ScYA1LDgQFj Adam Saltsman Adam Atomic Adam Saltsman
Mon, 13 Jun 2011 09:18:00 -0700 Help Translate Our App Store Text, Get Free Games! http://blog.semisecretsoftware.com/help-translate-our-app-store-text-get-free-ga http://blog.semisecretsoftware.com/help-translate-our-app-store-text-get-free-ga

Ahoy, friends and fans!  Apple recently encouraged us to translate our App Store listings into languages other than English, and we thought that maybe you could help.  The US, UK, Australia and Canada tend to dominate our audience, and we thought it would be nice if the games could spread to other countries too.  Here are the languages we need help with:

French

Italian

German

Spanish

Japanese

Chinese (simplified)

If you are interested in translating a few paragraphs of text for us, we are offering free copies of all of our iOS games to our volunteer translators as a token of appreciation for your help!  You can download the texts in question from our company website.  We recommend emailing us first, to check and see if anyone has already started on a translation in your chosen language, just in case.  Thanks a bunch you guys!

EDIT: Thank you so much for the amazing response! We've already got French, Italian, German, and Spanish (& Portuguese and Dutch) covered! We're just looking for someone to helps us out with Japanese and simplified Chinese translations. Thanks again!

UPDATE: We are also looking for Russian, Korean, Swedish and Norwegian translations, though because they are smaller markets they are somewhat lower priority.  We would still love to have support for these languages though!

Permalink

]]>
http://files.posterous.com/user_profile_pics/774215/pixel_me_reasonably_small.png http://posterous.com/users/4ScYA1LDgQFj Adam Saltsman Adam Atomic Adam Saltsman
Mon, 30 May 2011 08:53:00 -0700 Gravity Hook HD Free Weekend Update http://blog.semisecretsoftware.com/gravity-hook-hd-free-weekend-update http://blog.semisecretsoftware.com/gravity-hook-hd-free-weekend-update

Logo

I wanted to post real quick about how our free weekend went, but first:

Screen_shot_2011-05-30_at_10

If you enjoyed your free copy this weekend, we hope that you'll let your friends know about the new low price, and we're looking forward to seeing you on the high score charts!

We can't tell until tomorrow (and really until next week or something) if making the game free for a weekend was actually good for revenue or not.  Some basic stats about the weekend:

  • Top iPad Ranking: #42 Free App
  • Top iPhone Ranking: #111 Free App
  • Total Downloads Before: ~17,000
  • Thursday Night Downloads: 436
  • Friday Downloads: 42,051
  • Saturday Downloads: 48,263
  • Sunday Downloads: 57,659
  • Total Free Downloads: 148,409

Graph

One goal of this experiment is to test the viability of making apps free on your own, instead of working with a promotor like Free App A Day.  Nothing against promoters, necessarily, but they often ask for a large chunk of the post-promotion revenue, and extra paperwork is extra paperwork, regardless of the situation.  During the same time frame that we had Gravity Hook HD up for free, about half of the top 10 free apps on each device were Free App A Day promotions, so using something like Free App A Day seems to yield much greater exposure than we were able to generate on our own.  However, the fact that we were able to increase the game's install base by an order of magnitude in a weekend on our own is encouraging.

One interesting thing is that most of the press and twitter coverage of the free weekend was on Friday May 27th, but the downloads steadily increased over the course of the weekend like they normally would.  I suppose this would be due to general improved visibility, especially on the iPad free apps list, but it's hard to say.  Also, I should note that we did not promote the free weekend as much as we should have, I think.  I more or less settled on doing a blog post and light twitter campaign, but it ended up getting picked up by the major iOS outlets anyways.  Sending a newsletter to our existing users probably would have been a good idea, but it's kind of a hassle...

In a week or two we should have an idea if this positively impacted sales of Gravity Hook, but one nice side effect is that since we run our own user database backend (alongside Game Center), we were able to collect some email addresses that we can use to advertise our next game update or launch.  I'm still working on getting the exact number, but we probably got somewhere between 15,000 and 75,000 new customer contacts.  So regardless of the impact on Gravity Hook's long tail, that's one nice concrete benefit of doing a free weekend.  One weird, unexpected downside is that the program we use to visualize our sales data, AppViz, doesn't really differentiate between free apps and non-free apps.  So while the Revenue charts weren't really affected, the Sales charts are all crazy messed up now.  For example, it says we've sold 165,000 copies of the game, when obviously the number of actual sales is more like 17,000.

Finally, I can't remember if we shared this before, and maybe it's clear anyways, but Gravity Hook HD is (was?) our worst-selling title.  We were only selling a few copies a day, so we felt like we weren't necessarily taking a huge risk by doing somethign like this.  We probably only "lost" 15 or 20 sales (less than $50 of revenue for the company) and in exchange got one of our games onto 150,000 new devices.  So we'll see what happens to the revenue, but I think otherwise this was a pretty big success!

UPDATE: There were substantial (20%+) bumps in the sales of Wurdle and Steambirds HD during the free weekend, even though they were not mentioned or on sale or anything, though Canabalt and Steambirds were unaffected.  Hard to tell if that's a causal link though!

Permalink

]]>
http://files.posterous.com/user_profile_pics/774215/pixel_me_reasonably_small.png http://posterous.com/users/4ScYA1LDgQFj Adam Saltsman Adam Atomic Adam Saltsman
Fri, 27 May 2011 08:17:11 -0700 Gravity Hook HD is FREE this weekend only! http://blog.semisecretsoftware.com/gravity-hook http://blog.semisecretsoftware.com/gravity-hook

Pricedrop

Get Gravity Hook HD for iOS for FREE!

As previously covered on the blog, Gravity Hook HD was a pretty interesting game to try and put on iOS.  However, over the last few months the performance has dropped quite a bit below what we hoped it might be capable of:

Screen_shot_2011-05-27_at_10

Not super impressive, as you can see!  Canabalt and Wurdle both provide a very stable "long tail" for us, but Gravity Hook is really not doing its part.  This is due, at least in part, to the fact that Gravity Hook HD is just not competitive on the App Store at the $2.99 USD price point.  I mean, if you have to choose between INFINITY BLADE... and Gravity Hook... well the difference seems obvious to me.

That said, the v1.1 update addressed a lot of the concerns that I had with the gameplay, and the Danny Baranowsky (Super Meat Boy, Canabalt) soundtrack is still one of my favorite soundtracks that he's ever written.  So we are dropping the price to the lowest tier, $0.99 USD, and offering the full game for free for the entire weekend, starting right now.

So I hope you'll download the game and check it out, and help us to spread the word this weekend.  If you end up enjoying the game, and think your friends might enjoy it at the new $0.99 price point, maybe you'll pass the word along then too.  If you help me remember, I'll do another post in about a month with actual numbers to let everyone know how it went.

SCIENCE!

Permalink

]]>
http://files.posterous.com/user_profile_pics/774215/pixel_me_reasonably_small.png http://posterous.com/users/4ScYA1LDgQFj Adam Saltsman Adam Atomic Adam Saltsman
Fri, 31 Dec 2010 09:04:00 -0800 Canabalt "Open Source" Details, Licensing and Extra Information http://blog.semisecretsoftware.com/canabalt-open-source-details-licensing-and-ex http://blog.semisecretsoftware.com/canabalt-open-source-details-licensing-and-ex

Os
Well it's no surprise, but there is a bit confusion about the terms and license and stuff for the version of Canabalt we released on github yesterday.  We have never tried something like this, and the few hours of research I did yielded unsatisfactory results, but as always I was very eager to get the release out!  I think we're close to having things set up right, but I wanted to go through and explain how our licensing is currently set up in a little more detail, and then explain our intent/desire about the ideal situation.  If any of you out there have more experience and insight into this matter, and want to email us some suggestions after you've read the full post, we'd love to get some advice about how to label these things and what to actually put into the license.

The Way It Is Now

Currently we have two licenses - one for the engine, and one for the content.  This seems to be the standard way of doing things, as far as I can tell.  The game engine, our first serious port of Flixel to iOS, is licensed under the MIT license, a very lightweight and permissive license that allows pretty much everything and anything.  The Flash version of Flixel is MIT as well, and folks have used it for commercial ventures, art projects, whatever.  This is phenomenal and exactly how we want this stuff to work.

Our actual game-specific code, artwork, music, and sound are currently licensed as "proprietary," which I think means basically only we are allowed to publicly distribute them.  This is partly because we have copyrights and trademarks over a lot of this stuff, partly because Canabalt is still a commercial product that helps to support our little company.  You can also check out the project README file for more info.  This is the part that has swiftly gotten hairy, though, as obviously github is distributing these things as well, but obviously we want that to be able to happen.  This is probably a good time to segue into the next section...

 

The Way We Want It To Be

Flixel for iOS we very much want to be MIT license, and it is, so that's that.  But this is how we want the licensing to work for the rest of the stuff:

Things That Are Awesome: sharing the source files with other developers (crediting us when logical/reasonable), downloading and compiling the game locally, modifying and tweaking the game locally, and even publicly forking, modifying, and tweaking the game source on github.

Things That Are NOT Awesome: compiling and distributing the game essentially as-is for free or for profit on commercial platforms (including desktop, mobile, console, etc).  Canabalt still helps pay our monthly bills, and it would obviously suck to have somebody just put a free version of up on the App Store.

The way our license is currently worded may be too strict to allow for the Awesome things, though it likely does block the NOT Awesome things.  We're very open to suggestions for existing licenses or legal language that will help us cover the game-specific code and content in such a way that we can achieve all the things detailed above.  Bonus points if the language is human readable and makes these use cases/rights obvious, making this post happily obsolete!

 

A Few Other Details

What this likely means is that Canabalt itself is not "open source" in the strictest definition of the term, and it is certainly not "free" by any stretch of software activist imagination.  If you have insight into what we should be calling this release (open source engine with... browsable game code??  I don't even know) we'd definitely appreciate that as well.

Finally, we are currently NOT looking for porting partners to put Canabalt on other platforms.  If/when that changes, we will make a public announcement on the company twitter account, likely with an accompanying blog post explaining the details, platforms of interest, etc.  In the meantime, we hope that you enjoy digging through the source ("open" or not) and really appreciate all the feedback we've gotten so far.

Oh one more thing - the Indie iPhone Holiday Sale has been extended through this weekend!  This is your last chance to get all 6 games (Drop7, Eliss, Solipskier, Spider, Osmos, and Canabalt) for just $0.99 each, a third of which goes to support Child's Play, a great charity that gets toys and books and games to sick kids in hospitals around the world.  Thanks and have a great new year!

Permalink

]]>
http://files.posterous.com/user_profile_pics/774215/pixel_me_reasonably_small.png http://posterous.com/users/4ScYA1LDgQFj Adam Saltsman Adam Atomic Adam Saltsman
Thu, 30 Dec 2010 12:02:00 -0800 Over $25,000 Raised For Charity: Canabalt Goes Open Source! http://blog.semisecretsoftware.com/nearly-25000-raised-for-charity-canabalt-goes http://blog.semisecretsoftware.com/nearly-25000-raised-for-charity-canabalt-goes

Os
I am really excited to announce that the Canabalt source is now open and available, including the game code, Flixel for iOS, graphics, sound effects, and music:

Download Canabalt Source

More on that in a moment, however!

Indiesale_600px_landscapebanner
First I wanted to explain why we would do such a thing.  First and foremost, the holiday charity fundraising effort in which we are participating, the Indie iPhone Holiday Sale, raised over $25,000 so far for Child's Play, a wonderful organization that helps bring games and toys to children in hospitals around the world.  Let me put up the current total (as of Thursday, December 30th, 2010) in a bigger font, just for everyone's benefit:

$25,350.25

How amazing is that??  I think it's kind of amazing, and there are still a couple days left, so if you're a fan of fantastic iPhone games, I definitely recommend checking out Ellis, Drop7, Solipskier, Spider, and Osmos if you haven't already.  If you have, consider a late holiday gift for a loved one!

So yea, as a thank you to everyone who supported the sale, and to anyone who's planning to do so in the next few days, we are open-sourcing Canabalt.  Some quick stats about Canabalt:

  • Flash prototype created in 5 days by Adam
  • Ported to iOS in 10 days by Eric
  • More than 225,000 copies sold to date
  • Successfully and publicly bucked the $0.99 trend
  • Soundtrack by award-winning Daniel Baranowsky
  • One of Apple's best iPhone games of 2009
  • Popularized the "auto runner" genre

Canabalt has been a crazy ride for us.  It's helped keep the lights on and pay for our health insurance, and allowed us to take the kind of risks that indie devs love to take.  But, in the spirit of the Humble Indie Bundle, the holidays, and a (likely) bout of temporary insanity, it's time to open our trenchcoat and show everybody what we've got going on under there!

Open Source Details

DISCLAIMER: We wanted to offer our condolences to everyone who downloads this and goes poking around in there.  This was a rushed Flash game, ported, in a rush, to the iPhone, before iPads or iPhone4s even existed.  We try very hard to stay up to date and do good work, but we're just two dudes - it's possible if not likely that some of the way we do things is not ideal or optimal.  We hope that you find this project interesting or useful in spite of that, and of course we intend to keep working on it.

This is The Newest Version

This code isn't even up on the App Store yet!  60 FPS performance on iPad and iPhone4 and proper retina support are included, as well as the optimizations that helped make that stuff possible.  All the artwork, animation, music, and sound effects are available for download.

Flixel iOS

Canabalt is running on our first major attempt at porting Adam's Flixel framework to iOS.  We had a lot of reasons for doing this, and the results have been... variable.  But if you are a Flixel (or even native Flash) developer, and you have a basic grasp of ObjectiveC, this source code might still be useful to you!  Hopefully we'll be announcing a slightly less insane and more flexible version of Flixel in the near future (we always say that don't we).

Features and Stuff

Canabalt is doing some things that we hope will be helpful to other developers out there, like generating texture atlases, rendering particles in clumps, performing serviceable collisions, displaying animated sprites, and so on.  Dig in and see what you think!

Something's Missing

We decided not to distribute our proprietary high scores and twitter backend support stuff.  Mainly, it makes a real mess of the game code, but we also didn't want to risk exposing our database or user data.  However, we've previously shared our iOS xAuth Twitter implementation so hopefully that helps make up for this omission!

What's The Catch?

There isn't one, really.  We've decided to license the game engine under the MIT license, which is basically "you can use it for anything you want, even for commercial stuff but it's not our fault if it doesn't work."  However, the Canabalt-specific game code, game art, animation, music and sound effects are all proprietary, and protected by our copyrights and trademarks.  That is, you can copy-paste our engine code (any of the Flixel stuff, which is most of the good stuff anyways), and even sell it on the App Store, but you can't distribute or redistribute our game code, art or sounds.  I hope that makes sense!  Engine stuff is ok to distribute, Canabalt-specific stuff is not.  We really appreciate your understanding on this, and you can find the license texts in the source code repository if you want more information.

That's about all I can think of at the moment.  Check it out, and spread the word about our charity sale if you remember, and have a great New Year's!

Permalink

]]>
http://files.posterous.com/user_profile_pics/774215/pixel_me_reasonably_small.png http://posterous.com/users/4ScYA1LDgQFj Adam Saltsman Adam Atomic Adam Saltsman
Wed, 22 Dec 2010 08:08:00 -0800 Charity Progress Update (and Canabalt Update In Just a Few Days!) http://blog.semisecretsoftware.com/charity-progress-update-and-canabalt-update-i http://blog.semisecretsoftware.com/charity-progress-update-and-canabalt-update-i

Indiesale_600px_landscapebanner
Hey everyone, thank you so much for your support and your help since the launch of the Indie iPhone Holiday Sale.  Between the six of us (Osmos, Canabalt, Drop7, Eliss, Spider and Solipskier) we've already raised more than $3000 (possibly $4000, still waiting on some numbers).  We absolutely (obviously even) could not have done it without you.  But we're just getting started - since we raised so much so fast, I am happy to announce that before the year is out Canabalt will be updated with:

  • Full Game Center support
  • Full Retina support
  • 60 FPS gameplay on iPad and retina devices

If we break $5000 by tomorrow morning then we can make another announcement!!  Help spread the word and help us help some kids!

Permalink

]]>
http://files.posterous.com/user_profile_pics/774215/pixel_me_reasonably_small.png http://posterous.com/users/4ScYA1LDgQFj Adam Saltsman Adam Atomic Adam Saltsman
Mon, 20 Dec 2010 20:00:00 -0800 OMG Canabalt is On Sale You Guys! (or: The Indie iPhone Holiday Sale is Go!) http://blog.semisecretsoftware.com/omg-canabalt-is-on-sale-you-guys-or-the-indie http://blog.semisecretsoftware.com/omg-canabalt-is-on-sale-you-guys-or-the-indie

Indiesale_600px_squarebadge
I know we said we'd never do it, but we did it.  And it's for a good cause!  We teamed up with our friends from Osmos, Spider, Eliss, Drop7 and Solipskier to put ALL of our apps up for $0.99 over the holidays, and we're giving a third of every dollar we make to Child's Play.  The sale goes from right now until December 31st, and we'll do our best to keep you up to date with how much we've earned for charity over on the official site.

It might be obvious, but we are really inspired by what John and Jeff are doing with the Humble Indie Bundle.  We have some obvious limitations, being iPhone apps, but we wanted to do what we could.  I know for us it's just an honor to be in such a prestigious collection, and I hope you'll check out our friends' games, if you somehow haven't already.  Even if you have all of these games (which really, who could blame you), you can still help by telling your friends or picking up gifts for your loved ones.

If you have any questions or anything we've set up a twitter account to help with support throughout the weekend.  Thanks, and have a happy and safe holiday (unless you're into danger, of course, then by all means have a dangerous holiday)!

Permalink

]]>
http://files.posterous.com/user_profile_pics/774215/pixel_me_reasonably_small.png http://posterous.com/users/4ScYA1LDgQFj Adam Saltsman Adam Atomic Adam Saltsman
Sat, 18 Dec 2010 11:24:00 -0800 Wait, So Who Made SteamBirds Anyways? http://blog.semisecretsoftware.com/wait-so-who-made-steambirds-anyways http://blog.semisecretsoftware.com/wait-so-who-made-steambirds-anyways

This is apparently a much more complicated question than we imagined at first.  Thankfully, it's pretty easy to answer.  SteamBirds comes in 3 flavors: Flash, iOS, and Android, and different devs worked on each flavor:

Flash

The original Flash version of SteamBirds was designed and programmed by Daniel Cook (of Lost Garden fame) and Andy Moore, as Spry Fox and Radial Games respectively.  They've been great business partners, and were instrumental in our port of the game.  Which brings me to...

iOS

iOS of course refers to all the mobile Apple platforms - iPhone, iPod Touch, and iPad.  We ("we" being Semi Secret) handled this port in cooperation with Radial Games and Spry Fox.  The epic soundtrack, exclusive to the iOS version, is by Daniel Baranowsky as usual.

Android

The award-winning Android port was made by Flat Red Ball, also in cooperation with Radial Games and Spry Fox.

I hope that clears up any misunderstandings, and we're glad you've been enjoying the game, regardless of platform or device :)

Permalink

]]>
http://files.posterous.com/user_profile_pics/774215/pixel_me_reasonably_small.png http://posterous.com/users/4ScYA1LDgQFj Adam Saltsman Adam Atomic Adam Saltsman
Tue, 14 Dec 2010 15:11:00 -0800 Gravity Hook HD v1.1 Update is out! http://blog.semisecretsoftware.com/gravity-hook-hd-v11-update-is-out http://blog.semisecretsoftware.com/gravity-hook-hd-v11-update-is-out

After a lot of confusion and distraction, we can finally, happily announce that Gravity Hook HD has been updated!  What a crazy project this turned out to be.  The update has some nice things - our first support for Game Center, Retina support, 60 FPS gameplay, new physics, the full array of node arrangements, and a bunch of little tweaks and fixes.  It's still Universal, and only $2.99 in the US.

Gravity Hook (as opposed to Gravity Hook HD) was maybe the fourth Flash game I ever made, and the first one I released that felt like a kind of actual game, the kind of thing I could play and enjoy.  Simple controls, skill-based gameplay with random or procedurally generated elements, a lonely, mysterious hero in a dark and hostile environment, pixel art, and a cool Danny B soundtrack.  I built Gravity Hook in Flash in about a week, and did all the code, art, and sound effects (SFXR ftw) myself.  I made Gravity Hook publicly available from my website pretty much the day I finished it, at the end of August 2008.

Gravity Hook was inspired mainly by this typing-tutor kind of prototype that Arne had made, where you pressed keyboard keys to connect to dots.  As you got closer to the dots, you moved faster, but if you touched the dot you died.  The hook, as it were, is you get the biggest jump or fling by letting go as close to the danger mark as possible.  Game designers refer to things like that as "risk-reward" mechanics, so Gravity Hook was also inspired by one of the awesomest risk-reward indie games ever made, Thrustburst, which came out just a few months before Gravity Hook.

August 2008 feels like a long time ago now.  I was still struggling to keep my freelance game contracting gig afloat, my wife was still working a job she hated at a software company, and I'd never worked on an iPhone game before.  About a week after Gravity Hook came out, we released our first iPhone game, Wurdle, which went top 10, and I secured a rad game contract (Dr. Dobb's Challenge 2, which apparently does not exist on the internets anymore).  It really felt like things went from zero to sixty in no time at all, and Gravity Hook happened right in the middle of it, but only contributed in weird, indirect ways.  It was an odd month.

Anyways, fast forward a year or so to August 2009, and another one week project called Canabalt.  We were able to put that on the iPhone a few weeks after it went bonkers on the web, and it worked out really well.  Really, really well actually!  Putting Gravity Hook on the phone seemed like a no-brainer at the time, especially since there was still only one device to support; there was no iPad, no iPhone4 with its fancy retina screen.  I'd also received an email from a teacher from Florida who had a clever idea about how to translate the mouse-based controls to the iPhone.  It ended up not working out at all, but it set my brain to work on what could work on the phone, and what it could look like.

So in January 2010 I set out to rebuild Gravity Hook in a modern iteration of Flixel, and to explore it in a little more detail.  The plan was at minimum to repaint all the graphics with a higher level of detail, redo the music to be a little more hi-fi, and explore the design a little more.  People liked Gravity Hook because it was simple but hard, I think - the rules were simple, but the gameplay could be unforgiving too.  "Unforgiving" is not usually an adjective you see describing popular iPhone games, so part of exploring the design meant trying to make it more accessible.

At the same time, after porting Canabalt, we set out to make it easier to port future Flixel-based games, by maintaining an iPhone-friendly ObjectiveC version of the library, and a translation utility, to convert ActionScript into the ObjectiveC equivalents.  This, too, seemed like a no-brainer - we could prototype in Flash and then just click a button and get an iPhone game.  Easy peezy!  We even announced it at GDC in March 2010.

Well, repainting the graphics and redoing the music was fun and easy.  Updating the code to run on a more modern version of Flixel was really easy.  Redesigning the game to be more iPhone friendly seemed easy too.  First, we had to slow the player down.  A good rule of thumb for skill-based game development is that faster = harder.  Slower player movement meant that we could have more latitude for obstacles too.  Initially I had some pretty ambitious ideas about the obstacles - switches you could latch onto, etc.  I tried to narrow it down though to just sensible iterations on the existing node or bomb design.

In Gravity Hook, the Flash version, there are just these blue nodes, that "arm" themselves when you latch on, and blow up if you touch them while still connected.  The logical iterations on that idea then are nodes that never arm, and nodes that are always armed, being easier and more difficult variations respectively.  I also thought it would be cool to have a sort of "abandoned sea mine" type of node, that woudl add some fun physics/collision aspects to the game.

The last thing I wanted to add was areas where the mine-shaft would narrow, and the player could kind of swing themselves from side to side and boucne off the walls.  Every loves wall-jumps right?  The colliding "abandoned" nodes coupld play into that too. So that's the game I made.  It took about five weeks, working about 6 hours a day on weekdays only, and I finished the Flash version sometime in February.

So why didn't Gravity Hook HD come out until July 27th?  Well, a bunch of things happened.  First, writing software to magically change our Flash games into iPhone games ended up being... slightly trickier than anticipated.  Then the iPad came out.  Then we had to update this, fix that, and so on.  In the meantime, I found myself deliberately not playing the game, because it just wasn't that much fun.  This happens during development projects sometimes, but the feeling just stuck around.

Anyways, the game released and got some good reviews, but didn't fare nearly as well as our other three titles (Wurdle, Canabalt and SteamBirds).  It fell off the charts almost immediately despite a gracious feature in the iPad store.  But this didn't really surprise me; something was really wrong with the game.  I just couldn't figure out what it was.

Slowly though, I started to put together what was wrong.  First, and most simply, there was a typo in the code that was artificially  limiting the variety in the way the obstacles were generated.  That was an easy fix.  Second, though, and much trickier, is I'd misjudged the rule of thumb I mentioned earlier - the bit about "faster = harder".  It doesn't mean the rule is wrong, but it does mean I shouldn't have just applied it indiscriminately!

From a player perspective, Gravity Hook doesn't have a lot to learn.  You touch things to grapple, touch other things to release.  The only thing that's in there, really, is figuring out how close you need to be to "successfully" grapple, or pull upward.  If you grab on from too far away, you'll fall off the screen and die.  The counter-intuitive thing for me was that when the game physics were much faster, and to my eyes more hardcore, the game was actually much easier to learn to play.  Players knew right away if they'd grabbed from the correct distance, and even though the game was technically difficult, they understood how it worked and what was happening, even if they couldn't handle it.

Gravity Hook HD, on the other hand, was very confusing to play.  If you grabbed a node from too far away, the game physics were slow enough that it might take an extra few tenths of a second for it to be clear that the grapple attempt had actually failed.  This ended up being pretty disasterous I think.  The first thing I changed when I started working on this update was to get rid of that gray area.  You still move pretty slowly, but if you grab on from too far away, you start falling instantly.  If you grab on from close enough, you start climbing instantly.  I think it helped a lot.

We also looked around for other sources of friction that were unanticipated.  The original game never narrowed, had no ceiling sections you could bump into, so I'd never thought about how to best handle the situation where a player bumps into the ceiling.  Originally I'd just set it to bounce the player off, which seemed fine, and looked cool.  However, it was nearly impossible to recover from that sort of thing.  The velocity of the bounce, plus the game's gravity, easily overpowered the strength of the grappling connection.  The obvious thing (after the game was out for a few months of course) was to make it so that if you were falling downward, your grapple strength was increased, to counteract some of that extra falling speed.  As soon as we changed that the game felt much better right away.

So how come the update didn't come out until today?  Well, SteamBirds for one!  My travel schedule this summer and fall didn't help either.  We also had some crazy crash bug that was only happening on one certain version of iOS that was preventing us from clearing the App Store submission process.  Thankfully all that is resolved, and the game is out, and I actually think it's fun now.  It's really satisfying.

The question is, should we keep updating it?  It's tough to justify on the one hand.  It hasn't sold very many copies, and it's hard to spend time beefing up a game when we could be spending time on something new and exciting.  But I'd love to see some extra stats put in, especially now that we support game center - longest leap without grappling, most spins in one jump, most wall jumps in a single climb, average meters/second climb rate, etc.  It'd be fun to add some new obstacles someday too.  But then, there's the allure of the New Project, the Next Game...

Well I'm clearly rambling at this point.  If you stuck it out so far, thanks for the read, and I hope it helps you in your next project or in understanding a little bit more about the weird schedules of a small iPhone developer.  Thanks!

Permalink

]]>
http://files.posterous.com/user_profile_pics/774215/pixel_me_reasonably_small.png http://posterous.com/users/4ScYA1LDgQFj Adam Saltsman Adam Atomic Adam Saltsman
Tue, 14 Dec 2010 00:16:00 -0800 Curse You, Debug Flag! http://blog.semisecretsoftware.com/curse-you-debug-flag-or-the-different-types-o http://blog.semisecretsoftware.com/curse-you-debug-flag-or-the-different-types-o

Tonight we released a big update to SteamBirds and SteamBirds HD on the App Store.  New missions, new planes, added some nice, robust resume behavior to the SQLite layer (i.e. database stuff) that manages the player's progress data, lots of good stuff.  Of course, when there's just two of you at your company, and you have a lot of features to add, you both end up doing a lot of testing.  After all, you wouldn't want to mess up a great big update (which includes bug fixes) with a new bug!

After we tested the living crap out of the database stuff, and made 300% sure that we'd tracked down all the weird multitasking and progress bugs, we started working on implementing the new missions.  To help make playtesting easier on us, we added a flag to the project that would just set all the levels as playable.  This is pretty common practice for any project that has levels and is still in development.  After a long night of testing and making sure that all the new levels were functional, beatable, fun, balanced, and interesting, we were finally satisfied.  We packaged up the game and sent it off to Apple.

Only we forgot to turn off the "unlock all missions" flag.

The result?  The Timeline screen has all the missions unlocked with 1-star ratings.  It looks like the game has completely lost its mind, and the player's progress too.  Thankfully, any players who were using an online account or sync'ing their progress through the cloud have all their scores safely stored on our server, and they'll be set back to their original values when the next update is released.  We submitted the bug fixes to Apple tonight, and with a little luck it'll make it through review before the holiday lockdown.

Anyways, back to the business of the debug flag - those of you who are professional developers, in games or software, are likely expressing some surprise here.  Why, you wonder, did we not make sure we set the "unlock all missions" flag to only be possible in the compiler's Debug mode?  We just forgot.  We think that's the important lesson here though.  The problem is not just that we forgot to turn the flag off when we submitted; it's that we forgot to make it so the flag just couldn't be turned on in a Release build.

Of course, we also forgot to step back and look at our submission build from a distance, as it were, but that can be hard to remember when you're right up close to the thing for days, weeks, or months at a time, especially at the end of the project.  Remembering to enclose debug flags in Debug-only compile tags is something we can just integrate into how we develop, that can help prevent end-of-project headaches like these.

Anyways, I hope that helps explain a little about what happened, and what we learned from it.  THE JOURNEY CONTINUES...

Permalink

]]>
http://files.posterous.com/user_profile_pics/774215/pixel_me_reasonably_small.png http://posterous.com/users/4ScYA1LDgQFj Adam Saltsman Adam Atomic Adam Saltsman