[pyar] [ANN] Age of Empyres

Joaquín Sorianello listas en joac.com.ar
Vie Nov 20 12:38:19 ART 2015


2015-11-20 2:27 GMT-03:00 fisa <fisadev en gmail.com>:
> Buenas!
> Escribo con buena onda, aunque con sueño porque ya es re tarde.
>
> Un detalle que ahorraría muchas renegadas: estaría bueno que si una unidad
> pide moverse o atacar en una dirección inválida, el juego simplemente siga,
> en lugar de crashear y hacerlo perder. Como regla más general: crashear el
> juego lo menos posible, avisar nomás, porque si crashea, el ciclo de agregar
> más código para chequearlo, subir, esperar a que se corra otra partida, etc,
> se te hace eterno y te pasa el 75% de las veces. Te lleva 40 minutos
> debuguear 5 lineas de código.

Para hacer eso podes importar InvalidActionException de gamebot y
meter tu código en un try ... except

Les recomiendo que miren:

https://github.com/joac/ageofempyres-emulator/blob/master/gamebot.py

Para poder reutilizar las funciones que ya están implementadas.

> Hay un bug importante en el juego: las coordenadas de las acciones están
> invertidas respecto a las coordenadas del mapa. Por ejemplo, si uno hace que
> todas sus unidades se muevan al norte usando self.N, se mueven todas hacia
> la izquierda del mapa. Y no es un tema visual, porque el problema es que en
> game_map la data no está girada. O sea, game_map y las acciones usan
> sistemas de coordenadas invertidos entre si. Entonces por ejemplo, si miro
> hacia el norte del mapa para chequear que pueda moverme, y decido moverme
> porque puedo, resulta que después explota porque no se movió hacia el norte
> que yo miré, sino en otra dirección.

HORROR! lo estamos arreglando, en el emulador ya está arreglado. Les
aviso cuando esté deployado.

>
> Me pasé unas 5 horas renegando con eso, tenía lógica bastante compleja de
> movimientos y no se notaba a simple vista que todo se rompía porque estaba
> bugueado el juego, sumado a que cada ciclo de debug lleva su buen rato de
> esperas.

> Hace un rato finalmente descubrí el bug, y con un hack fácil logré que mis
> unidades se muevan... y cuando hice andar mi primer partida "bien", descubrí
> que las unidades tienen rango de visión limitado, lo que no estaba dicho en
> ningún lado y básicamente me rompe toda la estrategia que programé. Ya es re

Las unidades ven un cuadrado de 7*7 tiles con la unidad en el centro.
Revisé las reglas y no lo habíamos mencionado :/

> tarde y mañana trabajo, así que no llego a modificar mi bot antes de las 18.
> Le puse toda la onda, pero como quedó el bot creo que no da para competir :(
>

Vamos a correr el torneo el lunes, así pueden fixear los bugs que tienen.

Saludos!

-- 
Joaquín Sorianello
A.K.A. Joac
@_joac


More information about the pyar mailing list