Tutorial programacion Megadrive - Basico

Para recordar esos momentos tan buenos que nos han hecho pasar...

Moderador: sd-snatcher

nevat
Avatar de usuario
MegaAdicto!!!
 
Mensajes: 3226
Registrado: 12 Jun 2003
Ubicación: Barberà del Vallés. BCN.
Fotos: 4

Mensajepor nevat 03 Abr 2012 22:49

FerJs escribió:Claro, claro. ¿Pero cómo defino que tile es atravesable y que tile no?

Como bien te ha dicho bertobp depende como tengas montado el tinglado.
Si te sirve de referente (y si mi memoria no me falla), en el Sonic 1 de MegaDrive cada tile viene acompañado de un byte que indica si es "traspasable" (o "tope", o como quieras llamarlo) o no. Para aplicarlo en grandes mapas se pueden usar técnicas de compresión (Sonic 1 de Game Gear usa una técnica muy sencilla, aquí tienes más datos http://info.sonicretro.org/SCHG:Sonic_t ... ion_format).

pocket_lucho
Avatar de usuario
MegaAdicto!!!
 
Mensajes: 1388
Registrado: 04 Ene 2004

Mensajepor pocket_lucho 05 Abr 2012 08:36

Por no decir qu emejor empieces por cosas sencillas sin scroll ni mapas grandes para parcticar, en este plan hay juegazaos como bubble bobble, pacman, joust...

Yo en mis tiempos del div, hacia un mapa de colisiones y luego trasnformaba la posicion del jugador relativa a la pantalla a la del mapa de colisiones y comprobaba si se puede atravesar o no, en la mega hay por ahi un registro para colision entre sprites pero funciona muy mal y solo hay un juego comercial que lo usa... y es bastante malo.

FerJs
Avatar de usuario
Novato
 
Mensajes: 9
Registrado: 03 Abr 2012
Ubicación: Argentina

Mensajepor FerJs 06 Abr 2012 00:50

Si, tienes razón, más me vale no complicarme demasiado con mapas grandes por ahora.

Voy a intentar definir un área de la que el jugador no pueda salirse, comparando las coordenadas x e y del sprite del jugador con las de los extremo del área, si coinciden, impido que siga avanzando y ya está!

realbrucest
Avatar de usuario
MegaAdicto!!!
 
Mensajes: 1358
Registrado: 08 Oct 2007
Ubicación: WTC7
Fotos: 2

Mensajepor realbrucest 06 Abr 2012 20:28

Bueno, bueno... éste es un post que no viene del todo del todo a cuento pero más que nada es por ir recopilando por aquí algunas webs de desarrollo para nada ajenas a la temática. Quién sabe si en un momento dado pueden ser útiles a los que pululamos por aquí.
Dos de momento:

7 things (and more) I’ve learned with the SuperVDP
Algo de teoría más o menos superficial por parte del autor del "tile-engine" SuperVDP para 32X.

Lou's Pseudo 3d Page v0.91
Explicación al detalle de toda clase de rutinas para programar carreteras para juegos de velocidad 2D con vista trasera.

Ah! Y esto muy muy muy recomendable. Más que nada por lo autoexplicativo de los screenshots que lo hace a la vez muy ameno de curiosear. Quoteo de la web original que estoy perro para traducir:

genny4ever escribió:SEGA MEGADRIVE - THE VDP IN 16 PICS
Here is a documentation with a new writing style. Made of games screen-shots and some explainative sentences about the main VDP functions.
However, this is not enought to know how to use the VDP but... Very explicative for noobs (I hope). Au menu:
- Planes?Sprites?
- And what about PlaneW?
- HP/NP sprites, WTF?
- HP/NP planes, WTF? Big Sprites?
- Tile/Tile H Scrolling
- Pixel/Pixel H Scrolling 2Tiles/2Tiles V Scrolling
- Mix Pixel/Pixel H vs 2Tiles/2Tiles V scrolling?
- What about color palettes? What appen when I reload a palette?
- Content of VRAM?
- Sprites are made of tiles! Planes are made of tiles !
- Boost color tips 1 : Shadow/Highlight !
- Boost color tips 2 : Raster Effect !
Download this documentation


Y por supuesto, aprovechar para desearle a pocket_lucho y compañía tanto que tengan un éxito tremendo con el 1985alternativo como que se tire con la peña un Retromadrid de puta madre. He dicho [beer]

pocket_lucho
Avatar de usuario
MegaAdicto!!!
 
Mensajes: 1388
Registrado: 04 Ene 2004

Mensajepor pocket_lucho 06 Abr 2012 20:58

Pues muchas gracias por lo enlaces y por lo animos, ya que ambos vienen muy bien :P

EDIT: he estado mirando un poco por encima esto del vdp, casi todo lo sabia pero hay unas cuantas cosas que me vienen de perlas, como lo de las prioridades que no me aclaraba (tengo un problema en mi juego con esto y el jefe de fase) o lo del tema de las paletas de luz/sombra para proximas cositas.

realbrucest
Avatar de usuario
MegaAdicto!!!
 
Mensajes: 1358
Registrado: 08 Oct 2007
Ubicación: WTC7
Fotos: 2

Mensajepor realbrucest 07 Abr 2012 19:16

Algunas direcciones más especialmente pensadas para quien le pique cacharrear con las opciones de scroll que nos ofrece la megadrive:

  • First steps with the Sega MegaDrive VDP 0.1 cosillas básicas con el VDP y algo de lectura de pads pero en ensamblador. Para quien ya le haya cogido el tranquillo a los primeros pasos básicos usando las librerías en basic o C y ahora quiera echar un vistazo a las entrañas de la megadrive cuando realiza esas actividades. Existiendo las citadas librerías no merece la pena prescindir de ellas, pero lo dicho, si se va controlando no viene mal entonces empezar a curiosear qué está haciendo realmente la consola cuando utilizamos determinadas fuciones.
  • Some random VDP quirks pequeño articulillo comentando un ligero bug que tiene lugar al simultanear scroll horizontal con "2 cell V-Scroll" (scroll vertical "de dos en dos columnas" - usado para el efecto de inclinar el suelo en la boss battle de Lava Reef en Sonic & Nuckles, por ejemplo). Este enlace lo justifico principalmente porque me molan los efectos gráficos usando scrolls de tiles y líneas xd En este hilo del foro de desarrollo de spritesmind también se trata el tema.

2-cell vertical scrolling
Imagen
2-cell vertical scrolling + horizontal scrolling
Imagen
Line scroll (suelos de Street Fighter)

Y a continuación algo que podría llamarse "quoteo a saco" de un hilo de spritesmind en el que se explica (un tanto por encima) cómo realizar un scroll parallax básico en SGDK:

djcouchycouch escribió:...One thing I haven't been able to wrap my head around is how to make it so that I can scroll a background plane at different speeds. The effect I'm most interested in is how the background scrolls in Sonic The Hedgehog 1. The far off mountains, the waterfalls and the ocean scroll at different rates. And the ocean scrolls at the pixel level.

Chilly Willy escribió:Set the horizontal scroll mode to per line, then the hscroll table has a scroll value for every line on the display. Then set different lines to different values to scroll them at different speeds.

djcouchycouch escribió:I'm relying on SGDK since I'm not very familiar with the Genesis hardware, and there wasn't any obvious way (to me anyway) to set the scroll mode. But then I read that those settings are based on register values. SGDK doesn't seem to expose a function to set the scroll mode explicitly, but it does have a VPD_setReg() function. So I managed to find which register the scroll mode corresponds to, 0x0B, find the right value to set and call VDP_setReg() with them. Great!

Chilly Willy escribió:There's a functon to set the hscroll value for a line:
Código: Seleccionar todo
void VDP_setHorizontalScroll(u16 plan, u16 line, u16 value);

You tell it the plane (A or B), the line number, and the scroll value.

djcouchycouch escribió:Yes, exactly. That's what I was using. But I didn't know how to enable the scrolling mode so it didn't do anything. But everything is working now.


Los resultados logrados por djcouchycouch pueden verse en su canal de Youtube.

@poket_lucho: me alegro de que te haya servido para desatascar algo del juego. Joer, queda poco más de un mesesito. Debes estar yendo a toda leche con el OhMummy si todavía hay cosillas que te dan guerra, ¿no? Los ánimos son merecidos, tío. A ver los reportajes que te curras este año [360º]

pocket_lucho
Avatar de usuario
MegaAdicto!!!
 
Mensajes: 1388
Registrado: 04 Ene 2004

Mensajepor pocket_lucho 07 Abr 2012 23:09

Si tio, hay cosillas todavia con los scrolls y prioridades con los fondos que dan un poco de guerra pero poco a poco se van sacando, sobre todo con el pedazo jefe de mi juego que está compuesto por 24 sprites!! (es un buen tochaco).

Los resultados de djcouchycouch ya los tengo superados, incluso bastante más (el leerse la documentacion mas que nada), no sus preocupeis que cuando me deslie de esto, haré unos tutos y liberaré rutinas como las de descompresión de gráficos en amssembler, música, rasters... para que las use quien quiera, ir aprendiendo C y olvidaros del basic ;)

EL problema es que estoy en 80 cosas a la vez, cuando no estoy con mini makas... estoy con otras no tan minis... todavia no he terminado este juego y ya he empezado otro [+risas]

Abokys
Avatar de usuario
Adicto
 
Mensajes: 439
Registrado: 18 Feb 2005
Ubicación: Girando a mano derecha
Fotos: 1

Mensajepor Abokys 08 Abr 2012 21:32

FerJs escribió:Claro, claro. ¿Pero cómo defino que tile es atravesable y que tile no?


Mirate este ejemplo (muy sencllo y tosco) sobre colisiones. Los gráficos son muy simples, pero sirven para ilustrar el ejemplo. Saludos!
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.

FerJs
Avatar de usuario
Novato
 
Mensajes: 9
Registrado: 03 Abr 2012
Ubicación: Argentina

Mensajepor FerJs 11 Abr 2012 15:17

Abokys escribió:
FerJs escribió:Claro, claro. ¿Pero cómo defino que tile es atravesable y que tile no?


Mirate este ejemplo (muy sencllo y tosco) sobre colisiones. Los gráficos son muy simples, pero sirven para ilustrar el ejemplo. Saludos!


Intente desde dos computadoras distintas y no lo puedo descargar, solo me abre esta pagina: download/file.php?id=73205 en blanco. :-?

Abokys
Avatar de usuario
Adicto
 
Mensajes: 439
Registrado: 18 Feb 2005
Ubicación: Girando a mano derecha
Fotos: 1

Mensajepor Abokys 12 Abr 2012 18:48

Vaya, es verdad. Lo vuelvo a colgar, a ver si esta vez se puede descargar. De todos modos, com he dicho antes, se trata de un ejemplo sencillo, pero no muy efectivo.

Saludos!

https://rapidshare.com/files/3528008510 ... isones.bex

PrevioSiguiente

Volver a Consolas clásicas

¿Quién está conectado?

Usuarios navegando por este foro: No hay usuarios registrados visitando el foro y 1 invitado