The Silk Web | DEVLOG
www.thesilkweb.tsw/es/devlogconectado

DEVLOG

Un clima que nunca se guarda

2026-09-23 · mundo · renderizado

Construyó un motor general de partículas, pensado en origen como unos pocos bichos flotando sobre las zonas de captura, que ahora también lleva mosquitos sobre los lagos, hojas de otoño cayendo, neblina de cueva y el cielo mismo.

Agregó el clima del cielo (lluvia, nieve, niebla) como una capa encima de la lectura de clima del suelo ya existente y no como un reemplazo. Un pantano frío bajo la nieve ahora drena la resistencia más que cualquiera de las dos condiciones por separado.

El clima del cielo nunca se guarda: el cielo de cada día se sortea a partir de la semilla del mundo y la fecha, el mismo truco que ya usa la regeneración del terreno, y el clima de un día ahora abre a una hora sorteada y dura unas pocas horas sorteadas en lugar de correr de medianoche a medianoche.

Corrigió que las partidas nuevas abrieran a menudo con lluvia, probabilidad justa pero que se leía como un fallo, forzando que el primer día de cada mundo estuviera despejado.

Corrigió un error que atrapó el último archivo de pruebas faltante: pasar de un tipo de clima a otro borraba las partículas viejas pero conservaba un crédito de aparición que se había ido acumulando, así que el clima nuevo llegaba como una ráfaga repentina en lugar de aparecer gradualmente.

El nivel de confianza no necesitó ningún dato nuevo de guardado

2026-09-17 · progresión · en línea · diseño

Agregó una pista de progresión de confianza de 50 niveles que reutiliza las estadísticas de por vida ya calculadas para la tabla de clasificación (pasos, capturas, disecciones, recursos reunidos, días sobrevividos) en lugar de agregar campos nuevos al guardado. Se deriva, no se almacena, y se recalcula una vez al cargar.

Cambió las ventajas para que se apliquen solo desde el nivel actual y no desde cada nivel por el que se pasó, después de que un borrador anterior implicara que se acumulaban. La página de confianza ahora muestra solo las ventajas vigentes y una línea con el siguiente desbloqueo.

Corrigió que las dos pestañas nuevas de la laptop salieran vacías y congelaran la entrada de la laptop, porque ninguna se había agregado a la propia lista de controles de la pantalla. La pantalla ahora comprueba al construirse que el objetivo de foco de cada pestaña sea un control real registrado.

Anotó que la confianza puede bajar: perder una mascota descuidada reduce el total en la misma cantidad en que ganarla lo subió, porque las mascotas poseídas leen un conteo en vivo y no uno de por vida.

Corrigió un error real de la tabla de clasificación ese mismo día: enviar tus estadísticas era la única forma de verlas, así que un jugador que continuaba una partida existente, y que por fuerza ya había enviado una vez, veía un aviso vacío que le pedía dormir y enviar otra vez. Agregó en su lugar una consulta de posición dedicada, sin depender de la caché de sesión propia del cliente.

Mantuvo la fórmula de puntuación de la tabla solo del lado del servidor, en lugar de reflejarla en la configuración del cliente, para poder reajustarla sin recompilar el cliente, y dio a propósito un peso a los pasos caminados muy inferior al de cualquier otra estadística, ya que los pasos son la única estadística que se puede cultivar gratis manteniendo pulsada una tecla de dirección en campo abierto. La mejor puntuación de un jugador se conserva mediante una actualización atómica, de modo que una partida que termina en muerte permanente nunca le cuesta su posición.

Reconstruir el muñeco de papel: de cuatro deslizadores a ocho prendas reales

2026-09-17 · contenido · interfaz · sensación

Reemplazó el creador de personajes original de cuatro ranuras, tipo de cuerpo, ropa, cabello y sombrero, con cinco opciones cada una, que había sido un ejemplo de trabajo del sistema y no un diseño definitivo.

Redujo el tipo de cuerpo a una sola silueta en la que solo el color de piel queda como variable.

Resolvió el diseño en ocho ranuras con tres opciones de tipo cada una en las ranuras que llevan tipo, seis cuadros de animación cada una, lo que da exactamente la misma cantidad de índices de baldosa que ya ocupaba la lista anterior, así que la imagen del conjunto de baldosas compartido no necesitó crecer.

Movió las cejas para que se dibujen sobre el cabello después de que las pruebas de juego mostraran que un flequillo podía ocultar por completo la elección de cejas.

Registró las cejas y los ojos como un riesgo conocido en lugar de resolverlo de inmediato: ambos son rasgos de uno o dos píxeles que se leen bien con zoom en el creador de personajes pero pueden ser casi invisibles en la vista real del mundo.

La mesa de disección por fin se abre

2026-09-15 · contenido · mecánicas

Conectó la mesa de disección, que había sido mobiliario real colocado desde M7, comprable y posicionado por la generación del mundo, y en la que pulsar E no hacía más que mostrar un mensaje de aún no está lista.

Agregó una pantalla de tres estados: elegir un bicho capturado, confirmar que el espécimen no sobrevivirá a la disección, y luego leer el resultado.

La disección lee el mismo estado del jugador que una venta o una ranura de terrario, y quita el bicho de donde esté, llevado o guardado, igual que ya lo hace una venta.

Cambió el control de acceso de la Bug-pedia: una especie capturada pero nunca disecada aun así aparece, solo que sin su descripción completa, de modo que el catálogo se lee como curiosidad satisfecha y no como una lista de especies vistas.

A la laptop le creció un navegador

2026-09-15 · interfaz · en línea

Reemplazó la franja única de diez pestañas de la laptop por un navegador: una pantalla de inicio con cinco sitios web con nombre más la Bug-pedia como aplicación independiente, y cada sitio es dueño solo de sus propias pestañas.

Garden Place se encarga de comprar y vender, Tools 'ants Tuff cubre el equipo, Butter Fly cubre la comida y los recursos, Snail Mail cubre el correo y los rangos, y Wanna-Bee Friends cubre las mascotas.

Retroceso ahora vuelve a la lista de sitios desde cualquier punto dentro de un sitio.

Un sitio es solo un nombre para mostrar, una dirección y una lista de pestañas, así que la próxima función en línea es una fila nueva en lugar de una franja de pestañas rediseñada.

El jugador se convierte en un muñeco de papel animado

2026-09-10 · contenido · sensación · renderizado

Reemplazó el glifo estático único del jugador por cuatro capas animadas, elegidas y coloreadas de forma independiente: cuerpo, ropa, cabello y sombrero.

Fijó el alcance desde el principio: una sola orientación, de frente, sin espejado, y deliberadamente ningún concepto de orientación agregado en ningún otro lugar del movimiento ni del renderizado.

Encontró el camino barato a través de una restricción real del motor: una entidad del mapa se dibuja con la fuente del propio renderizador del mapa, y la biblioteca de renderizado no permite cambiar la fuente por entidad, así que cada capa del muñeco ya tenía que ser un glifo real del conjunto de baldosas del mundo. Eso hizo que la función fuera casi gratuita en lugar de limitarla.

Construyó el temporizador de cuadros como un simple acumulador de punto flotante que se puede probar sin ventana, en lugar de recurrir al componente de animación de la propia biblioteca de renderizado, específicamente para que la aritmética de cuadros pudiera cubrirse con una prueba real. Reposo y caminata mantienen fases separadas, así que detenerse a mitad de zancada reanuda el reposo correctamente en lugar de dar un salto.

Registró una limitación real en lugar de rodearla: el volcado de pantalla sin ventana guarda un glifo por celda, así que estructuralmente no puede mostrar cuatro capas con mezcla alfa y recurre a mostrar solo la capa del cuerpo.

Ochenta y ocho por ciento menos de RAM: dividir el mundo en secciones como un juego de Zelda

2026-08-20 · rendimiento · mundo

Encontró que el mapa del mundo reservaba un objeto de celda real por casilla sin importar el tamaño del mundo, medido en cerca de 88 por ciento del uso de memoria del exterior en la configuración de mundo más grande.

Cambió la generación del mundo para que solo produzca datos lógicos, identificadores de bioma, colocación de estructuras, una cuadrícula de transitabilidad, en lugar de un mapa vivo, y agregó un constructor de secciones que convierte esos datos en una sección real y jugable a la vez.

Reutilizó el mismo patrón de identidad conocida de antemano, construcción perezosa y caché posterior que ya usaban los sistemas de cabañas y cuevas, extendido de un conjunto disperso de sitios a una cuadrícula regular que cubre todo el mundo.

Mantuvo la cámara desplazándose con suavidad dentro de una sección exactamente como antes, e hizo que solo cruzar el límite de una sección fuera un corte brusco, con el mismo barrido de pantalla que ya usaba la puerta de una cabaña.

Dejó el formato de guardado completamente sin cambios, ya que dividir en secciones es solo un detalle de memoria en tiempo de ejecución, confirmado porque la suite de pruebas completa pasó sin cambios, incluida la comprobación de que la salida de la generación no se movió ni una sola casilla.

La E que nunca estuvo realmente flotando

2026-08-18 · renderizado · pruebas

Reemplazó el renderizado del aviso de interacción. Antes sobrescribía directamente la casilla del mapa (glifo cambiado, fondo mezclado, valores originales guardados y restaurados al alejarse), lo que significaba que la casilla de verdad desaparecía, no solo quedaba cubierta, mientras el aviso estuviera visible.

Reutilizó en su lugar la técnica de la copa del bosque: una entidad decorativa una celda por encima del objetivo sin fondo propio, de modo que el suelo se ve a través alrededor del glifo.

Esto también elimina una carrera contra el sistema que repinta cada casilla al amanecer y al atardecer. El viejo enfoque de guardar y restaurar ya había causado un error una vez justamente por ese momento.

La primera prueba escrita para la nueva versión falló de inmediato por un fallo real: el mapa solo reservaba una capa de entidades, y pedir una capa por encima del umbral de la copa lanzaba un error en vez de limitarse. Eso habría ocurrido la primera vez que un jugador se paraba junto a cualquier cosa en el juego real.

Enseñar sin un tutorial

2026-08-18 · diseño · interfaz

Agregó 15 consejos de tutorial de una sola vez en lugar de un primer día guiado o una pared de controles al arrancar, y cada uno se activa la primera vez que su tema de verdad importa: el primer registro que se puede buscar, el primer anochecer, la primera vez que el cansancio te impide seguir buscando, la primera vez que tienes una cuerda bajo tierra.

Cada consejo se activa una sola vez por partida, para siempre, y un consejo de herramienta solo existe si el jugador ya posee esa herramienta.

Los disparadores de consejos evitan a propósito los momentos que las pantallas de historia ya tienen: la primera captura, el primer bicho guardado, la primera venta, de modo que los dos sistemas nunca enseñan lo mismo dos veces.

La mayoría de los consejos vigilan un estado en lugar de un evento, por ejemplo estar junto a un escritorio, consultados juntos en una sola comprobación que se reduce a un único booleano.

De una sola verificación gigante a mil pruebas de verdad

2026-08-18 · pruebas · diseño

Reemplazó el viejo sistema de verificación, un método hecho a mano y en constante crecimiento por cada área de funciones que dejaba de comprobar en su primer fallo, por un proyecto de pruebas real.

Dividió sus métodos en una prueba independiente por cada afirmación comprobable, llegando a poco más de mil pruebas con un resultado real de aprobado o fallido por prueba, en lugar de un único verdadero o falso compartido.

Lo mantuvo como un proyecto hermano del juego en lugar de meterlo dentro, referenciando directamente el proyecto del juego para poder ejecutarse por sí solo.

Llevó la misma división al motor de sonido, cuyas pruebas de comportamiento genérico pasaron a su propia suite hermana, dejando atrás solo las pruebas que dependen del contenido de sonido real de este juego.

Acompañó la suite con un volcado de renderizado sin ventana que dibuja cada pantalla a cuadros de imagen, ya que este entorno no puede pulsar teclas reales, de modo que la suite de pruebas y el volcado juntos son toda la estrategia de verificación aquí.

A la caza de la Saturn

2026-08-18 · audio · sensación · renderizado

Movió el hardware de referencia del motor de sonido a un chip de sonido más completo, por etapas, buscando una cadena de señal más rica y no una reconstrucción total alrededor de muestras grabadas.

Descubrió que tres rondas de ajuste de reverberación no habían llevado a nada porque la herramienta de escucha sin conexión nunca aplicaba la etapa de salida, así que todo sonido que alguien había juzgado de oído había estado completamente seco.

Descubrió que la reverberación también había sido mono en silencio, con filtros y tiempos idénticos en ambos canales, y la corrigió con amortiguación real, pre-retardo y una dispersión estéreo adecuada.

Corrigió un desplazamiento constante e inaudible heredado de una etapa de salida antigua que se acumulaba en silencio hasta volverse un zumbido audible dentro de la reverberación, detectado por una prueba nueva que comprueba que la cola de reverberación de un sonido de verdad se apaga hasta el silencio.

Subió el conjunto de voces a 32 ranuras, agregó un filtro, paneo y LFO a cada voz, y luego eliminó la vieja emulación de salida para tener audio limpio, lo que de inmediato reveló un aliasing que esa etapa había estado ocultando hasta que una forma de onda de banda limitada lo arregló.

Sacó después el motor terminado a su propia biblioteca independiente, sin dependencias más allá del marco base, para que pueda reutilizarse fuera de este juego sin tener que desarmarse.

El juego consiguió una razón para existir

2026-08-13 · historia · contenido

Agregó una historia de marco: una persona solitaria dedicada a la entomología, con una temporada de campo para demostrar que un terreno protegido merece conservarse, frente a una Oficina de Medio Ambiente que ya decidió arrasarlo.

Escribió 29 momentos de historia a pantalla completa en 13 tipos de disparador, todos funcionando sobre el sistema de diálogo Yarn ya existente que se usa para el correo dentro del juego, y no sobre un nuevo formato de contenido.

Algunos disparadores pueden activarse más de una vez por partida, y la cola que los consume ya puede encadenar varios momentos de historia a partir de un solo disparador. Esa capacidad existía antes de que cualquier contenido la usara.

El movimiento dejó de dar saltos

2026-08-12 · sensación

Agregó una posición visual cosmética aparte que se acerca suavemente a la posición real del jugador en la cuadrícula en cada paso, en lugar de que la cámara y el sprite salten de casilla en casilla.

Corrigió un error de doble dibujado en el que ocultar la entidad real durante el deslizamiento no estaba suprimiendo de verdad su dibujado.

Corrigió que el deslizamiento se leyera como un arranque seguido de pausa al ajustar su velocidad al ritmo real de los pasos en lugar de a una duración fija.

Corrigió el temblor de la cámara en habitaciones pequeñas, causado por el paneo de la cámara a nivel subcelda, que calculaba un desplazamiento para espacio que no existía.

Corrigió que los pasos diagonales nunca se suavizaran: la velocidad por paso ahora se deriva de la propia distancia de ese paso y del tiempo hasta el siguiente, sin necesitar ninguna constante de ajuste.

Postales, y el error que atraparon las pruebas

2026-08-12 · en línea · pruebas

Reemplazó el correo de texto libre entre jugadores por un conjunto de plantillas de postal en lista de permitidos, convirtiendo un problema de moderación de contenido en uno de control de volumen.

Agregó tres límites del lado del servidor: un tope diario de envíos por cuenta, un tope de cuántas postales sin leer puede ocupar un solo remitente en la bandeja de un destinatario, y un límite de bandeja que rechaza el correo nuevo en lugar de expulsar el más antiguo, ya que expulsar es en sí mismo el ataque de inundación.

Escribió la primera suite de pruebas del lado del servidor del proyecto, que de inmediato atrapó un error real: el punto de borrado hacía un borrado definitivo, eliminando en silencio la copia del propio remitente de un mensaje compartido. El borrado ahora es una bandera de borrado suave.

Publicar una compilación de un solo archivo, y los dos errores que la rompieron

2026-08-12 · distribución · diseño

Agregó scripts de publicación que producen una compilación autónoma de un solo archivo para cada plataforma para la que la biblioteca de renderizado de verdad incluye bibliotecas nativas, verificado contra su propio manifiesto de dependencias en lugar de adivinado.

Corrigió un error de DLL no encontrada que se reportaba como nativos faltantes pero era justo lo contrario: los nativos estaban incrustados dentro del único ejecutable, y el anfitrión de renderizado no puede encontrarlos ahí porque los resuelve con una carga de biblioteca cruda más una búsqueda de ruta que devuelve vacío al publicar en un solo archivo. La bandera correspondiente está apagada ahora en ambos scripts.

Corrigió un segundo error que solo apareció una vez arreglado el primero: cada ruta de contenido del juego era relativa, de modo que una compilación publicada y lanzada desde un directorio de trabajo distinto no encontraba sus propias fuentes. Ahora se redirige a su propio directorio de instalación, solo cuando el contenido no es ya accesible desde donde empezó.

Verificó ambas correcciones contra una compilación real extraída, lanzada desde su propia carpeta y desde una carpeta sin relación.

Por qué los efectos de sonido no son grabaciones

2026-08-11 · audio · mecánicas

Reemplazó los efectos de sonido originales, un sintetizador que reproducía un soundfont grabado de 63 megabytes, tras confirmar que el problema era estructural: una grabación de un chip no puede hacer deslizamientos de tono por tic, barridos de modulación ni el canal de ruido en el que se apoyan los efectos de sonido reales.

Construyó en su lugar un motor real de síntesis FM y de pulso y ruido desde cero, sin ninguna dependencia nueva, tras rechazar a propósito un núcleo emulador ya hecho por su licencia.

Encontró y corrigió cuatro errores sin relación que ya se escondían en el contenido de sonido viejo mientras investigaba: varias señales de pasos habían caído en silencio a un parche de piano de cola, cada canal llevaba un envío de reverberación no deseado, había una latencia notable entre la entrada y el sonido, y nunca se había usado la inflexión de tono sobre golpes de batería capturados de verdad.

Corrigió un error en el que caminar rápido sonaba como una nota sostenida en lugar de ruido, porque el generador de ruido volvía a sembrarse con el mismo valor en cada redisparo y una tecla de movimiento mantenida producía ráfagas de ruido idénticas una tras otra.

Midió el nivel de salida real en lugar de adivinar y encontró que disparar todas las señales a la vez llegaba a un quinto del techo, por lo que se redujo el divisor del margen contra saturación para una ganancia real de tres veces en volumen.

Mascotas que pueden morir de soledad

2026-08-10 · progresión · mecánicas

Agregó las mascotas como compañeras comprables a través de la tienda propia de The Silk Web, con la misma ruta de compra que las herramientas y los recursos.

Dio a las mascotas un puntaje de amistad continuo que sube de tres maneras distintas: jugar, con un tiempo de espera para que no se pueda abusar machacando teclas; una pequeña ganancia pasiva para la mascota que anda contigo como compañera activa; y golosinas compradas con moneda, la única forma de llegar a una mascota que está en reserva.

Agregó consecuencias reales por el descuido: un periodo de gracia de dos días antes de que la amistad empiece a decaer, y un umbral de seis días antes de que la mascota se elimine de forma permanente de la partida.

Escaló las ventajas de captura y rareza según la amistad, hasta una vez y media en el máximo, en lugar de solo encenderlas o apagarlas.

Ríos que de verdad fluyen cuesta abajo

2026-08-07 · generación del mundo · mundo

Reemplazó la primera pasada de ríos y lagos, que clasificaba por forma manchas conectadas de ruido de agua, por hidrología real: llenado de depresiones por inundación con prioridad, seguido de dirección y acumulación de flujo sobre el mapa de elevación.

Comprobó una recalibración prevista del nivel del mar en vez de suponer que hacía falta, y descubrió que no era necesaria.

Cambió la selección de bosque contra pastizal de un único umbral de humedad a una regla climática de tres ejes que usa elevación, temperatura y humedad, que es lo que permitió que la sabana y el jardín de rocas se sumaran después como puro contenido y no como código nuevo del generador.

Agregó los jardines de flores como una inclusión basada en ruido estampada dentro del pastizal en lugar de un bioma propio, reutilizando el mismo mecanismo que luego se reutilizó otra vez para los parches de zonas de captura.

Midió la pasada completa de hidrología en 450 milisegundos en un mundo grande, en lugar de suponer que era demasiado lenta para publicarse.

Construir un mundo en el que puedas estar de pie

2026-08-06 · mundo · mecánicas · diseño

Generó las cabañas y sus interiores como un rectángulo con cada esquina recortada de forma independiente por un cuadrado aleatorio, elegido sobre el crecimiento tipo mancha porque se lee como un edificio de verdad y no como una cueva.

Cambió el guardado para almacenar solo la semilla del mundo y sus dimensiones y regenerar el terreno byte por byte al cargar, en lugar de guardar el terreno casilla por casilla, de modo que el tamaño del guardado crece con lo que el jugador posee y atrapa, y no con el tamaño del mundo.

Mantuvo el mundo en marcha mientras el jugador está bajo techo, compartiendo una sola instancia de reloj entre los controladores del exterior y del interior, de modo que el tiempo nunca se detiene solo porque cambió el mapa activo.

Reemplazó el sistema original de una sola herramienta equipada a la vez por un inventario real de herramientas, después de que las pruebas de juego mostraran que comprar una herramienta nueva y que reemplazara en silencio a la anterior se leía como un error.

Agregó la primera laptop, con correo, compras y ventas, todo accesible desde ella al final del segundo día.

La primera porción jugable

2026-08-05 · mundo · diseño

Salió con exactamente tres biomas, pastizal, bosque y agua, cargados desde JSON y recargables en caliente en las compilaciones de depuración, sin bichos ni plantas en ninguna parte del juego todavía.

Probó el anfitrión de scripts con un script de prueba que solo registra mensajes, y el anfitrión de diálogos con una conversación de prueba que elige sola su primera opción, ya que aún no había interfaz para preguntarle a una persona. El contenido real para cualquiera de los dos llegó después.

Generó el mundo a partir de dos canales de ruido independientes, uno para tierra contra agua y otro para pastizal contra bosque, en lugar de los pasos generadores en forma de mazmorra de la propia biblioteca de renderizado, que no encajan en un mundo abierto.

Construyó desde el primer día un movimiento continuo por tecla mantenida, leyendo el estado crudo de las teclas contra el tiempo real entre cuadros, en vez de mover al jugador una casilla por pulsación.

Corrigió un error real en el que pulsar Escape para ir al menú de pausa podía dejar todas las teclas sin respuesta después, rastreado hasta la propia pila de foco de la biblioteca de renderizado y no hasta la lógica del juego.

↑↓ moverENTER elegirTAB página siguienteBKSP atrásL Idioma© Nightly Bug Games