La idea es replicar su jugabilidad, pero aún no sé si el juego original en sí, es decir, mantener las mismas fichas que POU. Eso lo veré en la etapa de diseño de la pantalla.
Además, la idea es hacerlo 100% en lenguaje de máquina (assembler), pero no sé si llegue a ponerle música de fondo, usar animaciones top y efectos de sonido espectaculares. Estoy demasiado oxidado como para hacerlo bien a la primera, y no tengo mucho tiempo disponible para trabajar en este proyecto. Así que espero que los retronianos sigan haciendo sus comentarios y sugerencias tanto en el juego como en herramientas de desarrollo o bibliotecas que pueda usar, tal como ya lo hicieron cuando comenté mi idea en el otro hilo.
De todos modos, no programaré directamente en el Atari real ni en emulador como en los buenos tiempos, donde hacía mis rutinas USR para basic con el cartucho Atari Assembler/Editor o en el OSS Mac/65, sino que en un cross-assembler en mi PC, usando el editor de texto que más me acomode, y probando rápidamente en algún emulador.
Había pensado en usar el compilador ATASM para generar código para 6502, ya que es compatible con Mac/65, y que ya había usado hace un par de años en un miniproyecto con imágenes 3D en anaglifo que dejé botado, pero acá AsCrNet recomendó MADS, que si bien es compatible con Mac/65, tiene un montón de características especiales para simplificar la programación de cosas iterativas como si fueran macros, pero al alcance de un OPCODE ficticio. Debo haberle dedicado un par de horas a leer el escueto manual en inglés (porque me habría demorado años en leer el original en polaco) para hacerme una idea de cómo usar algunas de esas características antes de sentarme a programar algo relacionado al juego.
Después de escribir un par de rutinas (ciclos) asociadas al juego, usé el Dis6502 para examinar el XEX generado y comprobar que fuera el código que yo esperaba.
Si bien me recomendaron el Altirra para probar los XEX, en el PC de la casa tenía instalado el Atari800Win PLus, cuya versión 4.1 es bastante estable para lo que necesito, así que con él hice las primeras pruebas de mi XEX.
En resumen, ya tengo funcionando un bosquejo del algoritmo que detecta las todas fichas en línea de al menos 3 unidades similares y para el tablero completo, y es más rápido que lo esperado por mí.
De todos modos no tengo nada para mostrar, no es funcional, son sólo los esqueletos de algunos algoritmos necesarios para el juego, que parte de un tablero pre-armado en memoria con algunas situaciones especiales y también elimina las fichas "reventadas", pero aún no hace los deslizamientos para rellenar. Creo que ese es el siguiente paso, y espero que me tome menos que las 6 horas acumuladas que llevo para mi piloto. Claro que parte de ello fue la curva de aprendizaje para comprender la sintaxis e instrucciones especiales de MADS, y si bien reemplacé algunas secuencias de código por las resumidas de MADS, también tuve que hacer lo inverso para optimizar ciertas cosas.
No sé si valga la pena comentar las características del diseño que pensé para este juego, tanto a nivel de algoritmos como de gráfica. ¿A alguien le interesa?