Construye un simulador de colonia original en torno a una cola de trabajo y un plazo límite. En el ficticio Relé de Cresta Tern, dos miembros de la tripulación necesitan reparar una persiana de tormenta, cambiar un filtro de aire y llevar una caja al almacén. Solo un miembro de la tripulación puede reparar la persiana. Si una tarea de menor riesgo ocupa a esa persona primero, la estación puede no cumplir el plazo, incluso si todas las tareas terminan finalmente.
Usa tres ticks fijos para exponer esa elección. Un horario legible te indica qué hizo cada miembro de la tripulación, qué tarea tuvo que esperar y si la reparación se completó a tiempo.
Comienza con un único cuello de botella compartido

Ludeon Studios describe RimWorld como una simulación de colonia de ciencia ficción en la que los jugadores gestionan a los colonos y sus necesidades. Los propios materiales didácticos del estudio también describen prioridades de trabajo configurables. Para un prototipo original, toma la idea general de trabajos en competencia y define exactamente cómo tu tripulación asume una tarea.
En Tern Ridge Relay, Mira y Sol comienzan libres. Solo Mira puede Reparar o Filtrar. Cualquiera puede Transportar. Todos los trabajos están disponibles cuando comienza el tick uno. La persiana debe repararse antes de que termine el tick dos. La estación comienza con 5 Aire, un contador abstracto del juego, y utiliza 1 Aire al final de cada tick.
Haz visible la regla de despacho
| Trabajo | Tripulación elegible | Duración | Efecto de finalización |
|---|---|---|---|
| Reparar persiana | Mira | 2 ticks | Persiana completada. El plazo límite es el final del tick 2. |
| Cambiar filtro | Mira | tick 1 | Añadir 2 Aire. |
| Transportar caja | Mira o Sol | tick 1 | Marcar la caja como entregada. |

En cada tick, mantén los trabajos activos con su tripulación asignada. Ordena los trabajos pendientes por rango numérico ascendente y, en caso de empate, por ID de trabajo alfabéticamente. Toma al primer trabajador elegible libre en el orden Mira, Sol. Si un trabajo no tiene ningún trabajador elegible libre, registra la razón y continúa el escaneo. Un trabajo en espera nunca debe impedir que un trabajador elegible asuma un trabajo diferente.
Al final de un tick, avanza todos los trabajos activos en un paso. Aplica los efectos de finalización, resta el coste de Aire y luego comprueba cualquier plazo límite. Un trabajo que finalice en el tick dos se considera a tiempo. Un trabajo que finalice en el tick tres no puede borrar un plazo límite incumplido en el tick dos.
Reproducir dos horarios desde el reinicio
Comienza con los rangos Reparar 1, Filtrar 2 y Transportar 3. Luego, restablece y cambia solo Filtrar al rango 0. Este pequeño programador acepta 0 como un rango superior a 1. Mantén la misma elegibilidad de trabajadores, las duraciones de las tareas y el Aire inicial en ambas ejecuciones.
| Tick | Asignaciones de línea base | Aire de línea base | Filtrar primero | Aire de la variante |
|---|---|---|---|---|
| 1 | Mira repara, Sol transporta | 4 | Mira filtra, Sol transporta | 6 |
| 2 | Mira completa Reparar a tiempo. Sol inactiva. | 3 | Mira inicia Reparar. Sol inactiva. Plazo incumplido. | 5 |
| 3 | Mira completa Filtrar. Sol inactiva. | 4 | Mira completa Reparar con retraso. Sol inactiva. | 4 |

Ambos horarios terminan en 4 Aire. La línea base protege el plazo y la variante lo incumple. Para diagnosticar el incumplimiento, observa el tick de inicio del trabajo y la primera asignación a Mira. Mantén el resultado del plazo y el estado actual del trabajo separados para que una finalización tardía siga siendo visible.
Proporciona a la IA las trazas del programador y de aceptación
Pide primero un control de un solo paso. Avanzar un tick a la vez facilita hacer coincidir el registro con el fixture.
Construye un simulador de colonia original para navegador llamado Tern Ridge Relay.
Usa dos miembros de la tripulación en orden: Mira y luego Sol. Comienza con ambos libres y 5 Aire.
En el tick 1, haz disponibles tres trabajos: Reparación rango 1 (solo Mira, 2 ticks, vence al final del tick 2), Filtro rango 2 (solo Mira, 1 tick, añade 2 Aire) y Transporte rango 3 (cualquier miembro de la tripulación, 1 tick, marca la caja como entregada).
Mantén los trabajos activos y ocupa a un trabajador por trabajo hasta su finalización. Cada trabajador mantiene como máximo un trabajo.
Ordena los trabajos pendientes por rango ascendente y luego por ID de trabajo alfabético. Elige al primer trabajador elegible libre. Omite los trabajos no disponibles y continúa escaneando.
Al final del tick, avanza el trabajo, aplica los efectos de finalización, resta 1 Aire y luego comprueba los plazos.
Registra el tick de finalización y el resultado del plazo por separado. Conserva un plazo incumplido cuando un trabajo termina tarde.
Muestra un botón de paso, rangos de trabajo, asignaciones de la tripulación, elegibilidad y un registro cronológico. Permite Filtro rango 0 antes de la ejecución.
Detén tras 3 ticks. Reiniciar restaura los rangos base, el Aire, ambos miembros de la tripulación y todos los trabajos pendientes.
Aire de línea base tras cada tick: 4, 3, 4. La Reparación termina en el tick 2.
Con solo Filtro cambiado a 0: Aire 6, 5, 4. La Reparación incumple el tick 2 y termina en el tick 3.
Usa visuales originales de estación de relé y controles accesibles por teclado.
Revisa cuidadosamente el primer tick de referencia. Sol debe realizar Haul aunque Filter se haya escaneado anteriormente. Si Sol permanece inactivo, inspecciona la regla que gestiona un trabajo no elegible. Si la referencia no cumple el plazo a pesar de completar Repair en el tick dos, comprueba si los efectos de finalización se aplican antes de la comprobación del plazo.
Usa la guía de primera construcción para adaptar el fixture a otro entorno. Crea el programador de Tern Ridge Relay en SEELE AI Game Maker y reproduce ambos horarios antes de añadir eventos o nuevos trabajos.
Preguntas frecuentes
¿Con cuántos trabajadores y trabajos debería empezar?
Empieza con dos trabajadores y tres trabajos, incluidos dos trabajos que requieran al mismo trabajador. Esto te permite probar tanto un cuello de botella genuino como una asignación paralela. En este ejemplo, Sol puede transportar la caja mientras Mira se encarga del trabajo de especialista con mayor puntuación.
¿Qué pasa si un trabajador no puede realizar el trabajo con mayor puntuación?
Evalúa si alguien libre está cualificado para ese trabajo. Si no es así, continúa escaneando y registra por qué se omitió. Un miembro flexible del equipo aún puede realizar otro trabajo elegible, lo que impide que la lista pendiente deje inactiva a toda la estación.
¿Por qué registrar el estado de finalización y de plazo por separado?
Un trabajo puede finalizar después de su tick límite. Su estado de finalización puede ser verdadero mientras que el resultado del plazo sigue siendo incumplido. Conserva ambos valores y sus números de tick para que un jugador pueda entender una reparación tardía incluso cuando la estación terminada se vea idéntica.
¿Cómo debería probar un cambio en las prioridades de los trabajos?
Reinicia la estación, cambia solo una puntuación y repite la secuencia exacta de ticks. Compara quién inicia cada trabajo, cuándo se completa y qué plazos cambian. También comprueba el valor final de Air, pero usa el horario completo para explicar los casos que finalizan con la misma cantidad.


