This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
1wsx10's profile picture

un-official egps developement (mapping + pathfinding api)

Started by 1wsx10, 03 February 2016 - 05:21 AM
1wsx10 #1
Posted 03 February 2016 - 06:21 AM
Im continuing development of egps. I did not create it, this is the latest version I can find and it has been edited last in 2012 https://gist.github....uidLord/4741746

original egps creator:
http://www.computerc...user/6031-cabu/

personally, i think this is awesome and would make turtles so much smarter.
I have done testing and it mostly works.

what is egps?
egps is an api which explores, maps out, and path-finds around your world.

how do i get it?
pastebin: JaRk9YA8
you can still use the original version but you might want to implement the first change i have shown… you change one name and then discoverWorld() works

added features:
support for LAMA!
waypoints!
ability to save and load world files!
draw the map!
debugging tools!
exclusion zones!
better exploration!
detailed block data in world file!

other changes:
changed name of getLocation() to locate() - other parts of the api reference locate() but not getLocation
changed name of discoverWorld() to explore() - its just easier to remember, and it should be done while i have nothing depending on it. - new better explore, old one is called discoverWorld() again
added features
bugfixes

planned features:
multiple world files and ability to merge world files (needs to handle conflicts)
possibly identify and save different blocks in the world file (would need reworking of a lot of code)
special locations file (for refueling spots or special job spots like a furnace area or farm)
no-fly zone - you put a file containing block positions and the turtle wont path-find to those areas
support for LAMA

known bugs:
turnTo() breaks sometimes
explore() takes a long time if radius is large - possibly due to constantly recalculating A*' currently working on explore 2.0 which tells the turtle to go to different blocks based on how far away they are from the turtle

turtle restarts if it is told to move to a location very far away

I'm also planning on releasing a suite of programs to go with it. like a central world server which multiple turtles access and modify.
programs for having turtle servants which you give instructions by walking up to the place you want the job done, type in the command on a pocket computer, then a turtle goes there and executes the command.
program for turtles to go to refueling stations

collaborating with hive - I'm going to try and keep egps independent but add support for all the things hive requires, so if you would like to use egps on its own you can

university is starting back up on feb 8th so i wont have so much time when that happens.
If anyone would like to help, great. I think its always good to have someone to bounce ideas off of and think of problems differently. also then i wouldn't have to do as much work
my time-zone is GMT + 10/11
Edited on 28 February 2016 - 06:55 AM
Creator #2
Posted 04 February 2016 - 07:58 AM
This really sounds and looks amazing. It could be implemented into Hive.

One suggestion is to make it multi-file. For example one file for world handling, another for moving and position tracking.

Good luck on the project. :)/>
Lupus590 #3
Posted 04 February 2016 - 11:40 AM
If hive is to use this then it will need to not interfere with LAMA. LAMA has the advantage of simplicity, which is why I would want to continue using LAMA over this should comparability be a problem.
1wsx10 #4
Posted 04 February 2016 - 12:48 PM
thanks for the suggestions!

This really sounds and looks amazing. It could be implemented into Hive.

One suggestion is to make it multi-file. For example one file for world handling, another for moving and position tracking.

Good luck on the project. :)/>

yes, multiple files will probably be used.

what did you mean by moving and position tracking? you only need to save files if its going to be turned off and currently i have it set to get position from GPS because i think turtles should be able to be constantly picked up and moved around.. if you save the position that data would be invalid as soon as it has been placed elsewhere.


as for compatibility / integration with hive, i think that is a great idea! ill talk to he hive people and see if they want me.

If hive is to use this then it will need to not interfere with LAMA. LAMA has the advantage of simplicity, which is why I would want to continue using LAMA over this should comparability be a problem.

I can see why you would want to use LAMA. It looks perfect for hive.

Looks like hive is what I had in mind for making once I get egps to where i want it so even better if its already being made. How do I join?
Lupus590 #5
Posted 04 February 2016 - 06:54 PM
How do I join?
https://github.com/CC-Hive/Main/issues/1