Archive | January, 2010

IsoWords 1.1 sneak peak

22 Jan

I believe I am just two weeks away from submitting the 1.1 update for IsoWords. It is a huge update; in fact, I believe I have spent more time on this update than I did on writing the core game. Perhaps it should be called 2.0…

Please take the screenshots below with a grain of salt. The interfaces are more like wireframes. The next 2 weeks of work is being devoted to putting in the final artwork.

  • Bluetooth/WiFi multiplayer

    There is a new way of playing multiplayer games in this update. In the current version on the app store you can play with multiple people through the “pass and play” option: each person takes a turn on the device and then all the words and scores are compared at the end.

    In Bluetooth/WiFi multiplayer up to 4 devices can participate in a game of IsoWords at the same time. The only restrictions are the following:

    1. All devices must be running OS 3.1 or newer and be connected to the same WiFi network
    2. or all devices must be 2nd generation or newer, running OS 3.0 or newer and Bluetooth must be on

    Further, there are 3 different ways of playing IsoWords:

    1. Parallel: In this mode all participants play the same puzzle for the same length of time and the scores and words are compared at the end. It is essentially the same as “pass and play”, except everyone plays on their own device.
    2. Battle: Everyone plays the same puzzle, except now once a word has been found on one device it will be marked on all other devices. This means words can only be found once across all devices. Also, once a cube is removed from one device it will be removed from all others too. These games can get very heated since you might be in the middle of forming a really good word, and either someone else will find it first, or a cube you need gets removed before you finish!
    3. Rounds: This mode is a little more leisurely and allows you the time to find bigger words. This game proceeds in 10, 15 or 20 second rounds. In a round each player can submit exactly one word or remove exactly one cube. Words found in one round cannot be repeated in later rounds. It allows, however, for all players to get the same word in a round.
    Bluetooth/WiFi multiplayer - your words are white, everyone elses are red.

    Bluetooth/WiFi Battle - your words are white, everyone else's are red.

  • Multiplayer & LITE version

    The biggest problem with Bluetooth/WiFi multiplayer on the iPhone/iPod platform is finding a bunch of friends who are also willing to buy the app so that you can actually play. I believe I have novel solution to this problem. People with only the LITE version of IsoWords will be able to participate in Bluetooth/WiFi games. The only restriction is that at least one person in the group must have the full version of IsoWords.

    *So, if you have the full version of IsoWords and you are having a hard time convincing friends to buy it so you can do multiplayer games, just tell them to grab the LITE version.

  • Improved Facebook / Twitter integration

    There is now a settings screen where you can enter your Facebook / Twitter account info once and it will be stored indefinitely. This way you do not have to re-enter it every time you want to post a challenge.

  • Respond to Challenges

    Right now when you accept a challenge through Facebook, Twitter or email there is no way to respond to your challenge to let them know if you won or lost. This update allows you to do just that. If the challenge was accepted via email, you will be able to send an email back with the scores and words of both games. If the challenge was accepted via Facebook / Twitter, then a message will be posted back to your account saying that you won or lost along with a link showing the results. For example, a Twitter response looks like this and the results page looks like this.

    *Unfortunately this functionality requires that both people are running the current version of IsoWords.

  • Global Leaderboards

    IsoWords now has custom leaderboards for comparing your scores and words with everyone else in the world. I would have loved to use OpenFeint or Plus+ for this, but neither could completely accommodate my needs. There are leaderboards for every length of gameplay (1 min, 2 min, etc.), as well as a leaderboard for highest scoring words. Further, the leaderboards can be filtered by top scores for the past 24 hrs, past week or all time. This way everyone has a chance to get a top position on the leaderboards.

    In order to participate in the leaderboards you need to either provide a nickname, or connect to your Facebook and/or Twitter account. Once you have done this all of your past past scores will even be submitted to the leaderboards. Further, if you connect to your Facebook / Twitter account you will also see all the scores of your friends.

    Leaderboards for Top Free Play games and Highest Scoring Words

    Leaderboards for Top Free Play games and Highest Scoring Words

  • Daily Challenge

    Everyday a single puzzle will be posted that everyone can play. This allows you to see how your skills stack up against IsoWords player across the world. There is a special screen where your ranks for each day are aggregated:

    You can easily see your position in every daily challenge on the calendar.

    You can easily see your position in every daily challenge on the calendar.

  • Other Improvements

    1. More customizations in the settings screen, e.g. if you do not want the 2nd tap of a letter to submit your word (sometimes you accidentally submit a word), you can now opt out of this functionality.
    2. An official SOWPODS word list is now implemented.
    3. A few small bugs and crashes have been fixed.

What happens when phone dies while an app is open?

22 Jan

I wasn’t sure what happens when the iPhone dies and you are in the middle of an application. Does the applicationWillTerminate: method get called like it should, and is it allowed enough time to take care of its business before being forced to quit? I have been meaning to test this out, but never really had the patience to run down my phone’s battery while using an app.

Well, today this naturally happened to me while I was testing IsoWords, and I am happy to report that it worked perfectly. It appears that when the phone is ready to turn off due to low battery it exits the app as if the user had hit the home button, waits a moment, and then turns off. Therefore the applicationWillTerminate: method gets called like it should. IsoWords uses the applicationWillTerminate: method to save the game’s state when exiting so that the player can resume when the app is re-opened. The code is fairly simple, it just puts everything in an NSDictionary and saves it to a plist on the disk. This was all handled successfully so that when I charged my phone and opened the app my game was still intact.

Just thought this info might be useful to other devs.