Salón de la fama: Conectando el neón al mundo real con Supabase

Por Curro Portillo Guerrero | 2 de Abril de 2026

Database Code

Jugar para superarte a ti mismo mola y pica mucho, pero seamos honestos: la raza humana es competitiva por naturaleza. En cuanto tuve la mecánica de supervivencia pulida y mis amigos empezaron a jugarlo, la pregunta que no paraba de sonar en las conversaciones del recreo era: "Oye Curro, ¿cuánto es tu récord de tiempo aguantado?"

Tener que responder por WhatsApp no era nada profesional. Así que me propuse un reto enorme a nivel técnico para mí: saltar del cómodo HTML/JS de cliente e implementar un Leaderboard Global real conectado a una base de datos en la nube.

De bases de datos locales al poder moderno

En clase de Bases de Datos en Antequera habíamos visto MySQL y cosas por el estilo, pero para un proyecto web estático desplegado en Vercel o itch.io, yo necesitaba algo tipo "BaaS" (Backend as a Service). Es ahí cuando descubrí Supabase. Para los que no lo conozcan, es básicamente una alternativa libre al famoso Firebase, basada en la robusta PostgreSQL pero con una API RESTful que puedes consultar directo desde JavaScript. Una locura de herramienta.

Protegiendo el Salón de la Fama

Programar el POST de los datos (tu nombre, tu tiempo sobrevivido y los enemigos aniquilados) fue la parte fácil. La pesadilla real empezó cuando se me ocurrió que un jugador espabilado podría simplemente abrir la consola integrada de su navegador, manipular la variable `score` antes de morir y enviar "9.999.999" puntos destrozando mi hermoso leaderboard en el acto.

Esta preocupación por la seguridad me hizo pensar fuera de la caja. Acabé implementando un sistema de cifrado muy básico y comprobaciones lógicas donde el servidor (en este caso validadores de RLS en Supabase) descarta récords inhumanamente imposibles según el tiempo delta de la partida real enviada junto con los puntos.

Todo el mundo en mi pantalla

El día que hice Git Push y probamos la integración fue muy loco. Estar sentado en mi escritorio, jugar una partida, actualizar el tablero e inmediatamente ver cómo un jugador con el nick "Kira45" desde la otra punta de España desplazaba mi récord de primer puesto en tiempo real es una sensación indudablemente satisfactoria. Me demostró que NeoNBrawL no era solo un bloque de código aislado en mi portátil, sino una pequeña comunidad conectada a través de un servidor. Ahora sí... ¡el reto es global!

← Volver a la Bitácora