La historia de un proyecto que pasó décadas bajo el agua
Hay proyectos que nacen, se aparcan, vuelven a surgir y acaban convirtiéndose en algo mucho más grande de lo que imaginabas cuando empezaste. Eso es exactamente lo que ha ocurrido con Deep Scan para Commodore 64.
Todo comenzó hace muchos años, cuando jugaba a Deep Scan, la recreativa publicada por SEGA-Gremlin en 1979. Era uno de esos juegos que no necesitaban una mecánica complicada para enganchar: un barco, submarinos, cargas de profundidad y una jugabilidad directa que te hacía echar una partida tras otra.
Pasaba tardes enteras jugando a la recreativa original.
Por aquella época existían algunas conversiones para Commodore bajo nombres como Sub Hunt y similares, pero ninguna terminaba de transmitir las sensaciones del arcade. También aparecieron versiones realizadas en BASIC que, aunque tenían mérito, se quedaban lejos de lo que yo tenía en mente.
Como muchos otros aficionados, intenté hacer mi propia versión. Y como muchos otros proyectos de juventud, nunca llegó a buen puerto.

La semilla del proyecto
Muchos años después decidí volver a intentarlo. Comencé trabajando en gráficos, sprites y el área de juego, pero me faltaba una base sólida sobre la que construir.
La ayuda llegó de la mano de mi amigo Chema, programador de Oric. Utilizando un compilador de C para PC, desarrolló una pequeña rutina que mostraba un conjunto de submarinos, sus minas y un barco navegando por la superficie.
Aquello era un prototipo muy básico, pero fue justo lo que necesitaba para arrancar. Convertí el código al entorno de Commodore 64, adapté los gráficos, preparé los sprites y construí un primer mockup. No tenía lógica de juego, ni puntuación, ni apenas interacción, pero ya había algo moviéndose en pantalla.
Y entonces ocurrió lo inevitable: el proyecto volvió al cajón.
Cuando otros llegaron antes
Mientras Deep Scan descansaba en estado latente, me embarqué en otros proyectos, entre ellos C64Cracks de Commodore Plus.
Durante ese tiempo aparecieron varias reinterpretaciones del concepto. Una de ellas fue una excelente versión para VIC-20. Recuerdo pensar: "ya se me han adelantado".
![]() |
| Versión VIC-20 |
Sin embargo, lejos de desanimarme, aquello tuvo el efecto contrario. Si alguien había conseguido resolver el juego en una máquina aún más limitada, debía ser posible hacerlo en Commodore 64.
También descubrí la versión desarrollada por Sergio Vaquer para un concurso de Bytemaniacos. Me gustó especialmente el trabajo visual, aunque yo seguía buscando una experiencia que capturara mejor la sensación de juego de la recreativa original.
Mi objetivo ya no era simplemente hacer otro Deep Scan. Quería construir mi propia interpretación, respetando el espíritu arcade pero adaptándolo a las características del Commodore 64.
El regreso definitivo
En 2026 recuperé el código original de Chema y decidí retomarlo seriamente.
Poco a poco fui incorporando elementos al motor:
- Cargas de profundidad.
- Minas lanzadas por los submarinos.
- Submarino de bonus.
- Sistema de puntuación.
- Multiplicadores.
- Diferentes velocidades según la profundidad.
- Restricciones para la aparición de enemigos.
- Control de distancias mínimas entre submarinos.
El motor empezó a crecer y, con él, también las posibilidades del juego.
Pero todavía quería ir más allá.
Buscando el espíritu del arcade
Una de las cosas que más me interesaba era capturar las sensaciones de la recreativa.
Evidentemente existía una limitación importante: el arcade original es vertical, mientras que la versión de Commodore 64 se desarrolla en un espacio horizontal con menor profundidad visible.
La solución fue potenciar otros aspectos.
Incorporé:
- Rank dinámico que ajusta la dificultad según el rendimiento del jugador.
- Oleadas de enemigos dependientes del nivel de dificultad.
- Combos por impactos consecutivos.
- Efectos de sonido.
- El inconfundible sonido del sonar.
Tras muchísimas pruebas conseguí una jugabilidad más equilibrada y accesible. No es una reproducción exacta de la recreativa, pero sí transmite parte de su ritmo y tensión gracias a una velocidad de juego más elevada.
El inesperado reto del Paddle
Cuando ya daba el proyecto por terminado, apareció una pregunta de mi amigo Bieno:
"¿Se puede jugar con Paddle?"
Y claro… había que intentarlo.
Investigar el funcionamiento del Paddle me llevó a descubrir una limitación importante: comparte líneas del CIA con el teclado. Eso significaba que mantener ambos sistemas al mismo tiempo complicaba bastante el diseño.
Finalmente opté por dejar el juego compatible con Joystick y Paddle, eliminando el control por teclado.
Esto provocó otro problema: originalmente las cargas de profundidad se lanzaban a izquierda o derecha mediante teclas independientes.

La solución llegó gracias a una sugerencia de Laddh. El juego pasó a lanzar las cargas según la última dirección en que se había movido el barco.
Tras unas cuantas partidas de prueba, el sistema demostró ser sorprendentemente natural y tiene una ventaja importante: permite jugar perfectamente con un único botón.
El proceso de pruebas también llevó a introducir pequeños cambios de equilibrio. Uno de ellos fue limitar el lanzamiento de cargas de profundidad para evitar que el jugador pudiera saturar la pantalla disparando continuamente. A partir de ese momento, una nueva carga solo puede lanzarse cuando la anterior ya ha entrado en el agua.
Aunque pueda parecer un cambio menor, mejoró notablemente la lectura de la acción, redujo la saturación visual y añadió un componente más táctico al juego.
Un modo para daltónicos… casi por accidente
Uno de los últimos añadidos surgió de una situación bastante curiosa.
Un amigo con dificultades para distinguir determinados colores estuvo probando el juego y comentó que apenas veía las cargas de profundidad, el submarino de bonus y algunos indicadores porque utilizaban combinaciones de rojo sobre azul.
La solución fue incorporar una opción para modificar la paleta desde el menú.
Lo que empezó como una simple ayuda para un amigo acabó convirtiéndose en un modo específico para personas con dificultades de percepción cromática. No sé cuántos juegos de 8 bits pueden presumir de algo parecido, pero me pareció una característica suficientemente útil como para mantenerla.
La pantalla de presentación
Uno de los elementos más llamativos del juego es la pantalla de carga e inicio, realizada por Armand (Viejoven FX) tomando como referencia el flyer promocional original de la máquina arcade de SEGA-Gremlin.
Uno de los objetivos era que cualquier aficionado reconociera inmediatamente la recreativa original al arrancar el juego. Gracias al trabajo de Armand (Viejoven FX), la pantalla de carga y presentación captura buena parte de la estética y la personalidad del flyer promocional de SEGA-Gremlin.
También trabajé especialmente en las transiciones visuales. Uno de los últimos cambios fue eliminar ciertos destellos que aparecían al pasar de la imagen gráfica al modo texto, ocultando además algunos cambios de modo gráfico para conseguir una presentación mucho más limpia. No desconectaba la pantalla adecuadamente al cambiar de modo y banco. Finalmente, quedó resuelto y las transiciones son más limpias.
Algunas curiosidades técnicas
A nivel técnico, una de las decisiones más importantes fue utilizar ECM (Extended Color Mode).
Este modo reduce el charset a 64 caracteres disponibles, pero permite disponer de cuatro colores de fondo. La elección condicionó todo el desarrollo posterior, aunque ofrecía ventajas visuales muy interesantes.
Debido a la limitación del charset, el logo principal utiliza un segundo conjunto de caracteres. Mediante cambios sincronizados con el raster es posible mostrar ambos conjuntos simultáneamente en la pantalla de inicio.
Las cargas de profundidad y las minas están implementadas mediante caracteres animados con cuatro frames por posición.
Por otro lado:
- El barco es un sprite.
- Los submarinos son sprites.
- El radar es también un sprite.
Como decidí no utilizar multiplexación, el límite práctico quedó fijado en cinco submarinos simultáneos. Más allá de esa cifra el juego comenzaba a resultar visualmente confuso.
La detección de colisiones tampoco utiliza directamente el hardware del C64. Finalmente me decanté por un sistema basado en cajas de colisión, mucho más controlable teniendo en cuenta la cantidad de objetos que pueden cruzarse simultáneamente en pantalla.
También incorporé el tema de Das Boot en la presentación, acompañado de efectos de sonido durante la partida.
Una de las últimas tareas antes de dar por terminado el juego fue mejorar su compatibilidad. Aunque inicialmente el desarrollo se realizó sobre un entorno PAL, quería asegurarme de que pudiera funcionar correctamente también en sistemas NTSC.
Para ello incorporé detección automática del tipo de máquina al arrancar, ajustando tanto la velocidad de reproducción de la música SID como diversos parámetros dependientes del temporizado del sistema. Esto permitió corregir pequeñas diferencias visuales y asegurar un comportamiento consistente independientemente de la región de la máquina utilizada.
Otra de las incorporaciones de las últimas versiones fue un sistema de pausa completa. Al activarlo se detienen submarinos, minas, cargas de profundidad y efectos de sonido, permitiendo retomar la partida exactamente en el mismo punto. Puede parecer una comodidad moderna, pero resulta sorprendentemente útil cuando una partida empieza a ponerse interesante.
Las herramientas utilizadas
Para el desarrollo de Deep Scan he empleado principalmente:
- WinVICE: emulador de Commodore 64 utilizado para pruebas y depuración.
- Oscar64: compilador de lenguaje C para Commodore 64 y otros sistemas de 8 bits.
- Notepad++: editor de texto empleado para la programación del proyecto.
- SpritePad: diseño y edición de sprites hardware.
- CharPad: creación y gestión de conjuntos de caracteres (charsets).
- C64Studio: construcción y edición del área de juego (playfield).
- GandEd: edición y montaje de las pantallas de presentación.
- SidReloc: herramienta para reubicar música SID dentro del espacio de memoria disponible.
- SIDPlayer: comprobación y reproducción de música SID durante el desarrollo.
- HVSC (High Voltage SID Collection): fuente de recursos musicales para la integración del tema principal.
- Estrella Damm: herramienta auxiliar para mantener hidratado al desarrollador durante las sesiones más largas de programación.
La música de la pantalla de presentación es la conocida versión SID de Das Boot, compuesta por Glenn Rune Gallefoss (Shark) en 1993. Su inclusión sirve como pequeño homenaje a uno de los temas más reconocibles relacionados con el mundo submarino.
Y, por supuesto, quiero agradecer especialmente a Chema, cuya rutina original sirvió como punto de partida; a Dozznar, de Pícaro Games, por toda la información sobre programación en C para Commodore 64; a Bieno, por complicarme la vida con la idea del Paddle.
También quiero agradecer especialmente la ayuda de Laddh, cuyas sugerencias y conocimientos me ayudaron a resolver varios problemas durante el desarrollo. Entre sus aportaciones destacan ideas sobre la reproducción de música SID mediante interrupciones, la desactivación de ciertas interrupciones para evitar que el jugador pudiera salir accidentalmente al símbolo del sistema, técnicas de cambio dinámico de charset sincronizadas con el raster, ejemplos para la visualización de imágenes Koala y numerosos consejos generales sobre programación específica para Commodore 64. Y por la solución que permitió mantener una jugabilidad con un solo botón.
¿Está realmente terminado?
Como cualquier desarrollador te dirá, un juego nunca está completamente terminado. Siempre encuentras algo que mejorar, optimizar o pulir.
Sin embargo, para tratarse de mi primer juego completo para Commodore 64, estoy muy satisfecho con el resultado.
He aprendido sobre gráficos, sprites, música, efectos de sonido, control de entrada, sincronización raster, gestión de memoria y muchas de las peculiaridades que hacen tan especial programar en C para esta máquina de 8 bits.
Una parte importante del tiempo invertido en las últimas fases no se destinó a añadir contenido, sino a reorganizar el propio código. Rutinas relacionadas con submarinos, minas, cargas de profundidad, animaciones y limpieza de objetos fueron separadas en módulos más específicos para simplificar el mantenimiento del proyecto y facilitar futuras modificaciones.
Aunque estos cambios son invisibles para el jugador, probablemente han sido algunos de los más importantes de todo el desarrollo.
El resultado final incluye soporte para joystick y paddle con sistema de calibración integrado, detección automática PAL y NTSC, ajuste regional de la música SID, modo daltónico, sistema de pausa, pantalla de presentación KOALA, numerosos ajustes de jugabilidad y un par de pequeños secretos escondidos para los jugadores más curiosos.
¡Sí!, además hay un pequeño detalle que todavía no he mencionado.
Deep Scan incorpora dos huevos de Pascua
El primero está oculto en la pantalla de inicio y puede activarse mediante una tecla determinada. El segundo se encuentra durante la partida y también requiere una pulsación específica.
Cuál es cada tecla… eso forma parte del juego descubrirlo.
Porque después de tantos años trabajando en Deep Scan, me parecía justo dejar al menos un secreto escondido bajo las profundidades. ????



