Autor Tema: Creación de juegos para 2024 Reset64 4KB CRAPTASTIC Game Competition  (Leído 14744 veces)

SkyBerron

  • Commodorista
  • ***
  • Mensajes: 65
  • RANDOMIZE USR 11135
    • Ver Perfil
    • skyberron.itch.io
Re:Creación de juegos para 2024 Reset64 4KB CRAPTASTIC Game Competition
« Respuesta #45 en: Julio 26, 2024, 23:28:52 »
Añado uno más:

#7 Treacherous Platforms 4K

Juego de plataformas con gráficos extremadamente cutres. Hay que saltar de plataforma en plataforma, disparar a los robots y evitar caer al suelo o recibir impactos enemigos.

Iba a probar un scroll horizontal del fondo, pero como he llegado al límite de los 4096 bytes, mala suerte, no ha podido ser.  ;D









https://www.youtube.com/watch?v=uObZSZwoEIA

Siguiente...

josepzin

  • Administrador
  • Commodore Master
  • *****
  • Mensajes: 14265
  • Commodoreador web
    • Ver Perfil
    • Mi blog
Re:Creación de juegos para 2024 Reset64 4KB CRAPTASTIC Game Competition
« Respuesta #46 en: Julio 27, 2024, 05:39:28 »
Las plataformas están dentro de los X < 255???
www.retroinvaders.com | www.commodoreplus.org  | josepzin.blogspot.com

SkyBerron

  • Commodorista
  • ***
  • Mensajes: 65
  • RANDOMIZE USR 11135
    • Ver Perfil
    • skyberron.itch.io
Re:Creación de juegos para 2024 Reset64 4KB CRAPTASTIC Game Competition
« Respuesta #47 en: Julio 27, 2024, 08:08:37 »
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.   ;)

SkyBerron

  • Commodorista
  • ***
  • Mensajes: 65
  • RANDOMIZE USR 11135
    • Ver Perfil
    • skyberron.itch.io
Re:Creación de juegos para 2024 Reset64 4KB CRAPTASTIC Game Competition
« Respuesta #48 en: Julio 29, 2024, 21:01:22 »
Toca añadir otro juego:

#8 Invitation to Leave

A partir del juego de la espada láser, he cambiado los gráficos y optimizado un poco más el código con lo que me ha dado suficiente espacio para incluir obstáculos.









https://www.youtube.com/watch?v=9Xnv2eTiY2o

josepzin

  • Administrador
  • Commodore Master
  • *****
  • Mensajes: 14265
  • Commodoreador web
    • Ver Perfil
    • Mi blog
Re:Creación de juegos para 2024 Reset64 4KB CRAPTASTIC Game Competition
« Respuesta #49 en: Julio 31, 2024, 01:33:58 »
Jjajajajaa me encanta, me parece super simpático y cómica la idea!
www.retroinvaders.com | www.commodoreplus.org  | josepzin.blogspot.com

SkyBerron

  • Commodorista
  • ***
  • Mensajes: 65
  • RANDOMIZE USR 11135
    • Ver Perfil
    • skyberron.itch.io
Re:Creación de juegos para 2024 Reset64 4KB CRAPTASTIC Game Competition
« Respuesta #50 en: Julio 31, 2024, 07:44:16 »
Jjajajajaa me encanta, me parece super simpático y cómica la idea!
¡Gracias! Ahora que lo comentas, le iría fantástico incluir una música de fondo cómica tipo Benny Hill. Pero no sé de dónde iba a sacar los bytes necesarios. Además, tendría que investigar cómo se añade música SID.

Bieno

  • Administrador
  • Commodore Master
  • *****
  • Mensajes: 4220
  • PRINT"ADORA A TU COMMODORE"
    • Ver Perfil
    • bieno64
Re:Creación de juegos para 2024 Reset64 4KB CRAPTASTIC Game Competition
« Respuesta #51 en: Julio 31, 2024, 07:53:28 »
Lo de la música de Benny Hill estaría genial.  ;)


josepzin

  • Administrador
  • Commodore Master
  • *****
  • Mensajes: 14265
  • Commodoreador web
    • Ver Perfil
    • Mi blog
www.retroinvaders.com | www.commodoreplus.org  | josepzin.blogspot.com

SkyBerron

  • Commodorista
  • ***
  • Mensajes: 65
  • RANDOMIZE USR 11135
    • Ver Perfil
    • skyberron.itch.io
Re:Creación de juegos para 2024 Reset64 4KB CRAPTASTIC Game Competition
« Respuesta #53 en: Agosto 03, 2024, 22:31:52 »
Uno de género simulador deportivo:

#9 Crap Basket 4K

Me ha costado sudores encajar los cálculos matemáticos en 4K. No disponer de funciones trigonométricas ni de multiplicaciones es muy duro y, por si no era suficiente, he arrastrado un bug estúpido hasta el final. Bueno, de todo se aprende.









https://www.youtube.com/watch?v=0Di60bxAWUA


josepzin

  • Administrador
  • Commodore Master
  • *****
  • Mensajes: 14265
  • Commodoreador web
    • Ver Perfil
    • Mi blog
Re:Creación de juegos para 2024 Reset64 4KB CRAPTASTIC Game Competition
« Respuesta #54 en: Agosto 05, 2024, 05:35:43 »
Ni me imagino cómo has resuelto todas esas parábolas y rebotes...
www.retroinvaders.com | www.commodoreplus.org  | josepzin.blogspot.com

SkyBerron

  • Commodorista
  • ***
  • Mensajes: 65
  • RANDOMIZE USR 11135
    • Ver Perfil
    • skyberron.itch.io
Re:Creación de juegos para 2024 Reset64 4KB CRAPTASTIC Game Competition
« Respuesta #55 en: Agosto 05, 2024, 08:48:34 »
Ni me imagino cómo has resuelto todas esas parábolas y rebotes...
Las trayectorias parabólicas salen de forma natural al aplicar aceleración de la gravedad sobre las velocidades e integrar las velocidades (hay 3 pasos de integración por frame). Los rebotes con las paredes son fáciles y sólo tienen un factor de pérdida de velocidad. El aro de la canasta tiene dos puntos de colisión y rebote. En sistemas con posibilidad de multiplicar y dividir lo habría hecho con cálculo vectorial: cálculo de la normal, proyección del vector velocidad sobre la normal para hallar las componentes en dirección normal y perpendicular a normal, cálculo del vector por reflexión. Pero aquí lo he hecho a lo bruto: cálculo de distancia entre puntos centrales para test colisión círculo-círculo, conversión de vector velocidad de coordenadas cartesianas a polares, cálculo del ángulo del vector normal, cálculo de la reflexión en coordenadas polares, aplicar factor de pérdida de velocidad, conversión de velocidad resultante de coordenadas polares a coordenadas cartesianas. Se utilizan tablas precalculadas de seno/coseno, longitud a partir de componentes x e y, ángulo a partir de componentes x e y (arcotangente). Muy divertido todo para amantes de las matemáticas.

PacoBlog64

  • Commodore Master
  • *****
  • Mensajes: 386
  • INC $D020
    • Ver Perfil
    • PacoBlog64
Re:Creación de juegos para 2024 Reset64 4KB CRAPTASTIC Game Competition
« Respuesta #56 en: Agosto 05, 2024, 19:21:47 »
Uno de género simulador deportivo:

#9 Crap Basket 4K

Me ha costado sudores encajar los cálculos matemáticos en 4K. No disponer de funciones trigonométricas ni de multiplicaciones es muy duro y, por si no era suficiente, he arrastrado un bug estúpido hasta el final. Bueno, de todo se aprende.



Este mola mucho, puedes hacer un juego para 2 jugadores estilo "El 21" o algo así, no sé si en otras partes se llama igual, es un juego para 2 o más jugadores, el primero lanza desde la línea de tiro libre y suma puntos mientras no falle, cuando falla el siguiente recoge la pelota donde caiga y tira igual que el primero hasta que falle. El primero que llega a 21 puntos gana.
« última modificación: Agosto 05, 2024, 20:03:32 por josepzin »
Commodoriano desde mis tiernos 7 añitos. ¿Quién necesita más de 1MHz, 64KB de RAM, 16 colores y 3 canales de sonido?

josepzin

  • Administrador
  • Commodore Master
  • *****
  • Mensajes: 14265
  • Commodoreador web
    • Ver Perfil
    • Mi blog
Re:Creación de juegos para 2024 Reset64 4KB CRAPTASTIC Game Competition
« Respuesta #57 en: Agosto 05, 2024, 20:04:37 »
Las trayectorias parabólicas salen de forma natural al aplicar aceleración de la gravedad sobre las velocidades e integrar las velocidades (hay 3 pasos de integración por frame). Los rebotes con las paredes son fáciles y sólo tienen un factor de pérdida de velocidad. El aro de la canasta tiene dos puntos de colisión y rebote. En sistemas con posibilidad de multiplicar y dividir lo habría hecho con cálculo vectorial: cálculo de la normal, proyección del vector velocidad sobre la normal para hallar las componentes en dirección normal y perpendicular a normal, cálculo del vector por reflexión. Pero aquí lo he hecho a lo bruto: cálculo de distancia entre puntos centrales para test colisión círculo-círculo, conversión de vector velocidad de coordenadas cartesianas a polares, cálculo del ángulo del vector normal, cálculo de la reflexión en coordenadas polares, aplicar factor de pérdida de velocidad, conversión de velocidad resultante de coordenadas polares a coordenadas cartesianas. Se utilizan tablas precalculadas de seno/coseno, longitud a partir de componentes x e y, ángulo a partir de componentes x e y (arcotangente). Muy divertido todo para amantes de las matemáticas.

No, si, claro, ya decía yo que era una cosa super simple :P
www.retroinvaders.com | www.commodoreplus.org  | josepzin.blogspot.com

SkyBerron

  • Commodorista
  • ***
  • Mensajes: 65
  • RANDOMIZE USR 11135
    • Ver Perfil
    • skyberron.itch.io
Re:Creación de juegos para 2024 Reset64 4KB CRAPTASTIC Game Competition
« Respuesta #58 en: Agosto 05, 2024, 20:49:20 »
Este mola mucho, puedes hacer un juego para 2 jugadores estilo "El 21" o algo así, no sé si en otras partes se llama igual, es un juego para 2 o más jugadores, el primero lanza desde la línea de tiro libre y suma puntos mientras no falle, cuando falla el siguiente recoge la pelota donde caiga y tira igual que el primero hasta que falle. El primero que llega a 21 puntos gana.
No me había planteado juegos para dos jugadores, sólo juegos para un jugador por eso de simplificar (dos jugadores implica dos marcadores, lógica separada para uno o dos jugadores, etc.). Lo de tirar desde donde caiga la pelota tiene el problema de que te caiga justo debajo de la canasta. Dado que no hay "jugador" que pueda saltar y separarse de la canasta, no sería posible encestar y habría que sustituir esas posiciones imposibles por otras que sean posibles. Por cierto, he puesto código para comprobar que sólo se puntúa si la pelota entra por arriba y pasa por el aro y que sólo sume puntos una vez por tiro. También he corregido el bug que se ve en el vídeo: en uno de los tiros la pelota se queda pegada al aro porque pierde mucha velocidad y el código sólo funciona para rebotes no para deslizamientos. Para evitarlo, he forzado una velocidad mínima de rebote. He corregido las distancias de colisión para que sean más coherentes con los gráficos. Quería añadir un sprite de jugador que hiciera la animación de tirar a canasta, cambiar la posición aleatoria en cada tiro por distancia/dificultad creciente, poner una animación para la pelota girando en el aire y otra para la red de la canasta moviéndose tras encestar. El problema es que estoy sólo 8 bytes por debajo de los 4096 bytes y he tenido que recortar mucho para llegar hasta ahí. De todos modos, el juego no tiene que ser perfecto, porque entonces no sería "crap".  ::)

SkyBerron

  • Commodorista
  • ***
  • Mensajes: 65
  • RANDOMIZE USR 11135
    • Ver Perfil
    • skyberron.itch.io
Re:Creación de juegos para 2024 Reset64 4KB CRAPTASTIC Game Competition
« Respuesta #59 en: Agosto 05, 2024, 21:02:29 »
No, si, claro, ya decía yo que era una cosa super simple :P
La explicación era necesaria para disipar las dudas y para señalar que en un micro de 8 bits no se pueden hacer las cosas como normalmente se harían en otros sistemas más potentes. Se podría plantear una lógica más sencilla en la que los rebotes sólo sean de dos tipos: contra superficie horizontal o contra superficie vertical, pero entonces el aro haría cosas muy raras y sería poco creíble.

Bueno, la ventaja es que algunas de las funciones que he desarrollado son también útiles para otros tipos de juegos. Se me ocurre uno tipo pinball, aunque ni en broma cabría en 4Kbytes, a no ser que lo reduzca a un "pachinko" https://es.wikipedia.org/wiki/Pachinko pero no creo que eso sea muy divertido. Sin embargo, un juego de minigolf o sólo la parte de juego del green sí que sería posible. Tengo que pensarlo. Se me acumula el trabajo...
« última modificación: Agosto 05, 2024, 21:07:19 por SkyBerron »