[Homebrew NES] The Banketh - The Video Game. Videojuego para NES

Imagen


Bueno, después de mucho meses de trabajo, ya se puede hacer la presentación del nuevo proyecto para NES, The Banketh - The Video Game.

Se pretende sacar una demo dentro de unos días. Por ahora se pueden enseñar imágenes del juego y algún gif.

El juego es de tipo aventura lineal, pero con pequeños detalles de exploración.

Está compuesto por 5 niveles, más 4 subniveles que hacen de conexión entre los anteriores. De esta forma,
el primer nivel es una alcantarilla,
el segundo nivel es una oficina,
el tercer nivel es un parque,
el cuarto nivel es un barco de carga de coches,
y el quinto nivel es una calle antigua.

Entre nivel y nivel debemos montar en una motocicleta y superar unos obstáculos para llegar al siguiente nivel.

Unos monstruos mutantes han secuestrado a los cuatro amigos del protagonista y debemos recorrer toda la ciudad en su búsqueda, para luego exterminar al jefe de los mutantes. Muy simple.

Cada nivel tiene un acertijo o secreto que descubrir para poder superarlo, ya sean llaves, botones o cualquier otra cosa que esta oculta.

Todos los escenarios están basado en lugares de la ciudad de Santander (España).

Esta montado sobre una placa UNROM de 128Kb.
Programado en C con la librería NESlib de Shiru.

Falta crear la música. Por ahora solo se ha podido crear algún sonido.

Os enseño capturas:

ImagenImagenImagenImagenImagenImagenImagenImagenImagenImagen
Imagen


El siguiente objetivo es arreglar los problemas que tiene el juego, crear música, mejorar el sonido, perfilar algunos niveles, y más adelante hacer una campaña de crowfunding... aunque esto último todavía se tiene que pensar mucho el como hacerlo.

Descarga ya la demo: The Banketh - The Video Game [demo].nes

ACTUALIZACIÓN 2019

Tras dos años del intento de crowfunding para poder fabricar cien unidades de The Banketh, este mes de abril por fin he vuelto a retomar el proyecto.

Como sabéis, el mencionado crowfunding se quedó a mil euros de conseguir el objetivo y se tuvo que desistir. Tras esto, me desentendí del proyecto y me involucré en otros de menor calado aunque igualmente dificultosos y laboriosos, donde he podido aprender cosas nuevas y desenvolverme mejor en las técnicas de programación para sacar partido a la consola.

Ahora mismo se ha rehecho el proyecto The Banketh aprovechando todo lo posible el código original, pero haciendo reestructuraciones de base muy importantes.

MEJORA DE CREACIÓN DE BACKGROUNDS:
Entre las mejoras tenemos la inclusión metatiles para formar los escenarios. Antes utilizaba la herramienta de creación de backgrounds y sprites NEStool, de Shiru. Esta herramienta permitía crear nuestro tileset gráfico facilmente, muy parecido a como se usa Paint de Windows (salvando las distancias) y permitía guardar backgrounds en bruto y comprimidos, que el compilador CC65 (que es con el que podemos hacer nuestros programas en C para NES), entendía y plasmaba luego en nuestro desarrollo final. Lo malo es que consumía al final mucho espacio en la ROMs que tenemos para nuestro videojuego, y utilizaba una y otra vez tiles que repetiamos constantemente en cada background. Vamos, que de todo menos optimo.

Ahora se ha creado un sistema de METATILES de 16x16, donde utilizamos los tiles que necesitamos para crear estos metatiles. Esto genera un archivo de direccionamiento formando un array hexadecimal que representa estos metatiles, que luego podemos usar para crear nuestras pantallas gracias al editor de mapas Tiled. Este nos da un abanico de posibilidades y conseguimos comprimir MUCHO el espacio destinado para backgrounds que tenía The Banketh.

Además, el espacio para el marcados de vidas, puntos, etc... que antes se repetía en cada pantalla, ahora solo se lee una vez y se repite donde queramos, lo que ayuda a comprimir aún más el espacio.

Para muestra una imagen:

Este era el espacio reservado para los cinco niveles originales de la beta de The Banketh en 2016:

Imagen


Este es el espacio actual que usan los mismos cinco niveles sacados de la beta de The Banketh utilizando el sistema de metatiles:

Imagen


Como veis, el espacio aprovechado es BRUTAL, lo que permite que se pueda destinar para crear niveles todavía más grandes y complejos, añadir nuevos, mejorarlos, meter mejores cutscene, etc... Lo que se te pase por la cabeza.

Ahora sigo utilizando la herramiento NEStool de Shiru, pero solo para crear los tiles y en todo caso plasmar pruebas de backgrunds para ver que tal quedan las creaciones gráficas puestas en pantalla, antes de crear un array de metatiles final. A parte de esto, lo sigo usando para la creación de sprites y frames de animaciones, que está muy bien.

MEJORA DE COLISIONES:
El sistema de colisiones se ha cambiado parcialmente. Se conserva la forma en como nuestros sprites interpretan el mapa por donde se tienen que mover, pero con mejoras.

El mapeado de colisiones, que antes era un archivo independiente del background que se cargaba depues de este en la memoria, ahora a corrido la misma suerte, asociando a cada metatile creado un tipo de dato del estilo "colision", "no_colision", de tal forma que se lee solo una vez, se mete en memoria y la maquina ya sabe que metatiles colisionan y cuáles no.

Además, gracias a la librería nesdoug utilizamos la función chek_collision, escrita en ensamblador, para la colisión entre sprites. Antes utilizaba un código escrito en C para esta misma función, pero consumía muchos recursos y daba algunos problemas (a veces, no se sabe porqué, quedaban colisiones invisibles en el mapa) que ahora ya se han solucionado.

MEJORA DE BOSS NIVEL 2:
Ahora mismo ando con esto entre manos. En la beta original de The Banketh, el boss era un helicóptero con tres rutinas de ataque. Esto no tenía mucho sentido, dado que todos los enemigos son meros mutantes, incluso los jefes, y lo del helicóptero fue una salida fácil que encontré en su momento para poder terminar el proyecto a tiempo.

Ahora se ha cambiado por una paloma gigante de ciudad, que... creo que os va a gustar. Todavía no está terminada, pero pinta muy bien:

Versión 2016
Imagen


Versión actual
Imagen Imagen Imagen


Continuamos por aquí: viewtopic.php?p=1747580275
La fase de a moto se ve chula. ¿ASM o C con Neslib?
Adiós EOL, una pena en lo que os estáis convirtiendo.

Saludos.
lokolo escribió:Escribo para subir el hilo, guardar sitio y esperar a probar la demo de @Diskover

Saludos.


[pos eso]
Enhorabuena por el juego. Pinta muy bien y parece divertido. [oki]
Madre mía, se puede programar para NES en C?

Eso moola muuucho! :)

Se puede en otras consolas?

Buen trabajo @Diskover !!

Si no tenéis músico... dame un toque! :)
NiceKen escribió:Madre mía, se puede programar para NES en C?
Eso moola muuucho! :)


Si, se puede.

Desde hace años existe un compilador llamado cc65 que nos permite compilar programas para diferentes plataformas antiguas (C64, Amstrad, Spectrum, NES, etc...).

Eso y la ayuda de librerías que ha ido haciendo la gente, sobre todo Shiru, ayudan mucho.
NiceKen escribió:Madre mía, se puede programar para NES en C?

Eso moola muuucho! :)

Se puede en otras consolas?

Buen trabajo @Diskover !!

Si no tenéis músico... dame un toque! :)


Se puede para casi cualquier consola :-) (NES, PCE, MASTER, MEGA, GAMEBOY...)
Bueno, me refería que parece que se puede de forma relativamente "sencilla".
NiceKen escribió:Bueno, me refería que parece que se puede de forma relativamente "sencilla".



Que quiere decir relativamente sencilla? :-p

Un día a ver si me animo y hago un tutorial de C para master, que veo poca gente animada con ella!
NiceKen escribió:Bueno, me refería que parece que se puede de forma relativamente "sencilla".


Relativamente. No deja de ser algo tedioso, con muchísimos inconvenientes y limitaciones.

Pero que nada pare a tu creatividad.

kusfo79 escribió:Que quiere decir relativamente sencilla? :-p

Un día a ver si me animo y hago un tutorial de C para master, que veo poca gente animada con ella!


La verdad es que molaría bastante.
kusfo79 escribió:Que quiere decir relativamente sencilla? :-p


Jajaja... me debí expresar mal.

Primero dije que no sabía que se podía programar para estos sistemas. Obviamente sabía que se podía en ensamblador. Respecto a programar en ensamblador, programar en C es relativamente sencillo, pero sigue siendo complicado, no pretendía desprestigiar el trabajo de nadie ;)

Sólo, por desconocimiento de la scene en general, me sorprendió ver que se podía uno atrever a hacer sus pinitos en C para estos sistemas incluso con ejemplos y todo para descargar. Mola! :)
Ya he colgado la lección 0 :-p
Quería haber presentado ya la demo, pero entre que quise arreglar algún pequeño fallo con un un enemigo, y que he sido uno de los agraciados por la epidemia de gripe, creo que mejor se dejará para el año que viene.

Disculpen las molestias.

No obstante, os dejo algunas fotos del proceso sobre papel y una beta que he creado físicamente (5 unidades) que regalé en navidades a mis amigos pese a que el juego no esta del todo terminado (faltan detalles). Que quede claro que la cosa va en serio ante todo.

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
¡Por fin!

Aquí tenéis una pequeña demo del juego.

El motivo de la tardanza ha sido causada por una gripe en el equipo, y además no había compuesta ninguna música.

Como veréis, lo de la música es un problema. Se ha hecho lo que se ha podido. No se descarta acabar recurriendo a alguien que sepa del tema para no morir en el intento.

No obstante, ahora lo que interesa saber son vuestras opiniones. El siguiente paso es tener preparada la campaña de crowdfunding para finales de mes.

A ver que os parece:
The Banketh - The Video Game [demo].nes

Imagen
Adiós EOL, una pena en lo que os estáis convirtiendo.

Saludos.
@Diskover En general el desarrollo en 8bit suele ser tedioso y limitado, pero como bien dices que la creatividad rompa barreras :-). Además el C siempre supone un wrapper que hace más amigable el desarrollo que meterte a saco con el ASM directo.

¡Buen trabajo y mucha suerte!
@lokolo
Como puedes ver, funciona sin problema. Por si tienes curiosidad, el mapper que usa The Banketh es UNROM.

UNROM es un formato bastante asequible. No deja de ser un NROM pero con la posibilidad de tener varios bancos de memoria. Además, los CHR (los gráficos) están en el propio PRG y puedo cargar en la VRAM lo que necesito en cada momento por lo que puedo intercambiarlos fácilmente y no limitarme a 256x256 tiles.

Rare lo uso en muchos de sus juegos (Battletoad) por ejemplo, y hacían cosas chulas como cargar algunos tiles "al vuelo" para crear esos efectos de doble fondo tan chulos (como la fase de la nieve). Yo hasta ahí no llego. Se que se tiene que hacer después del VBlank, que le quedan unos pocos ciclos para poder hacer cosas en la VRAM sin tener que apagar la pantalla, pero tienes que tener conocimientos en ASM para saber que tocar.

Hasta donde se, UNROM puede llegar hasta 256Kb, aunque no descarto que se pudiese hacer más grande. De todas formas, The Banketh es un juego de 128Kb. No están llenos del todo, pero poco le falta.

@AxelStone
Es que el tema de meterme en ASM... lleva tanto tiempo que no creo que mereciese la pena.
@Diskover Lo sé, yo mismo he apostado por el C en un juego que estamos haciendo para MSX ;-). A ver si pronto puedo poner datos como tu has puesto ya.
He probado la demo y darte la enhorabuena , es fluido y divertido , a la espera del juego completo ,
Muchas personas verán este tipo de plataformas como una terrible injusticia. Bienvenidos a la era 8bits.

Imagen
A mi me ha recordado directamente al Gremlins 2.
NiceKen escribió:Madre mía, se puede programar para NES en C?
Si no vas a exprimir la consola, puedes programar en C o en Java si quieres xD.

Cada lenguaje tiene un nivel de optimización y en el caso de C y Basic, si sabes lo que haces tendrás un nivel bastante cercano a Asm. Lo ideal es que programes en C/Basic y luego las partes críticas en Asm.
Tengo un dilema: la campa de crowdfunding no sé si realizarla en Kickstarter o en Verkami.
Diskover escribió:Tengo un dilema: la campa de crowdfunding no sé si realizarla en Kickstarter o en Verkami.


Yo solo he participado en proyecto de Verkami, ya que puedo pagar con Paypal y no me gusta usar ninguna tarjeta online, lo malo es que te limitas a España, no?
John3d escribió:
Diskover escribió:Tengo un dilema: la campa de crowdfunding no sé si realizarla en Kickstarter o en Verkami.


Yo solo he participado en proyecto de Verkami, ya que puedo pagar con Paypal y no me gusta usar ninguna tarjeta online, lo malo es que te limitas a España, no?


Verkami esta en español (y el resto de idiomas oficiales de España) y en ingles. Es muy comodo, pero el juego es para todo el mundo.

Kickstarter es para todo el planeta y en diferentes idiomas.

Sobre lo de pagar no lo tengo claro. Tengo que mirar si se acepta PayPal en Kickstarter o no.
DonVeneno está baneado por "Saltarse el ban con un clon"
hola, como puede hacerse uno con un blanketh de estos? tiene una pinta muy buena, eso si, da un aire a gremlins 2 de nes
Seria una placer apoyar un Verkami/kickstarter Diskover. Aqui hay un backer en potencia.

Kickstarter te dará mas visibilidad.

Saludos
DonVeneno escribió:hola, como puede hacerse uno con un blanketh de estos? tiene una pinta muy buena, eso si, da un aire a gremlins 2 de nes


El videojuego se llama, The Banketh, jajaja.

Pues precisamente en eso estoy trabajando, en la campaña de crowdfunding para que la gente se pueda hacer con una copia física. Pero he planteado el dilema de si hacerlo en la página de Kickstarter o en Verkami.

Además, estoy preparando un poco el tema del presupuesto que necesitaré para fabricar 100 o 150 copias, y esto es muy importante. Es la primera vez que hago esto y quiero que salga perfecto. Por ahora lo que más dolores de cabeza me está dando es lo de donde y como fabricar las cajas.

Además estoy planteando la opción de poder aportar al crowdfunding tazas con el logo de RetroNES Software y camisetas con la carátula de The Banketh.

En unas semanas os comentaré.
DonVeneno está baneado por "Saltarse el ban con un clon"
gracias @Diskover, informa y cuenta conmigo para una copia de esa maravilla [oki]
Me encantan este tipo de iniciativas, no sólo por dar la oportunidad a otros de disfrutar de una obra en exclusiva sino también por el esfuerzo que supone echar a andar una idea de este calibre desde cero.

No sé si te habrás puesto ya en marcha, pero te recomiendo encarecidamente Verkami. He sido mecenas en más de una campaña de su página, además de haber ayudado en algún que otro proyecto, y nunca he oído una mala crítica sobre ellos. Eso sí, el presupuesto y los detalles se los tienes que dar bien mascaditos.

Si sigues adelante cuenta con un mecenas más [beer]
Dentro de unos pocos días lanzo la campaña de crowdfunding mediante Verkami. Os dejo un adelanto:
https://www.youtube.com/watch?v=BwKwSSHDvXg
[poraki] Muchas ganas de que salga adelante este Verkami
SoNi escribió:[poraki] Muchas ganas de que salga adelante este Verkami


Es la primera vez que me meto en algo así y espero que salga todo genial. ;)
Cuenta conmigo !!! Me encantan estos proyectos [beer] y si lo hace un compañero de EOL todavia me gusta más !!
UPDATE 08/02/2017 - CROWDFUNDING lanzado!

Imagen

Ya podéis colaborar en el crowdfunding del videojuego desde Verkami: http://www.verkami.com/projects/17050-v ... video-game

Tenemos 40 días para conseguir un mínimo de 3.500 euros para hacer realidad este proyecto.

El videojuego en si, consta del cartucho, caja, instrucciones, y funda protectora. Se ha puesto un precio de 39€ (gastos de envío a España incluidos).

Imagen

También se ofrece la adquisición de taza con el logo de RetroNES Software y camiseta azul con la portada del videojuego.

Pero quizá lo que más os interese sea el pack de videojuego completo más cerveza La Grúa, que va a realizar una tirada especial de su Australian Pale Ale con la portada del videojuego The Banketh en su etiquetado. Una pasada.

Imagen

Imagen
SoNi escribió:Yo ya soy backer ! [fumando]


Ahí estamos.

¡Vamosssssss! [fumando]
ya tienes mi aportacion !! Me he pillado el pack con la cerveza
A ver si mas gente se anima XD
tonixx escribió:ya tienes mi aportacion !! Me he pillado el pack con la cerveza


SoNi escribió:A ver si mas gente se anima XD


Eso es. Muchas gracias chicos.

Ayer se consiguieron 19 mecenas y ya se ha cubierto una quinta parte del proyecto.

Lo del pack con la cerveza parece que ha gustado bastante.

A ver que tal va la cosa.
Es digno de aplaudir este tipo de proyectos tantos años después, y con lo difícil que debe seguir siendo aún realizarlos con las herramientas de ahora.

¡Suerte, y que no sea el último para que más gente se anime!
rolps escribió:Es digno de aplaudir este tipo de proyectos tantos años después, y con lo difícil que debe seguir siendo aún realizarlos con las herramientas de ahora.

¡Suerte, y que no sea el último para que más gente se anime!


Gracias.

Lo cierto es que con las herramientas de ahora se facilita muchísimo la labor comparado a como lo hacían en los 80/90, la verdad.

Todo el equipo humano que hay detrás de la scene de la NES es increíble, y cada vez añaden más cosas.
Buenas, pedí una copia pero todavía no ha llegado!
SetzerGabbiani escribió:Buenas, pedí una copia pero todavía no ha llegado!


Lleva su tiempo. Ya lo sabes ;)
Diskover escribió:
SetzerGabbiani escribió:Buenas, pedí una copia pero todavía no ha llegado!


Lleva su tiempo. Ya lo sabes ;)


Pero lo pedí ayer... Bien, bueno, esperaré un poco más.

Ah, y enhorabuena por el proyecto, que no lo había dicho. A ver si son muchos más :D
Ojala recaude el 100% para que se lleve a cabo.

Saludos.
He añadido nuevas recompensas, entre ellas un pack que contiene el videojuego The Banketh - The Video Game + NES Classic Mini

Imagen

Además he incluido otra con la opción de entrega en mano con el juego firmado, y otra más pequeña donde me comprometo a enviar un email de agradecimiento.
75 respuestas
1, 2