[HO] Former Dawn (NES). Avances y actualizaciones.

18, 9, 10, 11, 12
aranya escribió:@jekuthiel yo tengo una NES Pal y una Famicom AV. No quiero que me regales nada.
Y sobre lo que dices de que no he comprado el juego por falta de dinero, me parece un atrevimiento, una arrogancia y una mala educacion por tu parte tremenda. No sé quién te piensas que eres.
Piénsalo.


Mis disculpas, no recordé bien cuál era tu situación. Pensé que solo tenías una NES PAL (hay algunas personas aquí que están en esa situación).

Bueno, ¡la Famicom AV es la forma ideal de jugar a Former Dawn! ¿Leí mal tus declaraciones sobre el dinero? Dijiste que era demasiado cara para ti. Honestamente, no quise ofenderte en NINGUNA forma. Nuevamente, agradecí el entusiasmo y los elogios que tuviste por nosotros y nuestro proyecto desde el principio. En algún momento del camino, algo salió mal. No entiendo muy bien qué sucedió.

Ciertamente no pretendo encarnar ninguno de esos rasgos negativos que me estás atribuyendo.

Los problemas de IVA y envío son algo muy real y muy molesto. Me solidarizo contigo. Pero... te das cuenta de que están fuera de mi control, ¿verdad? La Unión Europea es responsable de ese IVA general escandalosamente alto. No nosotros.

¿El envío cuesta $40 para pedidos internacionales? Bueno, mira este recibo:

https://cdn.discordapp.com/attachments/ ... 62561740c&

Ese es el recibo de cuando envié a Diskover (y a otros probadores de juegos) los puentes de audio de expansión que necesitaban para sus NES para poder escuchar la música y los efectos de sonido de Former Dawn. Señor, mire el precio. Me costó $64,20 enviarle una pequeña placa de circuito que pesa 28 g. Como puede ver en el mismo recibo, me costó $42,95 enviar un artículo idéntico a alguien en Canadá.

Así de caro es el envío desde los EE. UU. Es un chanchullo que involucra a mensajeros extranjeros. Sé que alguien más aquí afirma que nunca hay problemas, pero yo simplemente sé que los hay. Perdí un envío de $200 hace unos años cuando pedí un televisor CRT NTSC para alguien y lo envié a Suecia. El mensajero sueco "perdió" el paquete. Perdido, ¿eh? Juegan.

Por lo tanto, se requiere un seguimiento completo. Y aun así, como puede ver, a menudo aceptaremos una pérdida financiera en el envío. Cobramos $40 por envío internacional, pero en estos dos casos, el costo real fue de $42,95 y $64,20 para Canadá y España respectivamente.

¿Nuestra situación tiene más sentido ahora?

Queremos ofrecer nuestros servicios a clientes en Europa, pero por ahora no hay nadie en Europa que pueda fabricar este cartucho para nosotros. Estamos en conversaciones con Broke Studio, pero será necesario un acuerdo de licencia y los costes aún se desconocen, por lo que no pudimos comprometernos con ellos durante la campaña. ¡Pero el futuro probablemente sea brillante!

Ten fe.
@jekuthiel Te agradezco que estes dando la cara y participando en este debate dando tus explicaciones.

He contribuido a financiar el proyecto y espero que sea un juegazo. Como ya he ido manifestando muchos posts antes.

saludos
Venga, venga, relajémonos todos. Unas cervezas [beer]
SoNi escribió:@jekuthiel Te agradezco que estes dando la cara y participando en este debate dando tus explicaciones.

He contribuido a financiar el proyecto y espero que sea un juegazo. Como ya he ido manifestando muchos posts antes.

saludos


Y te lo agradezco. Nadie que haya respaldado esta campaña será irrespetado. Nos tomamos todo esto muy en serio y estamos ansiosos por hacer todo lo posible para ofrecer el juego más fantástico jamás visto en la NES.

¿Es ambicioso? Sí. Definitivamente. Increíblemente ambicioso, de hecho. Nosotros (yo) afirmamos que nuestro objetivo es hacer un juego que sea más atractivo que Chrono Trigger o Terranigma. Es muy cierto que la jugabilidad en la demo jugable que hemos lanzado no demuestra nada de eso. Sé que tú en particular has expresado alguna preocupación o dudas debido a esto.

Solo espera y ten fe. En 6 meses, se demostrará si tenemos o no lo que se necesita para lograr esto. Tuvimos que gastar mucho tiempo y dinero para llegar a este punto y dedicar tiempo a pulir la jugabilidad no estaba en los planes *en el momento de la campaña de Kickstarter*, pero sucederá.

A continuación, se ofrecen algunas "excusas" más:

* COVID-19. Nuestro espacio de oficina fue cerrado contra nuestra voluntad y nos mudamos a la sede central y tuvimos que empezar a trabajar desde casa y de forma remota con otras personas.

* Mi esposa y yo tuvimos 2 hijos después de que comenzó este proyecto de juego. Ya no tenemos hijos y nuestro hijo menor está empezando a hablar, etc., por lo que las cosas serán más fáciles en el futuro.

* Tuvimos que inventar nuestro propio mapeador de memoria. (Esto se hizo a pesar de que muchas, si no la mayoría, de las personas en la escena de NESdev nos odiaban por hacer esto. No QUIEREN que haya un nuevo mapeador de memoria. Por lo tanto, no nos ayudaron. Tuvimos que hacerlo por nuestra cuenta y a pesar del desánimo de otras personas envidiosas o resentidas).

* La propiedad intelectual de este juego es original y tuvo que construirse.

* Aunque Dominic y yo somos programadores de nivel experto y habíamos escrito videojuegos en el pasado, ninguno de los dos lo había hecho nunca en ensamblador 6502, y mucho menos para un juego a gran escala como este. Nos llevó un tiempo aprender los entresijos del hardware de NES y luego descubrir cómo llevarlo más lejos de lo que nadie lo había hecho antes.

* Tuvimos que pasar por varias rondas de reclutamiento y sufrir demoras hasta que pudimos incorporar a personas altamente competentes al proyecto. Finalmente tenemos a todos los que necesitamos. Tenemos nuestro "equipo de ensueño". El progreso ahora es extremadamente rápido en comparación con lo que era hace unos años.

Sé que escribo demasiado, así que probablemente todos quieran que me calle. :)

Solo unas pocas cosas más y luego los dejaré en paz.

-Jared
Parrafadas para esas noches de insomnio
@jekuthiel gracias por tus palabras. También quiero agradecerte las explicaciones que nos estás dando, personalmente me ha gustado mucho cuando has hablado de pagar dignamente a tu equipo de trabajo.

Creo que todos(incluido tú) estamos aprendiendo y sacando nuestras conclusiones después de leernos.

Para futuras actualizaciones de Former Down o futuros proyectos que quieras emprender, creo que el mejor camino es explicarte y dar los motivos por los que tomas tus decisiones.

Con la NES, como con cualquier otra consola retro, en mi opinión los usuarios lo que queremos es poder disfrutar del juego en formato físico y en nuestras propias consolas, tal y como hacíamos de niños. Para mí, e imagino que para mucha gente, no es lo mismo jugar un juego de NES en un emulador, una FPGA o en hardware real(NES).
Yo quiero agradecer la comunicacion que habeis tenido. El echo de explicar los entresijos y demas cosas para mi habla bien
Tambien es que han pasado cosas como has puesto del covid que afecto a todos
Lo de la comunidad en contra es raro, es la primera vez que veo la gente que se ponga en contra
¿Luces “dinámicas“? Luces “dinámicas”.

Tengo dos preguntas, una es sobre el propio juego ¿Alguna noticia novedad? aparte de las luces dinámicas que ha compartido diskover no he visto mucho más movimiento tras los problemas del kickstarter.


La segunda es un poco offtopic, pero aparte de Kirkzz y descartando los clones ¿Nadie más ha sacado ningún flashcard para NES/Famicom? Da la sensación de que no hay competencia y es hasta raro porque es un sistema popular, hasta N64 tiene ahora uno open source. [+risas]
En el grupo cerrado de Discord, a veces comparten escenarios nuevos y animaciones.

Poco más.
SuperPadLand escribió:
La segunda es un poco offtopic, pero aparte de Kirkzz y descartando los clones ¿Nadie más ha sacado ningún flashcard para NES/Famicom? Da la sensación de que no hay competencia y es hasta raro porque es un sistema popular, hasta N64 tiene ahora uno open source. [+risas]


Mmmm, yo recuerdo hace la tira (20 años?) tarjetas flash "open source", pero solo soportaban algunos de los mappers. Pero no eran un everdrive con menu y tal, claro.
Actualización de proyecto a 17 de septiembre de 2025.

Una vez más, han pasado más de tres meses desde nuestra última actualización. ¡Tengan paciencia con nosotros! Hemos estado superando algunos desafíos técnicos muy serios y estamos muy entusiasmados con lo que depara el futuro para este proyecto. Estamos casi en la cima de la meseta, en la que puede fluir la verdadera creatividad.

Varios de estos hitos realmente merecen publicaciones de blog dedicadas, y trataremos de encontrar tiempo para escribirlos. ¡Sin promesas, sin embargo! Desafortunadamente, ese tipo de publicaciones ocupan mucho tiempo y energía que generalmente se gasta mejor en hacer un progreso sustancial en el desarrollo del juego.

Dicho esto, siempre somos amigables con cualquiera que quiera entrar en nuestro servidor de Discord y preguntarnos sobre cosas como esta de una manera menos formal.

¡Disfruta de la actualización!

-Jared


Superando los peores desafíos técnicos

Gestión de entidades

Hemos realizado mejoras en la forma en que se gestionan las entidades (NPC, enemigos, etc.) en el motor de tiempo real. En las primeras etapas del desarrollo de Former Dawn, el motor calcularía el comportamiento de cada entidad en un área completa (un 'mundo' en nuestro lenguaje) [1]. A partir de la última demostración jugable lanzada públicamente, el comportamiento de una entidad solo se calculaba cuando era visible en la pantalla, para ahorrar ciclos de CPU [2]. En este momento, calculamos el comportamiento de las entidades cuando también están muy ligeramente fuera de la pantalla, para darle al mundo una sensación más dinámica [3]. Tenemos planes para implementar algo llamado GEM (Gestión General de Entidades) que agregará aún más dinamismo y permitirá mundos con muchas más entidades al mismo tiempo. [4] (Como punto de referencia, muchos juegos clásicos de NES simplemente desaparecían enemigos si salían de la pantalla [0]).

Juegos clásicos de NES que exhiben:
[0]: Rygar, Strider, Little Nemo, Castlevania III, Karnov
[1]: A Boy And His Blob, Eliminator Boat Duel, Spy vs. Spy, Blades of Steel
[2]: Metroid, The Legend of Zelda, Gauntlet, Deadly Towers
[3]: Super Mario Bros., Gimmick!, Bram Stoker's Dracula,
[4]: Crystalis


Dynamic Sprite Palettes

Una de las cosas sutiles pero importantes de cualquier juego en NES que sea relativamente de "mundo abierto" es cómo se manejan las paletas, tanto para los personajes jugables, NPC y enemigos. Esto es en gran parte una consecuencia del hecho de que la NES solo tiene 4 paletas de sprites disponibles en un momento dado. Hasta hace poco, teníamos una asignación estática de sprites y eso limitaba severamente lo que podíamos poner en ciudades y áreas de batalla. Ahora tenemos una asignación dinámica completa de paletas de sprites, de modo que muchos más enemigos pueden "vivir" en un área, cada uno con sus propias paletas, y el sistema lo manejará automáticamente en tiempo real, no en función de dónde están los puntos de generación, sino dónde están actualmente las entidades. Esto hará que el mundo del juego se sienta mucho más vibrante y variado:

Imagen


En caso de que te lo estés preguntando, sí, este subsistema se compone con el sistema de iluminación dinámica que mostramos en nuestra última actualización de Kickstarter:

Imagen



Sistema de inventario

El sistema de inventario ahora es mucho más robusto y bien definido. Técnicamente, a partir de la demostración jugable que mostramos en MAGFest, era posible usar elementos fuera del combate por turnos, pero ahora el sistema en torno a eso está generalizado.


Menú de equipo

Desde la última actualización, hemos implementado un menú de equipo adecuado que no solo muestra qué elementos están equipados actualmente, sino que también permite al jugador cambiar de equipo como cabría esperar en cualquier juego de rol. (Hemos grabado 1 clip de la versión actual del juego que muestra esto y el sistema de la tienda, ya que están estrechamente asociados).


Sistema de tiendas

Las tiendas ahora están implementadas en Former Dawn y, por supuesto, la de William es la primera. El jugador puede comprar artículos (incluidos artículos equipables), vender artículos y equiparlos:

Imagen



Memory Mapper Development (MXM-1)

GDS (Graphic Display System)

Hace poco menos de 3 años en este proyecto, mucho antes de que comenzáramos a armar una campaña de Kickstarter, habíamos concebido algo que llegó a conocerse internamente como GDS (Graphic Display System). Este es un sistema extraordinariamente específico de NES para cargar gráficos en vivo desde el disco con el fin de tener mundos contiguos, completamente animados y muy grandes, con lo que queremos decir que no hay tiempos de carga, desvanecimientos, etc. que se interpongan en el camino de la experiencia del juego.

Debido a que la NES es una consola de juegos tan flexible, hay muchas formas de hacer que los gráficos de fondo se muestren en la pantalla y se desplacen. No hay una forma estándar de hacerlo, y no hay una forma "correcta" de hacerlo. Sin entrar en detalles, solo tenga en cuenta que hay suficiente RAM en la consola para 2 pantallas de mapas de mosaicos y que se supone que todos los datos gráficos que usan los mapas de mosaicos se almacenan en el cartucho. En la era comercial original de la NES, esos datos gráficos generalmente se almacenaban como ROM de cartucho barato y se conectaban a los buses de la PPU, ya sea directamente o con un mapeador de memoria que interponía algunas de las líneas de dirección. El juego típico de NES también almacena los datos del mapa de mosaicos en ROM, pero en forma comprimida, que se descomprime en tiempo de ejecución y la CPU los introduce en la PPU. Este es un proceso muy lento debido a las bajas velocidades de reloj de la CPU y la PPU. En consecuencia, las animaciones de fondo en ese entonces eran relativamente raras y de naturaleza mínima, a menudo limitadas a trucos de manipulación de paletas, cambio de banco de grano grueso o pequeñas regiones de la pantalla.

Por el contrario, queríamos gráficos de fondo "completamente" animados en Former Dawn, y elegimos implementar el cambio de banco de tabla de nombres (mapa de mosaicos) en MXM-1. Eso fue suficiente para que mostráramos pruebas de concepto en los últimos años, incluso hasta la demostración de MAGFest 2025.

Antes de GDS, teníamos 2 sistemas diferentes para mostrar gráficos de fondo.

El primero horneó los mundos completamente en ROM, sin comprimir. Esto fue lo suficientemente bueno para algunas áreas a la vez en cualquier versión del juego, y pudimos llegar bastante lejos con nuestro proceso de desarrollo haciendo eso, aunque fue frustrante trabajar con él desde la perspectiva del diseñador. Usamos esto hasta que se volvió insostenible, sabiendo muy bien desde el principio que eventualmente lo sería.

El segundo trató la 'ROM' del EverDrive N8 Pro como la RAM que realmente es (PSRAM, en particular), lo cual podemos hacer libremente porque hemos escrito MXM-1 desde cero, sin usar ninguna de las construcciones de mapeo de krikzz. Usamos la tarjeta SD del EverDrive N8 Pro para almacenar archivos que se cargaron al por mayor en la RAM en lugar de cargarse en vivo. Como resultado, podíamos almacenar áreas razonablemente grandes, pero había limitaciones que eran más restrictivas de lo que exigía la visión de Former Dawn. Debido a que había una competencia directa entre el número de fotogramas de animación y el tamaño del mundo, había una secuencia de posibilidades que aprovechamos para crear la demo jugable tal y como existía en la época de la campaña de Kickstarter y luego la demo de MAGFest:

Imagen


Como puede ver, GDS permite un mundo de 16 pantallas de ancho y 16 pantallas de alto, ¡un total de 256 pantallas! El número de fotogramas de animación puede oscilar entre 8 y 64 sin alterar el tamaño del mundo, pero afecta a la cantidad de mosaicos únicos disponibles para ilustrar el mundo. Todavía no sabemos cuántos fotogramas de animación serán típicos en un área grande en Former Dawn, depende de cuánto aprovechen nuestros artistas el sistema que hemos creado. Hubo un inconveniente de desarrollo de hardware muy diabólico que no entendimos durante bastante tiempo y que impidió el progreso, pero nuestros 3 mejores ingenieros se unieron este verano y lo conquistaron.

¡Estamos muy emocionados de lanzarnos ahora que esta tecnología se ha implementado por completo! Está trabajando en hardware de NES, así como en nuestra bifurcación de desarrollo privado de Mesen.

Todos los mundos anteriores que has visto ya se pueden incorporar al juego usando GDS sin que un solo píxel sea diferente, por lo que para demostrar el verdadero poder de esta mejora, tenemos que crear un área muy grande que antes no era posible mostrar. La primera de esas áreas es el Desierto Abandonado, que es de tamaño completo (16 pantallas de ancho, 16 pantallas de alto, para un total de 256 pantallas). Hemos estado trabajando muy duro en ello, pero aún no está terminado. (El trabajo parcial se mostrará a continuación en esta misma actualización). Tenga en cuenta que este mundo es más grande que toda la demostración jugable de MAGFest, que tiene alrededor de 120 pantallas, dependiendo de cómo las cuente.


SSS (Silhouette Sprite System)

Apuntar al hardware real de NES es extraordinariamente difícil, como todo el mundo sabe, y para todos los que realmente profundizan, la limitación de 8 sprites por línea de escaneo es la más severa y la más difícil de solucionar. Cerca del comienzo del proyecto, Paul Molloy de Infinite NES Lives (nuestro fabricante de cartuchos) había sugerido implementar una función de mapeo de memoria para ayudar a mitigar esta limitación: 'sprites de fondo' o 'sprites de hardware', como él los llamó. Los llamamos 'sprites de silueta', y finalmente los hemos implementado.

Cada uno de ellos es de 1 bpp, no de 2 bpp como los sprites ordinarios de NES, y solo pueden tener 2 valores de color: transparente y cualquiera que sea el color de fondo universal ('fondo'). Esto casi siempre va a ser negro en Former Dawn, como era típico en los juegos originales de la era comercial de NES. Debido a eso, estos sprites de silueta se pueden usar para todos los siguientes propósitos:

Delinear enemigos u otras entidades en negro sin tener que sacrificar una ranura preciosa en una paleta de colores.
Permitir una silueta de "retroceso" para una entidad en caso de parpadeo de sprite. (Es decir, el jugador aún podría ver la forma de la entidad, pero no la coloración o el detalle).

Tener sombras debajo de las entidades sin tener que ocupar un espacio precioso en la OAM interna de la PPU, o tener que gastar ciclos de CPU adicionales para administrarlas, o sin tener que preocuparse por el color que van a ser, o causar un parpadeo perceptible en la pantalla.

Agregando aún más colores a nuestra 'paleta de personas' universal, debido a la componibilidad de este subsistema con UCS. Por lo tanto, estamos pasando de 5 colores en esa paleta a 8, ahora cualquier personaje jugable, NPC, cursor, etc. que use la paleta de personas también puede tener negro verdadero, rojo súper oscuro y un color marrón rojizo. (Probablemente mostraremos esto en Twitter en un futuro cercano, pero aún no tenemos un buen ejemplo preparado).

Imagen



New Artwork

Ava's Anteroom:
Imagen



Ava's Persuasion Chamber:
Imagen



Forsaken Desert (big oasis, 32 frames)
Imagen



Forsaken Desert (big oasis, 64 frames):
Imagen



Forsaken Desert (small oasis):
Imagen



Forsaken Desert (small dunes):
Imagen



Forsaken Desert (random rocks, etc.):
Imagen



Forsaken Desert (random rocks, etc.):
Imagen



Forsaken Desert (random rocks, big dunes, etc.):
Imagen



Forsaken Desert (orm skeleton):
Imagen



Forsaken Desert (random skeletons):
Imagen



Forsaken Desert (bandit camp):
Imagen



Dream Demon Boss Fight:
Imagen



Ava Swimming Overwater:
Imagen



Ava (Org Regalia) Walking:
Imagen



James Swimming Overwater:
Imagen



James Swimming Underwater:
Imagen



Kwen Swimming Overwater:
Imagen



Kwen Swimming Underwater:
Imagen



Jeku Defending:
Imagen



Jeku Parrying:
Imagen



Cow Walking:
Imagen



James Poking Above:
Imagen



Kwen Corroding Door:
Imagen



New Music

Se han escrito varias pistas nuevas para el OST desde nuestra última actualización, pero esta es la que queremos destacar. Es la música de la pelea del jefe demonio de ensueño que se muestra arriba.

https://somethingnerdystudios.bandcamp. ... st-sampler
Menuda sacada de chorra
El oasis ese es el camino.

Que tremenda es la nes, todavía no nos hemos dado cuenta.
Todo esto en CRT se va a ver de escándalo.
Lo más impresionante de todo esto, y como novedad increíble, está en el tema de poder poner silueta negra a los sprites sin tener que condenar un color de la paleta y sin poner más de 8 sprites en la misma linea de pantalla.

No tengo ni idea de como narices lo han hecho. [boing] [boing]

Lo primero que se me ha ocurrido es que dibujasen en tiempo real encima del background, pero eso consume muchísimos ciclos de CPU, y Jared ya me ha comentado que no van por ahí los tiros. [fumando]

Lo otro que se me ha ocurrido pensar es que, como tienen tanta extensión de mosaicos y no se limitan a 256, que estén dibujando en tiempo real encima de los tiles que componen el CHR del background, que se realizaría dentro de la PPU usando el CHR como si fuese una RAM, tal y como hacían muchos juegos en su época. Se me ocurre... Elite o Qix.

Para eso, estos tíos estarían cargando completamente el mapeado dentro del CHR, e inyectándoselo a la PPU en tiempo real, incluso repitiendo tiles. Como la capacidad no es un problema, es factible.

EDITO: pues tampoco. Jared me acaba de confirmar que tampoco es esto que estaba pensando. De hecho, esto que he descrito se usó en Solstice para ocultar trozos de sprites cuando pasaban por debajo o detrás de obstáculos del background
566 respuestas
18, 9, 10, 11, 12