Domino Report post Posted March 4, 2013 Hi, I started to write a client for android. I thought it would be cool to play EL from my phone and to make my own client:). So far it can chat and eat/drink items. The next step is to make it able to harvest, so for this i need to make it walk on the map, harvest and use the storage. I need some help to implement the walking because i don't know how to get the data from the map files. So far i know that i have to implement the walking part on the client and that the map is an .elm file. What i have in mind is to make a matrix of 0 (can walk) and 1(can't walk) and run dijkstra on it. I know not all the maps are all flat and you can climb up and down, but I'll just block those paths for the sake of simplicity. Later on instead of 1 i might have id's of the items i can harvest, but I'll think more about that at the right time. So I'll be most grateful if someone can tell me the format of the .elm files or tell me what exactly i have to do:) Thank you. Share this post Link to post Share on other sites
PaulB Report post Posted March 4, 2013 I like the idea that you're are doing this. I read a thread about producing a android client for EL. Just a heads up though. In the rules here: http://www.eternal-lands.com/forum/index.php?showtopic=14582 there is a section that says: 20. No Illegal Clients.When modifying the Eternal Lands client you must abide to the license given, and may not distribute copies of illegally made clients. All patches or unofficial clients must first be approved by an Eternal Lands owner (namely Entropy) before use. I am just mentioning it so you not get in any trouble for your client. Best of luck to you Share this post Link to post Share on other sites
Domino Report post Posted March 4, 2013 (edited) Yes, of course. I have talked with with Entropy about this and he knows what i'm working on. I only run my client on the test server and i will only release it or use it myself when Entropy will approve it. Thanks for the heads up:) Edited March 4, 2013 by Domino Share this post Link to post Share on other sites
Stronze Report post Posted March 5, 2013 if you can make a successful android client, i will name my second born after you. first born is gonna be the 4th since im passing my name down. i been wanting to buy an android tablet for the longest but if i cant play EL on it then its just a waste of money. Share this post Link to post Share on other sites
Approach Report post Posted March 5, 2013 I got an android galaxy 2 tablet and would love to be able to use that to play occasionally (very good idea imo). Shud bring alot more new players to the game also if EL android client was available straight from the app store. If u need some more android users to test it out send me a /mercator msg or pm be more than happy to help where i can =] also best of luck Share this post Link to post Share on other sites
Domino Report post Posted March 5, 2013 Thanks again:) Still, isn't there somebody that can help me with those maps? Share this post Link to post Share on other sites
Orin Report post Posted March 5, 2013 First 4 bytes are not interesting, then you got 4 four-bytes integers: x and y dimensions in tiles (one tile is 6 steps so you have to multiply those numbers by 6 to get heightmap dimensions), tilemap offset and heightmap offset in map file. Each "square" on the heightmap is one byte, 0 is unwalkable tile (-2.2m). Best way to understand that stuff is just making a simple map using Eternal Lands map editor and then browsing created file using any hexeitor. Good luck with your project . Share this post Link to post Share on other sites
Domino Report post Posted March 5, 2013 Thanks! I thought of using map editor and see what i got, but it was crashing when i was saving a map i just created:D Share this post Link to post Share on other sites
nathanstenzel Report post Posted March 6, 2013 After you manage to read the height map from the map files, you will need to take care of walking paths. If you write your own, it may be trouble, but maybe a google for "path finding algorithm" might help. You might be able to look at some bot code or the EL client code to find something you can copy and modify. I suggest you ask permission and give credit where due and consider what changes it might make to client licensing requirements (GPL, EL's custom license, etc). Sorry to scare you with licensing crap....just a habbit. There is a maximum number of steps that the near-walk command can do. I don't remember if it is 6 or 10 or what. You will want to consider that and perhaps mark points for your client to walk through if you write your own code. Other people's code may already have this. You may also want to consider a "stall" check to see if your character is still walking when it is supposed to be and resume after a short period. Share this post Link to post Share on other sites
Domino Report post Posted March 6, 2013 (edited) Thanks for your post. I have been playing with the maps files and i found out there are 3 matrices: titles matrix, height matrix and another one i suppose is for the items on the map. If i got it all right I should have a path finder algorithm implemented by saturday. I was going to throw a dijkstra with min heap or fibb heap, but i took your advice and google about path finder. Seems like A* is much better and not hard to implement either. I'll see what i'll get. This was thrilling. I haven't been reading bytes in hexa since collage when i was implementing des, aes or rsa:) Edited March 7, 2013 by Domino Share this post Link to post Share on other sites
Domino Report post Posted March 10, 2013 Hello, I have done implementing the walking. It's good, but there is still a lot to do just to make it a good client for harvesting. I hope tomorrow (by this hour) to post a video with what i have and any feedback will be appreciated. I have a little dilemma regarding the map images. They are huge and i want to reduce them. First i think i should reduce the size to 480x480. Than to change the format from bmp. DDS doesn't work, png have about 500kb, jpg 200-300kb and gif around 100kb. Suggestions? I hope by the end of the week i will implement a person view(2D) and make it able to harvest. I think the character will be just a bullet and i will place the image of whatever there is to harvest around. Thanks Share this post Link to post Share on other sites
Domino Report post Posted March 11, 2013 (edited) http://www.youtube.com/watch?v=ID91MUkDWT0 Please say whatever you like/don't like. I'd really like to hear some feedback from you. Edited March 12, 2013 by Domino Share this post Link to post Share on other sites
Wizzy Report post Posted March 11, 2013 Awesome, nice work! Share this post Link to post Share on other sites
DarElik Report post Posted March 12, 2013 I think it looks great so far. Can't wait to try it out! Share this post Link to post Share on other sites
Grort Report post Posted March 12, 2013 I can't seem to view video could you put a link in that post to it? Share this post Link to post Share on other sites
tork_unib Report post Posted March 12, 2013 (edited) I can't seem to view video could you put a link in that post to it? http://www.youtube.com/watch?v=ID91MUkDWT0 <- took a couple of edits \o/ Seems like you're making some impressive progress in a relatively short time. When finished, will it run on any version of android? Edited March 12, 2013 by tork_unib Share this post Link to post Share on other sites
Domino Report post Posted March 12, 2013 Seems like you're making some impressive progress in a relatively short time. When finished, will it run on any version of android? android 2.1 minimum. so it's almost any device. Share this post Link to post Share on other sites
Grort Report post Posted March 13, 2013 Ok, little idea from watching... make you able to zoom into map. On Isla Prima, you may be fine, but think White Stone and Idaloran... you want to go the a very specific place (Lottery, for instance), and zoomed out, that'll be difficult. So zoomable maps \o/ My two pence Share this post Link to post Share on other sites
nathanstenzel Report post Posted March 13, 2013 I have a little dilemma regarding the map images. They are huge and i want to reduce them. First i think i should reduce the size to 480x480. Than to change the format from bmp. DDS doesn't work, png have about 500kb, jpg 200-300kb and gif around 100kb. Suggestions? What color depth do you have for the PNG? That file size seems a bit high for PNG, so I am thinking you are using true-color. Try 256 color indexed PNG's if you use PNG. JPEG files and GIF often encode images with alot of color changes better than PNG files do. With GIF, you have an added bonus of being able to store multiple layers which could give you storage of 2.5D images in one single file as opposed to multiple. 2.5D could be done by either having an image for each of the 8 compass directions (and perhaps top down) or by having multiple levels (so you can shift the layers based on what direction you are faced) or a height map so you can put in the hills/houses or whatever. Share this post Link to post Share on other sites
Domino Report post Posted March 13, 2013 (edited) Ok, little idea from watching... make you able to zoom into map. On Isla Prima, you may be fine, but think White Stone and Idaloran... you want to go the a very specific place (Lottery, for instance), and zoomed out, that'll be difficult. So zoomable maps \o/ My two pence Thanks for responding. I am planning to make the zoom-able. I hoped i wouldn't have to, but after i implemented and run it on my phone it was obvious i'll need to do it. First i need to make it a good client for at least harvesting and storing stuff. After that i expect more things to need improvement. Edited March 13, 2013 by Domino Share this post Link to post Share on other sites
Domino Report post Posted March 13, 2013 What color depth do you have for the PNG? That file size seems a bit high for PNG, so I am thinking you are using true-color Yes, true color. I'll go with 256 and see what i get. Thanks. 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:) Share this post Link to post Share on other sites
Grort Report post Posted March 13, 2013 nice, i look forward to it Share this post Link to post Share on other sites
Stronze Report post Posted March 13, 2013 FYI i like to turn my phone sideways and slide our my keyboard since i have big man hands. if you can keep that in mind for screen rotate and slideable keyboards that be awesome. if you have the powers of a dark wizard, make cords clickable in chat and auto walk to XD let me know when you have a test client ready, best buy is 15 mins away and i can test on multiable tablets. Share this post Link to post Share on other sites