4 feb 2007

Señor, son demasiados!

Continuando con el jueguecillo, hoy me he puesto con la parte de armas y con el comporamiento de los monstruos, además de un control básico del personaje para poder moverlo por la pantalla, de forma que los monstruos se comporten adecuadamente.

La cosa funciona, más o menos: El tipo de movimiento de los monstruos es muy simple: Procurar apuntar al personaje y caminar hacia delante, siempre. Como la velocidad de giro es un valor concreto, puede darse el caso de que el monstruo se quede "andando en círculos" alrededor de su objetivo, sin que nunca vaya a poder alcanzarlo. Sé detectar estos casos, las zonas donde eso pasaría se pueden obtener matemáticamente, pero no sé qué hacer para evitarlo. Reducir la velocidad del monstruo provoca un comportamiento extraño cuando nos movemos alrededor suyo, y detenerlo es aún peor.

De momento, tampoco es importante porque esto se puede suplir aumentando el número de monstruos, de forma que "hacer trampas" no sea posible.

Otro fallo encontrado es que los monstruos tienden a agruparse en exceso en su persecución del personaje, y como todos tienen los mismos atributos de velocidad de giro y de desplazamiento, no queda nada bien. La solución a esto debería ser añadir un pequeño factor aleatorio a sus atributos (está tenido en cuenta en el diseño del XML, así que no debería ser difícil).

Lo siguiente que probé fueron unas sencillas pruebas de carga, poniendo muchos monstruos en pantalla a la vez. El sistema se comporta aceptablemente, llegando a ser jugable hasta tener alrededor de 1000 monstruos en pantalla. Realmente, esa limitación se debe a la tarjeta gráfica (y a que el modo de dibujar sprites no la aprovecha como es debido...), así que el número real durante el juego será menor, al añadir los disparos, explosiones, el fondo, etc.

Pero también procuraré preparar un sistema de dibujado más rápido de muchos sprites a la vez, en vez de ir de uno en uno. Si no, me temo que tendremos límites de unos 250 monstruos en pantalla, demasiado pequeño para mis planes.

Por último y para acabar el día, he puesto a los monstruos a disparar cuando me tienen en su punto de mira, y me he dado cuenta de que faltan algunas características a los disparos de las armas, que no se tenían en cuenta en el archivo, así que tendré que ampliar el diseño :@.

2 comentarios:

Rochgs dijo...

Si cuando los enemigos se quedan colgados girando en torno al personaje lo hicieran rápidamente y le lanzasen shurikens o kunais, serian como ninjas... Zombies de cyber-aliens ninja...

Miguel Herrero dijo...

Molaría un arma de corto alcance (muy corto, una especie de gas) que hiciera que los enemigos afectados se volviesen en contra del resto.

Con el tiempo volverían a la normalidad, claro.

Respecto a lo de los enemigos, los de Crimsonland también son bastante tontos. Aunque en algunos casos lo que hace es que se aproximen a donde el jugador va a ir, no a su posición actual.