WarLight for iPhone and Android!

It’s time for a big announcement! I’ve been hard at work on making a mobile version of WarLight, which will first target iPhone and then later Android devices.

The mobile client will be a native app offered on the Apple App Store and the Android Market. This will be a full equivalent to the Flash client in that you can play the exact same multi-player games as you can on your computer, however the UI is completely re-worked to adapt to being played from a phone. This means it’s not a scaled-back version of WarLight — it supports all of the settings and all maps! Before you get too excited though, know that it’s not done yet — see below for a timeline.

WarLight is a perfect game for mobile devices due to its asynchronous nature. Unlike other multi-player games where you have to be online at the same time as your opponents, WarLight allows you to take your phone out of your pocket whenever you have a free moment, enter your orders, and put it right back. I believe the mobile platform will only get more important as time goes on, as fewer and fewer people own desktop PCs. And WarLight is a great fit for this environment. My goal is to put WarLight on as many devices as possible, so you can play no matter where you are.

Tablets

I know many of you at this point are wondering if this mobile client will run on your iPad or Android Tablet. The short answer is yes – it will run as an iPad or Android Tablet app. However, it’s important to understand that the UI is designed to be used from a phone.

I do recognize that tablets are also a growing market, and I do believe that WarLight is a fabulous game for tablets as it lends itself very well to a touch interface. In the future I hope to build a UI that�s custom-tailored to fit the tablet form factor. However, this release is focused on phones. The fact that it happens to also run on tablets like the iPad is just a free bonus.

Preliminary Timeline

As stated above, the mobile client is still a work-in-progress. I’ve been working on it in secret for a long time, and I’m finally within reach of having a “preview” version that I can share with the purpose of getting feedback. This is the first mobile app I’ve ever made, so I expect it to be a learning process with many iterations. For this reason, the first previews will be member-only. If you’re a WarLight member, you don’t need to do anything extra to sign up for the betas – just keep an eye on the blog.

1.05: The first step is to get WarLight 1.05 out (hopefully this week). This will this contains all of the changes to the server code needed to support the mobile client. For example, the format that WarLight stores maps internally is changing a lot so that mobile devices can render them quickly.

Preview: After 1.05 is out, there’s at least a few weeks of work still left before the first mobile client release: the preview. The preview will have just enough features to play multi-player games and chat in them.

Alpha: After the preview, I’ll begin working on the alpha. The alpha will add single-player support, as well as a more complete multi-player experience including things like the ability to see history, game settings, the players window, nudge/boot window, etc.

Beta: The beta will allow creating games, as well as the lobby’s add/remove players feature. The beta period will focus on bug fixing, polish and enhancing usability.

Release: The mobile client is pushed to the Apple App Store and Android Market.

Post-release: Tournaments are a lower priority and won’t make it until after the initial release. Also, things on the website (such as reading and posting on forums, viewing and joining the ladders) are also a lower priority since they can already be accomplished through a device’s web browser. However, it’s nice to have them all eventually added to the app so it becomes a one-stop shop.

Technical Details

Currently, the mobile client supports the My Games page, the lobby page, sign in, sign out, sign up, forgot password and the ability to render any map with panning/scrolling/zooming. All that’s left to add for the preview is the ability to deploy armies, issue attacks, commit orders, pick territories, and play cards.

It will run on Android Devices 2.1 and up and all iPhones. As a benchmark, I’ve been testing the Big USA map on a first-generation iPhone. Since the Big USA map is so large, and the first-generation iPhone is so old, this is what I consider the worst case scenario. Anything else should run swimmingly performance-wise.

To accomplish this, the maps are rendered using OpenGL to get the maximum amount of performance out of each device. All of the UI that doesn’t involve interacting with the map is handled with the native UI controls on each platform. (buttons, switches, etc.) I really like this mixed approach since it simultaneously allows for fast rendering you get with OpenGL, but avoids having to re-implement all of the native UI controls like many fully-OpenGL apps do.

One of the biggest hurdles was maintaining a single code-base for all of the clients. Most games that are written on multiple platforms / mobile devices end up doing re-writes of their code. I’d be willing to do a one-time re-write of WarLight’s code if I had to, but what I can’t do is actively maintain many copies of the code. I simply don’t have the time to fix every bug multiple times and add every feature multiple times. Combine this with all of the features I plan to add to WarLight down the road, and it’s clear I need a cross-platform solution. I’ll talk more about this in future blog posts.

Another hurdle was automated testing. I’ve talked a little bit about this on the blog before – I’m a huge fan of automated testing and WarLight would simply not be possible for a single person to do with manual testing. The number of combinations of game settings and situations is mind-boggling, and trying to manually test each of these before every release would make releasing extremely expensive.

Every time I add a feature, I add a slew of automated tests that test the feature in every significant way I can think of. Similarly, anytime a bug is found, a test gets created that reproduces the bug before the bug is fixed. These tests live forever and they all get run before any WarLight release happens. This ensures that bugs don’t come back (regressions).

The mobile client is no exception. I’ve been writing automated tests for the mobile client from the very beginning as I develop each feature for it. These tests take work to create and maintain, but they really pay off in the long run as they allow for rapid releases.

Once the preview is out, I hope to return back to a regular release schedule of once every 2-3 weeks. This is how I prefer to operate — the last few updates have been much slower because I was splitting my time between the mobile client and traditional releases. These days will soon be behind us — I’m eagerly looking forward to being able to rapidly add new features to the WarLight!

Stay tuned to the blog for more updates.

40 thoughts on “WarLight for iPhone and Android!”

  1. WOW Randy, this is awesome. I’m so excited to try this new feature out. Once this hits the market I think it’s going to really take off. Let me know if you need some human testers!

  2. This will be great :-)
    Brace yourself for a stampede of thousands of new warlighters when the mobile apps become really popular …
    I’d volunteer for manual Android testing if necessary.

  3. Yeah, as soon as this hits the mobile platforms you will see a huge spike in players. I am doubtful that I would want to take on a huge map game from my phone, but the ladder games would be great. The small earth map would be perfect too.

    Warlight would be very cool to play on a touch screen interface, especially if the pinch zoom works. I have trouble on my netbook navigating the zooming in and out to see the big maps in enough detail, if I was working with my fingers on the screen it would be a snap. Playing on an iPad or equivalent would be really intuitive and fun.

    Nice work!

  4. Wow Randy, what a great move (and I don’t even have anything better than a BB)! I find myself yet again impressed by the amount of effort and hard work you continue to put into the constant evolution of this site. You’ve done and continue to do a hell of a job around here, thank you!

    Gonna hafta buy a bloody iPhone now…

  5. This sounds awesome, it would be great to be able to take my turn from my droid. If you need testers, I’ve got a droid and would love to help!

  6. Wow, dude. Very cool! I’ve been playing lately with a bunch of people at work and just finally became a member today, by sheer coincidence. Very much looking forward to trying out the preview build.

  7. Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You!

    I’m excited.

  8. Sweet! This is awesome for WarLight growth and for my ability to keep up with turns. Hopefully Troll and Gaia have iPhones or Androids and then Hunt 2 might actually finish before my lifetime membership expires!

  9. This is awesome news randy! I was thinking of buying a tablet or new desktop. One of the reasons I didn’t want a tablet was because I can’t play warlight on it. But if this works out I’m definitly getting a tablet. Just one question: would it be a free app?

    1. I hope to make it a free app. Personally I’m a big fan of the Kindle model – the idea that you buy something once and then you can use it across all of your devices. It doesn’t make sense to me to make someone buy it once for their PC, then again for their Android phone and again for their iPad.

  10. As a recent discoverer (and fan) of this site I’m really excited for a mobile version. I have a bit of experience in Mobile App Development and have a few Android Devices I could help test some builds on.

    Looking forward to it!

    1. The key issue with supporting WP7 is that they don’t allow you to mix the XNA and Silverlight programming models in a single application. iPhone and Android allow you to mix OpenGL and native controls together, so they’re more flexible in this manner than WP7. If WP7 added that support, I could easily support it. But without that, it would be a lot of work, and there isn’t currently enough demand (https://warlight.uservoice.com/forums/77051-warlight-features/suggestions/1067509-windows-phone-7-client?ref=title) to justify doing that work. Make sure you vote for it on UserVoice!

  11. how about on working on a mobile version for nokia n900 with a maemo operating sistem(linux based) … it would be nice to … thx

  12. So, will this be released in the near future on the app store? Just discovered this game and would love to play it on the iPod! Or is there a chance I could sign up for Beta testing?

    1. It will eventually be on the app store, but there’s still quite a bit of work to do. There will be alpha signups for members before the end of the year I hope – stay tuned to the blog!

  13. I can’t wait for this to come out, are there any predictions as to when the one for the iPhone will come out for the general public?

  14. I am Paid/Premium Warlight member, I know you said Apple’s restriction won’t allow you to release Iphone app, but I have jailbreak iPhone 5 iOS 6.01, we can release ipa on your site so we and Install it via other source on iPhone.
    Thank you

    1. Unfortunately distributing to jailbroken devices is forbidden by Apple, and if I were caught doing it I would be kicked from their dev program and never be able to release on the App Store. If you want an open platform, I recommend Android, where I already release the .apk file to members. iOS is very locked down.

  15. When will Warlight be available on mobile? I’m seeing posts from 2011 so I don’t know if this project got postponed or what but I’ve got some friends that would love to play with me if only there was a way to do it on the go

    Loving Warlight.net btw! Awesome game!

Leave a Reply to m4rtiN Cancel reply

Your email address will not be published. Required fields are marked *


*