A month ago we introduced you to a project as ambitious as it was promising: a graphics engine built from scratch with one very special feature, the ability to use original assets from the legendary Resident Evil on PSX. Back then, it was still in very early stages. Today, it's something else entirely.
In just a few weeks, Green Herb Engine has gone from a simple technical demo to one of the most promising homebrew engines on PS1. The project can already render complete scenarios, play music, produce sound effects and handle lighting systems. It has even incorporated masks and characters from Resident Evil 2. All built by a single person: T0fuZ.
To understand just how big the leap has been, it's worth briefly recalling where things started.
Where we started
As impressive as all of that already was, the engine has since received a wave of updates well worth talking about.
The major updates, version by version
We'll walk through the most important changes chronologically, covering everything that happened during May. A follow-up covering the June updates is coming soon. We've also included the developer's own videos so you can see everything we're talking about firsthand.
Version 0.50.1 — May 17th
On May 17th, version 0.50.1 was released, bringing a set of very interesting features. First and foremost, the developer shared that approximately 30% of the original game's code has now been analysed in detail. This gives T0fuZ a much deeper understanding of how the original engine works, allowing him to build his own in a way that's more consistent with the existing assets (without ruling out to taking his own direction down the line). Let's not forget that he mentioned on Reddit that the ultimate goal is to release his own original survival horror game for PS1.
On the technical side, T0fuZ has successfully implemented a basic lighting system similar to the one in the original game. It may not be immediately obvious, but the original RE already featured dynamic lighting (depending on the character's position, their model would shift slightly in colour). This was most noticeable near the red light bulbs in the laboratory section.
Version 0.51.2 — May 18th
Just one day later, on May 18th, version 0.51.2 of Green Herb Engine arrived. The headline change is the optimisation of the engine's camera-switching logic. The result is significantly faster camera transitions, as the developer himself put it:
"Right now we're getting very close to what the original engine was doing"
He also noted that once he implements a positioning file and a "next camera" prediction algorithm, loading speeds should actually surpass the original. On top of that, a new music player now reads the original soundtrack files directly in their native .HSB format, and a reverb system has been added to simulate the acoustics of different environments.
The enemy AI has also been optimised to use less CPU while delivering the same results. Finally, the mask system has been fully implemented — this is the system that allows 3D objects (mainly moving characters) to correctly hide behind 2D elements of the pre-rendered background, such as columns, furniture or walls.
All in all, what looked like a minor update turned out to pack quite a punch.
Version 0.53 — May 22nd
The next update was version 0.53, released on May 22nd. The first notable change is a custom intro screen welcoming the player, along with the integration of the original in-game font. The second big addition: sound effects now work. You can finally hear Jill and the Tyrant's footsteps, as well as gunshot sounds (even though the weapon isn't yet visible in-game).
Under the hood, T0fuZ reports improvements to RAM usage, faster camera switching, and the addition of the auto-aim system from the Director's Cut version. He also mentions that footstep sounds will eventually vary depending on the floor surface, not yet functional, but apparently close.
The most exciting news came from the comments section, when a user asked about a possible split-screen co-op mode. While the developer didn't rule it out entirely, he raised the issue of slowdowns — but then opened an unexpected door: the possibility of implementing online multiplayer through an emulator.
T0fuZ revealed he has been experimenting with a custom TCP/IP stack inside DuckStation (that is, a networking system implemented directly within the emulation environment) which could theoretically allow players to sync their sessions through a server. It's not a priority right now, but he considers it technically feasible. We'll have to wait and see, but it's an exciting prospect for a project that just keeps moving forward.
May 23rd & 24th — Nemesis enters the scene
| This is Nightmare Nemesis |
The developer clarified this was purely experimental, and that it required enabling DuckStation's 8 MB RAM expansion to work. In the comments, T0fuZ also mentioned plans to eventually release the engine as open source.
And by the end of that same day, Nemesis was working perfectly, standing alongside the Tyrant in the same scene. The developer notes that the 8 MB RAM mode is still required for all of this to run simultaneously.
May 27th — Soundtrack collection
The May 27th update saw T0fuZ hint at yet another possible side project. But first, the main news: Green Herb Engine (still on version 0.53) can now play the complete soundtracks of every PS1 Resident Evil title (Resident Evil 1, 2, 3 and the often-overlooked Gun Survivor). As if that weren't enough, T0fuZ mentioned he'd love to build a standalone music player that lets you listen to the entire Resident Evil soundtrack collection at will, all four games on a single PS1 disc. It may sound like a smaller project, but it's the kind of thing many of us would absolutely love to have on our consoles.
May 31st — Resident Evil 2 joins the party
May 31st brought a significant milestone: the engine can now load Resident Evil 2 assets, with Mr. X as the first character to make an appearance. T0fuZ also improved background encoding for faster loading times, and updated the render queue (the system that determines the order in which elements are drawn on screen) fixing several bugs and improving overall efficiency.
To close out the day, he uploaded another video with a moment that really has to be seen: three Tyrants on screen at once. Completely spectacular, and something that would have been unthinkable back in the day. He does note, however, that all of this still requires the emulator's 8 MB mode, meaning a significant amount of optimisation work lies ahead before it all fits within the PS1's original 2 MB of RAM.
A month ago, Green Herb Engine was a technical curiosity. Today it can load complete scenarios, play original music, run characters from multiple Resident Evil titles, and implement its own systems that even open the door to future cooperative experiences. If it keeps up this pace, we may be looking at one of the most significant tools ever created for the PS1 homebrew scene.
We can only be grateful for the incredible work T0fuZ is doing entirely on his own. Be sure to subscribe to his channel and check out his Patreon if you want to support the project or just get your hands on this remarkable engine for your beloved PlayStation.
Hace un mes os presentamos un proyecto tan ambicioso como prometedor: un motor gráfico creado desde cero cuya funcionalidad especial era el poder utilizar los assets originales del mítico Resident Evil de PSX. Por aquel entonces este estaba en fases muy tempranas. Hoy es algo muy distinto.
En apenas unas semanas, Green Herb Engine ha pasado de ser una simple demostración técnica a convertirse en uno de los motores homebrew más prometedores de PS1. El proyecto ya reproduce escenarios completos, música, efectos de sonido y sistemas de iluminación. Incluso ha llegado a incorporar máscaras y hasta personajes procedentes de Resident Evil 2. Todo construido por una sola persona: T0fuZ.
Para entender la magnitud del salto, conviene recordar brevemente el punto de partida.
De dónde venimos
La versión inicial del motor ya era potente. Esta ya era capaz de utilizar los personajes del juego original, tanto humanos como enemigos. Además, se podían implementar las animaciones de estos, los fondos prerenderizados, así como la banda sonora del juego original.
De todo esto, el motor permitía movernos con el esquema clásico de controles tipo tanque junto a los típicos cambios de cámara. Asimismo, nos ponía frente a un enemigo (el mítico Tyrant 002) que contaba ya con una IA sencilla. Era capaz de seguirnos, atacarnos y quitarnos vida. Nosotros, por el contrario, éramos capaces de huir, dispararle y morir en el intento.
Pues bien, frente a lo increíble que ya era todo esto, ahora el motor cuenta con una gran cantidad de novedades dignas de especial mención.
Las grandes novedades, versión a versión
Iremos presentando las novedades más importantes de manera cronológica de todo lo ocurrido durante el mes de mayo. Pronto lanzaremos una crónica actualizada de las novedades de junio. Además, os compartiremos los vídeos del desarrollador para que podáis ver en todo momento a lo que nos estamos refiriendo.
Versión 0.50.1 — 17 de mayo
El 17 de mayo se lanzó la versión 0.50.1 del motor. En esta se le añadió una serie de características muy interesantes. Antes que nada, el desarrollador nos comenta que aproximadamente el 30% del juego original ha sido analizado para conocer en detalle su funcionamiento. De esta forma, el desarrollador tiene una mayor comprensión del funcionamiento interno del juego y puede construir un motor más acorde a los assets existentes. Esto no le cierra la puerta a, posteriormente, modificar lo necesario del motor para tomar un rumbo propio. No olvidemos que el desarrollador comentó en Reddit que el objetivo final es lanzar su propio survival horror para la PS1.
Ahora ya, entrando en detalle, T0fuZ ha logrado implementar en su motor un sistema de iluminación sencillo parecido al del motor original. Aunque no se apreciara mucho, el juego original contaba con iluminación dinámica. En la cual, dependiendo de la posición del personaje, este podía cambiar ligeramente de color. Esto se notaba, principalmente, al acercarnos a las bombillas rojas situadas en la sección del laboratorio.
Versión 0.51.2 — 18 de mayo
Solo un día después, el 18 de mayo, lanzó la versión 0.51.2 del Green Herb Engine. La primera gran novedad es la optimización de la lógica del motor para cambiar de cámaras o zonas del mapa. De esta forma, lo que ha conseguido es hacer el cambio de cámara mucho más rápido que antes, según el propio desarrollador:
“Ahora mismo nos quedamos muy cerca de lo que hacía el motor original”
Eso sí, el desarrollador afirma que cuando programe un archivo de posicionamiento y un algoritmo de predicción de “siguiente cámara” la velocidad de carga debería ser aún mayor a la original. Además, ha logrado implementar un reproductor de música nuevo que permite la lectura del formato archivo original de la banda sonora de los juegos clásicos (que contaban con formato .HSB). Asimismo, ha añadido un sistema de reverb dentro del propio motor, por lo que se puede simular la acústica de los distintos entornos.
Seguidamente, respecto a la IA del enemigo, ha sido capaz de optimizarla para que consuma menos CPU y manteniendo los mismos resultados. Por último, ha logrado introducir a la perfección el sistema de máscaras para que los objetos en 3D (principalmente para los personajes en movimiento) puedan ocultarse detrás de imágenes 2D.
Con todo esto, esta supuesta pequeña actualización ha traído múltiples novedades que hacen del Green Herb un motor más redondo.
Versión 0.53 — 22 de mayo
La siguiente actualización fue la 0.53 del 22 de mayo. El primer cambio notable es que esta versión cuenta con una intro propia, dando la bienvenida al usuario y además integra la fuente de texto original. Lo segundo más importante, los sonidos ya funcionan. De esta forma, podemos escuchar por fin los pasos de Jill y del Tyrant, así como los disparos de nuestra arma (aunque esta aún no está integrada visualmente en el juego).
A nivel más interno, T0fuZ nos cuenta que ha mejorado el espacio de RAM requerido para que todo funcione, ha mejorado la velocidad de cambio de cámara y añadió el autoapuntado presente en la versión Director’s Cut. Nos cuenta también que el sonido de pasos cambiará en función del tipo de suelo presente. Aunque esto aún no es funcional, nos dice que está cerca de lograrlo.
Lo más increíble se encuentra en los comentarios, cuando un usuario le pregunta si habría posibilidad de introducir un modo de pantalla partida para un modo cooperativo. Mientras el desarrollador no ha indicado que sea imposible ese método, dado a que habrá ralentizaciones, abrió una puerta inesperada: ha comentado que hay una posibilidad de programar el proyecto para que desde emulador se pueda jugar online.
T0fuZ afirma haber experimentado con una pila TCP/IP propia (es decir, un sistema de comunicación en red implementado directamente en el entorno de emulación) dentro de DuckStation, un enfoque experimental que abre la puerta a posibles funciones online. Aunque actualmente no es una prioridad, considera técnicamente posible sincronizar partidas entre varios jugadores mediante servidor. Suena increíble, pero es una posibilidad que el tiempo dirá si es factible. Por el momento, tenemos un gran proyecto entre manos que va avanzando en pasos agigantados.
23 y 24 mayo - Entra Nemesis en escena
| Este es Nightmare Nemesis |
El desarrollador nos aclara que esto fue meramente experimental y que tuvo que activar los 8 MB de RAM de DuckStation para hacerlo funcionar. En la sección de comentarios, T0fuZ comenta que su plan es hacer el motor open source cuando esté más acabado.
Pero, incluso en el mismo día, logró añadir a Nemesis totalmente funcional y que hasta apareciera junto al Tyrant. Ahora bien, el desarrollador insiste en que sigue necesitando activar los 8MB de RAM para que todo esto funcione a la vez.
27 de mayo - Colección de BSO
La siguiente actualización fue el 27 de mayo, el cual T0fuZ dejó la puerta a otro posible proyecto para nuestras PS1. Yendo por partes. La versión del 27 de mayo del Green Herb Engine (que sigue siendo la 0.53), cuenta con la capacidad de reproducir todas las bandas sonoras de todos los Resident Evil de la PS1, esto es: Resident Evil 1, 2, 3 y el a veces olvidado, Gun Survivor. Más allá de lo increíble de todo esto, es que T0fuZ tiene otro proyecto en mente que le haría ilusión realizar. Se trata de ni más ni menos que de un reproductor para poner todas las canciones de Resident Evil y que escuchemos toda la banda sonora a nuestro gusto. Puede que sea algo menos llamativo para algunos, pero sigue siendo un proyecto excepcional el cual muchos estaríamos encantados de probar en nuestras queridas PS1 (y qué mejor que 4 bandas sonoras increíbles en un solo disco).
31 de mayo - Resident Evil 2 se une a la fiesta
El 31 de mayo llegaron las siguientes novedades. El motor ahora es capaz de introducir los assets de Resident Evil 2. El primer enemigo que nos ha traído es Mr. X. El desarrollador comenta que también ha mejorado la codificación de los fondos, por lo que cargan más rápido que antes. También ha mejorado la cola de renderizado de elementos, por lo que se han corregido bugs y mejorado su eficiencia.
Para concluir, el mismo día subió otro video con un pequeño detalle curioso. Hizo que estuvieran en pantalla los 3 Tyrants, siendo algo totalmente espectacular e impensable en la época. Sigue diciendo, de todas formas, que todo esto requiere del modo de 8MB del emulador, por lo que requerirá de un gran trabajo de optimización para que quepa todo en los escasos 2MB de la consola original de Sony.
Hace apenas un mes Green Herb Engine era una curiosidad técnica. Hoy ya es capaz de cargar escenarios completos, reproducir la música original, utilizar personajes de varias entregas de Resident Evil e implementar sistemas propios que incluso abren la puerta a futuras experiencias cooperativas. Si mantiene este ritmo de desarrollo, podríamos estar ante una de las herramientas más importantes creadas para la escena homebrew de PS1 en los últimos años.
Solo podemos estar agradecidos del tremendo proyecto que está llevando T0fuZ él solito. En cualquier caso, no olvidéis suscribiros a su canal y que tenéis su Patreon por si queréis, no solo apoyarle, sino hincarle el diente a tremendo motor para nuestras amadas PlayStation.