Left Anchor
Right Anchor

iOS 11, 64-bit, and Rogue Touch

August 31st, 2017

Apple makes so many changes to iOS annually that developers everywhere must dread the month of September. 2017 is an especially tough year, this fall marks the end of 32-bit support in iOS. I personally am about to lose a bunch of my favorite iPhone games and apps of the last 8+ years due to lack of updates from their creators. Many of you have been justifiably concerned that Rogue Touch would be listed among the casualties of iOS 11.

Rogue Touch was originally released on February 19, 2009 and has supported every version of iOS since 2.0 (referred to as iPhone OS back then). It was last updated in September 2013, an eternity ago in the App Store. Sometimes iOS updates only cause performance issues… I’m looking at you iOS 4!!! Sometimes the changes are totally game-breaking as seen with iOS 7, which happens to be the last time RT was updated and saved from oblivion.

Today, the 32-bit apocalypse is approaching fast. Rather than simply meet the minimum of 64-bit and iOS 11 support I really wanted to make this update special, so earlier this summer I had a meeting with an artist friend (who is currently working on RT2 artwork) and discussed various ideas for enhancing Rogue Touch. He proposed something more detailed and modern looking but still familiar to longtime players, and created some exciting samples! We crafted a plan, set the budget and timetable, and got started.

Despite the number of images to re-create in a hurry, I think he had the easier end of things. Dusting off the Rogue Touch source code I discovered the lurking horror of 600+ deprecations of various functions used within that had occured over the years! Pulling on one thing unraveled multiple other issues. It felt like fighting a Hydra with a rusty dagger. The technical details may be worthy of a separate post! In the end, about 30% of the Rogue Touch codebase has been modified. Way more than planned, but the results are pretty cool.

I play-tested a lot, and being immersed in RT again after so long gave me lots of little ideas to improve it. What started as a bare-bones plan to meet iOS 11 requirements bloomed into a large scale project that made Rogue Touch even better than ever. The update has been submitted to Apple and pending approval will be released very soon, almost exactly 4 years after the last one! This time it’s much more than just a compatibility / bug-fix release…

“What’s New” notes will be posted in the forums later. For now, here are a few teaser images to show the before and after transformation:

Original Rogue Touch (2009-2017)

Original Rogue Touch (2009-2017)

Rogue Touch Version 2.0 should keep us all exploring the dungeons of doom for years to come.

Please share your thoughts here in the comments section or forums, and spread the word on twitter or wherever you like to hang out! And if it’s not too much trouble, I’d love to see some new & updated reviews in the App Store once the update goes live :D




    12 Responses

  1. Thank you a lot for the great update, Kevin! This is one of the best news in 2017. When I knew that the old version of RT doesn’t work on iOS 11, I felt so sad and absolutely hated Apple. I cannot understand why Apple abandons many great 32-bit apps. Therefore, this update saved me and many RT fans all over the world :) The new Rogue Touch seems REALLY wonderful! I can’t wait it. Thanks again Kevin!

    Comment by Takosuke (@octoparma) on August 31, 2017 at 5:27 pm

  2. Awesome!… One of my all-time favorite games

    Comment by gregban on August 31, 2017 at 9:49 pm

  3. A great game that keeps you glued on the screen for hours!

    Comment by KannaPickles on September 1, 2017 at 9:02 am

  4. Thanks for the support everyone!

    Takosuke, I know how you feel about this whole 32-bit thing. There are some really cool 32-bit-only games I still play, and the TouchArcade app, which I enjoy using to learn about new games even more than visiting their website.

    All that stuff will be lost forever… But at least we’ll still have Rogue Touch ;)

    Comment by Kevin on September 1, 2017 at 10:24 am

  5. Despite the update description saying that the new minimum is iOS 8.0, iTunes 12.6.2.20 won’t let me install RogueTouch 2.0.64 on my 5th generation iPod Touch running iOS 9.3.5. Either the description of the update is wrong, or the code needs to allow the 5th gen iPod Touch.

    Version 1.7 worked fine on my device.

    Comment by Brian on September 2, 2017 at 9:28 pm

  6. Hi Brian,

    The new minimum for Rogue Touch 2.0.64 was raised to iOS 8.0 as you know, despite the fact I would have preferred to continue allowing older devices and hardware to run it. Apple keeps moving forward, dragging us into the future kicking and screaming :P

    According to the Apple documentation I’ve read, your device should be ARMV7 compatible. I double checked my build and it’s set for both ARMV7 and ARM64, with minimum of iOS 8.0. All details suggest you should be able to run this update.

    I’m curious- Are you unable to do a direct download of this update from the App Store on the iPod? Meaning: with Rogue Touch 1.7 installed on this 5th generation iPod Touch, you would go to the App Store on the device and trigger the update to 2.0.64? Or even better, just delete RT completely from the iPod, reboot it, then go to the App Store and search for Rogue Touch and do a direct install? You’ll lose the high-score and in-progress game either way due to file incompatibilities between 1.7 and 2.0.64. I have heard of problems trying to install apps using iTunes, and I think they are worse if you have more than one iOS device associated with your account.

    I’m sorry I wish I could be more helpful than asking questions, I don’t have an iPod 5th gen to try it on. I’ll ask around to see if anyone else has seen this issue. I do know that ~1200 old users appeared to update on Friday successfully according to my iTunes stats, perhaps some of them are iPod owners…

    Please let me know if you discover anything else. Thanks for your patience!

    Kevin

    Comment by Kevin on September 2, 2017 at 10:04 pm

  7. Hi Brian,

    Asked on Twitter for anyone who has tried running on a 5th gen iPod Touch…

    While waiting for replies I checked my listing for Rogue Touch in the App Store and noticed it does NOT mention the 5th generation iPod Touch as compatible (when it should be). Surprisingly some older phones are not on the list there either.

    At the moment I am suspicious there’s been a mix-up during upload or processing for iTunes, or maybe a complier setting that is incorrect. Once I figure out the root cause I will post on Twitter and either here or the forums.

    Assuming its something I can fix on my end I’ll roll out a new update soon and include a couple bonus items that I couldn’t finish prior to the end of August! :)

    Comment by Kevin on September 2, 2017 at 10:44 pm

  8. I generally avoid over-the-air updates as I have less control over what happens with them.

    I just tried an over-the air-update, and got a pop-up on my iPod Touch that says “Download an older version of this app? The current version requires iOS 9.3.5 or later, but you can download the last compatible version.”

    I am running iOS 9.3.5, and I already have the previous version of Rogue Touch installed on my device, so I cancelled the download.

    I deleted Rogue Touch from my device and then tried the over-the-air App Store again. I got the same pop-up, but selected Download this time. Version 1.7 was downloaded and installed on my device.

    I have updated other apps for this device that were 64-bit revisions, and they seem to work fine. I would guess that this is a compiler flag during the build, or perhaps some metadata that Apple has wrong that is causing the update to not see the device and iOS as the correct versions for this device.

    Thanks for looking into this.

    Comment by Brian on September 3, 2017 at 10:25 pm

  9. You’re welcome!

    It is an important issue, and I’m surprised you are the only one who’s experienced it (or at least the only one to bring it to my attention)! The extra details you provided here are greatly appreciated.

    Takosuke was kind enough to independently verify it has the same issue on an old iPad 2 as well. This appears to be a lack of armv7 support where it was intended, so it affects devices like the iPod touch 5th Gen, iPad 2, and iPhones 4s, 5, and 5c. Basically anything without a 64-bit CPU as you have noticed.

    Timing to fix support for these armv7 devices: I’ve got some important contracted business to attend to for a couple weeks before I can spend much time on RT again. That’s the reason why I pushed to release by the end of August / 1st of September so I could beat the iOS 11 release coming later this month… Hope you can understand the short delay.

    With that said, I’ve already created a new branch for V2.1 and will ensure this is fixed along with providing some new features :)

    Comment by Kevin on September 4, 2017 at 7:00 am

  10. My iPad Mini with 9.3.5 doesn’t let me download the new version either. I have removed the old version.

    Comment by Icemonster on September 11, 2017 at 2:04 am

  11. Hi Icemonster,

    Thank you for the note, sorry you’ve been affected by this as well.

    I believe I have identified the specific settings that accidentally excluded armv7 support, despite my intent that it was supposed to be available in version 2.0.64. There are not many RT players on old devices left out there but you’re all important to me!

    Once my business trip is settled later this month I’ll be fixing this and adding a few other new tweaks based on feedback received between now and then.

    Soon you’ll be able to enjoy the new Rogue Touch as well, sorry for the temporary inconvenience :)

    Comment by Kevin on September 11, 2017 at 8:13 am

  12. This is very pleasing news. As a game developer myself I must also give a credit to your exceptional customer care ;-) Keep up the good work!

    Comment by Icemonster on September 11, 2017 at 10:27 am

The comments are closed.

Left Anchor
Right Anchor