Cost of porting to Mac OS, iOS, and Android

Started by DD, Mon 11/02/2013 17:18:11

Previous topic - Next topic

DazJ

Quote from: Crimson WizardAPK is for Android right? I never worked with Android personally. But what exactly is needed to make such packages?

We already have working Android port: http://www.adventuregamestudio.co.uk/forums/index.php?topic=44768.0
Josepth Di Perla have some program for installing Android games: http://www.adventuregamestudio.co.uk/forums/index.php?topic=47475.0

What is missing?
I would like to provide some help, if that will be in my power.

Those ports are great, I mean that - and I use the AGS port on my HTC to play classic AGS games. But to play those the player has to download the AGS Port and copy the game itself to their SD Card/phone which for a casual Android game-player, isn't something they'd be likely to do or know how to do.

A single APK file is what's downloaded from the Android Marketplace and self-installs on the customer's phone without the need for any of the above. Basically, you can have your game there on the Google Marketplace/Play Store alongside other classic titles such as Angry Birds, Broken Sword, and so on :)

Joseph DiPerla

Quote from: Crimson Wizard on Sun 17/02/2013 00:10:36
Quote from: selmiak on Sun 17/02/2013 00:01:15
A simple compile for android button and a compile for iOS Button in the editor will do for now...
Oh, that's nice. I think no money is needed for that. :)
The task should be quite simple.

Di Perla said he is going to do something like this: http://www.adventuregamestudio.co.uk/forums/index.php?topic=47622.0 (don't know what his progress is).
You can also ask any other C#-proficient AGSer, who already worked with the Editor, like: tzachs, Alan v. Drake, Calin Leafshade (I think).

It should be done in a couple days. Its basically a packaging system that includes or downloads the game data onto your system. Its basically AGS Stream, but only for one game, this way you can sell it or put it on the play store standalone. The whole thing can be compiled with Basic4Android or the Android SDK no problem. All you have to do is edit a couple of files manually and you are all set. The tricky part for me is setting it up in the AGS editor to package it and compile into an APK. Its really only a matter of editing two or three text files and using a shell command to run the command that signs an APK Key and compiles the package using the Android SDK and Java SDK. It literally may take 1 hour for someone with experience in C# to implement such a feature. For me though, since I am a beginning beginner (Yes, I know what I said) in c#, that part may take like a whole month for me to implement, lol :D .
Joseph DiPerla--- http://www.adventurestockpile.com
Play my Star Wars MMORPG: http://sw-bfs.com
See my Fiverr page for translation and other services: https://www.fiverr.com/josephdiperla
Google Plus Adventure Community: https://plus.google.com/communities/116504865864458899575

DazJ

Lol Joseph, take as long as you want - you're a true champion mate :)

DazJ


Joseph DiPerla

I am still trying to figure out how to get this done appropriately. First thing is that I am having trouble with downloading files for Samsung Galaxy 3, Asus tf201 and Galaxy Nexus 7. So I needed to take a different approach which is to use the google APK Expansion file option. The only thing about this is that it limits your game to 4gb(Divided into two files of 2gb each). The next thing I am trying to do is include AGS as part of the build so that a user wouldn't need to install AGS necessarily just to be able to run the game. Essentially, this will allow you to make the game look as if its a standalone and professionally made game. Lastly, I need to get the game Preferences working appropriately.

Once I get this all sorted out, I will release the project. The last thing I want to do is have someone use this, make a commercial game and then lose money because the app didn't work on all the necessary devices. :P
Joseph DiPerla--- http://www.adventurestockpile.com
Play my Star Wars MMORPG: http://sw-bfs.com
See my Fiverr page for translation and other services: https://www.fiverr.com/josephdiperla
Google Plus Adventure Community: https://plus.google.com/communities/116504865864458899575

DazJ

I thought Play Store's limit was 4GB anyhow? Are you still planning on releasing a modified version of the AGS Editor for this, or provide it as a service? :)

Joseph DiPerla

The play store allows the main APK file to be 50mb or less. However, if your app is larger than that, you can use the expansion pack (Which can be any file extension you want, but typically it would be either .zip or .obb) option which basically means that you can upload a) The main file b)The expansion pack which you will need to decompress from your app. You are allowed to upload up to 4gb, however, the Google play store only allows you to do that in increments of 2gb. So lets say you have a 4 gb game, you would have to upload 1)maingame-50mb.apk 2)Expansion1-2gb.obb 3) Expansion2-2gb.obb.

What the play store then does when you goto download and install an app is Download the main app and then the rest of the expansion files automatically. Yes, seems kind of dumb. Why not just allow for one big file in the first place??? My guess... to avoid bloated software or because its typically harder to upload more than 2gb at a time, killing bandwidth. It would also save on bandwidth for when patches need to be updated, rather than just uploading everything all over again. Who knows... Anyway, After that, it is the developers job to locate where they have been downloaded (Android has a set destination, so thats not too much of an issue), if it was successful and then unpack it. There is a process to getting this done right, so its taking me a bit of time.


As far as how this will be released, there will be two versions. One is the Basic4Android Source. All you would have to do is change your game's screenshot, edit a text file (For game name and description), change the package name of the app then compile.

The second version is the Java version. Basically B4A generates that automatically. So, if you do not want to use B4A, you can compile the app using the Android SDK. This will require a few additional steps (Which B4A would take care of for you automatically, while the Android SDK does not), which would include editing the the manifest file and creating a signature key.

I do plan in the future, after I have this all settled down, to add it, either via plugin or hardcoded, to the editor so that all you would have to do is click "Compile for Android" and it would take care of everything for you as easy as one, two, three. :)

Hope this made some sense. Its past midnight and my brain is fried today.
Joseph DiPerla--- http://www.adventurestockpile.com
Play my Star Wars MMORPG: http://sw-bfs.com
See my Fiverr page for translation and other services: https://www.fiverr.com/josephdiperla
Google Plus Adventure Community: https://plus.google.com/communities/116504865864458899575

BigMc

Quote from: Joseph DiPerla on Sat 16/03/2013 04:21:29
What the play store then does when you goto download and install an app is Download the main app and then the rest of the expansion files automatically. Yes, seems kind of dumb. Why not just allow for one big file in the first place???

Because the apk has to be updated for each and every small change. If you need hundreds of megabytes for an app for a mobile device, you better make sure the large data files only need to be downloaded once.

DazJ

B4A sounds the way forward. And thanks for clearing up the APK file size thing. It does make me wonder though how we exactly apply updates to an app created with AGS when the whole compiled game is basically one large EXE file.

Will you also be implementing options in to the compiler such as 'Force/Stretch to Fullscreen' and 'Fixed Orientation: Horizontal/Vertical' etc? Look at me, pushing my luck ;) lol

Daz.


Joseph DiPerla

Hehe. That part is not up to me. Those are features hardcoded into the AGS Engine and Editor themselves. All my app/tool does is convenient package the compiled game into an Android APK. For that stuff, you would need to ask JJS, CW, CJ, etc... :D
Joseph DiPerla--- http://www.adventurestockpile.com
Play my Star Wars MMORPG: http://sw-bfs.com
See my Fiverr page for translation and other services: https://www.fiverr.com/josephdiperla
Google Plus Adventure Community: https://plus.google.com/communities/116504865864458899575

s_d

I used to see lots of AGS games distribute several data files in addition to (or mostly in exclusion of) the EXE.  So that functionality is (or at least was?) present at one time.  That's not including the vox files (for example), but actual, numerically indexed data files.  I think the code to handle that is still there, in the engine/interpreter code, as well (last I looked).

Perhaps that could be a way to "naturally" split the game assets.  Another contributor, rofl0r, has some nifty tools up on github for slicing and dicing the AGS data files.  They are bugged in a number of ways, but I found the sources kind of helpful in understanding the storage format of the game data files.

trothmaster

I know you mentioned Unity early in the thread and were against it for time reasons.  I'm in the middle of programming my 2d point and click adventure in unity and you are right, Unity will take you a long time to get the basic framework together.  Right now what I use for hotspots in Unity is colliders.  You can have a mesh collider which can form to any shape you want.  For pathfinding I use an implementation of the A* system and limit it to 2D.  In Unity you can have two types of camera, an orthographic(2d) cam or a perspective(3d) cam.  I use the orthographic cam and then assign a baseline to all the objects so that they appear above or below eachother according to the baseline.  I assign the baseline dynamically based on screen position.  Handling sprites is done using sprite sheets.  I built my interactive dialogue system using XML and then I use a parser that puts the dialogue into proper classes and then into lists.  I have a custom editor i built for the XML that enables quicker entry.  For game sequences I built a state machine that can take XML directions or call a custom C# script if the sequence requires more then the pre-defined methods.  If anyone is interested in talking more about it i'd love to!

Bik - Eat some sandwiches and save the galaxy!
www.bikgame.com

SMF spam blocked by CleanTalk