Toy'Swap: Juego para Atari XL
Re: [Proyecto] Juego para Atari XL
Animo vitoco...
Re: [Proyecto] Juego para Atari XL
El problema de trabajar de a poquito es que hay cosas que las hago pensando a futuro y que después se me han olvidado que están y las hago nuevamente. No a todo le he puesto comentarios, aunque sí he usado etiquetas con nombres largos y descriptivos. Cada versión estable de los fuentes los fui respaldando, y cuando llevaba 30 decidí hacer un registro de cambios (changelog), comparando cada versión con la anterior. En la misma lista agregué los pendientes (todo) y las ideas para nuevas funcionalidades o efectos especiales. Ya voy en la versión 45.
Una cosa que me ha estado dando vueltas es que todo lo he escrito en español, y que tal vez sea práctico llevarlo a inglés. Qué opinan?
Una cosa que me ha estado dando vueltas es que todo lo he escrito en español, y que tal vez sea práctico llevarlo a inglés. Qué opinan?
Re: [Proyecto] Juego para Atari XL
vitoco escribió:El problema de trabajar de a poquito es que hay cosas que las hago pensando a futuro y que después se me han olvidado que están y las hago nuevamente. No a todo le he puesto comentarios, aunque sí he usado etiquetas con nombres largos y descriptivos. Cada versión estable de los fuentes los fui respaldando, y cuando llevaba 30 decidí hacer un registro de cambios (changelog), comparando cada versión con la anterior. En la misma lista agregué los pendientes (todo) y las ideas para nuevas funcionalidades o efectos especiales. Ya voy en la versión 45.


Código: Seleccionar todo
;---------------------------
; POKE Registro de memoria,
; Valor a asignar
;--------------------------
.macro poke reg,num
lda #:num
sta :reg
.endm
Código: Seleccionar todo
icl "macro.lib"
org $4000
inicio
poke 709,15
poke 712,30
loop jmp loop
run inicio
Lo mejor seria en español y las etiquetas en ingles para que la gente entienda tu código mas fácilmente. por ejemplovitoco escribió:Una cosa que me ha estado dando vueltas es que todo lo he escrito en español, y que tal vez sea práctico llevarlo a inglés. Qué opinan?
Código: Seleccionar todo
;----------------------------
; Pregunta por el Joystick
;----------------------------
JOY
JSR CHCOL
LDA STICK
CMP #15
BEQ JOYEXIT
CMP #14
BEQ JOYUP
CMP #13
BEQ JOYDOWN
CMP #7
BEQ JOYRIGHT
CMP #11
BEQ JOYLEFT
JOYEXIT
RTS
Re: [Proyecto] Juego para Atari XL
Por el momento, mi rutina para leer el joystick es la siguiente:
(No intentes optimizar esta rutina como poner un ASL en vez de un CLC y ROL, porque no es la definitiva... quiero hacer algo con aceleración y no paso a paso).
Como puedes ver, estoy usando etiquetas_realmente_largas para explicar el flujo, y también las etiquetas estándar del Atari para las direcciones de memoria especiales. Macros estoy usando muy pocas porque en general voy optimizando durante el desarrollo... incluso he omitido algunas facilidades del compilador MADS por lo mismo. Además tengo casi todo tabulado, como por ejemplo la acción a realizar dependiendo del movimiento del joystick!!!
El programa ya lleva más de 3000 líneas, y estoy persiguiendo un bug que me tiene loco... demasiada optimización me complica el seguimiento en el código. Lo más probable es que tenga un valor corrido en una tabla o -lo que me está penando- una condición invertida o sobre un flag del procesador que no corresponde en algún branch. Intenté usar el modo debug de los 2 emuladores que estoy usando para probar, y no ha sido fácil. ¿Alguna sugerencia?
Código: Seleccionar todo
espera_movimiento
.local
jsr control_tiempo
lda STICK0
cmp #15 ; neutral
bne espera_movimiento ; quedó activado de la jugada anterior
l1
jsr control_tiempo
lda tiempo
beq se_acabo
lda STICK0
cmp #15 ; neutral
beq l1
sta ATRACT
clc
rol
ora STRIG0
tay
lda direccion_joystick,y
beq espera_movimiento
add cursor_actual
tay
lda (tablero),y
cmp #ficha_muro
beq espera_movimiento
; movimiento correcto
sty cursor_nuevo
lda STRIG0
bne solo_mueve
se_acabo
rts ; tenemos accion
solo_mueve
jsr reposiciona_cursor
jmp espera_movimiento
.endl
Como puedes ver, estoy usando etiquetas_realmente_largas para explicar el flujo, y también las etiquetas estándar del Atari para las direcciones de memoria especiales. Macros estoy usando muy pocas porque en general voy optimizando durante el desarrollo... incluso he omitido algunas facilidades del compilador MADS por lo mismo. Además tengo casi todo tabulado, como por ejemplo la acción a realizar dependiendo del movimiento del joystick!!!
El programa ya lleva más de 3000 líneas, y estoy persiguiendo un bug que me tiene loco... demasiada optimización me complica el seguimiento en el código. Lo más probable es que tenga un valor corrido en una tabla o -lo que me está penando- una condición invertida o sobre un flag del procesador que no corresponde en algún branch. Intenté usar el modo debug de los 2 emuladores que estoy usando para probar, y no ha sido fácil. ¿Alguna sugerencia?
Re: [Proyecto] Juego para Atari XL
Con "cosas" no me refiero precisamente a código reciclado... ya está bastante particionado el programa, demasiado para mi gusto para esta arquitectura!!!AsCrNet escribió:vitoco escribió:El problema de trabajar de a poquito es que hay cosas que las hago pensando a futuro y que después se me han olvidado que están y las hago nuevamente.a comer pasas para la memoria mijo
o quisas seria bueno usar macros "sub-rutinas" para no estar reescribiendo las rutinas de nuevo y reutilizar lo que ya esta programado. por ejemplo un archivo de macros, donde están las macros re-utilizables.
A lo que me refiero es a que para controlar cierta situación X incluí bits a alguna estructura A, pero cuando ha llegado el momento de programar acerca de esa situación, lo hago mirando la estructura B, y que más encima he tenido que adaptar para eso!!! Y después me pregunto para qué eran los bits extra en A

Igual reconozco que en algún momento me encontré con la misma rutina 2 veces, una con nombre en singular y la otra en plural... eso es efecto del Copy&Paste descontrolado para acelerar el desarrollo en cosas que se parecen (pero no son iguales)

Re: [Proyecto] Juego para Atari XL
¿Este código es mas o menos compatible con el C64, verdad? digo que al compartir procesador, al menos las instrucciones serán las mismas, cambia el tema de input/output.
Re: [Proyecto] Juego para Atari XL
El juego de instrucciones es prácticamente el mismo (entiendo que hay variaciones del 6502 y C64 y Atari no usarían la misma CPU), pero la gráfica del juego está basada en el coprocesador ANTIC del Atari y sus Player/Missiles y todo el código está hecho para administrar eso, por lo que prácticamente habría que reescribir el programa para usar los sprites de Commodore.josepzin escribió:¿Este código es mas o menos compatible con el C64, verdad? digo que al compartir procesador, al menos las instrucciones serán las mismas, cambia el tema de input/output.
Probablemente las primeras versiones de mi programa serían portables al C64, pues sólo tenía las estructuras de datos y las rutinas base para administrar el tablero en memoria (distribuir fichas al azar, eliminar tríos, asignar premios y rellenar el tablero)... lo demás son animaciones, explotación de las DLI para incorporar elementos adicionales a las fichas tratando de multiplexar los P/M (como los candados y los anillos fijos bajo algunas piezas) y darle más color al tablero que los 4 que ANTIC me permite. Además, estas restricciones de Atari influyeron en algunas reglas del juego, las que tuve que adaptar para no chocar con el harware... por ejemplo, no puedo poner más de un candado por fila... pero 9 candados serían muchos para ese tablero, por lo que esa restricción en realidad no se nota durante el juego

Sé que el C64 tiene mejor manejo que el ANTIC para utilizar varios colores a la vez en pantalla, y es probable que se requiera bastante menos código para dibujar el tablero en pantalla y hacer las animaciones que lo que yo he hecho en el Atari hasta el momento. Tal vez sea interesante evaluar un port del juego una vez terminado...

Re: [Proyecto] Juego para Atari XL
Muchas gracias por las explicaciones!
Me imaginé que el código estaría muy influenciado por la parte que muestra los gráficos.
Me imaginé que el código estaría muy influenciado por la parte que muestra los gráficos.
Re: [Proyecto] Juego para Atari XL
He avanzado bastante... Ya es jugable, tiene control básico del tiempo, niveles para ir aumentando la dificultad y algunas novedades. No adelanto nada más porque quiero presentarlo en la junta, verlo en un Atari real y que ahí me hagan comentarios y den opiniones (e ir modificando y probando en caliente).
Pero no se hagan muchas expectativas, aún no tiene sonidos ni pantalla de intro
A ver si alcanzo a avanzar en algo de eso este par de días que quedan... aunque me estoy guardando un par de novedades que incorporaré en la versión final.
Pero no se hagan muchas expectativas, aún no tiene sonidos ni pantalla de intro

A ver si alcanzo a avanzar en algo de eso este par de días que quedan... aunque me estoy guardando un par de novedades que incorporaré en la versión final.

Re: [Proyecto] Juego para Atari XL
Que buena victor....
Yo esta semana eatoy tapado de pega asi que no he podido avazar mucho...
Te felicito....
Yo esta semana eatoy tapado de pega asi que no he podido avazar mucho...
Te felicito....
Re: [Proyecto] Juego para Atari XL
lo pude jugar en vivo en la atariada, esta quedando genial, y para alguien que le gusta el original (como yo), esta fiel y diría que me gusta mas.
a esperar mas avances, y si implementas el lapiz de luz y queda jugable en el cel, aquí hay un usuario seguro.
a esperar mas avances, y si implementas el lapiz de luz y queda jugable en el cel, aquí hay un usuario seguro.
Re: [Proyecto] Juego para Atari XL
Gracias xt5 por el motivador comentario. Si bien la idea original era replicar el juego, rápidamente evolucioné a algo un poco más complejo. Las reglas básicas estaban dadas, pero me di cuenta que se podía hacer más. De ahí nacieron elementos adicionales en el juego y la posibilidad de incorporar múltiples objetivos por ronda. En el fondo, ya está dejando de ser fiel al original y está tomando su propio rumbo.
Respecto del comentario acerca del lápiz de luz, eso es algo que desde un comienzo me pareció necesario para replicar la jugabilidad "touch" del FoodSwap, pero en un CRT!!! Lo que no sé es si a nivel de tablet o smartphone, los emuladores de Atari 8-bits pueden reconocer un lightpen virtual. A lo mejor Franco nos puede comentar al respecto. Igual me gustaría ver algún día mi juego en el RetroBoxTV.
Ahora ando corto de tiempo para seguir avanzando, por lo que deberé priorizar entre las siguientes actividades:
Por otro lado, me gustaría saber de quienes lo probaron en la 1ra instancia (con pantalla de 14" con imagen algo desteñida) o en la 2da (pantalla de 21 bien colorida), qué les pareció, qué le falta o le cambiarían...
Respecto del comentario acerca del lápiz de luz, eso es algo que desde un comienzo me pareció necesario para replicar la jugabilidad "touch" del FoodSwap, pero en un CRT!!! Lo que no sé es si a nivel de tablet o smartphone, los emuladores de Atari 8-bits pueden reconocer un lightpen virtual. A lo mejor Franco nos puede comentar al respecto. Igual me gustaría ver algún día mi juego en el RetroBoxTV.
Ahora ando corto de tiempo para seguir avanzando, por lo que deberé priorizar entre las siguientes actividades:
- Completar las características pendientes del juego.
- Incorporar sonidos y música.
- Incorporar otros mandos de juego, como el lápiz de luz.
Por otro lado, me gustaría saber de quienes lo probaron en la 1ra instancia (con pantalla de 14" con imagen algo desteñida) o en la 2da (pantalla de 21 bien colorida), qué les pareció, qué le falta o le cambiarían...
Re: [Proyecto] Juego para Atari XL
Mijo en Android existe el emulador Colleen que tiene soporte para koala pad eso funciona como un touchscreen incluso este mismo emulador trae el juego de la analog Planeraty Defense versión 2012.vitoco escribió:Lo que no sé es si a nivel de tablet o smartphone, los emuladores de Atari 8-bits pueden reconocer un lightpen virtual
Yo creo que esta bien ese orden, primero debe ser la jugabilidad, después música y controles adicionales.vitoco escribió:Ahora ando corto de tiempo para seguir avanzando, por lo que deberé priorizar entre las siguientes actividades:
- Completar las características pendientes del juego.
- Incorporar sonidos y música.
- Incorporar otros mandos de juego, como el lápiz de luz.
umm yo lo jugue en la tv de 14" con el sol encimavitoco escribió:Por otro lado, me gustaría saber de quienes lo probaron en la 1ra instancia (con pantalla de 14" con imagen algo desteñida) o en la 2da (pantalla de 21 bien colorida), qué les pareció, qué le falta o le cambiarían...

Saludos
Re: [Proyecto] Juego para Atari XL
Después de 3 meses, retomé el proyecto en mis vacaciones. Avancé en lo siguiente:
- Incorporé los nuevos premios y castigos.
- Agregué música de fondo y efectos de sonido (usando ejemplo SFX de RMT).
Ahora estoy craneando el tema de las dificultades y mejorando los dispositivos de entrada.
Para los dispositivos, me interesa probar el lápiz de luz en un Atari real, por lo que si alguien sabe de uno, que me avise. Sé que puedo hacerme uno propio, pero quiero experimentar con el original.
- Incorporé los nuevos premios y castigos.
- Agregué música de fondo y efectos de sonido (usando ejemplo SFX de RMT).
Ahora estoy craneando el tema de las dificultades y mejorando los dispositivos de entrada.
Para los dispositivos, me interesa probar el lápiz de luz en un Atari real, por lo que si alguien sabe de uno, que me avise. Sé que puedo hacerme uno propio, pero quiero experimentar con el original.
Re: [Proyecto] Juego para Atari XL
En la junta de abril presenté algunos avances, pero no había avanzado mucho sino hasta esta semana, en que depuré y agregué elementos planificados, como la selección del nivel de inicio y manejo del tiempo, los que presenté en la junta express de este fin de semana para que lo probaran y opinaran.
También estoy trabajando en la música definitiva y decidiendo si incorporo puntaje o qué hacer cuando se llegue al último nivel (quedarse iterando hasta que se acabe el tiempo o finalizar con un mensaje de felicitaciones).
¿Por qué retomé con ganas? Quiero presentarlo en el concurso de ABBUC de este año, cuyo plazo finaliza el próximo mes.
¿Alguien quiere opinar sobre lo que vio en la junta? ¿Sugerencias? ¿Recomendaciones?
También estoy trabajando en la música definitiva y decidiendo si incorporo puntaje o qué hacer cuando se llegue al último nivel (quedarse iterando hasta que se acabe el tiempo o finalizar con un mensaje de felicitaciones).
¿Por qué retomé con ganas? Quiero presentarlo en el concurso de ABBUC de este año, cuyo plazo finaliza el próximo mes.
¿Alguien quiere opinar sobre lo que vio en la junta? ¿Sugerencias? ¿Recomendaciones?
Re: [Proyecto] Juego para Atari XL
No pude ir a la junta, podrías poner un videito para darle un vistazo!
Saludos
Saludos
Re: [Proyecto] Juego para Atari XL
Puchas Franco, no quiero invalidar el juego como candidato a ser presentado en ABBUC.
Por otro lado, ellos exigen que el juego corra en un Atari real PAL, lo que me obliga a hacer pruebas específicas en esas máquinas para ver cómo cambian los colores, ya que las paletas son distintas.
Por lo tanto, necesito que me contacte alguien que tenga un Atari XL/XE norma PAL!!!
Por otro lado, ellos exigen que el juego corra en un Atari real PAL, lo que me obliga a hacer pruebas específicas en esas máquinas para ver cómo cambian los colores, ya que las paletas son distintas.



Re: [Proyecto] Juego para Atari XL
Tienes razón!! Quedaré a la espera entonces!
Re: [Proyecto] Juego para Atari XL
Tengo un Atari XE 130 PAL, pero no tengo nada para cargar juegos 

Re: [Proyecto] Juego para Atari XL
Me queda una semana para terminar el juego, y ya se puede jugar con joystick, teclado, mouse de ST y trackball.
Ahora estoy pegado con el lápiz de luz, el cual no tengo, por lo que estoy probando con una pistola de luz original en Atari real. Puchas que me ha costado echar a andar esta parte, siendo que la considero una de las más relevantes porque permitiría jugar en un emulador con pantalla touch como RetroboxTV en un teléfono (si es que soporta lápiz de luz... ¿Franco?). Primero tuve que hacer funcionar la emulación de lightpen en Altirra. Después decidí que debía calibrar al menos una vez justo antes de partir el juego, ya que se menciona en varios foros que la chuntería de la pistola de luz es bien inestable y que en parte depende del juego... Bueno, todo eso lo he comprobado en mi Atari real. Primero no pescaba ni siquiera con la pistola apoyada en la pantalla... tuve que poner el brillo del CRT al máximo. Después tuve un lío con el trigger (gatillo) y la captura de coordenadas, y finalmente descubrí que disparando varias veces en un mismo lugar se reciben coordenadas distintas cada vez, suficientemente distantes como para ubicar el cursor en la celda de al lado
Espero que eso no sea problema en el emulador.
Pendientes aún:
- Melodía original para la presentación y durante el juego.
- Melodías de fin de juego para cuando se gana y para cuando se pierde.
- Animación (scroll-line) para los créditos en portada.
- 160 rondas!!!! Apenas llevo unas 40, y quiero llegar (idealmente) a 99 rondas en cada uno de los 2 niveles de dificultad, combinando los distintos tipos de objetivos que definí.
Ya pasé los 16K de programa... Aunque hay algunas partes de donde sacar basura y espacio libre para reacomodar cosas. Bueno, ¡si es que me alcanza el tiempo!
Ahora estoy pegado con el lápiz de luz, el cual no tengo, por lo que estoy probando con una pistola de luz original en Atari real. Puchas que me ha costado echar a andar esta parte, siendo que la considero una de las más relevantes porque permitiría jugar en un emulador con pantalla touch como RetroboxTV en un teléfono (si es que soporta lápiz de luz... ¿Franco?). Primero tuve que hacer funcionar la emulación de lightpen en Altirra. Después decidí que debía calibrar al menos una vez justo antes de partir el juego, ya que se menciona en varios foros que la chuntería de la pistola de luz es bien inestable y que en parte depende del juego... Bueno, todo eso lo he comprobado en mi Atari real. Primero no pescaba ni siquiera con la pistola apoyada en la pantalla... tuve que poner el brillo del CRT al máximo. Después tuve un lío con el trigger (gatillo) y la captura de coordenadas, y finalmente descubrí que disparando varias veces en un mismo lugar se reciben coordenadas distintas cada vez, suficientemente distantes como para ubicar el cursor en la celda de al lado

Pendientes aún:
- Melodía original para la presentación y durante el juego.
- Melodías de fin de juego para cuando se gana y para cuando se pierde.
- Animación (scroll-line) para los créditos en portada.
- 160 rondas!!!! Apenas llevo unas 40, y quiero llegar (idealmente) a 99 rondas en cada uno de los 2 niveles de dificultad, combinando los distintos tipos de objetivos que definí.
Ya pasé los 16K de programa... Aunque hay algunas partes de donde sacar basura y espacio libre para reacomodar cosas. Bueno, ¡si es que me alcanza el tiempo!