f-rmula-1 es un juego de carreras de Fórmula 1 completo, optimizado para dispositivos móviles (teléfonos y tablets) y ejecutable directamente en el navegador mediante HTML5/JavaScript con Three.js embebido vía CDN. El producto entrega una experiencia de conducción de monoplazas con sensación mecánica y de precisión: aceleración progresiva, agarre neumático, subviraje al tomar curvas a alta velocidad y fricción al salir de la pista (césped/grava).
El juego se entrega como un único archivo ejecutable index.html que contiene HTML, CSS y JavaScript/Three.js embebido vía CDN, sin librerías externas que requieran instalación ni servidor local. El código está comentado de forma clara señalando dónde se ajustan los parámetros de física (velocidad máxima, agarre, potencia de frenado) y de la IA.
Audiencia: Aficionados al motorsport que juegan en teléfonos y tablets, en el navegador, y buscan una sensación de simulación de conducción completa con controles táctiles, rivales controlados por IA y telemetría de carrera legible como instrumento de precisión.
f-rmula-1 es un juego de carreras de Fórmula 1 que se ejecuta íntegramente en el navegador del dispositivo móvil. El jugador accede a la entrada pública anónima index.html, que presenta el producto y ofrece el inicio de la carrera, y desde ahí entra a la sesión de juego Carrera, donde se desarrolla toda la conducción.
Actores:
Comportamiento aceptado (resumen):
Exclusiones y límites: El producto no requiere instalación ni servidor local; no usa librerías externas que requieran instalación. La entrega es un único archivo index.html. No se incluyen capacidades adyacentes como cuentas de usuario, multijugador en red, tienda, ni progresión persistente más allá de lo que la sesión de juego registra.
Entrega: Todo el producto se entrega como un único archivo ejecutable index.html con HTML, CSS y JavaScript/Three.js embebido vía CDN. El juego se ejecuta directamente en el navegador del dispositivo móvil, sin instalación ni servidor local.
Acceso: La entrada pública index.html es anónima y explica el producto antes de jugar. La página Carrera también es de acceso anónimo: no se requiere identidad ni cuenta para jugar. No existe una capa de identidad de aplicación, ya que ninguna capacidad aceptada exige que un actor humano posea o reanude estado durable ligado a una cuenta; el estado relevante (vueltas, mejor tiempo, posición) vive dentro de la sesión de juego.
Frontera actual/futuro: Todo el alcance descrito es actual. No se han aceptado requisitos futuros.
No aplica: no se ha proporcionado ninguna directiva de referencia con content_source.
Información y estado:
Acciones primarias:
Acciones de soporte:
Entidades de dominio:
Responsabilidades de componentes:
Estados:
Información y estado:
Acciones primarias:
Acciones de soporte:
Entidades de dominio:
Responsabilidades de componentes:
Estados:
Cada requisito se expresa como historia de usuario con su procedencia (explicit, basic_default, required_inference), hechos de ciclo de vida y aceptación observable.
FR-01 — Juego de carreras de Fórmula 1 completo en el navegador (explicit) Como Jugador de carreras móvil, quiero jugar un juego de carreras de Fórmula 1 completo directamente en el navegador de mi móvil o tablet, para disfrutar de una experiencia de conducción de F1 sin instalar nada.
index.html en el navegador del dispositivo móvil.FR-02 — Modo de carrera rápida o contrarreloj con contador de vueltas y mejor tiempo de vuelta (explicit) Como Jugador de carreras móvil, quiero disputar una carrera rápida o una sesión contrarreloj (Time Trial) con contador de vueltas y mejor tiempo de vuelta (Best Lap), para medir y mejorar mi rendimiento.
index.html.FR-03 — Sistema de IA para 2 a 4 coches rivales con adelantamiento y trazada (explicit) Como Jugador de carreras móvil, quiero competir contra 2 a 4 coches rivales controlados por IA que adelanten y sigan una trazada, para tener una carrera disputada.
FR-04 — Indicador de velocidad (KM/H), marcha actual y posición de carrera (explicit) Como Jugador de carreras móvil, quiero ver mi velocidad en KM/H, la marcha actual y mi posición de carrera (ej. 1/5), para conocer mi estado en todo momento.
FR-05 — Controles táctiles de dirección (explicit) Como Jugador de carreras móvil, quiero girar la dirección con botones virtuales izquierda/derecha o con acelerómetro/deslizamiento, para pilotar con precisión en pantalla táctil.
FR-06 — Controles táctiles de acelerar y frenar/reversa (explicit) Como Jugador de carreras móvil, quiero acelerar y frenar/reversar con botones virtuales, para controlar la velocidad del monoplaza.
FR-07 — Botón de DRS/ERS con boost temporal y cooldown (explicit) Como Jugador de carreras móvil, quiero activar un boost temporal de velocidad con DRS/ERS que tenga cooldown, para ganar velocidad en momentos clave.
FR-08 — Adaptación automática a pantallas verticales y horizontales (explicit) Como Jugador de carreras móvil, quiero que el juego se adapte automáticamente a la orientación vertical y horizontal, para jugar cómodamente en cualquier postura.
FR-09 — Vista en 3D con Three.js (explicit) Como Jugador de carreras móvil, quiero una vista en 3D con Three.js (o vista superior/pseudo-3D isométrica tipo arcade si es más eficiente en rendimiento), para una experiencia visual inmersiva.
FR-10 — Pista con curvas, zonas de frenado, pianos y línea de meta (explicit) Como Jugador de carreras móvil, quiero una pista con curvas, zonas de frenado, pianos (curbs) y línea de meta, para una experiencia de circuito completa.
FR-11 — Modelos de monoplazas simplificados con colores distintivos por escudería (explicit) Como Jugador de carreras móvil, quiero monoplazas simplificados con colores distintivos por escudería, para distinguir mi coche y a los rivales de un vistazo.
FR-12 — Física: aceleración progresiva, agarre neumático, subviraje y fricción fuera de pista (explicit) Como Jugador de carreras móvil, quiero sentir aceleración progresiva, agarre neumático, subviraje al tomar curvas a alta velocidad y fricción al salir de la pista (césped/grava), para una sensación de conducción realista.
FR-13 — Entrega en un único archivo ejecutable index.html (explicit)
Como Jugador de carreras móvil, quiero recibir todo el juego en un único archivo ejecutable index.html con HTML, CSS y JavaScript/Three.js embebido vía CDN, para ejecutarlo sin instalación ni servidor local.
index.html.FR-14 — Código comentado señalando parámetros de física y de IA (explicit) Como Jugador de carreras móvil (y como lector del código), quiero que el código esté comentado claramente señalando dónde se ajustan los parámetros de física (velocidad máxima, agarre, potencia de frenado) y de la IA, para poder ajustar el comportamiento del juego.
index.html.FR-15 — Código 100% funcional, limpio y sin librerías externas que requieran instalación o servidor local (explicit) Como Jugador de carreras móvil, quiero que el código sea 100% funcional, limpio y sin librerías externas que requieran instalación o servidor local, para ejecutarlo directamente en el navegador.
index.html.Contexto de producto: Juega en móvil o tablet directamente en el navegador y busca una experiencia de conducción de Fórmula 1 completa. No instala nada ni levanta un servidor: abre index.html y juega.
Objetivo principal: Completar vueltas en modo carrera rápida o contrarreloj, competir contra 2 a 4 rivales controlados por IA, gestionar el boost de DRS/ERS con su cooldown y mejorar su mejor tiempo de vuelta.
Responsabilidades recurrentes:
Entradas y decisiones:
Interacciones con otros participantes:
Éxito observable: Terminar la carrera o la sesión contrarreloj con tiempos registrados y una posición final, habiendo mejorado su mejor tiempo de vuelta cuando corresponde.
Qué hace diferente a este rol: Es el único actor humano del producto; su trabajo es simultáneamente de conducción (física y trazada) y de lectura de instrumentos (velocidad, marcha, posición, vueltas, deltas), con la restricción de hacerlo en pantalla táctil y en dos orientaciones posibles.
index.html en el navegador de su móvil o tablet. La entrada pública es anónima y presenta el producto.index.html.Muse: MARQ by Garmin — estética de instrumento de precisión sobre titanio oscuro. Headline: Precision instrument luxury at 340 km/h.
Modo: Dark mode.
Colores por rol:
| Rol | Hex |
|---|---|
| Fondo (titanio oscuro) | #0B0D0F |
| Superficie (grafito) | #171A1D |
| Texto (hueso cálido) | #EDE9E1 |
| Primario (oro champán — aguja del velocímetro, numeral de marcha, estado armado DRS/ERS, banda de meta) | #C9A227 |
| Acento (teal — barra de energía ERS, deltas de sector, chips de posición de rivales) | #1FB6A6 |
| Muted (micro-etiquetas e instrumentos inactivos) | #7A8085 |
| Borde capilar | #2A2F33 |
Sin azul en ninguna parte; sin fondo blanco; sin blobs de gradiente. Los gradientes solo se usan como resplandor radial de instrumento dentro de la cara de un gauge.
Tipografía:
clamp(64px, 18vw, 168px); numeral de marcha clamp(40px, 10vw, 96px); contador de vueltas clamp(22px, 5vw, 40px); etiquetas HUD 11–13px mayúsculas con tracking; cuerpo 15–17px; etiquetas de botón 14px mayúsculas. Line-height 1.05 en numerales, 1.55 en cuerpo.Lenguaje de forma: Gauges circulares y biseles como geometría primaria — el velocímetro es un dial real con aguja barrida, no una barra. Paneles rectangulares redondeados con radios de 4px (bisel de instrumento, no tarjeta de app suave) y reglas capilares de 1px en #2A2F33. Los controles táctiles son pads circulares grandes y un disparador DRS/ERS rectangular con forma de paleta de volante, cada uno con un anillo interior que se ilumina en dorado al armarse. Las filas de datos están regladas y alineadas etiqueta/valor, nunca chips flotantes. Los pianos de pista son bloques alternos de bordes duros rojo/hueso; la línea de meta es una banda de cuadros negro/blanco renderizada como geometría, no como imagen.
Ritmo de espaciado: Reglas capilares y filas alineadas; márgenes seguros de 12px para todo valor legible en 375px, 768px y 1280px.
Estilo de imagen: Detalle macro de material y textura de ingeniería: titanio cepillado, tejido de fibra de carbono, dibujo de neumático, resplandor de disco de freno, pintura de piano. El hero pre-carrera es un monoplaza 3D con iluminación de estudio sobre suelo de grafito con una única luz de contorno, más un motivo de líneas topográficas que funciona también como mapa del circuito. Los coches rivales son monoplazas low-poly simplificados con bloques de color de librea distintivos por escudería. Sin fotografía de stock de multitudes, sin personajes de dibujos animados, sin clip art.
Concepto: El cockpit como instrumento.
La primera pantalla no es un titular centrado con un botón: es una cabina. Fondo grafito a sangre completa (#0B0D0F). El elemento dominante es un único monoplaza 3D renderizado en ángulo tres cuartos delantero, ocupando el 60% derecho del viewport y sangrando por los bordes derecho e inferior, iluminado por una única luz de contorno cálida para que el titanio y la librea se lean como metal mecanizado. En el 40% izquierdo, un titular condensado sobredimensionado "FÓRMULA 1" en Saira Condensed 800 a clamp(56px, 14vw, 128px), apilado sobre una regla capilar, con una franja de instrumento en vivo debajo (SPEED 000 KM/H · GEAR N · LAP 0/0 · POS 1/5) que ya parece el HUD en carrera. El CTA es una única paleta dorada ancha (#C9A227) etiquetada INICIAR CARRERA, anclada abajo a la izquierda de la columna tipográfica, con un botón fantasma más pequeño CONTRARRELOJ al lado. Un mapa vectorial topográfico del circuito recorre el tercio inferior como una fina línea teal (#1FB6A6), sangrando por ambos bordes.
Movimientos de firma:
En portrait: el coche rota a una vista trasera tres cuartos y se sitúa sobre el titular apilado; el coche se recorta pero ninguna palabra, numeral o botón se recorta ni se cubre.
Interaction Model: Animated Motion Tempo: cinematic Hero Dimensionality: dimensional_css
Landing Hero Motion Brief
index.html → el monoplaza gira lentamente en un turntable de producto (8s de rotación, sin rebote) mientras la franja de instrumento en vivo muestra los valores de referencia del HUD → el jugador toca INICIAR CARRERA o CONTRARRELOJ y entra a la página Carrera, donde la misma franja de instrumento se convierte en el HUD activo.cubic-bezier(.2,.8,.2,1)) conforme cambia la velocidad; los números cuentan hacia arriba/abajo en lugar de saltar; la barra ERS se agota como un barrido teal suave con un destello dorado duro al armarse; los deltas de sector se deslizan desde la derecha sobre una regla capilar. Sin partículas, sin confeti, sin hover-lift en tarjetas.NFR-01 — Entrega en un único archivo (explicit)
Todo el código debe entregarse en un único archivo ejecutable index.html que incluya HTML, CSS y JavaScript/Three.js embebido vía CDN.
NFR-02 — Sin instalación ni servidor local (explicit) Sin librerías externas que requieran instalación o servidor local.
NFR-03 — Ejecución directa en el navegador (explicit) Ejecutable directamente en el navegador (HTML5/JavaScript).
NFR-04 — Optimización para móviles y tablets (explicit) Optimizado para dispositivos móviles (móviles y tablets).
NFR-05 — Código comentado (explicit) El código debe estar comentado señalando dónde se ajustan los parámetros de física (velocidad máxima, agarre, potencia de frenado) y de la IA.
NFR-06 — Código 100% funcional y limpio (explicit) El código debe ser 100% funcional y limpio.
NFR-07 — Rendimiento adaptable (explicit) La vista 3D con Three.js puede sustituirse por una vista superior/pseudo-3D isométrica tipo arcade si es más eficiente en rendimiento.
NFR-08 — Legibilidad responsive (explicit) Los valores legibles del HUD permanecen dentro de un margen seguro de 12px en 375px, 768px y 1280px, y el clúster de instrumentos se reorganiza (no se encoge por debajo del tamaño legible) entre orientación vertical y horizontal.
index.html (explicit).Assumptions:
index.html mediante un navegador móvil moderno con soporte para WebGL/Three.js y controles táctiles.Constraints:
index.html (HTML, CSS y JavaScript/Three.js embebido vía CDN).No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No comments yet. Be the first!