› Foros › Retro y descatalogado › Consolas clásicas
Buen curro, y la imagen queda bastante fiel al original, pero imagino que en el momento que se quiera animar el fondo todo se va al garete o me equivoco?
Buen curro, y la imagen queda bastante fiel al original, pero imagino que en el momento que se quiera animar el fondo todo se va al garete o me equivoco?
Kuego está la pega de los sprites extras que soponen las magias, y otras historias, como la sombra, o si se levanta algo de polvo cuando un personaje cae, que tambien necesita de sprites extras...
No estoy muy deacuerdo con la explicación de que la capacidad de la rom fuera la única causa de que los juegos no conserven todos los frames ni el tamaño de la versión original, ya que el espacio en la ram y vram es bastante limitadora, y la velocidad de la cpu te limitaría el nº de frames a intercambiar por segundo.
Una pregunta, ¿no tienes tileado y repetido el suelo? Esa parte también podrías trucarla para que se repitiera, la mitad inferior izquierda hasta el centro es prácticamente igual, así supongo que salvarías más vram para otros sprites. Sino, yo intentaría recrear todo el fondo de forma que se repitiera el máximo nº de tiles (vale quedaría más cutre, pero tendrías espacio para otras cosas y quizás pudieras moverlo más rápido). De mover el escenario en megadrive no tengo mucha idea, pero creo que con un poco de optimización sí que debería de moverlo sin muchos problemas.
theelf escribió:Lo de recrear el fondo, es aun mas trabajo que lo que hice aun. Yo basicamente fui buscando patrones, repitiendolos, y dejando de un solo color algunas zonas. Pero rehacer un escenario, es un trabajo muy laborioso, digamos, que tendrian que pagarme para perder tantas horas... aunque si se hiciera de comienzo, tal vez podria dejarse en 500-600 tiles aprox, aunque no se veria tan fiel a la NeoGeo
Dejarlo en 500/600 tiles es innecesario, no necesitas ahorrar tanto, porque las animaciones del escenario no creo que ocupen el deficit de tiles... bueno, tu sabrás a lo que me refiero. Los personajes, tampoco van a hacerlo. Ahorrar tanto en tiles si podría ser si quieres meter personajes enormes, pero no es el caso.
vaia currazo tio! felicidades
una cosa: para compilar esto cómo lo haces? programas en assembler?
theelf escribió:vaia currazo tio! felicidades
una cosa: para compilar esto cómo lo haces? programas en assembler?
Gracias. No esta programado en basic (aunq no me creas)
Supongo que habrá usado Basiegaxorz.
andoba escribió:Supongo que habrá usado Basiegaxorz.
Theelf, supongo que ya lo sabras, pero para optimizar gráficos, prueba a usar imagenesis (descarga en la misma pagina de devster), no sólo te adapta los gráficos, sino que elimina algunos repetidos. Con esto la faena no está del todo hecha, pero almenos ahorras mucho tiempo, aunque esta aplicacion tiene sus defectillos. Saludos!
Me puede confirmar alguien si mis calculos son correctos:
SNES Vram 65536 bytes - 544 bytes como tabla de direccion de tiles "OAM" = 64992 bytes
32 bytes por tile = 4 bits por píxel; 8x8 = 64 pixel x 4bit = 256bit = 32bytes
64992 / 32 = 2031 tiles.
Default VRAM Map
Scroll B = $E000 - $FFFF [8192 Bytes]
Scroll A = $C000 - $DFFF [8192 Bytes]
Patterns (Tiles 1520-1535) = $BE00 - $BFFF [1856 Bytes]
Window = $B000 - $BDFF [2240 Bytes]
Patterns (Tiles 1396-1407) = $AE80 - $AFFF [384 Bytes]
Sprite = $AC00 - $AE7F [640 Bytes]
H Scroll = $A800 - $ABFF [1024 Bytes]
Patterns (Tiles 0-1343) = $0000 - $A7FF [43008 Bytes]
theelf escribió:Default VRAM Map
Scroll B = $E000 - $FFFF [8192 Bytes]
Scroll A = $C000 - $DFFF [8192 Bytes]
Patterns (Tiles 1520-1535) = $BE00 - $BFFF [1856 Bytes]
Window = $B000 - $BDFF [2240 Bytes]
Patterns (Tiles 1396-1407) = $AE80 - $AFFF [384 Bytes]
Sprite = $AC00 - $AE7F [640 Bytes]
H Scroll = $A800 - $ABFF [1024 Bytes]
Patterns (Tiles 0-1343) = $0000 - $A7FF [43008 Bytes]
Lo mismo pasara en SNES. Pero ten en cuenta, que devido a la menor resolucion de la SNES, 256x224, para mostrar "lo mismo" necesita de menos tiles...
2 preguntas:
- Una vez tienes los tiles por separados como te lo montas para crear el mapa que los coloca en el orden correcto?
i=128
for y=0 to 27
for x=0 to 39
drawtile i,x,y
i++
next
next
For Y=0 to 27
For X=0 to 79
readint Map(X,Y)
Next X
Next Y
map_level0:
DATAINT 44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48
DATAINT 52,56,52,56,52,56,52,56,52,56,52,56,52,56,52,56,52,56,52,56,52,56,52,56
DATAINT 44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48
DATAINT 52,56,52,56,52,56,52,56,52,56,52,56,52,56,52,56,52,56,52,56,52,56,52,56
DATAINT ......
- Y el sonido? Como piensas hacerlo? Hay alguna utilidad que transforme el sonido a 'formato' MD?
2x8192bytes para dos scroll ( ¿se refiere a los planos de scroll parallax tipicos de las 16bit para crear efecto de profundidad?) ¿solo dos?
1856bytes Patterns ¿eso es el fondo de pantalla?
que es Window?
384bytes Patterns,
H Scroll?
Patterns (Tiles 0-1343) = $0000 - $A7FF 43008 Bytes ¿esto es lo que queda de memoria para tiles, no??
Estas maquinas que condiciones ponen a la hora de administrar la Vram?? Si no se ocupan los 1856bytes para por ejemplo Patterns, ¿se puede usar esa memoria para otra cosa?
como cuando en algun jefe final de fase se usaba el "truco" de quitar el fondo ¿dispondremos de 58 tiles mas? Y si no tenemos fondo tampoco tiene sentido tener scroll luego habra capacidad para otras 512 tiles mas, no?
No me doy credito en los graficos, ya que use los de un tutorial que tengo en el PC, simplemente los traduje al castellano y modifique para ser mas explicativos
Si creo que lo suyo es tener todo el nivel dibujado en bitmap y una utilidad que busque los tiles -> genere el archivo de titles no repetidos, genere la(s) paleta(s) y genere el mapa de titles. Tengo que pensar como crear super-structuras para que la MD pueda con todo eso, y las zonas de colisión... Lo jodido es que ese mapa ocupa más que los gráficos...
Respecto al sonido, yo tampoco entiendo mucho; pero estamos aquí para aprender... ¿no?
Muchas gracias tio por tomarte la molestia del pedazo de explicacion, ahora tengo los concetos mas claros.
De nada! es un placer
Me pregunto yo desde hace unos dias... ¿Porque los tiles son de 8x8?. Si fueran de 2x2, que es el minimo tamaño de un supuesto tile, a la hora de buscar patrones repetido en una imagen saldrian mas tiles repetidos y se ahorraria mucha Vram
1 0 3 4 5 6 3 4 0 0 3 4 0 0 0
2 0 7 8 0 0 7 8 0 0 7 8 0 0 0
8 9 3 4 0 0 0 0 B C 0 0 B C 0
1 2 1 1 2 1 1 2 1 1 2 1
Me ha dejado a cuadros el TFM Music Maker. Necesito un turorial para tontos...
A ver si acierto:
- Cada canción del programa es un canal de los 4 disponibles.
- Falta programar el PSG para los efectos de sonido. ¿Como?
Esto no termine de entender. No se bien que me preguntas. Lo que dices es si se puede reproducir samples ademas de la musica? claro por supuesto.Falta programar el PSG para los efectos de sonido. ¿Como?
alucinante ver de froma tan ilustrada como se llena gran parte de la pantalla con tan poca memoria, ¿Hoy dia se usa algo de esto en juegos 2D para PC??
bueno no hago mas preguntas que voy a estar unos dias fuera y no voy a poder contestar, y asi te dejo descansar un poco que menuda currada ejejej
Entonces faltaria saber si es mejor usar el FM o el PCM para efectos de sonido. Saber como programar el PSG, y como convertir ficheros de 'ondas de sonido', ¿no?
spege escribió:Buen trabajo, yo flipo...
Se un poco de programacion en c++, casi nada. Mola ver que investigais y no dejais que estas tecnicas mueran del todo.
Los programadores de hoy en dia harian bien en seguir la antigua disciplina de optimizar el codigo al maximo (se que es una cuestion de tiempo, posiblemente no puedan porque no lo tienen), veriamos juegos mejores con el hard que hay ahora.
Mas aun, no es solo un problema del ambito de la programación, ya casi en ningun ambito se toma el cuidado que se tenia antes como referencia. Lo se por experiencia.
sgonzalez escribió:Totalmente cierto.
Poca gente programa como antes, los compiladores son muy flexibles, se pueden hacer declaraciones en cualquier parte del código...hay muy poco análisis o ninguno del proyecto antes de programar y muy poco tiempo, demasiada presión por parte del jefe, superior o director de proyecto... mucho ansia por cobrar cuanto antes y se acabó. En fins, nos equipovamos de profesión.
Ralph escribió:sgonzalez escribió:Totalmente cierto.
Poca gente programa como antes, los compiladores son muy flexibles, se pueden hacer declaraciones en cualquier parte del código...hay muy poco análisis o ninguno del proyecto antes de programar y muy poco tiempo, demasiada presión por parte del jefe, superior o director de proyecto... mucho ansia por cobrar cuanto antes y se acabó. En fins, nos equipovamos de profesión.
Bueno, es que ahora los juegos son mas complejos, así que las "indicaciones" son mas complejas también. En tiempos de megadrive, ¿cuanta gente se dedicaba a la labor de programar?(y me refiero unica y exclusivamente a tocar el codigo), ¿y ahora?, me da que la desproporción ha descompensado todavía mas esto.
Bueno, me refería en general no en el mundo videojueguil .
En todos los programas de la actualidad (pcs, apples, etcs.) pienso que probablemente en los buenos juegos del mundo consolero es donde más optimizado esté el código, quiero pensar en Uncharted 2 o por ejemplo GT5, claro que....sus millones y sus 5 años en desarrollo se han llevado...y eso no está al alcance de cualquiera. En x360 no sé cual sería el ejemplo idóneo.
theelf escribió:Volviendo al tema de las consolas, estos dias estoy muy ocupado, pero apenas pasen las fiestas, pondre algunos ejemplos mas de programacion. Mi idea es hacer algun mini tutorial de programacion, pero no solo de codigo, si no general, para MD/MCD... claro, si interesa a la gente...
theelf escribió:OK, gracias por el interes. Luego de las fiestas, cuando tenga mas tiempo,me ire preparando algo.
Mi idea es hacer algo bien echo, para que incluso alguien con conocimientos bajos/nulos de programacion, pueda lograr algo "real" (el "hola mundo", es muy chulo, pero lo que todo el mundo quiere es mover un sprite sobre un fondo... )
Animo con eso, yo lo cogere con los brazos abiertos
theelf escribió:Bueno, me refería en general no en el mundo videojueguil .
En todos los programas de la actualidad (pcs, apples, etcs.) pienso que probablemente en los buenos juegos del mundo consolero es donde más optimizado esté el código, quiero pensar en Uncharted 2 o por ejemplo GT5, claro que....sus millones y sus 5 años en desarrollo se han llevado...y eso no está al alcance de cualquiera. En x360 no sé cual sería el ejemplo idóneo.
Tendrias que ver la Apple Mac Classic. Yo aun la conservo despues de 20 años de comprada en perfecto estado.
Con un increible procesador Motorola 68000 a 8mhz, 1mb ram, y 40mb de disco duro, carga el sistema System 6 en menos de 10 segundos!! totalmente grafico claro...
...lo mejor... carga el photoshop 1.0 en nada, 5-8 segundos, el word, y excel, tambien como mucho en 5 segundos...
El system 6 estaba programado 100% en assembler. Fue el ultimo sistema operativo de apple en estar programado al 100% en assembler.... otras epocas
Aui se demustra el poder de 8mhz y 1mb ram............ si se programa bien
y esta captura es de una Mac con 512kb de Ram...
Incluso microsoft programaba bien... Windows 3.0 640kb ram
Volviendo al tema de las consolas, estos dias estoy muy ocupado, pero apenas pasen las fiestas, pondre algunos ejemplos mas de programacion. Mi idea es hacer algun mini tutorial de programacion, pero no solo de codigo, si no general, para MD/MCD... claro, si interesa a la gente...
ues nenes, yo me voy a meter con el tema de programacion de NES.
Hace años me meti en ello, pero poco saque en claro.
Hoy en día hay mas tutoriales y ayuda y creo que voy a volver a cojerlo.
Si todo sale bien, me gustaria hacer tambien un tutorial sobre lo mismo, pero claro, en NES, ufff, es mas complicado a mi modo de ver, pero a ver que puedo sacar en claro.
theelf escribió:ues nenes, yo me voy a meter con el tema de programacion de NES.
Hace años me meti en ello, pero poco saque en claro.
Hoy en día hay mas tutoriales y ayuda y creo que voy a volver a cojerlo.
Si todo sale bien, me gustaria hacer tambien un tutorial sobre lo mismo, pero claro, en NES, ufff, es mas complicado a mi modo de ver, pero a ver que puedo sacar en claro.
En realidad ahora mi poco tiempo libre lo dedico a la programacion en megadrive, pero hace unos cuantos años atras (10-12), habia aprendido a programar para NES.
Llege a hacer un juego de naves en NES, basico,injugable (pero vistoso porque use muchos graficos), pero al menos compilo, y fue util a mis conocimientos.
Si ves que te vuelves a trabar, tal vez pueda darte algunas direcciones, si me acuerdo despues de tantos años... claro
Wow, no tendras la rom por ahí o el codigo fuente para aprender.
Podia colgarla en RetroNES. Ademas, allí muchisima gente esta interesada en aprender a programar para la NES. Hubiese estado bien que escribieses algun pequeño tutorial para luego colgarlo en la página. ¿Que te parece?
theelf escribió:Wow, no tendras la rom por ahí o el codigo fuente para aprender.
Podia colgarla en RetroNES. Ademas, allí muchisima gente esta interesada en aprender a programar para la NES. Hubiese estado bien que escribieses algun pequeño tutorial para luego colgarlo en la página. ¿Que te parece?
ya hace tiempo, lo habre borrado todo, aunque buscare en CDs antiguos a ver si hay algo. En todo caso, cuando termine el tutorial de megadrive, me pondre con la NES, a ver que me acuerdo, y si es suficiente, hago un tutorial
Visto que puede haber gente interesada en estas cosas, de las consolas clasicas se programar en mayor o menor medida,para la Megadrive, MegaCD,NES, SNES y NeoGeo, aunque solo me gusta para MD y megaCD.
La NES es una consola que le tengo mucho afecto, y realmente, me dan ganas de volver a leerme los tutoriales, ya te dire algo
Bua tio, no sabes lo de feliz que nos harias a muchos.
En el foro de RetroNES estuvimos hace ya muchos años hablando de programar algo en NES. Me puse a investigar pero poco saque en claro, mas alla de utilizar erramientas que facilitaban el trabajo para programar en NES pero sin conseguir nada.
Estuvimos incluso comentando el portar el Super Mario World de SNES a la NES, empezando con el primer nivel aunque sea. Aunque creo que ya estabamos disparando algo alto, yo me motive y me puse a pasar sprites del SMW de SNES al formato de NES, esto es, que tuviesen 4 colores. Poco mas.