Enero 14, 2016, 07:31:31 PM Ultima modificación: Abril 14, 2016, 03:44:24 AM por Alesxanderk
Estoy elaborando la IA de mis enemigos, el movimientos es por turnos y saltando cuadros de 32x32 dentro de un rango establecido.

La forma en que el enemigo me busca, es que busca el piso más cercano a mi y lo selecciona para ir hasta él, saltando de piso en piso. Todo funciona bien hasta el punto en que yo me encuentro tras un obstáculo, busco una solución para que intente rodear el obstáculo y llegar hasta a mi.

Adjunto 2 imágenes para que tengan una mejor idea, los cuadrados que se ven más rojos son los que el enemigo no puede seleccionar y los verdes son los que puede seleccionar, el cuadrado azul es el seleccionado.

Espero que alguien pueda ayudarme con el concepto de lo que trato de conseguir  :D


Gracias por tu ayuda, conseguí hacer el movimiento con la grid, de la forma que deseaba con "path_get_point_x" y "path_get_point_y".

Ahora me a surgido otra duda, he estado probando varias cosas y al final he decidido que mis niveles solo tengan suelo, ya que todas las paredes eran igual, sin diferencia en sus sprites, he decidido poner un backgroud en lugar de todos esos objetos, pero no so como hacer para que en el grid solo los pisos sean validos y el "vació" no...

Espero alguien tenga alguna sugerencia  :D

Podrías construir los niveles a base de tiles, de esa forma ahorrarías memoria y procesamiento. Después necesitarías un método para identificar las tiles (como obstáculos y espacios vacíos), para esto existen varias opciones: una es usar un background para cada tipo de tile, otra forma sería ordenar las tiles dentro de un solo background y revisar las coordenadas de cada tile dentro del bg, otra opción es poner tiles en diferentes capas (depths). Me parece que la última opción es la más fácil.

#4 Febrero 26, 2016, 03:37:50 PM Ultima modificación: Febrero 26, 2016, 03:40:06 PM por Alesxanderk
Gracias por la ayuda  :D  Me plantee modificar toda la generación de niveles para solo usar tiles y me funciono muy bien, el tiempo se redujo bastante, paso de cargar unos 3-6 mins a solo unos pocos segundos. Aun me encuentro solucionando unos pequeños problemas con el movimiento del personaje pero los enemigos me buscan de forma perfecta. Ahora solo me falta ir agregando más cosas a mi proyecto... Pronto lo posteare en el apartado de juegos en desarrollo.