Proyectos / 2026

Planet Racer v2 — una nueva versión para iOS

Reconstruir un juego de carreras en Flash para iPhone: conservar las reglas originales, adaptar los controles y explorar una nueva dirección visual.

Concepto visual moderno de Planet Racer v2: un vehículo rojo sobre un paisaje lunar facetado.
Concepto visual moderno para la adaptación a iOS. Más abajo se muestran capturas del juego nativo y propuestas de interfaz.
En esta página

EN BREVE

Conservar el manejo y la identidad del juego original al llevarlo al iPhone.

Mi contribución

Investigación del original · implementación en Swift y SpriteKit · controles táctiles · diseño de interfaz · persistencia · validación.

Datos clave

Swift + SpriteKitSimulación derivada del originalControles táctilesGuardado atómicoModern Preview opcional

Decisiones de ingeniería

  1. Conservar el original

    Mantener reconocible el juego original y adaptar la distribución, la jerarquía y la interacción al uso táctil.

  2. Separar simulación y pantalla

    Ejecutar la simulación de forma independiente del refresco de pantalla para que dibujar más cuadros no cambie el comportamiento del juego.

  3. Cambiar el arte, conservar el juego

    Modern y Nostalgia usan la misma simulación, los controles guardados y la progresión. El cambio visual conserva el esquema de control elegido.

Recuperar el juego y conservar su identidad

Planet Racer nació como un juego de carreras en Flash, con su propio arte, audio, física, economía y progresión. Reconstruirlo para iPhone implicó entender cómo funcionaban esas piezas juntas, a partir del archivo SWF original.

El desafío fue conservar el manejo y la identidad visual que hacían reconocible al juego, mientras sus controles e interfaz se adaptaban a otro dispositivo.

Mi contribución

Mi trabajo abarca la investigación del código y los recursos originales, la implementación en Swift y SpriteKit, los controles táctiles, el diseño de interfaz, el ciclo de vida de la app, la persistencia y las herramientas de validación.

El diseño, el arte y el audio del juego original son la referencia. Mi contribución es la adaptación nativa y el trabajo para entenderla, adaptarla y verificarla.

Del garaje a una carrera completa

La versión jugable conecta los menús, el garaje, los viajes, la selección de oponentes, las carreras, los resultados y el progreso guardado. El comportamiento del vehículo, el terreno, los oponentes, el daño y las recompensas siguen las reglas del juego original.

Las comparaciones con la ejecución original, los recorridos en simulador y las pruebas puntuales en dispositivo documentan la adaptación. Las capturas muestran versiones nativas de desarrollo; la imagen principal es un concepto visual separado.

Un juego familiar, adaptado al uso táctil

Los vehículos, planetas, tipografía, controles amarillos y negros e identidad audiovisual siguen siendo el punto de partida. El trabajo de interfaz se concentra en lo que necesita cambiar para iPhone: jerarquía más clara, acciones agrupadas, estados de equipamiento legibles y controles táctiles.

La comparación del garaje usa el juego Flash original ejecutado en Ruffle. Las demás imágenes de antes muestran una primera adaptación a iOS; las de después, la interfaz renovada en el simulador. Los estados del juego y los dispositivos varían, por lo que los saldos, el equipamiento y las selecciones difieren entre capturas.

Menú principal: acciones y agrupación más claras

Antes · Primera adaptación a iOS. Los controles pequeños quedan debajo del título y todavía se ven fragmentos del marco heredado.
Antes · Primera adaptación a iOS. Los controles pequeños quedan debajo del título y todavía se ven fragmentos del marco heredado.
Después · Pantalla renovada del simulador de iOS. Acciones más grandes y agrupadas, un botón principal claro y una fila de utilidades conservan los planetas y la tipografía originales.
Después · Pantalla renovada del simulador de iOS. Acciones más grandes y agrupadas, un botón principal claro y una fila de utilidades conservan los planetas y la tipografía originales.

Garaje: identidad original, equipamiento más claro

Antes · Juego Flash original ejecutado en Ruffle. El vehículo, la lista de piezas, las barras de servicio y la navegación inferior establecen la referencia.
Antes · Juego Flash original ejecutado en Ruffle. El vehículo, la lista de piezas, las barras de servicio y la navegación inferior establecen la referencia.
Después · Pantalla renovada del simulador de iOS. Filas de equipamiento, selectores, acciones explícitas de reparar y recargar y un panel propio para el vehículo reorganizan el mismo lenguaje visual.
Después · Pantalla renovada del simulador de iOS. Filas de equipamiento, selectores, acciones explícitas de reparar y recargar y un panel propio para el vehículo reorganizan el mismo lenguaje visual.

Tienda: reunir inventario, vista previa y compra

Antes · Primera adaptación a iOS. Categorías e inventario rodean un panel desalineado y la indicación de vista previa queda desplazada a un costado.
Antes · Primera adaptación a iOS. Categorías e inventario rodean un panel desalineado y la indicación de vista previa queda desplazada a un costado.
Después · Pantalla renovada del simulador de iOS. Categorías alineadas, filas legibles, vista previa contenida y una acción explícita de transacción. Se muestra otro estado del inventario.
Después · Pantalla renovada del simulador de iOS. Categorías alineadas, filas legibles, vista previa contenida y una acción explícita de transacción. Se muestra otro estado del inventario.

Controles: explicar el gesto junto a la elección

Antes · Primera adaptación a iOS. El tamaño de los ajustes y selectores desplaza información de los controles fuera del área visible.
Antes · Primera adaptación a iOS. El tamaño de los ajustes y selectores desplaza información de los controles fuera del área visible.
Después · Pantalla renovada del simulador de iOS. Selectores compactos junto a un diagrama de vehículo y teléfono, instrucciones de gestos y un control explícito para demostrarlos.
Después · Pantalla renovada del simulador de iOS. Selectores compactos junto a un diagrama de vehículo y teléfono, instrucciones de gestos y un control explícito para demostrarlos.

Nostalgia: la versión nativa de estilo original

Escena de carrera nativa de iOS con el vehículo, terreno generado y controles táctiles.
Captura histórica del simulador nativo de iOS · octubre de 2026. La escena QA sin guardado conserva su diagnóstico visible. La vista previa Modern de abajo es una iteración gráfica posterior.

Una nueva dirección visual, construida por capas

La dirección Modern surgió de estudios de vehículos y referencias lunares: siluetas reconocibles, sombreado mate amplio, vidrio oscuro, suspensión metálica y un entorno azul y lavanda más calmo. El objetivo es dar profundidad ilustrada sin cambiar el modelo de conducción original.

Ese lenguaje tenía que funcionar como arte para un juego. Carrocerías, neumáticos, llantas, suspensión y paisaje necesitaban capas separadas, con las exportaciones originales como referencia de forma y ubicación. Las revisiones generadas con IA se usaron como candidatos de sprites, conservando las versiones anteriores y sus prompts.

Una Modern Preview preliminar ya funciona en la app nativa. Los menús completos, la información de carrera y el arte para todos los planetas y equipamientos siguen en desarrollo. Los estudios de interfaz que aparecen más abajo son propuestas.

Materiales consistentes en vehículos distintos

Los primeros estudios usaban bordes muy brillantes. Las revisiones posteriores pasaron a un sombreado mate amplio y un pequeño reflejo blanco en la parte delantera del vidrio, siguiendo los diseños originales. Race y King sirvieron de referencia para Casual y Sports sin volver idénticas sus siluetas.

Las ediciones generadas podían desplazar la forma o los límites transparentes de la carrocería. Por eso, cada candidato también debía encajar con los pivotes, centros de rueda, capas y suspensión existentes. Una imagen atractiva tenía que funcionar dentro del renderizador.

El color necesitó un cuidado similar. Separar pintura y franjas permite recolorear sin alterar metal, vidrio y reflejos. King mantiene su combinación fija de amarillo y dorado; compartir geometría evita crear una carrocería distinta para cada color.

Compara el vehículo y el terreno

Alterná entre Clásico y Moderno para comparar los vehículos y el paisaje desde una vista fija. Explorá los cuatro modelos o seguí la evolución de Casual, desde los brillos iniciales hasta el sombreado mate y el vidrio refinado.

Estudio de escena Clásico / ModernoCasual · Moderno
Casual · 03 · Cristal refinado

Terreno lunar · ajuste al juego · neumático compartido

03 · Cristal refinado

El estudio más reciente conserva los planos mate y desplaza el pequeño reflejo blanco hacia el cristal delantero. Las regiones de pintura y franja conservan los colores del vehículo y el sombreado de los detalles neutros.

Se muestra el sprite original hasta que la vista por capas esté lista.

Estudio estático de arte en el navegador · 19 de octubre de 2026. Clásico usa las exportaciones de Flash y la paleta del primer planeta. Moderno toma la vista lunar nativa como referencia y conserva el ajuste de carrocería y los tamaños de rueda del juego, con llantas ajustadas y un neumático compartido. El perfil del terreno es ilustrativo; no es una captura ni una carrera jugable.

Modern Preview en la app nativa

Modern Preview nativo en el simulador de iOS, con auto rojo mate en el aire sobre terreno lunar facetado y HUD y controles existentes.
Captura nativa del simulador de iOS · 19 de octubre de 2026. Un recorrido programado con guardado desactivado muestra el arte Modern con la simulación, la información de carrera y los controles existentes. La captura no establece el rendimiento en dispositivo.

Construir el paisaje alrededor de la superficie de conducción

Decisión
Usar el mismo estado de carrera en ambas presentaciones y ajustar el nuevo arte del vehículo y del terreno a la física existente.
Motivo
El borde del terreno sigue la superficie de colisión. Facetas, rocas y cráteres agregan detalle visual sin consumir los valores aleatorios de la simulación.
Compromiso
La vista previa comparte un neumático entre niveles de equipamiento y un entorno lunar entre planetas. El ajuste de vehículos, los bordes de materiales, la repetición del paisaje y la cobertura completa todavía necesitan refinamiento.
Resultado
Las pruebas nativas cubren materiales, preferencias, simulación, pausa y reanudación y conservación de guardados. Una instalación posterior en el teléfono también conservó los controles elegidos. Quedan por evaluar el uso táctil sostenido y la tasa de cuadros en dispositivo.

Una propuesta de interfaz para la dirección Modern

El estudio de interfaz extiende la dirección visual con superficies mate azul noche, acciones amarillas cálidas, controles redondeados, vehículos más grandes e información secundaria más discreta. El inicio centra el vehículo y la acción de continuar; el garaje se convierte en taller; la vista de carrera agrupa las acciones al alcance del pulgar.

Son estudios interactivos en el navegador. Los saldos, el desgaste y los valores de carrera son ilustrativos, y los selectores de vehículos muestran arte sin cambiar el equipamiento adquirido. La pausa propuesta mantiene accesibles los controles y pide confirmación antes de abandonar una carrera.

El diseño también debe conservar los esquemas de control existentes, las áreas táctiles, la cancelación y el reinicio de entradas. Modern y Nostalgia ya comparten preferencias guardadas; cambiar el estilo visual debe respetar esas elecciones.

Estudio de garaje — propuesta

Propuesta de garaje Modern en navegador con auto mate grande, colores, estado del equipamiento y acciones Shop y Race.
Propuesta de garaje · 19 de octubre. Estudio de navegador con saldos y estados ilustrativos. Los selectores muestran arte, no equipamiento propio ni desbloqueos.

HUD y controles de carrera — propuesta

Propuesta de carrera Modern en navegador con HUD compacto y controles redondeados de inclinación, reversa, gas y nitro.
Propuesta de carrera · 19 de octubre. HUD y controles redondeados ilustrativos. No es Modern Preview nativo ni demuestra gestos, inclinación o multitáctil.

Separar el reloj del juego de la pantalla

Arquitectura simplificada

El juego original avanza a 36 pasos de simulación por segundo. La implementación nativa mantiene esa actualización separada del refresco de pantalla para que dibujar más cuadros no cambie las reglas.

01

Referencia y extracción

Conservar el SWF, inspeccionar ActionScript y exportar recursos con sus puntos de registro y señales de audio originales.

02

Simulación nativa

Traducir las reglas de vehículo, terreno, daño, oponente y economía a un dominio Swift con paso fijo.

03

Presentación en SpriteKit

Dibujar el mundo y la interfaz mientras UIKit integra los controles y el ciclo de vida de la app.

04

Progreso guardado

Validar y guardar resultados de forma atómica, evitando liquidaciones duplicadas después de una recarga.

Dónde se complicó la adaptación

Pequeñas diferencias numéricas cambiaban el manejo

La simulación en Swift podía parecer correcta y aun así alejarse de la referencia durante una repetición larga. Pequeñas diferencias en las funciones matemáticas y la agrupación de operaciones se acumulaban en los cálculos de resortes e inclinación.

Registrar la primera actualización divergente permitió comparar operaciones individuales con la versión de Ruffle usada como referencia. Reproducir su comportamiento matemático, la agrupación de fricción y el cálculo del cuadrado mediante multiplicación corrigió causas documentadas de la deriva. Las repeticiones continuas verificaron después la simulación integrada. Algunas comparaciones estrictas de temporizadores todavía difieren y siguen registradas para revisión.

Una vista más ancha necesitaba más historial de terreno

La vista horizontal más amplia dejó ver huecos al retroceder: la simulación ya había descartado segmentos fuera del encuadre original. El renderizador ahora conserva el terreno realmente generado hasta que sale de la vista ampliada. Las reglas de colisión y progresión se mantienen, y la decoración adicional del cielo no usa valores aleatorios del juego.

El audio original necesitaba sus tiempos originales

Copiar los MP3 no alcanzaba. Las duraciones de reproducción nativa diferían de las ventanas declaradas en el SWF, afectando introducciones, bucles de motor y sonidos de impulso. Una herramienta verifica los archivos originales y selecciona las ventanas de muestras definidas en la fuente, conservando los MP3 junto con los WAV de reproducción. Las pruebas de duración y callbacks cubren parte del comportamiento; las transiciones audibles todavía requieren escucha en dispositivo.

Reglas compartidas de distribución facilitaron la interfaz

Las primeras pantallas ubicaban elementos con desplazamientos independientes, mientras parte del texto y los bordes seguían integrados en las imágenes. Los marcos comunes de área segura y los controles agrupados dieron una estructura compartida a paneles, etiquetas y acciones. El arte original conservó la identidad; la distribución nativa resolvió los elementos que debían responder a la pantalla. Las pruebas de geometría y simulador respaldan los cambios, con el alcance físico y la comodidad multitáctil todavía por evaluar.

La fidelidad también exigía criterio

Una ejecución instrumentada en Ruffle encontró un valor no finito que volvía invisible al oponente al llegar. La adaptación nativa conservó su llegada funcional y documentó la diferencia: el fallo de un entorno no establece cómo se comportaban todas las versiones históricas de Flash.

La prioridad es un manejo reconocible, la identidad audiovisual original, el progreso correcto y un recorrido jugable completo. Las diferencias menores de tiempos y presentación siguen visibles entre los pendientes; perder progreso, asignar recompensas incorrectas, romper controles o bloquear el juego siguen siendo defectos.

Adaptar los controles antes de rediseñar la identidad

Decisión
Conservar la dirección audiovisual original e incorporar controles táctiles, un encuadre horizontal más amplio y ajustes nativos.
Motivo
La adaptación móvil necesita controles y una composición de pantalla utilizables, además del comportamiento conocido del juego.
Compromiso
El encuadre amplio y la interacción táctil necesitan sus propias pruebas; la equivalencia con el código original no demuestra comodidad física.
Resultado
Las escenas horizontales amplias y los esquemas de control seleccionables están implementados. La ergonomía física más amplia y el modo vertical siguen siendo trabajos separados.

Estado actual

El MVP jugable conecta garaje, viajes, carreras, resultados y progreso guardado. Están implementados el intercambio de equipamiento, los puntajes locales de desafíos, los ajustes de audio y los controles seleccionables. Modern Preview agrega vehículos mate y paisaje lunar con la misma jugabilidad y los mismos guardados.

El proyecto sigue en desarrollo. Los menús Modern completos, la información de carrera y la cobertura de arte están pendientes; los estudios de interfaz son propuestas. La cobertura completa de contenido, el rendimiento sostenido en dispositivo, la distribución y el modo multijugador siguen como trabajo separado.

Lo que dejó clara la adaptación

Conservar un juego implica entender cómo funcionan juntas sus reglas, controles, presentación y progreso guardado. Las comparaciones con el original explican el comportamiento; los recorridos en simulador verifican el flujo; las pruebas en dispositivo permiten evaluar cómo se siente jugar. Cada una aporta evidencia distinta.

El trabajo también dio lugar a una propuesta de flujo de Flash a iOS. Sus herramientas de extracción y validación se usaron en este juego; su aplicación a otros juegos todavía no se probó.

CONSTRUYAMOS ALGO ÚTIL

Un problema complejo. Un buen punto de partida.

Hablemos