Invernadero errante
Un incremental de ritmo lento sobre catalogar flora imposible, con un motor de simulación separado por completo de la interfaz.
- Año
- 2025
- Rol
- Diseño y desarrollo
- Stack
- React · TypeScript · Vite
Un juego incremental en el que se cuida un invernadero de vidrio a la deriva entre estrellas. La mecánica aparente es cultivar; el objetivo real es catalogar, y cada especie identificada mejora la producción de todas las demás.
La decisión que sostiene el proyecto
El motor no importa nada de React ni toca el DOM. Es TypeScript puro, y el estado del juego vive fuera del árbol de componentes: el tick lo muta veinte veces por segundo y la interfaz se suscribe a un contador de revisión.
Meter el estado en useState habría re-renderizado el árbol completo en cada
tick, que es el cuello de botella clásico del género. Mantenerlo fuera también
permite simular cuatro horas de partida en doscientos milisegundos desde la
línea de comandos, que es la única forma honesta de ajustar el balance.
Aritmética grande
Todos los números son Decimal de break_infinity.js, nunca number. Un
number que se cuela en la cadena produce Infinity en silencio a partir de
1e308 y el error se descubre semanas más tarde.
Tiempo real, no delta fijo
Cada tick simula el intervalo transcurrido contra el reloj del sistema, con tope por tick y tope de ausencia. Así, recuperar el tiempo que el navegador estranguló en segundo plano y calcular el progreso mientras la pestaña estuvo cerrada son el mismo mecanismo, no dos.