Tutorial muy básico de C para Master System

Bueno, me congratula comentar que ayer mismo envié el juego a la competición de este año de SMS Power y no lo hubiera podido hacer sin este gran hilo. Gracias a todos los que me habéis ayudado con las dudas en este hilo. Cuando pueda subiré todo el proyecto a github o a alguna parte y trataré de explicar cómo está hecho todo por si alguien que empieza tenga otro ejemplo de juego completo [beer]
@Gammenon , enhorabuena, ¿se puede ver alguna captura?.

Un saludo.
aranya escribió:@Gammenon , enhorabuena, ¿se puede ver alguna captura?.

Un saludo.


Gracias aranya. Aquí tienes la carátula del juego, a ver qué te parece:

Imagen

Adjuntos

@Gammenon , pues me encanta. Y la carátula también me gusta, es de la primera época de la MS.
Por añadir una mini pega, hubiera estado muy bien añadir algún idioma además del inglés, especialmente castellano.

Un saludo!.
aranya escribió:@Gammenon , pues me encanta. Y la carátula también me gusta, es de la primera época de la MS.
Por añadir una mini pega, hubiera estado muy bien añadir algún idioma además del inglés, especialmente castellano.

Un saludo!.


Ya el inglés ocupa todo el espacio, aparte que si meto el español tendría que meter también otro par de idiomas para dar el pego de Master System PAL XD Qué mal nos cuidaba Sega en aquella época, nada de localizaciones con mimo sino todos los idiomas a lo bruto tanto en la caja como en las instrucciones monocromas.
@Gammenon

Enhorabuena!! Que bien que hayas llegado a tiempo!! [sonrisa]
Baw escribió:@Gammenon

Enhorabuena!! Que bien que hayas llegado a tiempo!! [sonrisa]

Gracias Base, a ver qué se presenta este año. Tu has podido acabar el juego?
@Gammenon

Felicidades!
Ya tengo ganas de que llegue la medianoche y empiecen a salir los juegos de la competición de este año!
Gracias tío! Yo también estoy deseando ver qué es lo que se presenta este año. Participa el titán que hizo Silver Valley, por cierto [beer]
Ya han empezado a soltar la mandanga!!
Qué buena pinta lo nuevo de eruiz00!!
@Gammenon , vaya, es impresionante. ¿Como puede hacer juegos de esa calidad a esa velocidad?.
A mi me parece algo fuera de lógica.
aranya escribió:@Gammenon , vaya, es impresionante. ¿Como puede hacer juegos de esa calidad a esa velocidad?.
A mi me parece algo fuera de lógica.

Eso digo yo! XD
@Gammenon , además del conocimiento y habilidad, pienso que debe de ser una persona muy eficiente organizando su tiempo y aprovechando hasta el último segundo.
@Gammenon Ya he podido catar tu Gemitas! joder, si es el puto columns de Megadrive en la Master! :-D
Gracias kusfo. Efectivamente el que salió en Master System usaba gemas de 8x8, cosa que creo yo queda muy pobre. Las de la versión Mega Drive son 16x16, osea 2x2 sprites o en el caso de Gemitas 2x1 (probé a usar sprites estirados de 8x16). Quería hacer un juego para la master por lo que pensé en hacer una conversión decente gráficamente de la versión de MD. El tema es que no se si la paleta de la SMS no da la talla para replicar, dentro de sus limitaciones, los colores de las gemas de MD o soy yo que soy torpe, que al final opté por usar unas gemas diferentes.

Luego estaba el tema de la resolución: la versión de MD usa una matriz de 6x13 gemas. 13 gemas de 16 píxeles de alto ya dan 208 píxeles, por lo que la resolución típica de 256x192 de la SMS no permite mostrar las 13 gemas con este tamaño. De hecho creo que aquí está la clave de por qué la versión que salió para la SMS usa bloques de 8x8: Yo he tenido que tirar de una resolución de 256x224, pero no sé si esta resolución funciona fuera de territorios PAL. Igual en los sistemas japoneses y usanos tuvieron que usar 256x192 por narices y de ahí a usar bloques de 8x8 en vez de 16x16.

Me hubiese gustado implementar más modos de juego, un efecto con sprites de destrucción con gemas, la pausa, etc. Pero bueno, lo de siempre :Ð
@Gammenon Pues ayer lo probé en una master system I del 1988 (no la mia de toda la vida de 1990) y funcionó la resolución extendida! Es bien raro, raro..
kusfo79 escribió:@Gammenon Pues ayer lo probé en una master system I del 1988 (no la mia de toda la vida de 1990) y funcionó la resolución extendida! Es bien raro, raro..


Por qué no debería funcionar? Los televisores PAL si pueden con las tres resoluciones de la SMS, no? 256x192, 256x224 y 256x240. Gemitas usa la de 224. En todo caso me alegro de que el juego vaya en hardware real, yo no tengo ni la Master ni la everdrive para la MD, todo ha sido a base de emulicious [beer]
Gammenon escribió:
kusfo79 escribió:@Gammenon Pues ayer lo probé en una master system I del 1988 (no la mia de toda la vida de 1990) y funcionó la resolución extendida! Es bien raro, raro..


Por qué no debería funcionar? Los televisores PAL si pueden con las tres resoluciones de la SMS, no? 256x192, 256x224 y 256x240. Gemitas usa la de 224. En todo caso me alegro de que el juego vaya en hardware real, yo no tengo ni la Master ni la everdrive para la MD, todo ha sido a base de emulicious [beer]


En teoria hay dos VDP's, el de las consolas mas viejas (SMS I todas), y el nuevo (algunas SMS I y todas las SMS II). Se supone que en las viejas no van las resoluciones extendidas, y hay un bug en el zoom de sprites.
¿La master puede hacer zoom en los sprites?
weirdzod escribió:¿La master puede hacer zoom en los sprites?

"Si", puede mostrarlos al doble de ancho y/o alto, aunque por lo que comentan del bug no se usó.
En Game gear, los juegos de los power rangers tienen la opcion de activarlo, y da bastante el pego.
@wave Muy curioso, no lo sabía.
¿Sabes cómo averiguar qué modelos tienen el bug?
La mía es una MSI con el Hang-On y Safari Hunt.
@weirdzod probablemente tendrás la primera versión, pero precisamente esta semana, y tal como he comentado en smspower en el hilo del juego de @Gammenon , acabo de descubrir que una SMS I con el HangOn parece llevar la segunda versión...
Como va gente?

Aun con la resaca de la competición...

En efecto los trabajos de eruiz00 son excelentes, y con respeto a otros trabajos aportados.

No se en que debe trabajar, a mi me falta tiempo para hacer todo lo que desearía, pero bueno cada cual aporta lo que cree interesante y puede.

@Gammenon ya probé tu Gemitas, muy bueno!!!! Si le pudieras meter un modo 2 jugadores sería fenomenal [poraki]

Con todo esto la comunidad Master System esta muy activa últimamente [beer]

@kusfo79 , interesante lo de los VDP en las MS1, probaré que me ha tocado a mi

@wave , creo y si me equivoco me corrijan, que en Scramble Spirits, cuando te enfrentas a una especie de "División Militar" que supuestamente localizas, saltas a una pantalla donde los gráficos "tiles" son con zoom de los enemigos y protagonista/s.
En los Power Rangers, The Movie, efectivamente puedes activar el modo zoom en "Extra Options", que por cierto es uno de los GG2SMS hacks que he subido a la competición, donde también active las "Extra Options" de manera que sea siempre accesible ésta y más opciones.

Saludos!
Gracias por los comentarios @BcnAbel76. El modo dos jugadores está en pendientes, espero hacerlo algún día, sobre todo gracias a la explicación de eruiz00 de poner la actualización de la música en la interrupción de línea.

Tengo que mirarme los hacks que has enviado al concurso, por cierto [beer]
Me ha sorprendido la competición de 2018, no llega a la cantidad de trabajos de la competición de NES, pero si que destaca uno de ellos por su calidad.

Ese Galactic Revenge es de diez.
@Diskover , una pregunta, tú qué has trabajado con la NES y la MS, aunque menos con la MS. ¿La complicación de programación es similar en las dos?.

Un saludo a todos, me encanta este hilo y la MS.
aranya escribió:@Diskover , una pregunta, tú qué has trabajado con la NES y la MS, aunque menos con la MS. ¿La complicación de programación es similar en las dos?.

Un saludo a todos, me encanta este hilo y la MS.


Pues dejando a parte el sistema gráfico, que hay que retocarlo, todo lo demás se hace prácticamente igual mientras programemos en C.

La librería NESlib de Shiru tiene funciones muy parecidas a la que usáis aquí con el SMS y en el código final hay que retocar poca cosa. El compilador se lo come que da gusto.

Con el caso de The Banketh pude reutilizar el 85% del código prácticamente.

Ahora mismo estoy retocando todo el código original de The Banketh de NES para ahorrar espacio, y seguramente trasladarlo a SMS sea cosa de dos tardes tontas. Estoy haciendo mapeado de metatiles para la construcción de pantallas y eso acelera mucho las cosas.

En la beta de The Banket de NES utilizaba para la creación de mapas el propio NEStool (de Shiru también), que permite crear tiles, sprites, pantallas, etc... y comprimirlas en RLE. Ganas en detalle, pero generas unas pantallas que ocupan mucho espacio.

Haciéndolo con Metatiles usas patrones fijos para la creación de pantallas con la ayuda del mapeador Tiled, ahorras espacio y a la hora de trasladarlo a otros sistemas como SMS es prácticamente un copia pega.
@Diskover , entonces el que haya más scene en NES imagino que será fundamentalmente por la mayor popularidad de la consola, y no por la programación.

Con tu juego, ¿vas a tratar de aprovechar la diferencia entre la NES y la MS para mejorarlo?
aranya escribió:@Diskover , entonces el que haya más scene en NES imagino que será fundamentalmente por la mayor popularidad de la consola, y no por la programación.

Con tu juego, ¿vas a tratar de aprovechar la diferencia entre la NES y la MS para mejorarlo?


Si, efectivamente; el que haya más scene para la NES se debe a que es más popular y a que además, se pueden fabricar físicamente los juegos, que parece una tontería pero es interesante para mucha gente si quieres tener un rédito económico con tus trabajos.

La dificultad para programar en NES y SMS usando lenguaje C es prácticamente la misma. Luego cada una tiene sus peculiaridades si quieres sacar el máximo partido; pero no es determinante para realizar un buen programa.

Con mi juego hay una alpha páginas atrás que ya habréis visto y que realicé el verano pasado. No he seguido porque al no poder fabricarlo físicamente, no le veia mucho sentido a las horas invertidas en su realización a no ser que fuese por amor al arte... y si es por arte prefiero tirar a por la NES preferentemente.

No obstante, aproveché la libertad gráfica que te da la SMS para aumentar el número de colores en los sprites y fondos sin perder el concepto original, y quedaba muy decente.

Imagen

Aquí expliqué alguna cosa más en su día: hilo_tutorial-muy-basico-de-c-para-master-system_2208028_s150#p1743852441
Pero imagino que MS también se podrán realizar juegos físicamente ¿no?.
aranya escribió:Pero imagino que MS también se podrán realizar juegos físicamente ¿no?.

Los de 1985alternativo no hacen cartuchos físicos?
Creo que en SmsPower leí que le preguntaban o sugerían a eruiz00 por si había pensado en hacer versiones físicas de sus juegos.

A mí me suena haber visto por ahí algún Alex Kidd hecho con Kidded en físico.
Si tenéis alguna información al respecto, estaría bien que pasarais la info.

Si, los de 1985Alternativo hicieron en su día cartuchos similares a los de NES, y quizá para SMS estaría bien que hicieran algo.
Buenas!

Diseño de placas hay, lo que no tenemos aún son carcasas. Yo lo estoy moviendo,como parte de 1985Alternativo, pero todo el tema de inyección de plasticos es muy lento (llevo meses detrás de ello).
Por curiosidad ¿Sería una locura intentar hacer un cartucho de SMS desde cero? Es decir, sin sacrifricar a un donante.
¿La placa con la rom es muy complicado? ¿Y para la carcasa y la caja exterior cómo se podría hacer?
weirdzod escribió:Por curiosidad ¿Sería una locura intentar hacer un cartucho de SMS desde cero? Es decir, sin sacrifricar a un donante.
¿La placa con la rom es muy complicado? ¿Y para la carcasa y la caja exterior cómo se podría hacer?


De eso mismo estamos hablando.
No se puede imprimir la carcasa con una impresora 3D?
Imagen

Es caro, no "parece" un cartucho de verdad, y encima, dependiendo del material, cuesta hacer encajar las dos mitades...
¿Eso qué es? ¿Con una impresora 3D?
weirdzod escribió:¿Eso qué es? ¿Con una impresora 3D?


Eso parece, pero no merece la pena.

Lento, caro, inestable... habría que buscar otras soluciones.
Por curiosidad con lo de caro, ¿por cuanto saldría cada carcasa aproximadamente?.

Por cierto, a mi me gusta la carcasa esa de la foto de @kusfo79 [reojillo]
¿Pero no se supone que las impresoras 3D son precisas?
Lo digo desde el desconocimiento. ¿Para qué se pueden usar entonces? Si no pueden hacer una cajita cuadrada...

Viendo la foto yo no creo que esté tan mal.
kusfo79 escribió:Imagen

Es caro, no "parece" un cartucho de verdad, y encima, dependiendo del material, cuesta hacer encajar las dos mitades...


buenas,
mi sentido arácnido y un pajarito me advierten de un cartucho impreso en 3d.
el modelo es público o es vuestro? puedes compartirlo?
la impresión 3d, está bien para proyectos caseros. si quieres sacar productividad es otra historia...

yo hace tiempo monté un cartucho de megadrive entero, con carcasa impresa y circuito casero:
Imagen
Imagen

mas fotos
@aranya
Este en concreto, con no se que material que se suponia que tenia que ser la ostia, casi 30 euros......

@weirdzod
Las impresoras 3d no son muy precisas (bueno, depende del modelo). En este cartucho en concreto, el material se ablandó o algo, quedo medio curvo, y no encaja bien....

@Troopa Jr
Es publico, aqui lo tienes

https://db-electronics.ca/wiki/wikis/3d-printing/
@kusfo79 , pues si que es caro. Directamente inviable diría yo.

Gracias @kusfo79
gracias!!!
esto hay que probarlo, jajaja

respecto de la precisión de las impresoras, sólo decir que esto es un mundo, al que hay que dedicar muchas horas y fallar muchas veces. hay muchos materiales, muchas máquinas, muchos programas... y desde luego que no esta pensado para producir piezas en masa
efectivamente, el acabado, jamás será el mismo que el de un molde estampado, pero sinceramente, hace unos años ni soñaba con poder hacerme estas piezas sin salir de casa...
@aranya

se puede hacer con materiales mas baratos, y con una impresora mas barata, pero la solución es el molde para inyección de plastico. A ver si consigo que me hagan un presupuesto de una vez...
kusfo79 escribió:@aranya

se puede hacer con materiales mas baratos, y con una impresora mas barata, pero la solución es el molde para inyección de plastico. A ver si consigo que me hagan un presupuesto de una vez...


This.

Sería muy interesante lo del molde.
1022 respuestas