Simulador
3 · Configuración inicial
¿Cómo usar el Simulador de Carreras?
El Simulador genera una carrera completa sin cronometraje real: arma tandas con los pilotos que ya tenés cargados, los hace correr sobre el trazado de un circuito y escribe clasificacion.xml y current.xml en la carpeta Simulator (y, si querés, emite por Orbit TCP/IP). Cada tiempo sale del momento exacto en que el auto cruza el waypoint. Sirve para entrenar al operador, probar gráficos, validar un circuito nuevo, hacer demos o tener un respaldo. Si es la primera vez, andá directo a la sección 11.
1. Antes de empezar
¿Para qué sirve?
Probar Totem, Crawl, Top 10, En Boxes, Reingreso y Banderas sin autódromo. Entrenar al operador de boxes. Validar un circuito nuevo. Hacer una demo. Tener un respaldo si la fuente real se cae.
Pilotos cargados
Necesitás al menos 1 grupo de pilotos con pilotos cargados (número y nombre). Son los mismos grupos que usás en vivo.
Un circuito en SVG
Un trazado con un <path> que arranque en la línea de meta. Podés usar los que vienen de fábrica o subir el tuyo.
Carpeta Simulator
Por defecto, la carpeta Simulator dentro de los datos de Race-G. Ahí se escriben los dos XML 4 veces por segundo, y Race-G tiene que leerlos desde ahí.
2. Dónde está
Screenshots/sim-boton.pngPestaña CONFIG desplazada hasta el final, con el botón "🏁 SIMULADOR DE CARRERAS" resaltado debajo de Autódromos guardados.Screenshots/sim-ventana.pngVentana completa del Simulador: a la izquierda botones, pestañas y trackmap; a la derecha el visor superior y la tabla de clasificación. Arriba, el título y el estado (detenido / corriendo).CONFIG → Simulador
Es el último elemento de CONFIG: el botón grande 🏁 SIMULADOR DE CARRERAS. Abre una ventana de dos columnas.
Columna izquierda (40 %)
Botones START / PAUSE / SIGUIENTE / STOP, la línea de mensajes, 5 pestañas (Sesiones, Categorías, Realismo, Circuito, Salida) y debajo el trackmap.
Columna derecha (60 %)
El visor (sesión, bandera, tiempos) y la tabla de clasificación que va armando el simulador.
Mini control
Si cerrás la ventana con ✕ mientras corre, la simulación sigue en el servidor y aparece un widget abajo a la derecha (ver abajo).
Screenshots/sim-mini.pngWidget flotante abajo a la derecha con el botón 🏁 para reabrir, nombre de la sesión, bandera, tiempo y los botones ⏸ ⏭ ⏹.El mini control muestra sesión, bandera y tiempo, y tiene ⏸ pausa/continuar, ⏭ siguiente tanda y ⏹ detener. Con 🏁 volvés a abrir la ventana completa. Desaparece cuando el simulador está detenido.
3. Los botones principales
Screenshots/sim-controles.pngFila START / PAUSE / SIGUIENTE / STOP con la línea de mensajes debajo, y el estado del simulador arriba a la derecha de la ventana.| Botón | Qué hace |
|---|---|
| ▶ START | Valida categorías y sesiones, arma el programa (cada sesión tildada × cada categoría tildada), abre el RMonitor si está tildado y arranca la primera tanda. Si ya estaba corriendo, lo reinicia desde la primera tanda. Si falta algo, lo avisa en la línea de mensajes (ver sección 13). |
| ⏸ PAUSE | Pausa y continúa. Con el simulador pausado los XML y el RMonitor dejan de actualizarse (Race-G ve los datos congelados), pero no se pierden las posiciones. |
| ⏭ SIGUIENTE | Termina la tanda actual ya y pasa a la siguiente sin esperar la pausa entre tandas. Si era la última y el loop está apagado, el ciclo termina. |
| ⏹ STOP | Detiene todo y cierra el RMonitor. No borra los XML: quedan con el último estado. |
El cartelito de estado de arriba cambia entre detenido, corriendo, pausado, fin de tanda (esperando la pausa) y ciclo terminado (se acabaron las tandas y el loop está apagado).
4. Pestaña Sesiones: el ciclo
Screenshots/sim-sesiones.pngTabla del ciclo con una fila por sesión (casilla, nombre, tipo, minutos, vueltas) y debajo los botones TODAS / NINGUNA / PRÁCT / QUALY / CARRERA.Cada fila es una sesión. Tildala para que forme parte del ciclo y cargale Tiempo (min), Vueltas o ambos: termina por lo que se cumpla primero. Con los dos en 0 no te deja arrancar. Los valores iniciales son:
| Sesión | Tipo | Duración inicial | Cómo corre |
|---|---|---|---|
| Entrenamiento 1 y 2 | Práctica | 5 min | Los autos salen de boxes escalonados durante unos 45 s después del WarmUp. Orden por mejor vuelta. No hay pits. |
| Clasificación | Qualy | 5 min | Igual que la práctica. |
| Serie 1, 2 y 3 | Carrera | 10 vueltas | Grilla quieta hasta el verde. Orden por distancia recorrida. Cada serie usa un tercio de los pilotos, repartidos de forma fija por número. Puede haber pits. |
| Final | Carrera | 15 vueltas | Con todos los pilotos del grupo. Puede haber pits. |
Atajos
TODAS y NINGUNA tildan o destildan todo. PRÁCT deja solo los entrenamientos, QUALY entrenamientos + clasificación y CARRERA solo series y final.
Orden real del programa
Sesión A categoría 1, sesión A categoría 2, sesión B categoría 1, sesión B categoría 2… Es decir, termina una sesión con todas las categorías antes de pasar a la siguiente.
Editar
Usá − / + o escribí el número. Podés cambiar minutos (hasta 600) y vueltas (hasta 999). El simulador recuerda lo que dejaste.
5. Pestaña Categorías y ejecución
Screenshots/sim-categorias.pngA la izquierda la lista de grupos de pilotos con casillas; a la derecha la tarjeta Ejecución con Velocidad, Pausa, WarmUp y la casilla Loop infinito.Elegir categorías
Tildá uno o más grupos con pilotos. Si tildás 2 categorías, cada sesión se repite una vez por categoría: 2 sesiones × 2 categorías = 4 tandas.
El nombre que viaja
El id del grupo, en mayúsculas, viaja como nombre de categoría en los datos. Así Race-G selecciona solo el grupo de pilotos correcto.
| Control (tarjeta Ejecución) | Rango | Inicial | Qué hace |
|---|---|---|---|
| Velocidad × | 0,1 a 20 | 2 | Multiplica el reloj de la simulación. A 2× una carrera de 10 min dura 5 min reales. Se puede cambiar con el simulador en marcha. |
| Pausa (s) | 0 a 3600 | 10 | Segundos reales entre el fin de una tanda y el comienzo de la siguiente. Sirve para leer resultados. |
| WarmUp (s) | 0 a 300 | 30 | Segundos de simulación antes del verde. En carrera, la grilla espera quieta. En práctica y qualy, es el tiempo antes de que empiecen a salir de boxes. |
| Loop infinito | tildado / no | tildado | Tildado: al terminar la última tanda vuelve a la primera. Destildado: el ciclo termina y el simulador se detiene. |
6. Pestaña Realismo
Screenshots/sim-realismo.pngCuatro campos con −/+ : Abandonos, Sobrepasos, Amarillas y Pits, todos en porcentaje.| Control | Rango (inicial) | Qué hace |
|---|---|---|
| Abandonos % | 0–100 (30) | Al empezar cada vuelta, cada auto tiene una chance de detenerse a mitad de esa vuelta: el valor × 0,03. Con 30 % son ≈0,9 % por auto y vuelta (en 12 autos × 15 vueltas, 1 o 2 abandonos); con 100 %, ≈3 %. El auto queda como DNF. Vale para todos los tipos de sesión. |
| Sobrepasos % | 0–100 (40) | Chance de pasar al auto de adelante cuando lo alcanza. Con bandera amarilla casi no pasan; si lo hacen, el sobrepaso queda marcado como ilegal y va a la cola de sobrepasos con bandera amarilla de Race-G. |
| Amarillas % | 0–100 (30) | Cuántas ventanas de bandera amarilla hay en la tanda: menos de 20 % → 0 o 1; 20–49 % → 1; 50–74 % → 1 o 2; 75–99 % → 1 a 3; 100 % → 1 a 4. Cada una dura entre 12 s y 20 s + 0,3 s por cada punto de porcentaje, y cae entre el 20 % y el 85 % de la tanda. Con amarilla, todos van al 82 % de la velocidad. |
| Pits % | 0–100 (20) | Ver la sección siguiente. Solo carrera y final. |
7. Paradas en boxes dentro del Simulador
Screenshots/sim-enboxes.pngPanel EN BOXES de Race-G con varios autos parados generados por el simulador, mostrando número, tiempo corriendo y el ícono ⛽.Todas nacen "efectivas"
Todas las paradas llegan como ⛽ efectiva (cuentan como combustible). Con click en el ⛽ de EN BOXES, ponés un motivo ("reparación") y pasa a 🚫: deja de contar. Es ideal para entrenar el descarte.
Cuántos paran (aprox.)
12 autos, 12 vueltas, Pits 100 %: ≈ 8–9 paran. Pits 80 %: ≈ 7–8. Final de 15 vueltas con Pits 20 %: ≈ 3–4. Serie de 10 vueltas con 20 %: ≈ 2. Con 5 vueltas y 20 %, lo más probable es que no pare nadie.
Entrenamiento express
Pits 80–100 %, 12 autos, una carrera de 12 vueltas y velocidad 1× o 2×. Vas a tener varias entradas con reingresos y Top 10 Pit Stop en pocos minutos.
Si no entra nadie
Con Pits en 0 % nunca entra nadie. Si lo subiste y sigue vacío, la carrera es demasiado corta: subí el porcentaje o las vueltas. En práctica y qualy no hay pits.
8. Pestaña Circuito
Screenshots/sim-circuito.pngSelector de circuito, botón Cargar SVG, Sectores con Marcar waypoints y Parejo, lista de waypoints, Vuelta ref., Suavizado y el botón 💾; abajo el trackmap con el trazado.Lista de circuitos
Aparecen los SVG subidos por vos, los de fábrica y los de la carpeta del programa. Cada SVG puede tener guardada su configuración (waypoints, vuelta de referencia y suavizado).
Cargar SVG
El archivo debe tener un <path> continuo que arranque en la línea de meta. Queda guardado y disponible en la lista para la próxima vez.
Vuelta ref.
De 20 a 600 s (inicial 80). Es lo que tarda una vuelta con ritmo 1,0: con 60 s los autos giran más rápido y con 120 s más lento.
Suavizado
Original / Bajo / Medio / Alto (inicial Medio). Con Alto se aplana la diferencia de velocidad entre curvas y rectas.
Sectores y waypoints. Elegí de 2 a 5 sectores. Con 3 sectores se marcan 2 puntos (donde terminan S1 y S2); el último sector cierra en la línea de meta.
Screenshots/sim-waypoints.pngTrackmap en modo marcado: el aviso "clic donde termina S1 (Esc cancela)" arriba del mapa y los marcadores S1 y S2 ubicados sobre el trazado.El trackmap se muestra acoplado a la izquierda, con los autos en su posición real y a su velocidad. Con ⇱ Flotar lo soltás como una ventana que se arrastra, y con ⤓ Acoplar lo volvés a poner. Con bandera amarilla el trazado se pinta de amarillo. Si el SVG no sirve, muestra un aviso en lugar del trazado.
9. Pestaña Salida
Screenshots/sim-salida.pngCampos XML principal y XML current, Carpeta con 📁 Elegir…, las dos rutas con botón Copiar, el bloque Orbit TCP/IP (casilla, puerto, estado) y el bloque Sonido.| Campo | Qué es |
|---|---|
| XML principal (clasificacion.xml) | Nombre del archivo que se usa como fuente Parcialera. |
| XML current (current.xml) | Nombre del archivo que se usa como fuente Current XML. |
| Carpeta | Por defecto, la carpeta Simulator de Race-G. 📁 Elegir… abre el selector (o te pide la ruta, local o de red). ↺ vuelve a la carpeta por defecto y solo se ve cuando elegiste otra. Si la cambiás con el simulador corriendo, sigue escribiendo en la nueva al instante. Si no hay permiso para escribir ahí, te avisa y no la cambia. |
| Rutas Parcialera / Current XML | Muestran el camino completo de cada archivo con un botón Copiar: es la ruta que tenés que pegar en la configuración de Race-G. |
| Orbit TCP/IP (RMonitor) | Casilla (tildada de entrada) y puerto (inicial 50000). Abre un servidor RMonitor que manda datos cada 0,5 s. Debajo se ve el estado: escuchando en el puerto y cuántos clientes hay conectados, o el error si no se pudo abrir. Tildar, destildar o cambiar el puerto se aplica al instante, sin reiniciar el simulador. |
| Sonido | Beep sectores (suena al cruzar cada waypoint), Solo P1 (solo para el líder) y Volumen (inicial 35). |
Alternativa (por red): tildá Emitir para Orbit TCP/IP y, en Race-G, elegí la fuente Orbit TCP/IP con IP 127.0.0.1 y el mismo puerto. Si Race-G corre en otra PC, usá la IP de la PC del simulador.
Screenshots/sim-fuente.pngConfiguración de fuentes de Race-G con Parcialera y Current XML apuntando a las rutas de la carpeta Simulator.Screenshots/sim-orbit.pngConfiguración de la fuente Orbit TCP/IP con IP 127.0.0.1 y puerto 50000, igual al del simulador.10. Visor y tabla
Screenshots/sim-visor.pngVisor superior (sesión y categoría, tanda, bandera, transcurrido, resta, vueltas, mejor vuelta y barra de avance) y debajo la tabla con posiciones, vueltas, tiempos, pits y estado.Visor superior
Nombre de la sesión y categoría, Tanda n del ciclo y cuál viene después. La bandera: LARGA EN (cuenta regresiva del WarmUp), VERDE, AMARILLA, A CUADROS o PAUSA. Después, Transcurrido desde el verde, Resta (o Faltan vueltas), Vueltas, Mejor vuelta y quién la hizo, y una barra con el avance de la tanda.
Tabla interna
Columnas P, V, Total, Mejor, Dif, Int, Última y Pits, más los sectores. En práctica y qualy ordena por mejor vuelta; en carrera, por distancia. Morado = mejor absoluto, verde = mejor personal. Los estados son PIT, RET y FIN.
11. Flujo del operador: de cero a un test de boxes
12. Precauciones
Antes de transmitir en vivo, volvé a la fuente real. Mientras Race-G lea la carpeta Simulator, lo que ve el espectador son datos de prueba.
Los datos de prueba pueden quedar guardados. Race-G guarda resultados y vueltas al terminar cada sesión. Antes del evento real conviene usar Nuevo Evento → Limpiar evento anterior.
Carpeta sin permiso: el simulador muestra el error y no escribe. Volvé con ↺ a la carpeta por defecto.
SVG sin path: el trackmap avisa que es inválido. Necesita un path continuo que arranque en la línea de meta.
Waypoints en desorden: si S2 queda antes que S1 salen sectores con tiempos raros. Tocá ⇹ Parejo para empezar de nuevo.
Pits 0 % = EN BOXES vacío, aunque tengas todo lo demás bien.
Una sola parada por auto. En carreras largas todos paran temprano y después no hay más. Para tener flujo continuo, usá varias carreras cortas con loop.
La duración de la parada (16–28 s de simulación) no se puede cambiar desde la pantalla. Para otra duración hay que editar race_sim.py.
Abandono y pit en la misma vuelta: si a un auto le tocó abandonar en esa vuelta, ese sorteo no lo manda a boxes.
Puerto ocupado: el simulador no elige otro puerto solo. Si 50000 está ocupado verás el error en la sección Salida: cambiá el puerto (por ejemplo 50001) y poné el mismo en Race-G.
Velocidad alta: los cálculos avanzan en pasos de 0,05 s de simulación, así que los tiempos no se pierden, pero el trackmap se ve a saltos. El beep a 10× o más molesta: usá Solo P1 o bajá el volumen.
Escritura constante: los XML se reescriben 4 veces por segundo mientras el simulador corre. Usá una carpeta local y rápida.
Cerrar la ventana no detiene la simulación. Para detenerla de verdad usá ⏹ en la ventana o en el mini control.
13. Problemas frecuentes
| Lo que ves | Qué hacer |
|---|---|
| Elegí al menos una categoría (grupo de pilotos con pilotos cargados) / No hay tandas… | No hay ningún grupo tildado con pilotos. Cargá pilotos en el grupo y tildalo en la pestaña Categorías. |
| [Sesión]: poné minutos, vueltas o ambos | Una sesión tildada tiene tiempo 0 y vueltas 0. Cargá al menos uno. |
| Elegí al menos una sesión del ciclo | No hay ninguna sesión tildada. Usá un atajo (TODAS, CARRERA…) o tildá una. |
| No se pudo abrir el puerto X | El puerto está ocupado. Cambialo o cerrá la aplicación que lo usa. |
| No se puede escribir en esa carpeta | Falta permiso o la ruta es incorrecta. Elegí otra con 📁 o volvé a la de por defecto con ↺. |
| La tabla de Race-G no se mueve | La fuente no apunta al Simulator. Revisá las rutas de clasificacion.xml y current.xml (copialas desde la pestaña Salida) y que el simulador no esté en pausa. |
| EN BOXES nunca aparece | Pits en 0 %, sesión que no es carrera, o carrera demasiado corta. Subí Pits a 80 % y las vueltas a 12 o más. |
| SVG inválido / sin path | El archivo no tiene un trazado válido. Subí un SVG con un <path> continuo que arranque en la línea de meta. |
| El simulador no está disponible en el servidor | Falta el archivo race_sim.py en la instalación. Reinstalá o restaurá el archivo. |
| No se pudo leer la lista de circuitos | Falló la conexión con el servidor de Race-G. Reabrí la ventana del simulador. |
| El beep suena sin parar | Velocidad alta con beep en todos los sectores. Bajá el volumen o tildá Solo P1. |
14. Lista de control rápida
Al preparar
1 grupo con 10–15 pilotos. 1 sesión de carrera (por ejemplo, 15 vueltas). Circuito con 3 sectores en Parejo. Pits 80 %.
Antes de salir al aire
Fuente Parcialera / Current XML apuntando a Simulator. START a 1×–2×, WarmUp 10 s, Pausa 5 s, loop tildado. Verificá que EN BOXES se llene.
Durante
MOSTRAR En Boxes, REINGRESO P visual / P carrera, ⛽→🚫 con motivo, Top 10 Pit Stop y ✕ falsa. ⏭ SIGUIENTE para pasar de tanda.
Al terminar
⏹ STOP en la ventana o en el mini control. Se cierra el RMonitor y los XML quedan con el último estado. Volvé a la fuente real.