[OLD-1] AGS engine Android port

Started by JJS, Thu 03/11/2011 20:18:29

Previous topic - Next topic

DutchMarco

Have yet to test this, but would like to say thank you for this! Ultra-cool!

Joseph DiPerla

Hey JJS, I just noticed that you added some new commits to this project and I tried to compile using the NDK, but I have a feeling I am doing something wrong as my environment doesn't seem to pick up the NDK. Any instructions or help? Also, do I need to download anything else to compile it or are all the necessary files there? Sorry, I am more of an SDK than an NDK Developer.
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

JJS

The recent commits are a bit less refined than usual since they were an effort to repair my local repository that got corrupted. I just did another commit though that should fix building of the native libraries.

To compile you need the NDK version 6! http://dl.google.com/android/ndk/android-ndk-r6-linux-x86.tar.bz2
The newer versions of the NDK (6b or 7) will error out while linking the native libraries.
Also the cygwin version of the NDK will not work to build the libraries.

I put the NDK under /opt/android-ndk-r6, but no script should depend on that I think.

These have to be exported:

export NDK_ROOT=/opt/android-ndk-r6
export PATH=$PATH:$NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin


The scripts in the Android/buildlibs/armeabi* directory should automatically download, patch and install the required libraries. Some of them have depencies on each other.
A safe order should be: png, freetype, ogg, tremor, theora-svn, allegro, dumb.
The difference between theora and theora-svn is that the latter is version 1.2 alpha which will make use of ARM assembler instructions to speed up decoding.

The library autotools scripts have their own dependencies that I don't know off hand. What is certainly needed is autotools, cmake and subversion.


Once all libraries are built for armeabi and armeabi-v7a, you can build the AGS engine library. This is done with the NDK build tool "ndk-build":

/opt/android-ndk-r6/ndk-build NDK_PROJECT_PATH=<full path up to here>/Android/app/

NDK_PROJECT_PATH has to point to the root of the application directory.


The native libraries are automatically recognized by the SDK build system. So just running the application in Eclipse will put them into the APK.


Please note that the native libraries for armeabi are actually built with an arm-v6 target to enable the optimizations in libtheora. This means that the application will not run in the emulator.


Btw, this is not dead or anything  :P. I am at the moment working on speeding up rendering, so stay tuned.
Ask me about AGS on PSP, Android and iOS! Source, Daily builds


Shane 'ProgZmax' Stevens

#64
Very nice.  It's always good when someone comes along and does something you'd like to do yourself, thus saving you the effort :).

Edit:  I just tried this with a few of my games and got some different results.

1.  Limey Lizard ran perfectly with voices.
2.  I couldn't start one of my games in progress because it required the ENTER key.
3.  Another of my games in progress stuttered and slowed down whenever large screen animations occur.

It seems as though it works pretty much spot on but needs some optimization, access to the virtual keyboard, and a menu system whereby we can choose target folders for the games rather than store them all in internal memory.  Mouse emulation's also pretty rough, with the mouse moving exponentially in the direction you're swiping instead of moving with it, and of course it doesn't track to where you press.  Something else I'd like to see is proper stretched fullscreen without smoothing.  Aside from that, brilliant work so far.

bbalint85

Wow!!! Amazing work!
I tried it on my HTC Wildfire S, and it works! The game's slow, but everything works! My phone is not the fastest though...
So keep up the good work, I'm so excited!

Timeless Journey

Calin Leafshade

Quote from: ProgZmax on Wed 30/11/2011 17:46:38
Very nice.  It's always good when someone comes along and does something you'd like to do yourself, thus saving you the effort :).

Gosh Progz, if only you had the time you'd probably have ported AGS to everything by now.

timofonic

Are there some compatibility list? A wiki can be used and testers could check the compatibility :)

uswin

I have just tried "Lost in the nightmare" in my LGP990

a bug occur, standard message box are missing the background color (white), so it is almost impossible to read the message box since in this game the display text are in black and the message box is in white.

Other than that, still run almost flawlessly.
Well except the stuttering sound which is a known issue in AGS.

Will report back to you guys if I found something else.   

Shane 'ProgZmax' Stevens

Gosh Calin, if only you had a brain you'd keep your snarky comments to yourself.

Joseph DiPerla

Is it just me, or has many in this community become more hostile towards eachother? Come on guys, we are all in this together. Are EEe ESS PEE EEE SEE TEE EEE guys.  ;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

Calin Leafshade

Progz's attitude annoyed me but Progz and I rarely play together well.

Presumably because I have been brainwashed by the New World Order.


monkey0506

That's it. No more opinions allowed.


;D

Gilbert

Right. Stop that off-topic drama. :P

AGA

I tried this with one of my games (http://games.agagames.com/?game=js) and it seemed to run fine on my Samsung Galaxy S. However, it didn't seem very easy to actually click.  I seemed to have to press down for quite a while before it would react...

Mati256

Just tested it with my LG GT540.
Murder in a wheel ("Works fine but in German because you can't access the conf file)
FOY Demo (Works like a charm)
Technobabylon part 2 (The first room works at 7 or 8 FPS, the other rooms work just fine)
Latest Wretcher Demo (Does not work, don't remember why)

As others have said, this is a great thing! You should work a little on the mouse and a virtual keyboard and you have a killer app.
Congratulations and thank you!
My Blog! (En Español)

HappehLemons

I can't even begin to tell you how fantastic this is! Thank you so much for making this. In the future an onscreen keyboard would be AMAZING. But please whatever you do don't stop working on this!

.M.M.

Great work! I tried it with about 5 games and always got the same result - everything works fine, except sound doesn't play at all. My phone is Sony Ericsson Xperia Neo V. It works so good, that it took me less than hour to change a bit my game in progress (action RPG) to be playable without bigger problems.   :)

pcj

#78
Just tested it on my new Galaxy Nexus (ICS) - works a lot better. 40 FPS :)  Still some trouble playing OGG video...
Space Quest: Vohaul Strikes Back is now available to download!

subspark

Fantastic! What kind of resolution can we run on the galaxy nexus?
I'm building port of our game for the device in an hour and a bit.

Kudos!

SMF spam blocked by CleanTalk