Las plataformas están dentro de los X < 255???
Si tenemos en cuenta que las coordenadas X visibles tienen un rango de 0 a 319 y que la posición X de sprites puede ser incluso mayor o menor para el caso de sprites parcialmente visibles, no tiene sentido utilizar un byte para representarla. Ese no es el problema, ya que uso entero de 16 bits con signo, e incluso me permito usar coma fija para mayor suavidad en los desplazamientos, velocidades no enteras y poder hacer cálculos con aceleración de gravedad.
El problema es que, sin utilizar el multiplexor de sprites que mete mucho código y hace que se superen los 4 kbytes fácilmente, sólo tenemos 8 sprites simultáneos. Para este juego he decidido que el uso de sprites no sea dinámico sino fijo con el siguiente esquema: 1 para jugador, 2 para robots enemigos, 2 para disparos de jugador, 1 para disparo de enemigo, con lo que sólo quedan 2 para plataformas. Si hubiera limitado el disparo del jugador a sólo 1 en pantalla, entonces tendría 3 sprites para plataformas, pero las pruebas me indican que es fácil fallar el tiro y que hay que disponer de al menos dos disparos simultáneos para que el juego sea equilibrado y divertido.
Limitar a sólo 2 plataformas en pantalla no es muy estético. Pero, desde el punto de vista de jugabilidad no tiene un impacto demasiado negativo, ya que situarse a la derecha supone mucho riesgo de que seas alcanzado por disparos enemigos y que tengas poco tiempo de reacción. Además, la mecánica de salto de altura variable "no commodoriana" (más tiempo pulsas arriba, más alto llega) permite que el paso de una plataforma a otra sea muy fácil y flexible, con lo que con sólo 2 plataformas en pantalla debería ser suficiente, aunque exija algo de habilidad. Este es el tipo de compromisos que hay que hacer cuando se desarrollan juegos con límites muy estrictos de tamaño: se trata de dañar lo mínimo a la jugabilidad aunque sea a costa de la "vistosidad".
Por cierto, he intentado que este defecto no se note tanto tratando de desviar la atención al sprite horroroso del personaje (nótese la cabeza y el uso del color marrón), pero parece que no ha surtido efecto. No me lo explico.
