Juan de Dios López

Ver esta página en inglésESEN

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.

← Volver a proyectos