4 LA CUENTA QUE NO MIRABA
El personaje atravesaba una pared.
No siempre. Eso habría sido demasiado honesto por parte del juego.
Solo ocurría si el jugador aceptaba la misión de la anciana del muelle, recogía el farol, hablaba con el contrabandista antes de encenderlo, volvía al callejón por la izquierda y pulsaba correr exactamente cuando empezaba la animación de lluvia.
Entonces el protagonista metía un hombro en el ladrillo, temblaba durante dos segundos y desaparecía dentro de una habitación no renderizada donde podía caminar por el vacío hasta que el motor se rendía y lo dejaba caer bajo el mapa.
Daniel reprodujo el fallo siete veces.
La octava no hizo falta, pero la hizo igualmente.
En la oficina de Fogline Games, la tarde se había espesado con el olor a café recalentado, ramen instantáneo y humanidad encerrada entre pantallas.
El estudio ocupaba un segundo piso en SoMa, en un edificio que antes había alojado una empresa de impresión y ahora fingía modernidad con vigas expuestas, plantas que sobrevivían por terquedad y salas de reuniones bautizadas con nombres de niebla.
Afuera, los camiones de reparto bloqueaban media calle y los patinetes caídos parecían cadáveres tecnológicos.
Dentro, alguien maldecía en voz baja contra una integración de audio.
Daniel marcó el clip, exportó el vídeo y abrió el ticket.
Collision failure triggered by lantern animation transition. Reproducible. Player can exit playable space and fall indefinitely.
Leyó la frase. Borró indefinitely . Escribió until forced reload .
Menos dramático. Más útil.
Lila Park pasó detrás de él con una taza enorme y la expresión de una mujer que había visto morir la esperanza en cinco plataformas distintas.
—Dime que no estás todavía en la misión del farol —dijo.
Daniel no apartó la vista de la pantalla.
—No estoy todavía en la misión del farol.
—Eso fue una mentira de baja calidad.
—Pediste contenido, no calidad.
Lila se apoyó en el separador de su escritorio. Llevaba el pelo recogido con dos lápices y una sudadera de Fogline con una mancha de salsa cerca del bolsillo.
—Priya quiere saber si es bloqueo de certificación.
Daniel reprodujo el vídeo otra vez. El personaje metió el hombro en la pared y cayó al vacío con una dignidad limitada.
—Sí.
—Mierda.
—También tenemos parpadeo de textura en la cinemática del puerto, tres NPC que ignoran gravedad y un perro que roba la misma manzana hasta generar dieciséis manzanas fantasma.
—El perro se queda —dijo Lila—. El perro es emergente.
—El perro viola economía interna y sentido común.
—Como la mayoría de inversores.
Daniel casi sonrió.
Lila inclinó la cabeza y lo observó un segundo más de lo normal. Daniel no le devolvió la mirada. Ese era el riesgo de llevar años en el mismo equipo: la gente aprendía tus estados de ánimo aunque tú no se los concedieras.
—¿Estás bien? —preguntó.
—Sí.
—Eso fue otra mentira de baja calidad.
—Estoy trabajando.
—Eso no responde.
—En esta empresa suele bastar.
Lila resopló.
—Vale. Priya va a pedir el resumen antes de las seis. Y, Daniel.
Ahora sí la miró.
—¿Qué?
—Si vas a mirar el móvil cada siete minutos, al menos baja el brillo. Tu angustia tiene pantalla Retina.
Daniel dejó la mano quieta sobre el ratón.
—Gracias por el feedback.
—Para eso está QA.
Se fue antes de que Daniel pudiera decidir si aquello contaba como cuidado o intrusión. Probablemente ambas. La gente decente hacía esas cosas: convertía los límites en zonas grises y luego pretendía que eran amables.
El móvil estaba boca abajo junto al teclado.
No lo había mirado cada siete minutos.
Cada nueve, quizá.
La última notificación era de Noah: una foto borrosa de un bajo, un escenario pequeño y el texto No-cita empieza en 40 minutos. Si muero de vergüenza, quémalo todo . Daniel había respondido con un pulgar hacia arriba, lo cual Noah consideraría violencia emocional.
Debajo, sin responder, estaba el último mensaje de Ryan.
No hoy no significa nunca.
Daniel lo había leído en la acera, después de que Ryan se marchara hacia la N con la cara cerrada y los hombros tensos. No había contestado. Cualquier respuesta habría sido demasiado. O demasiado poco. La frase había quedado ahí, abierta, razonable, madura de una forma que Daniel no merecía.
No hoy no significa nunca.
No era perdón. No era invitación. Era un límite con puerta, y eso lo hacía peor. Los límites sin puerta eran más fáciles. Uno podía estrellarse contra ellos y llamar integridad al dolor.
Daniel volvió al ticket.
Añadió pasos de reproducción. Adjuntó vídeo. Etiquetó a ingeniería. Marcó prioridad alta.
El personaje volvió a caer bajo el mapa en el clip.
Daniel observó el bucle.
Había algo casi tranquilizador en un error que podía reproducirse.
Una secuencia concreta, una transición mal gestionada, un fallo de colisión.
No era moral. No era familia. No era el mejor amigo de su hermano en su cama ni la boca de Ryan diciendo No me uses para sentirte menos culpable siendo honesto a medias .
No era Noah sonriendo en una mesa de Inner Sunset porque sus dos mundos, por una hora miserable, parecían compatibles.
Era pared. Farol. Lluvia. Correr. Caída.
Suficientemente limpio.
A las 17:26, cuando ya había abierto otro build, le llegó una notificación que no esperaba.
Noah no. Ryan no. Grace no.
Trevor.
No era un mensaje directo. Daniel no había bloqueado a Trevor porque bloquearlo habría admitido demasiado.
Había silenciado sus historias, restringido sus actualizaciones y entrenado al algoritmo durante meses para no mostrarle su cara.
El algoritmo, como todas las cosas diseñadas para maximizar daño, acababa de encontrar una ruta alternativa.
Trevor Kim tagged in a post.
Una foto de una cena de donantes en Nob Hill apareció en la vista previa.
Trevor con un abrigo claro, impecable, el pelo peinado hacia atrás, una mano apoyada en la cintura de Cole Martinez.
Cole sonreía menos, más quieto, traje desestructurado, barba entrecana, presencia cara sin volverse chillona.
Detrás, copas altas, flores blancas, una vista de la ciudad como si San Francisco no fuera también moho, Muni parado y gente calculando si podía pagar odontólogo.
Daniel no abrió la publicación.
La abrió.
El texto era de una fundación artística.
Nada personal. Nada cruel. Agradecimientos a patrocinadores, comunidad, futuro, visión.
Trevor aparecía en tres fotos más: saludando, riendo, inclinado hacia Cole con una intimidad pública medida al milímetro.
En una de ellas llevaba un reloj que Daniel reconoció.
No porque fuera suyo. Porque Trevor le había mostrado uno parecido en una vitrina de Union Square, hacía años, y había dicho: Algún día hay que dejar de parecer que estamos esperando permiso para entrar en nuestra propia vida.
Daniel había contestado algo sobre que un reloj no arreglaba la vida.
Trevor no se había reído.
Ese había sido uno de los primeros avisos, aunque Daniel tardara dos años en catalogarlo correctamente.
Cerró la aplicación.
La volvió a abrir.
El pie de foto de Trevor, desde su propia cuenta, era más breve.
Grateful for a life built with intention.
Intención.
Daniel dejó el móvil sobre la mesa con la pantalla hacia abajo.
El personaje del juego, congelado en el monitor, seguía medio hundido en una pared.
—Sutil —murmuró.
Nadie lo oyó.
Mejor.
A las seis y doce, envió el informe a Priya.
A las seis y dieciocho, cerró sesión. A las seis y veintisiete, estaba en la calle, con la chaqueta cerrada hasta la barbilla y una niebla fina pegándole las gafas de humedad a la gente que pasaba.
Podría haber tomado la 38 hacia Richmond.
Podría haber ido a casa, hacer arroz, contestar a Noah, quizá escribirle a Ryan una frase que no empeorara el mundo.
En cambio caminó hasta Market, entró en una cafetería demasiado cara donde nadie miraba a nadie porque todos fingían crear algo importante, pidió un americano que no quería y abrió el portátil personal.
No el del trabajo.
El personal.
El que no usaba en público salvo cuando cometía errores bien vestidos.
El dashboard tardó tres segundos en cargar. Daniel se molestó por el retraso y luego se despreció por molestarse. Tres segundos para ver una cantidad de dinero que podía comprar silencio, seguridad, opciones, distancia. Tres segundos era una ofensa ridícula.
La pantalla se llenó de columnas, gráficos, saldos, cuentas de inversión, fideicomisos, fondos.
Números que no parecían dinero si uno los miraba demasiado tiempo.
Parecían puntuación. Simulación. Una economía de videojuego mal balanceada.
Daniel había aprendido joven que el dinero real no sonaba como cajas registradoras; sonaba como un correo trimestral de un asesor, como una firma digital, como la tranquilidad indecente de saber que una emergencia era logística y no catástrofe.
Trevor nunca había visto esa pantalla.
Trevor había visto el apartamento de Richmond con la mesa antigua, la olla arrocera, la consola, las camisetas sin logo, el Honda usado que Daniel mantuvo demasiado tiempo porque funcionaba.
Había visto a Daniel volver de Fogline con ojeras y hablar de bugs de colisión mientras él hablaba de ascensos, cenas, contactos.
Había visto contención y la había leído como falta de ambición.
No fue eso lo que acabó el matrimonio.
Daniel era lo bastante adulto para no mentirse de una forma tan cómoda.
El matrimonio había muerto por desgaste, por silencios, por Trevor queriendo un tipo de vida y Daniel negándose a explicar por qué no quería exhibir la que podía permitirse.
Había muerto por orgullo de los dos. Por deseo mal cuidado.
Por años de pequeñas traducciones incorrectas.
Pero hubo una noche.
Siempre había una noche que la memoria elegía como evidencia.