InicioProyectosArtículosSobre mí
🇪🇸🇬🇧
▼
Tip

¿Qué es Clevergy Game? Es un videojuego completo multiplataforma (móvil, teclado y gamepad) desarrollado a medida para el equipo de Clevergy. Combina 4 experiencias de juego distintas (plataformas, Smash Bros, shooter en Three.js con estética de libreta a boli y carreras de motos de agua), persistencia serverless en Cloudflare D1, multijugador en tiempo real con Cloudflare Realtime TURN, y una integración física única mediante carnets impresos con códigos QR personalizados.

Clevergy Game - Pantalla principal y mundos

💡 La Experiencia Física: Carnets con QR para Entrar al Juego

El objetivo de Clevergy Game no era simplemente compartir una URL en Slack, sino crear un momento memorable y tangible durante el retreat de empresa.

  1. Carnets físicos personalizados: Cada integrante del equipo recibió un carnet físico de alta calidad impreso con su avatar, cargo y un código QR único.
  2. Acceso directo por QR: Al escanear el QR con la cámara del móvil, la ruta (/<nombre-personaje>) abría automáticamente el juego en el navegador con su propio personaje ya seleccionado y desbloqueado, listo para jugar sin menús ni registros obligatorios.
  3. Generador de identificadores: Se construyó una utilidad en /qr.html para generar los 18 carnets y códigos QR del equipo listos para imprimir.
Carnets físicos de Clevergy Game con QR en acción

Los carnets físicos personalizados y su vinculación directa con el juego


🗺️ Los 4 Mundos Jugables

El juego reúne cuatro experiencias completamente diferentes, accesibles desde el selector de mundos o cargadas bajo demanda en chunks optimizados:

1. Mundo 1 · La Oficina (Plataformas 2.5D)

Ambientado en el emblemático Google for Startups Campus Madrid (la fábrica neomudéjar de Moreno Nieto, con la Almudena y el Palacio Real de fondo).

  • Mecánicas de salto avanzadas: Salto de altura variable, coyote time, búfer de entrada, salto en pared, pisotón contra enemigos, bloques interrogante, plataformas atravesables y sillas que se hunden.
  • 18 Héroes con habilidades únicas: Cada miembro del equipo cuenta con su superpoder personalizado (ej. Alejandro con puñetazo y planeo; José Luis imprime plataformas 3D flotantes temporales; Paloma vuela manteniendo pulsado el salto; Silvia activa un dash con invulnerabilidad).
  • Jefe final: EMAIL CHAIN en el auditorio del Demo Day, lanzando ondas de choque y oleadas de correos.
Mundo 1: La Oficina - Plataformas 2.5D en Campus Madrid

Mundo 1: Plataformas en Google for Startups Campus Madrid

2. Mundo 2 · Coworking Fight (3D estilo Smash)

Hasta 4 luchadores combatiendo simultáneamente en la azotea del CINK Coworking, con las Cuatro Torres de Madrid en el horizonte.

  • Sistema de porcentaje de daño (Knockback): Sin barra de vida; los golpes aumentan el porcentaje acumulado. A mayor daño, más lejos sale despedido el rival al recibir un impacto hasta cruzar la zona de eliminación (3 vidas).
  • Movimientos: Combos direccionales, golpes fuertes laterales, ataques aéreos, súper salto de rescate (▲ + Especial) y escudo protector que se desgasta y rompe.
  • Objetos de oficina interactivos: Grapadoras y bombas de post-its arrojadizas, Boli Bic gigante con mayor pegada, café que reduce el daño acumulado en un -25% y modo Focus de invencibilidad temporal.
  • Partidas contra CPU o multijugador online de hasta 4 jugadores simultáneos.
Mundo 2: Coworking Fight - Lucha 3D en la azotea

Mundo 2: Smash Bros en la azotea del coworking contra CPU o amigos

3. Mundo 3 · BoliBic Tag (Shooter 3D con Estética Libreta)

Laser tag en primera o tercera persona (renderizando al personaje como pegatina animada) por una recreación a escala del edificio de CINK Coworking en Infanta Mercedes (recepción de Victoria, oficinas de Clevergy, comedor y terraza).

  • Look de libreta a bolígrafo: Render en dos pasadas con Three.js mediante shaders custom (doodleRender.js): detecta iluminación y profundidad en un render target y dibuja trazos de boli BIC (azul, rojo, negro, verde) y texturas de papel rayado ancladas al espacio 3D.
  • Oleadas y Boss: Supera 5 rondas de emails, peticiones de calendario y "tienes 5 minutos" hasta derrotar al jefe INBOX INFINITO.
  • Multijugador en tiempo real: Salas de hasta 6 jugadores mediante códigos de 5 letras con modos Cooperativo (todos contra las oleadas) o Todos contra Todos (deathmatch a 10 bajas).
Mundo 3: BoliBic Tag - Shooter a boli Three.js

Mundo 3: Three.js con shaders custom estilo libreta de boli BIC

4. Mundo 4 · Pantano de San Juan (Carreras 3D de Motos de Agua)

Circuito acuático estilo Mario Kart en el Pantano de San Juan de Madrid: presa, embarcaderos, boyas y pinares.

  • Física de conducción y derrape: Aceleración automática, saltos con miniturbo tras derrape por niveles (chispas azules a naranjas) y velocidad sobre el oleaje.
  • Objetos de oficina: Café turbo, email teledirigido al rival más cercano, reunión bloqueante, mancha de tinta cegadora y estrella Focus.
  • Hasta 6 jugadores en simultáneo compitiendo por la vuelta rápida contra amigos o bots inteligentes.
Mundo 4: Pantano de San Juan - Carreras de motos de agua

Mundo 4: Carreras náuticas y derrapes con físicas arcade


🕹️ Sistema de Controles Adaptativo

Diseñado para funcionar al 100% en cualquier dispositivo sin necesidad de descargas ni tiendas de apps:

DispositivoModoEsquema de Control
Móvil (Horizontal)Pantalla anchaJoystick virtual flotante adaptativo a la izquierda + abanico de botones de libreta a la derecha.
Móvil (Vertical)Clásico RetroDeck virtual estilo Game Boy (deckNav.js) con cruceta D-Pad táctil, botón A y botón B.
PC / PortátilTeclado & RatónWASD / Flechas para mover, Espacio saltar, J ataque, K poder especial, M música.
Mando de ConsolaGamepad APIDetección nativa de mandos de PlayStation, Xbox y Switch compatibles por Bluetooth/USB.

🛠️ Arquitectura Técnica y Stack

Todo el proyecto fue concebido para ser extremadamente rápido, ligero y autosuficiente sobre la infraestructura edge de Cloudflare:

clevergy-game/
├── index.html              # Portada, selección de mundos, ranking y Game Boy deck
├── functions/api/          # Cloudflare Pages Functions (D1 Leaderboard, Auth, TURN)
│   ├── auth/google.js      # Verificación serverless de tokens JWT de Google
│   ├── leaderboard.js      # Puntuaciones, tiempos y récords por mundo en D1
│   └── turn-credentials.js # Generación de credenciales Cloudflare Realtime TURN
├── schema.sql              # Definición de tablas SQLite en Cloudflare D1
├── src/
│   ├── main.js             # Enrutador, precarga condicional de chunks Three.js
│   ├── config/             # Estadísticas de los 18 personajes y configuración de mundos
│   └── doodle/             # Motor 3D a boli, shaders GLSL, WebRTC (doodleNet.js)

1. Desarrollo con Claude Opus 5.5 y Antigravity

El juego fue programado iterativamente utilizando Claude Opus 5.5 y el entorno agéntico de Antigravity. Desde el primer prototipo en un archivo HTML monolítico hasta la modularización completa del motor gráfico en Three.js con shaders custom, el refactor de físicas 2.5D y la integración del multijugador WebRTC.

2. Base de Datos Serverless con Cloudflare D1

Se implementó un esquema relacional ligero en Cloudflare D1 (clevergy-game-db) sin costes fijos de servidor:

  • leaderboard: Guarda las marcas de cada jugador (tiempo, score, bajas, muertes, personaje utilizado y mundo) indexadas para consultas instantáneas de ranking global.
  • users: Gestiona el perfil del usuario, progreso desbloqueado y vinculación de cuenta mediante Google OAuth.

3. Multijugador P2P y Cloudflare Realtime TURN

Para que el multijugador cooperativo y competitivo funcionara a la perfección entre teléfonos móviles en diferentes redes WiFi o datos 4G/5G, se resolvió el reto de las NATs estrictas:

  • WebRTC + PeerJS: Comunicación directa de baja latencia entre el anfitrión y los clientes (doodleNet.js).
  • Cloudflare Realtime TURN: La función /api/turn-credentials se conecta a la API de Cloudflare Calls (rtc.live.cloudflare.com) para expedir credenciales efímeras seguras válidas por 24 horas. Esto permite rutear paquetes de juego por la red Anycast global de Cloudflare cuando la conexión directa P2P está bloqueada por firewalls o redes móviles.

4. Autenticación con Google

Inicio de sesión opcional con Google Identity Services. La Cloudflare Function valida criptográficamente la firma del ID Token contra los servidores de Google, garantizando que los récords del leaderboard pertenezcan al usuario verificado.


📹 Gameplay en Vídeo

Demostración en vídeo del juego, físicas y selección de personajes


🚀 Enlaces del Proyecto

  • 🌐 Web en Producción: clevergy-game.pages.dev
  • 📖 Artículo de la Historia: ¿Cómo creé Clevergy Game?
Mis zapatillas de correr

Estas son mis zapatillas de correr. Y como esto es el footer... tenían que estar a tus pies. ¿A que están de locos? ⚡️👟

Explorar

  • Inicio
  • Proyectos
  • Artículos
  • Sobre mí
  • CV Interactivo

Creaciones

  • porfolio.recetaspati.com↗
  • recetaspati.com↗
  • Sitemap XML

Stack & Craft

  • ⚡Next.js 15 & React 19
  • 🎨Tailwind CSS
  • 🤖Cursor & Claude Code
  • ☁️Cloudflare Pages
  • 100% Indie & Craft 🛠️

© 2026 Alejandro Ramírez.Hecho con ☕, 🥐 y mucho código.

Ningún píxel fue dañado en la creación de este blog.
InicioProyectosArtículosSobre mí
🎮Producto
·🗓️2026-10-07·🕒~6 min de lectura

Clevergy Game: El Videojuego del Equipo con 4 Mundos, Cloudflare y Carnets Físicos

Un videojuego 3D/2.5D personalizado para el equipo de Clevergy: 4 mundos jugables, multijugador P2P con Cloudflare TURN, base de datos D1 y carnets físicos con QR.

#Proyectos#Clevergy#Videojuegos#Cloudflare#Three.js#IA#WebRTC
Clevergy Game: El Videojuego del Equipo con 4 Mundos, Cloudflare y Carnets Físicos
Tip

¿Qué es Clevergy Game? Es un videojuego completo multiplataforma (móvil, teclado y gamepad) desarrollado a medida para el equipo de Clevergy. Combina 4 experiencias de juego distintas (plataformas, Smash Bros, shooter en Three.js con estética de libreta a boli y carreras de motos de agua), persistencia serverless en Cloudflare D1, multijugador en tiempo real con Cloudflare Realtime TURN, y una integración física única mediante carnets impresos con códigos QR personalizados.

Clevergy Game - Pantalla principal y mundos

💡 La Experiencia Física: Carnets con QR para Entrar al Juego

El objetivo de Clevergy Game no era simplemente compartir una URL en Slack, sino crear un momento memorable y tangible durante el retreat de empresa.

  1. Carnets físicos personalizados: Cada integrante del equipo recibió un carnet físico de alta calidad impreso con su avatar, cargo y un código QR único.
  2. Acceso directo por QR: Al escanear el QR con la cámara del móvil, la ruta (/<nombre-personaje>) abría automáticamente el juego en el navegador con su propio personaje ya seleccionado y desbloqueado, listo para jugar sin menús ni registros obligatorios.
  3. Generador de identificadores: Se construyó una utilidad en /qr.html para generar los 18 carnets y códigos QR del equipo listos para imprimir.
Carnets físicos de Clevergy Game con QR en acción

Los carnets físicos personalizados y su vinculación directa con el juego


🗺️ Los 4 Mundos Jugables

El juego reúne cuatro experiencias completamente diferentes, accesibles desde el selector de mundos o cargadas bajo demanda en chunks optimizados:

1. Mundo 1 · La Oficina (Plataformas 2.5D)

Ambientado en el emblemático Google for Startups Campus Madrid (la fábrica neomudéjar de Moreno Nieto, con la Almudena y el Palacio Real de fondo).

  • Mecánicas de salto avanzadas: Salto de altura variable, coyote time, búfer de entrada, salto en pared, pisotón contra enemigos, bloques interrogante, plataformas atravesables y sillas que se hunden.
  • 18 Héroes con habilidades únicas: Cada miembro del equipo cuenta con su superpoder personalizado (ej. Alejandro con puñetazo y planeo; José Luis imprime plataformas 3D flotantes temporales; Paloma vuela manteniendo pulsado el salto; Silvia activa un dash con invulnerabilidad).
  • Jefe final: EMAIL CHAIN en el auditorio del Demo Day, lanzando ondas de choque y oleadas de correos.
Mundo 1: La Oficina - Plataformas 2.5D en Campus Madrid

Mundo 1: Plataformas en Google for Startups Campus Madrid

2. Mundo 2 · Coworking Fight (3D estilo Smash)

Hasta 4 luchadores combatiendo simultáneamente en la azotea del CINK Coworking, con las Cuatro Torres de Madrid en el horizonte.

  • Sistema de porcentaje de daño (Knockback): Sin barra de vida; los golpes aumentan el porcentaje acumulado. A mayor daño, más lejos sale despedido el rival al recibir un impacto hasta cruzar la zona de eliminación (3 vidas).
  • Movimientos: Combos direccionales, golpes fuertes laterales, ataques aéreos, súper salto de rescate (▲ + Especial) y escudo protector que se desgasta y rompe.
  • Objetos de oficina interactivos: Grapadoras y bombas de post-its arrojadizas, Boli Bic gigante con mayor pegada, café que reduce el daño acumulado en un -25% y modo Focus de invencibilidad temporal.
  • Partidas contra CPU o multijugador online de hasta 4 jugadores simultáneos.
Mundo 2: Coworking Fight - Lucha 3D en la azotea

Mundo 2: Smash Bros en la azotea del coworking contra CPU o amigos

3. Mundo 3 · BoliBic Tag (Shooter 3D con Estética Libreta)

Laser tag en primera o tercera persona (renderizando al personaje como pegatina animada) por una recreación a escala del edificio de CINK Coworking en Infanta Mercedes (recepción de Victoria, oficinas de Clevergy, comedor y terraza).

  • Look de libreta a bolígrafo: Render en dos pasadas con Three.js mediante shaders custom (doodleRender.js): detecta iluminación y profundidad en un render target y dibuja trazos de boli BIC (azul, rojo, negro, verde) y texturas de papel rayado ancladas al espacio 3D.
  • Oleadas y Boss: Supera 5 rondas de emails, peticiones de calendario y "tienes 5 minutos" hasta derrotar al jefe INBOX INFINITO.
  • Multijugador en tiempo real: Salas de hasta 6 jugadores mediante códigos de 5 letras con modos Cooperativo (todos contra las oleadas) o Todos contra Todos (deathmatch a 10 bajas).
Mundo 3: BoliBic Tag - Shooter a boli Three.js

Mundo 3: Three.js con shaders custom estilo libreta de boli BIC

4. Mundo 4 · Pantano de San Juan (Carreras 3D de Motos de Agua)

Circuito acuático estilo Mario Kart en el Pantano de San Juan de Madrid: presa, embarcaderos, boyas y pinares.

  • Física de conducción y derrape: Aceleración automática, saltos con miniturbo tras derrape por niveles (chispas azules a naranjas) y velocidad sobre el oleaje.
  • Objetos de oficina: Café turbo, email teledirigido al rival más cercano, reunión bloqueante, mancha de tinta cegadora y estrella Focus.
  • Hasta 6 jugadores en simultáneo compitiendo por la vuelta rápida contra amigos o bots inteligentes.
Mundo 4: Pantano de San Juan - Carreras de motos de agua

Mundo 4: Carreras náuticas y derrapes con físicas arcade


🕹️ Sistema de Controles Adaptativo

Diseñado para funcionar al 100% en cualquier dispositivo sin necesidad de descargas ni tiendas de apps:

DispositivoModoEsquema de Control
Móvil (Horizontal)Pantalla anchaJoystick virtual flotante adaptativo a la izquierda + abanico de botones de libreta a la derecha.
Móvil (Vertical)Clásico RetroDeck virtual estilo Game Boy (deckNav.js) con cruceta D-Pad táctil, botón A y botón B.
PC / PortátilTeclado & RatónWASD / Flechas para mover, Espacio saltar, J ataque, K poder especial, M música.
Mando de ConsolaGamepad APIDetección nativa de mandos de PlayStation, Xbox y Switch compatibles por Bluetooth/USB.

🛠️ Arquitectura Técnica y Stack

Todo el proyecto fue concebido para ser extremadamente rápido, ligero y autosuficiente sobre la infraestructura edge de Cloudflare:

clevergy-game/
├── index.html              # Portada, selección de mundos, ranking y Game Boy deck
├── functions/api/          # Cloudflare Pages Functions (D1 Leaderboard, Auth, TURN)
│   ├── auth/google.js      # Verificación serverless de tokens JWT de Google
│   ├── leaderboard.js      # Puntuaciones, tiempos y récords por mundo en D1
│   └── turn-credentials.js # Generación de credenciales Cloudflare Realtime TURN
├── schema.sql              # Definición de tablas SQLite en Cloudflare D1
├── src/
│   ├── main.js             # Enrutador, precarga condicional de chunks Three.js
│   ├── config/             # Estadísticas de los 18 personajes y configuración de mundos
│   └── doodle/             # Motor 3D a boli, shaders GLSL, WebRTC (doodleNet.js)

1. Desarrollo con Claude Opus 5.5 y Antigravity

El juego fue programado iterativamente utilizando Claude Opus 5.5 y el entorno agéntico de Antigravity. Desde el primer prototipo en un archivo HTML monolítico hasta la modularización completa del motor gráfico en Three.js con shaders custom, el refactor de físicas 2.5D y la integración del multijugador WebRTC.

2. Base de Datos Serverless con Cloudflare D1

Se implementó un esquema relacional ligero en Cloudflare D1 (clevergy-game-db) sin costes fijos de servidor:

  • leaderboard: Guarda las marcas de cada jugador (tiempo, score, bajas, muertes, personaje utilizado y mundo) indexadas para consultas instantáneas de ranking global.
  • users: Gestiona el perfil del usuario, progreso desbloqueado y vinculación de cuenta mediante Google OAuth.

3. Multijugador P2P y Cloudflare Realtime TURN

Para que el multijugador cooperativo y competitivo funcionara a la perfección entre teléfonos móviles en diferentes redes WiFi o datos 4G/5G, se resolvió el reto de las NATs estrictas:

  • WebRTC + PeerJS: Comunicación directa de baja latencia entre el anfitrión y los clientes (doodleNet.js).
  • Cloudflare Realtime TURN: La función /api/turn-credentials se conecta a la API de Cloudflare Calls (rtc.live.cloudflare.com) para expedir credenciales efímeras seguras válidas por 24 horas. Esto permite rutear paquetes de juego por la red Anycast global de Cloudflare cuando la conexión directa P2P está bloqueada por firewalls o redes móviles.

4. Autenticación con Google

Inicio de sesión opcional con Google Identity Services. La Cloudflare Function valida criptográficamente la firma del ID Token contra los servidores de Google, garantizando que los récords del leaderboard pertenezcan al usuario verificado.


📹 Gameplay en Vídeo

Demostración en vídeo del juego, físicas y selección de personajes


🚀 Enlaces del Proyecto

  • 🌐 Web en Producción: clevergy-game.pages.dev
  • 📖 Artículo de la Historia: ¿Cómo creé Clevergy Game?

En esta página

  1. 💡 La Experiencia Física: Carnets con QR para Entrar al Juego
  2. 🗺️ Los 4 Mundos Jugables
  3. 1. Mundo 1 · La Oficina (Plataformas 2.5D)
  4. 2. Mundo 2 · Coworking Fight (3D estilo Smash)
  5. 3. Mundo 3 · BoliBic Tag (Shooter 3D con Estética Libreta)
  6. 4. Mundo 4 · Pantano de San Juan (Carreras 3D de Motos de Agua)
  7. 🕹️ Sistema de Controles Adaptativo
  8. 🛠️ Arquitectura Técnica y Stack
  9. 1. Desarrollo con Claude Opus 5.5 y Antigravity
  10. 2. Base de Datos Serverless con Cloudflare D1
  11. 3. Multijugador P2P y Cloudflare Realtime TURN
  12. 4. Autenticación con Google
  13. 📹 Gameplay en Vídeo
  14. 🚀 Enlaces del Proyecto
← Volver a proyectos