Programacion MEGADRIVE

En este foro trataremos sobre cualquier clase de consolas de juegos de cartuchos, CD's, DVD's o lo que sea, no se hará un subforo por cada una de ellas, por que son muchas.
Reglas del Foro
En este foro trataremos sobre cualquier clase de consolas de juegos de cartuchos, CD's, DVD's o lo que sea, no se hará un subforo por cada una de ellas, por que son muchas.
Responder
Avatar de Usuario
tacha
Mensajes: 20
Registrado: 15 Jun 2019, 11:26

Programacion MEGADRIVE

Mensaje por tacha » 16 Jun 2019, 05:45

Bueno, creo que en este hilo iré poniendo cosas que ya conocen y cosas poco conocidas sobre programación de Second Basic para MEGADRIVE.

Abriré con algun video de mis primeras pruebas de KFU, pero antes de ello paso a contarles de que mi intención al principio era hacer una version de SWORD of IANNA para Megadrive. Me contacté con RetroWorks cuando conocí este juego en el Spectrum, para pedirles permiso para realizar la conversion, ya que Luis Fernandez ya realizaría la versión de AMIGA. Luis Fernandez es un gran programador BASIC y Assembler, ya tenía todos los materiales para realizar la versión, cosa que nos ayudaríamos mutuamente y nos daríamos ánimos, pero la gente de RetroWorks ya tenía designado otro equipo para realizar la conversion de Megadrive. Por tal motivo, decidí realizar un juego totalmente original al cual llamaría KUNG FU TOBA, para seguir con la saga de mi primer juego de Spectrum terminado... pero a JAvier Leal se le ocurrió la genial idea de utilizar el nombre KUNG FU UFO (como un juego de palabras y evitar problemas con los hermanos brasileros ya que "toba" en brasil significa "ano").

Primeras pruebas de Sword of Ianna antes de que me denegaran la conversión:
https://youtu.be/oA0e6K_ZT1M

En fin, solo mostraré varias cosas sueltas del proceso (pero no todas las instancias y no en órden cronológico) para que puedas haceros una idea.

Por ejemplo, recordé un juego que jugaba en Spectrum y que estaba en ARCADE llamado SPACE GUN... y que algunos de los bosses estaban hechos con varios sprites como simulando gusanos extraterrestres y cosas así, entonces en una noche me dispuse a hacer pruebas y se me ocurrió hacer un BOSS con la mísma técnica del SPACEGUN.

Estos gráficos los saque de internet solo para hacer las pruebas de programación, la cabeza y cuello aqui se mueven con el joystick

https://youtu.be/-auC3eJoY9Q

...y luego de hacer algunas pruebas con programación y matemáticas, más gráficos provisorios de Javier, mas sonido y música provisorios mios salió un boceto de BOSS en una tarde
https://youtu.be/BJ10HVimLDo

Más pruebas de cinemáticas en una noche, con GFX hechos con dibujos de Yayo Arellano. La música esta fue compuesta en una noche con la idea de insertar la banda sonora para la SEGA CD

https://youtu.be/klHqm5Zi30o

Mientras tanto Jav me iba pasando entusiasmado cosas que hacía:
https://youtu.be/nXy3RaFx0_8

Recuerdo que una tarde estaba trabajando en la calle y recibo un msj de whatsapp, Jav me había enviado una imagen:
Imagen
...esa misma noche al retornar a casa, estuve toda la madrugada programando y haciendo pruebas, para las 7am le había devuelto éste video:
https://youtu.be/XyS0xIX_gSc

Al día siguiente Jav mejoró notablemene esos graficos que yo había utilizado provisorios y dejamos ese LEVEL un poco más prolijo
https://youtu.be/AlPayepphPo

Tras Jav pasarme un sprite animado de 6 frames me tomé la molestia de realizar una simulación de fuego-humo puramente con matemáticas. Cabe recordar de que lo único que hace el compilador es posicionar sprites en pantalla y moverlos en una posicion x,y, no hay ninguna herramienta de fluidos, ni dinámicas, ni gravedad, ni nada que se le parezca. Cada cosa hay que hacerla a mano a lo masho:
(a lo largo del siguiente video se puede ver como con el joy se pueden cambiar parametros del humo, como ser dirección, expansividad (acabo de inventar una palabra), etc.
https://www.youtube.com/watch?v=Jl0EAlJUO4s

Luego también estuve practicando con scalling por soft utilizando sprites:
(cabe recordar que Megadrive por si sola no tiene scalling ni rotación por hard, sino que éste se da solo en la SEGA CD)
https://www.youtube.com/watch?v=E4ckk8tilM4

Los últimos dos videos muestran dos técnicas que luego utilicé para un par de cinemáticas:
(tambien se puede apreciar el sonido de la avioneta hecho puramente con el sintetizador, sin necesidad de utilizar un sample)
https://www.youtube.com/watch?v=iGu6ycochsI

Bueno, lo siguiente es como que casi ni yo lo puedo creer... había hecho una herramienta para animar BOSSes de varios sprites FRAME a FRAME DIRECTAMENTE DESDE EL MEGADRIVE ! animación que luego podía extraer en un binario, que luego cargaría en el motor del juego.
https://www.youtube.com/watch?v=7NXERzK4Z7M

La animación de correr del BOSS fué hecha con una técnica de animación que se llama rotoscopia, ésta la aprendí cuando trabajaba en una empresa de animación 3D. En el video no se puede apreciar el flicking de los sprites a 60fps, debido a que la video captura solo toma 30 de los fotogramas.
https://youtu.be/da8qJ5aOdNI

Aqui la secuencia completa corriendo en un ROM de Megadrive:
https://youtu.be/6w1qhoO2Dks

Aqui se puede apreciar como trabajando en 5 minutos ya tenia casi lista una de las animaciones de ataque del 3er BOSS.
https://youtu.be/aiNrJvIoy_A

Aqui el resultado final de dicha animación:
https://youtu.be/7YVvgRbq3iY

Probando en el motor del juego (sin interaccionar con el personaje):
https://youtu.be/VDUsiOoDaL0

Una curiosidad, estuve toda una madrugada de sábado "creando una lluvia", lo loco es que la animación la hice enteramente por código sin utilizar ningun programa extra:
https://youtu.be/0KSLcd7Q2mo

Código: Seleccionar todo

gota_gfx:
	DataLong $00000F00
	DataLong $00000F00
	DataLong $0000F000
	DataLong $0000F000
	DataLong $000F0000
	DataLong $000F0000
	DataLong $00F00000
	DataLong $00F00000
	
gota_gfx1:
	DataLong $00000000
	DataLong $00000000
	DataLong $00000000
	DataLong $00000000
	DataLong $00000000
	DataLong $00000000
	DataLong $00000000
	DataLong $00000000
	
gota_gfx2:
	DataLong $00000F00
	DataLong $00000F00
	DataLong $0000F000
	DataLong $00F0FF00
	DataLong $000F0000
	DataLong $0F0F0F00
	DataLong $00FFF000
	DataLong $000F0000
	
gota_gfx3:
	DataLong $00000000
	DataLong $00000000
	DataLong $0F0000F0
	DataLong $00000000
	DataLong $0F0000F0
	DataLong $00F00F00
	DataLong $00FFF000
	DataLong $000F0000	

gota_gfx4:
	DataLong $00000000
	DataLong $F000000F
	DataLong $00000000
	DataLong $00000000
	DataLong $0F0000F0
	DataLong $F0F00F0F
	DataLong $00000000
	DataLong $00000000
	
gota_gfx5:
	DataLong $F000000F
	DataLong $00000000
	DataLong $00000000
	DataLong $00000000
	DataLong $0F0000F0
	DataLong $F000000F
	DataLong $F000000F
	DataLong $00000000
	
gota_gfx6:
	DataLong $00000000
	DataLong $00000000
	DataLong $00000000
	DataLong $00000000
	DataLong $00000000
	DataLong $F000000F
	DataLong $F000000F
	DataLong $F000000F
	
gota_gfx7:
	DataLong $00000000
	DataLong $00000000
	DataLong $00000000
	DataLong $00000000
	DataLong $00000000
	DataLong $00000000
	DataLong $F000000F
	DataLong $F000000F
0 = color transparente en la paleta de la lluvia
F = color mas claro de la paleta, el cual utilicé para las gotas de lluvia y las chispas cuando las gotas caen

Bueno, aqui había mejorado mi técnica de scroll paralax de 3 planos en 1, algo que se utiliza en SFII y se le llama fake plane
https://youtu.be/dZmzEEUIlQs

y así concluyo mi primer post. Continuaré aqui mismo con mas Megadrive.

Salu2
Larga vida a la hija de Sir Clive

Avatar de Usuario
Hache
Mensajes: 4
Registrado: 16 Jun 2019, 19:02

Re: Programacion MEGADRIVE

Mensaje por Hache » 16 Jun 2019, 19:37

¡Muy bueno todooo!
Ejecutado 0:1

rel87
Mensajes: 1
Registrado: 17 Jun 2019, 21:38

Re: Programacion MEGADRIVE

Mensaje por rel87 » 18 Jun 2019, 07:09

Salado ese desarrollo. Me encanta como la lluvia a veces "choca" con el piso y a veces no.

Responder