Converting an old AGS game to Android

Started by Samwise, Tue 27/11/2018 08:32:33

Previous topic - Next topic

Samwise

I've developed a rather popular adventure game in Hebrew more than a decade ago using AGS 2.72.
Been thinking for a while to create an Android version for it. Don't have a lot of free time though.
Does any of you knows how much work needs to be put to convert an AGS game to Android? Is it a matter of hours, days, or months of work?

Monsieur OUXX

#1
It could be very quick if you do it the right way.

I'd proceed like this :
1) Find the exact last AGS version that had a working Android port (I don't follow the Android port too closely so I couldn't tell if it's an older version or the lastest version. Who knows, you might be lucky). For argument's sake, let's pretend it was AGS 3.3.0.
2) Convert your game from 2.x to 3.x using the 3.x version of AGS that had the best retrocompatibility and upgrade abilities with 2.72. If I recall it could be AGS 3.2.x but maybe someone else could shed some light on this topic.
3) Make sure your game works on that version. You might have to mostly work with converting from global function to object functions. (for example: GetColorFromRGB is now Game.GetColorFromRGB, ChangeRoom(cEgo) is now cEgo.ChangeRoom(), etc.)
4) Convert your game from that version to the version we mentionned in step one. For example, convert from 3.2 to 3.3.0 if these are the versions. This time your main challenge might be to convert to the new sound system (convert from "PlaySound(1)" to "aSound1.Play()")

Done!

EDIT : out of curiosity, what game was it? Is it in the games database? :)
 

Crimson Wizard

#2
Quote from: Monsieur OUXX on Thu 29/11/2018 22:50:28
3) Make sure your game works on that version. You might have to mostly work with converting from global function to object functions. (for example: GetColorFromRGB is now Game.GetColorFromRGB, ChangeRoom(cEgo) is now cEgo.ChangeRoom(), etc.)
4) Convert your game from that version to the version we mentionned in step one. For example, convert from 3.2 to 3.3.0 if these are the versions. This time your main challenge might be to convert to the new sound system (convert from "PlaySound(1)" to "aSound1.Play()")

It's not necessary to replace anything unless actually wanted, all versions of AGS had switches in General Settings that let you use old functions. For the same reason it is not necessary to upgrade gradually, you may take latest stable version right away.
Upgrading script to the newer standard may not be a bad idea if you have spare time, but some things like Audio controls have changed a lot since 2.72 and need to get used to (some people still dislike them).


Regarding conversion to Android, game itself does not have to be modified at all, although you may want to change controls to something more suitable for the touch screen, but thats separate issue.

You would need to get an Android engine and possibly wrap your compiled game into a APK. There are several option here. Some time ago I wrote a quick summary: http://www.adventuregamestudio.co.uk/forums/index.php?topic=55752.msg636580610#msg636580610
It is slightly outdated (for example, it mentions that AGS 3.4.1 does not have working Android engine, but now it does) but hopefully will give basic idea.

Samwise


Samwise

Is it the same process & amount of work with iOS?

Crimson Wizard

Quote from: Samwise on Wed 05/12/2018 08:33:11
Is it the same process & amount of work with iOS?

The process may be similar but I think it's more complicated because you'd need to create xcode project for your game and compile it yourself (or ask someone for help). But that's as much as I know. "Wadget Eye" company was releasing several of their and their partners games on iOS so I may suggest asking Janet Gilbert about this.

SMF spam blocked by CleanTalk