Jump to content
Eternal Lands Official Forums
Entropy

Android client

Recommended Posts

If we get an apk package and it turns out that we can't do it on the official Android Market, perhaps we can put it on appbrain.com.

Share this post


Link to post
Share on other sites

I highly doubt Google would reject it, since they are not Apple. But my understanding is that people can download Android programs from websites, without going through the google market thingy, right?

Share this post


Link to post
Share on other sites

I highly doubt Google would reject it, since they are not Apple. But my understanding is that people can download Android programs from websites, without going through the google market thingy, right?

Correct. However, in order to install APKs from other sources (i.e., not the Android Market nor any bloatware market the maker of a particular phone or tablet has pre-installed on you thingie), the user has to enable a (fairly visible) checkmark in the Settings.

 

Overall, the entire process is much easier than, say, installing the desktop version.

Share this post


Link to post
Share on other sites

Is there any progress I just bought a new android tablet, and would love to see el on this :-)

 

I'll second that Wizzy. I have just got my first android phone.

Share this post


Link to post
Share on other sites
Is there any progress I just bought a new android tablet, and would love to see el on this :-)

 

I'll second that Wizzy. I have just got my first android phone.

Got myself an Android phone now too, just let me know if i can help.

Share this post


Link to post
Share on other sites

Got myself an Android phone now too, just let me know if i can help.

Well i am trying to compile the client for android (native)... so far i have been able to compile ~1/3 of needed libraries... will post updates if i get somewhere ;)

Only problem is that i am busy like hell IRL :closedeyes: and it's quite time consuming ;)

Edited by groomsh

Share this post


Link to post
Share on other sites

Let me know I can also test, I have both android tablet and a phone, as well as a rooted phone I let my daughter use that just has wireless access.

 

As far as .apk, it can even be hosted on the EL download page and installed on the phone/tablet you just need to check the "install software from unknown sources" and you need a file manager like Linda file manager to select the apk. The only issue with that I see is then it doesn't give you a download mark from the market which has the possibility of expanding the player base if it becomes popular on android devices.

 

anyways I'll be interested to see how it runs on an android tablet. :laugh:

Share this post


Link to post
Share on other sites

When we get an Android app for EL, we should probably add the Qcode image to the EL download page. Maybe we could add the EL day fetching app on there too if the developer of that app does not mind.

Share this post


Link to post
Share on other sites

When we get an Android app for EL, we should probably add the Qcode image to the EL download page. Maybe we could add the EL day fetching app on there too if the developer of that app does not mind.

Don't mind at all -- and now that I think of it, I should probably add a feature to warn about "open" invances... mm...

Share this post


Link to post
Share on other sites

When we get an Android app for EL, we should probably add the Qcode image to the EL download page. Maybe we could add the EL day fetching app on there too if the developer of that app does not mind.

Don't mind at all -- and now that I think of it, I should probably add a feature to warn about "open" invances... mm...

 

That would be awesome! The only problem I have with the widget now is if a day is removed, it does not change sometimes on my phone. Warnings for invasions/invances would be awesome!

Share this post


Link to post
Share on other sites

Any further updates on this topic? Would be great to just have a android chat client. Would be great to stay in touch with some old friends.

Share this post


Link to post
Share on other sites

When we get an Android app for EL, we should probably add the Qcode image to the EL download page. Maybe we could add the EL day fetching app on there too if the developer of that app does not mind.

Don't mind at all -- and now that I think of it, I should probably add a feature to warn about "open" invances... mm...

 

That would be awesome! The only problem I have with the widget now is if a day is removed, it does not change sometimes on my phone. Warnings for invasions/invances would be awesome!

Yep, I know... the widget was developed before day removal stones were introduced in the game, in fact. :)

 

I am (way) overloaded right now, but at the first opportunity I will write the bot code to catch removals, invasions, invances, and a new version of the widget to display such information. Only, I cannot schedule it right now, bear with me.

Share this post


Link to post
Share on other sites

I have gotten 2 Raspberry Pi devices for about $85 after shipping and taxes. These have 256MB of shared RAM and an ARM11 processor. I am going to see how much if any of the extremely heavy code that we have will compile. These things have about the same guts as a cellphone, but not the wonky Android stuff....unless you choose to install Icecream sandwich (yes, you can do that).

 

If people could consider changing the game's code to have the game have the interface and the connection and logic run and compile as two separate pieces, that will also help. Having any low resolution version of the rendering engine or images would help too.

Share this post


Link to post
Share on other sites

Wow. This game compiled for my Raspberry Pi. Now to get the correct data for it and see if it is playable.

 

Of course, this has alot of extras right now which will need to get slimmed down before considering an Android port.

Share this post


Link to post
Share on other sites

A little help, please?

 

[17:46:49, engine/logging.cpp:310] Log started at: Sun Aug 19 17:46:49 2012 CDT

[17:46:49, engine/logging.cpp:313] version: 1.9.3

[17:46:49, elconfig.c:1580] Warning: Can't find var 'use_vertex_array = 0', type 2

[17:46:49, elconfig.c:1580] Warning: Can't find var 'use_mipmaps = 0', type 2

[17:46:49, elconfig.c:1580] Warning: Can't find var 'text_filter_replace = smeg', type 2

[17:46:49, elconfig.c:1580] Warning: Can't find var 'compass_north = 1', type 2

[17:46:49, elconfig.c:1580] Warning: Can't find var 'near_plane = 35', type 2

[17:46:49, init.c:243] Info: No language set so defaulting to [en] and using language selection window

[17:46:49, init.c:778] Error: Couldn't initialize SDL: Unable to open a console terminal

 

Edit: It seems that there is no SDL library itself installed. I need an install candidate for libsdl. I also need to know if I need to find a release candidate for libsdl-image.

 

libsdl1.2debian is already the newest version. Does it matter if it is named

 

root@raspberrypi:/usr/include/SDL# dpkg -L libsdl1.2debian

/.

/usr

/usr/share

/usr/share/doc

/usr/share/doc/libsdl1.2debian

/usr/share/doc/libsdl1.2debian/README

/usr/share/doc/libsdl1.2debian/changelog.Debian.gz

/usr/share/doc/libsdl1.2debian/BUGS

/usr/share/doc/libsdl1.2debian/README-SDL.txt

/usr/share/doc/libsdl1.2debian/copyright

/usr/share/doc/libsdl1.2debian/CREDITS

/usr/share/lintian

/usr/share/lintian/overrides

/usr/share/lintian/overrides/libsdl1.2debian

/usr/lib

/usr/lib/arm-linux-gnueabihf

/usr/lib/arm-linux-gnueabihf/libSDL-1.2.so.0.11.4

/usr/lib/arm-linux-gnueabihf/libSDL-1.2.so.0

 

I guess I need to symbolic link.

Edited by nathanstenzel

Share this post


Link to post
Share on other sites

Ok. I made some progress. Now I get this.

 

[19:13:18, engine/logging.cpp:310] Log started at: Sun Aug 19 19:13:18 2012 CDT

[19:13:18, engine/logging.cpp:313] version: 1.9.3

[19:13:18, elconfig.c:1580] Warning: Can't find var 'use_vertex_array = 0', type 2

[19:13:18, elconfig.c:1580] Warning: Can't find var 'use_mipmaps = 0', type 2

[19:13:18, elconfig.c:1580] Warning: Can't find var 'text_filter_replace = smeg', type 2

[19:13:18, elconfig.c:1580] Warning: Can't find var 'compass_north = 1', type 2

[19:13:18, elconfig.c:1580] Warning: Can't find var 'near_plane = 35', type 2

[19:13:18, init.c:243] Info: No language set so defaulting to [en] and using language selection window

[19:13:18, gl_init.c:351] Error: Couldn't find a hardware accelerated stencil buffer. Shadows are not available.

[19:13:18, gl_init.c:355] Error: Hint: Try a 32 BPP resolution (if you are under XWindows, set your screen display to 24 or 32 bpp).

[19:13:18, gl_init.c:361] Error: Couldn't set GL mode: Couldn't find matching GLX visual

Share this post


Link to post
Share on other sites

I think this might be part of my current problem.

 

root@raspberrypi:/home/pi/screenart-1.1# apt-get install libsdl1.2debian-all

Reading package lists... Done

Building dependency tree

Reading state information... Done

Package libsdl1.2debian-all is not available, but is referred to by another package.

This may mean that the package is missing, has been obsoleted, or is only available from another source

However the following packages replace it: libsdl1.2debian

 

I say this because I have a bit of screen art that I wrote that works on my laptop, but when Pi compiles it and runs it, it does not work right. My screen art only uses SDL and not OpenGL.

 

Also, those lines in gl_init.c do not refer to OpenGL. They refer to opening a simple screen window for SDL.

Share this post


Link to post
Share on other sites

I just did "git clone https://github.com/r...rnal-Lands.git" and had alot of fun trying to get the dependencies right. I am compiling on a Raspberry Pi. I figure it Should help put this on Android devices later. I should even be able to install Android 4.0 on this thing later on.

 

Currently, my dependencies do seem to work, although some SDL stuff works different on the Pi. I am stuck with the OpenGL stuff that is not OpenGL ES friendly getting in the way. At least that is what I think is the current case. That is also what Radu figured was the case before I told him I was having some SDL library issues. What Radu figured was the case probably is the case now.

 

By the way, if a mod wants to move my ramblings on this into another thread called "Compiling and running on Raspberry Pi (ARM11)", I would not be opposed to it. I am afraid I might be detracting from the original topic slightly.

 

@raytray: If you want my screen art program, it is at http://www.libsdl.org/projects/screenart/.

 

If anyone is interested in which sdl packages I finally installed, try these for ARM11 if you have hard float (might be called armhf):

root@raspberrypi:/home/pi/Eternal-Lands# dpkg -l *sdl* | grep ii

ii libsdl-gfx1.2-4:armhf 2.0.23-2 drawing and graphical effects extension for SDL

ii libsdl-gfx1.2-dev:armhf 2.0.23-2 development files for SDL_gfx

ii libsdl-gfx1.2-doc 2.0.23-2 documentation files for SDL_gfx

ii libsdl-image1.2:armhf 1.2.12-2 Image loading library for Simple DirectMedia Layer 1.2, libraries

ii libsdl-image1.2-dev:armhf 1.2.12-2 Image loading library for Simple DirectMedia Layer 1.2, development files

ii libsdl-net1.2:armhf 1.2.8-2 Network library for Simple DirectMedia Layer 1.2, libraries

ii libsdl-net1.2-dev:armhf 1.2.8-2 Network library for Simple DirectMedia Layer 1.2, development files

ii libsdl-ttf2.0-0:armhf 2.0.11-2 TrueType Font library for Simple DirectMedia Layer 1.2, libraries

ii libsdl1.2-dev 1.2.15-5 Simple DirectMedia Layer development files

ii libsdl1.2debian:armhf 1.2.15-5 Simple DirectMedia Layer

Edited by nathanstenzel

Share this post


Link to post
Share on other sites

Interesting news. While using Radu's code (as opposed to Xaphier's which might actually come closer to working on OpenGL ES since he is coding that part) and doing ssh -X to get into my Pi, I got EL to render up till the 3D rendered spot. It segfaults at that point.

 

This is definitely cheating since it is not using the OpenGL ES of the machine, but it does make you think that perhaps the 3D objects and such might even load into memory. If they are loaded into memory, that would mean that the little Raspberry Pi could handle the bloated data of EL. Only way to find out is to compile Xaphier's code though. I will try his code shortly.

Share this post


Link to post
Share on other sites

Ok. I managed to figure out my dependencies.

 

Now having a problem with this....

 

if (${gcc_native} AND (${BUILD_NATIVE} MATCHES "ON"))

 

from line 79 of CMakeLists.txt as shown below.

 

pi@raspberrypi ~/Eternal_Lands_Xaphier $ cmake `pwd`

CMake Error at CMakeLists.txt:79 (if):

if given arguments:

 

"AND" "(" "OFF" "MATCHES" "ON" ")"

 

Unknown arguments specified

 

 

-- Configuring incomplete, errors occurred!

 

So, where does gcc_native come from? I am compiling on the device I intend to run this on. I think this is a MinGW cross compiler thing.

Edited by nathanstenzel

Share this post


Link to post
Share on other sites

I noticed that the Abuse game's OpenGL feature does not work with an OpenGL ES system either. It gives the same error that trying to run Eternal Lands on an OpenGL ES system does.

Edited by nathanstenzel

Share this post


Link to post
Share on other sites

Porting from OpenGL to OpenGL ES is not trivial. First, you need different function for context creation. Second, only using OpenGL ES 2.0 or newer is a wise move for el, because the similarities between OpenGL 2.x/3.x and OpenGL ES 2/3 are big enough to make the game look similar. The problem is, OpenGL ES 2.0 does not support any fixed function stuff, so all old OpenGL 1.x stuff needs to go. For the el2 client, this is done for nearly all 3d parts, only the sky is not ported, but will be done hopefully soon ;)

The GUI and the font rendering need a total rewrite to work for OpenGL 3.1+ core profiles or OpenGL ES 2.x and this is some work, but I don't know when I have time for that.

So, it is unlikely that there will be an el client for OpenGL ES this year

Share this post


Link to post
Share on other sites

Good news. It sounds like the next libSDL (2.0) will contain support for OpenGL ES and OpenGL. They are coding it up now. I think that would greatly simplify the hassle of making a client that will work on raspberry pi, normal computers and cellphones.

 

http://hg.libsdl.org...deo/SDL_video.c

 

I have libSDL2.0 compiled and installed on my Raspberry Pi now, so I will be able to test it out. l need to read up on it.

Edited by nathanstenzel

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×