Jump to content
Eternal Lands Official Forums
Domino

Android client

Recommended Posts

As for the 2.5D honestly i will implement (for the beginning at least) a 2D view of the near area. Like seen from the top. But i didn't knew you can do that with gif images(i knew they have more layers). When i made 2.5D graphics i used png files with 8 views of the object in it:)

Yes, I was referring to uses for the multiple layers in the GIF images. Displaying a different layer for a different compass direction or shifting the layers to come up with a cheap 2.5D effect are uses that I can imagine for those layers. I do not know if using the different layers of the GIF would be easier or harder than using multiple image files.

Share this post


Link to post
Share on other sites

I made it harvest! There are still bugs that i have to fix, things to make better and a lot of testing. But so far i have something:). I will make it able to change maps and after that i will stop developing and start testing/fixing defects. I hope to have a pre-alpha by the end of the week. Than i will make it public.

 

Is anyone interested in the sources? If so I'll add them on some public repository.

Share this post


Link to post
Share on other sites

Actually i would really appreciate that. Stronze also offered his help and i will post somewhere an apk soon. I need to fix some know issues and talk to Radu. But i want within 2 days to upload it. It will only walk through maps and harvest. The very next thing will be use inventory and storage.

I am not sure how to display the storage and the inventory. My phone screen is small and i need a good way to make all clear. If you have ideas please tell:)

And another thing that is giving me a hard time is android itself. If you press home button i intend to keep the game running so you can just come back in the game. But if you are not in the game android might decide to end the application. Another thing i noticed is that if you run the game and also talk to the phone the game is suspended. After you finish talking the game is running again, but you might have been lagged out. Is there an android programmer that can tell me how is best to deal with this? I think i can create a service that runs some of the application and run the rest of the application as a normal one. But it seems like a lot of work and i don't know if i can run 2 threads.

Share this post


Link to post
Share on other sites

Two ideas for sto/inv

  1. You get the inventory displayed, you tap the item you want, select what you want to do with it (equip, drop, but in sto, trade), and it does it. If you click on trade or sto, that window appears showing the object you put in. A little fiddly, and can be slow for multiple things, but then I guess you have 'Store All' :D Dunno if this is possible for EL.
  2. That, or turn device landscape, display two lists: Sto and Inventory, and you drag the item from inv into sto and vice versa.

 

No idea about work to implement and stuff, just two ideas I've seen implemented in iOS and Andriod RPGs :D

Share this post


Link to post
Share on other sites

most phones have a list botton that most games take advantage to pull up menu/inven.

 

why not make use of ALL buttons on the phone.

 

volume- zoom in/out

list - inven

camera - map

search - magic?

back - ???

thats pretty much all my bottons

 

you cant stop calls from disconnection connection UNLESS you have the new phones that can data and call.

its just a limitation of older phones.

 

for dropping items, leave a small box on screen shaded that says drop. the server will think is open map instead of inven.

 

STORAGE

hmm maybe swipe one side to the other between sto screen and inven.

when in sto, all items auto go to inven when clicked

when in inven, all items go to sto when clicked.

when you click item, a empty box pops open so you can input a numer.

you can have the app do right click inven numbers box and edit it as the input box.

for each catogory maybe a image for each section and clicking on it opens that section of sto.

Share this post


Link to post
Share on other sites

Swipping from storage screen to inv screen is something i haven't thought but i am not sure is friendly enough.

 

Most likely i will display both, but just click on the items, no dragging. Lets say the windows only have 12 slots instead of 36(2*6 instead of 6 *6) with scroll. This way i can display both one on top of the other.

But after that i will have to implement trade and trade with storage. And for trade with storage i will have to display the storage, the inventory and 2 windows for trade. A total of 4 windows on a small screen.

 

Regarding the usage of the buttons:

you can zoom with 2 fingers

list(menu) button displays a menu with 3 options: console view, map view and actor view. you can see this in the video posted. the new thing is the actor view that displays a 2d view of the area near by. With the actor view you can zoom, walk, harvest and change maps. It's not very good looking but it still took me a lot of time to make it:D. Orin's web client is doing a much better job rendering the scene but i don't know how to do that(plus it seems like a lot of work)

back button is useful as it is: i can remove keyboard from the screen or get you back to the login page(this will disconnect you from the server)

 

This is how I've done it so far. If we consider better ways to do it than i will be happy to make the changes as long as i have the time.

Share this post


Link to post
Share on other sites

Stronze - remember there are touchscreen phones without any buttons :x

 

Domino - looks good :P

Share this post


Link to post
Share on other sites

And another thing that is giving me a hard time is android itself. If you press home button i intend to keep the game running so you can just come back in the game. But if you are not in the game android might decide to end the application. Another thing i noticed is that if you run the game and also talk to the phone the game is suspended. After you finish talking the game is running again, but you might have been lagged out. Is there an android programmer that can tell me how is best to deal with this? I think i can create a service that runs some of the application and run the rest of the application as a normal one. But it seems like a lot of work and i don't know if i can run 2 threads.

You need to split the code into 2 parts. One part being a "server" thread that runs on the phone. The other part is the user interface. The two parts would communicate via messages of some sort.

 

The server thread would keep your connection going, continue walking if you are walking and handle all data. It would just not display them or play sounds.

 

The user interface would play the sounds, handle user input, display graphics and talk with the server thread.

 

This is a common approach to android game programming, from what I have read.

Share this post


Link to post
Share on other sites

That is already done this way. Heartbeat in one thread, update from server in one thread and update ui in one thread. But as far as i read android doesn't just kill the UI, it can kill the entire jvm. I think i have to put the first 2 threads inside a service.

Share this post


Link to post
Share on other sites

I havn't played EL in a while. Always on the go. I would love to test this app on my tablet and phone .Both running Android ICS. If this works out it could bring me back into the game more. I'm really excited about this project.

Share this post


Link to post
Share on other sites

Is anyone interested in the sources? If so I'll add them on some public repository.

Yes please, I'd love to see the source and perhaps help in the future. Git hub works well for the desktop client. Great work btw. :D

Share this post


Link to post
Share on other sites

I'm wondering if it would be cool to have the same client developed also on Androidx86.

 

http://www.android-x86.org/

 

Can't really test the client on my phone, but I have an Atom netbook idly sitting there that I could use (and I suspect the client can eventually run smoother using Androidx86 than with windows, on power and resource-constrained devices). This will need access to the sources to recompile on x86 though, but the underlying androidx86 port should solve all problems with drivers (and maybe give us hints for CPU-dependent bugs).

 

My bad, I had somewhat implied that the client was to be a native ARM app... which is not necessary and is not the case at hand, as domino pointed out. Well, said that, I also have to say that it's not probably going to run smoother than x86 code over windows... but I can try set up the netbook to test it.

Edited by massimoC

Share this post


Link to post
Share on other sites

Are you sure you need to recompile the sources? That doesn't sound java at all:). Take a look here . But i think you expect to much from this. If you don't have touch screen you won't be able to zoom. Also i am trying to optimize the UI for small screens. And most important the client i make is minimal.

 

I don't say you shouldn't try, i just say what you should expect. If you manage to install it please let me know the results because i am really curious how it will work out:)

Share this post


Link to post
Share on other sites

Almost there. I need to write a readme or something to explain what you need to do once you have the sources. Hopefully i will get some time for that during the weekend.

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

×