Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Buenas a todos, este es mi primer posteo y es para presentarme y para hacer una consulta a todos los usuarios interesados.
Hace tiempo me viene rondando por la cabeza la idea de hacer un robot que pueda esquivar obstaculos, pero con la capacidad de generar un mapa en memoria.
El otro dia desarme un ordenador antiguo y encontre que el Bios era una memoria de 256Kb (2048kbit) con la ventaja de que la tensióm de programación es de 5v y se me ocurrio poder usarla para guardar el mapa para luego usar Aplus para elegir el camino mas corto a un destino.
Hasta aqui todo teoria y nada en practica.
Mi pregunta es la siguiente, ¿alguien en este foro ha hecho algo similar? ¿alguien tiene alguna sugerencia? ¿a alguien le interesa?
Desde ya gracias.
Yo tengo una duda... ¿qué es Aplus? que lo pongo en google y no me sale, y mencionas que ¿saca el camino mas corto? Gracias.
Mira, es mas complicado de explicar que de entenderlo, quizas no lo encontraste porque figura en internet como A plus, A Star o simplemente A*, en la wikipedia hay una buena explicacion http://en.wikipedia.org/wiki/A * .
Bueno la base es separar un terreno en x celdas por y celdas, cada una de esas celdas "nacen" como "sin explorar". Luego cuando se explora la primera se la marca como "libre" u "ocupada".
Para ir a un destino de la forma mas corta, primero se busca la primer celda accesible que este mas cerca, una vez que ya se ubique, desde esa celda se busca la proxima y asi se llega a la meta esquivando objetos y de la forma mas rapida posible.
Es la rutina que se usa en todos los juegos de estrategia
Bueno he ejecutado la demo del la imagen de ejemplo que había, y lo que veo que casi es por inundación de caminos y luego el camino con menos puntos es el mas corto, básicamente. Pero bien, se ven tan sencillo como el de siempre a la derecha. No es tanto como resolver rapidamente un tipo de laberinto sino para saber cual es el camino mas corto. No tienes que saber el laberinto pero sí la salida y la entrada donde está.
PD: si es la estrategia que sigue e world of war craft para avanzar un muñequito es el mas malo de todos, porque cuando no encuentra un huequito para pasar por un sitio se me va tomar por cu[*lo.
Es que el ejemplo que esta ahi es simplemente ilustrativo, el A plus es muy bueno, yo hice uno en Vb y funciona perfectamente. si el terreno es mas grande comprueba muchisimas menos celdas....
Hace una heuristica para saber que celda esta mas cerca del destino y de la partida.En teoria lo que busca es el camino mas corto, si por ahi no puede pasar busca el siguiente mas corto, y asi susesivamente.
con respecto a lo de world of war craft, puede ser, la rutina funciona de esa forma pero despues depende de cada programador para hacerla mas bulnerable o no.... El diablo por ejemplo tiene un aplus que cuando tu te alejas mucho de tu compañero ( por ejemplo la arquera) y el camino es muy sigzagueante esta se pierde pero está hecho para consumir menos ciclos
Acabo de agrandar el grid a 50x50 como un terreno mas grande. Y lo que me dado cuenta es que por defecto sabe donde esta la salida, si al sur, norte-este... o arriba, abajo... porque genera la "ola" de caminos hacia él. Antes lo tenía en lo típico en la diagonal, pero al ponerlo en la esquina de al lado, se saltó todos los obstáculos y fue en línea recta.
Bueno y gracias a que sabe hacia donde empezar, es verdad que no rellena todo el mapa. Pero es lo que decía tiene que saber donde está la salida respecto a él, da igual lo grande que sea el terreno, porque va avanzando poco a poco, y luego sí que tomará el camino mas corto. Pero bueno esto es como todo si no sabes nada, tendrás que andarlo todo, pero para la próxima es el mas corto. Pero Bien ya se como se llama la técnica y sencilla.