Multi platform development: iOS & Chrome (for the Devs)


(Jerry-Rigs) #1

I am a software developer with a Assembly/C/C++/.Net/Java/HTLM/PHP/CSS background but I have not done iOS or Chrome development.

I have played Rad Soldiers on an iPad for a while now and have a couple hours on the Chrome version. Taking the user input method differences into consideration, the 2 versions play identically and I can swap back and forth between the two during a match. They obviously share a common back-end database. Given these observations, it would appear that the 2 versions share a large amount of code. I’m guessing in the 75-90% range depending on 3rd party libraries.

I have not dug into it but they seem to be very different environments. Can you share any details on iOS / Chrome multi/cross platform development? What language(s) are used? What tools sets? Where would you recommend learning about it?


(mitsuhiko) #2

They do share indeed quite a bit of code. The backend is shared between iOS and Chrome with the exception of how payments and push notifications are handled.

Due to the play-by-mail behavior the game has to be 100% backwards compatible with earlier versions. If a new version changes your weapon balance, the old matches are unaffected by this. Since that has been a design consideration from the start there has always been at least theoretical support for cross version play in some regard. The iOS and Chrome version can float a little bit build wise for as long as the game rules do not change and the content is available in both.

Other than that: not much magic. Whenever you play the device checks into the backend services to make sure the device is known. From that point onwards whenever something happens a notification is sent to all devices that we know you play on.

Language and tools do not matter much, you can accomplish that with whatever you want :slight_smile: For sharing code it makes sense to build on something that runs on all your target platforms. Mono with C# is what RAD Soldiers uses for the game. Backend services are Python.


(Hundopercent) #3

Runs nice on PC, would like a higher resolution and a farther out camera but other than that it is a nice experience.

Do PC players play vs iOS players or are they separate?


(mitsuhiko) #4

Nope, you can cross play. You can also switch between devices for the rounds if you want.


(Hundopercent) #5

Nice, very well done.


(Jerry-Rigs) #6

mitsuhiko,
Thank you very much for the info. I am very impressed with the cross platform play aspects. I have played matched where I start on PC and end on iPad and vise-versa. Very nice!

Thank you for the tool set info as well. I will do some research.