Need for Speed 2 SE para Sega SaturnTexto copiado del vídeo de Youtube:Este es un video experimental de Vibeport con hardware real en funcionamiento, que utiliza IA. Por favor, apoyen a los programadores que dedican su tiempo a construir e investigar todo el día tanto el hardware como el software que se muestran en este video.
Como todo el mundo mostraba en varios vídeos cómo "mezclar GTA V con Minecraft", decidí probar suerte con la IA en algo más difícil: programar la Sega Saturn.
Actualmente, la Sega Saturn cuenta con una gran cantidad de documentación, desde la propia Sega hasta la investigación realizada por muchos programadores talentosos al crear software casero o demostraciones técnicas para el sistema, como por ejemplo cómo utilizar VDP2, trucos para VDP1, efectos que se pueden aprovechar, limitaciones, etc.
Sé que este sistema puede ser más potente que la Playstation 1, y por eso decidí adaptar Need for Speed II Special Edition a la consola.
Tanto el SDK de Saturn como NFS II están escritos en C. Adaptar muchas instrucciones no fue del todo fácil debido a las limitaciones de la consola, pero combinar las optimizaciones de la versión de PS1 con las de PC ayudó mucho. Son el mismo juego, solo que uno está adaptado a un hardware menos potente.
Primero me aseguré de que la física fuera idéntica a la de PC; el prototipo no tenía un coche ni un mapa jugables, todo el tiempo se dedicó al aspecto más importante de un juego de carreras: LA FÍSICA.
Una vez que estuve listo para probarlos, el prototipo configuró por defecto Proving Grounds, el McLaren F1 y... ¡fue perfecto! Literalmente estaba jugando NFS II en la Sega Saturn.
No quiero que esta adaptación sea una de esas tantas de "¡He adaptado un juego con Vibeport!" y que esté plagada de errores y problemas; tiene que ser perfecta. Conozco NFS II lo suficientemente bien como para supervisar cualquier posible desastre y estoy constantemente leyendo la documentación de Saturn sobre dónde mejorar, qué usar, qué hacer y qué no.
Texto copiado del segundo vídeo de Youtube:Más novedades para la versión de Saturn de NFS II SE.
En esta ocasión, el motor de renderizado tuvo que crearse desde cero debido a lo pésimas y malas que eran las instrucciones SGL para el juego. Este es una combinación del motor de renderizado oficial de la versión Saturn de Need for Speed y mucha investigación en internet (principalmente en SegaXtreme y comentarios de YouTube) sobre cómo dividir la lógica del juego entre SH-2 M y S.
EDIT: Resulta que el controlador de sonido de 68k nunca se tocó y la CPU estaba haciendo todo el trabajo preliminar. Jajaja.
Qué fastidio, pero de momento pinta bien, 20 fotogramas estables en hardware real con 2 MB de RAM y 30 fps en Mednafen, por supuesto, el objetivo real es el hardware original, así que quiero que esta versión sea mejor que la de PS1 en todos los aspectos, el hardware de Saturn grita cuello de botella que hay que solucionar, sospecho que el sonido o los datos de la pista podrían estar causando estos problemas.
Se implementaron más pistas, sonido y la lógica de la IA del oponente; aún queda mucho camino por recorrer para terminarlo por completo, pero hasta ahora, tiene muy buena pinta.
El apoyo ha sido enorme, mucha gente está entusiasmada, pero esta versión tiene que ser perfecta; si no funciona a 24 o 30 fps estables en el hardware original, entonces no está lista.
Saludos.