01La apuesta
Pokémon GO probó que la gente camina por un juego. Minecraft probó que la gente construye para siempre. Nadie ha juntado las dos cosas y sobrevivido: Minecraft Earth se lanzó en octubre de 2019, superó 1,4 millones de descargas en su primera semana y cerró el 30 de junio de 2021. CornerBoyz existe si y solo si resuelve lo que ese cierre dejó abierto.
Qué es
Una app móvil de mundo persistente. Al abrirla, el juego genera el terreno voxelizado de donde estás — elevación real, agua real, edificios reales, bioma según la cobertura del suelo real — y lo presenta en dos modos: un mapa isométrico de bloques (el modo por defecto, barato en batería) y un modo cámara que ancla ese mundo sobre lo que ves. El jugador recolecta recursos caminando, gana tokens a diario, compra parcelas ligadas a coordenadas reales y construye sobre ellas.
Los tres pilares
- El mundo ya está ahí. No es un mapa temático encima de la ciudad: es la ciudad, traducida a bloques, con la misma altura de cerro y la misma curva de río. Ese es el gancho de la primera sesión y no lo tiene nadie.
- Lo que construyes se queda. La construcción persistente y visible por otros es lo que convierte una novedad en un hábito. Minecraft Earth no tenía esto: las buildplates eran privadas y portátiles, así que el mundo real nunca cambiaba.
- La tierra es escasa y es tuya. La propiedad real de parcelas — con registro en cadena — le da a la exploración un objetivo económico y no solo coleccionista.
Qué NO es
- No es una app que "escanea tu casa y la convierte en Minecraft". La cámara del teléfono no puede reconstruir tu barrio en tiempo real; el mundo viene de datos geoespaciales y la cámara solo lo ancla. Distinguir esto desde el día uno evita prometer lo imposible.
- No es play-to-earn. La tesis económica es "poseer y construir", no "rendir". Ver §09.
- No es multijugador en tiempo real con física compartida. Es un mundo compartido con edición asíncrona y autoritativa en servidor.
- Sesión objetivo
- 6–10minutos, 2–3 veces al día. La AR es un pico de 30–90 s dentro de eso, no el bucle.
- Bloque
- 1 m³Escala 1:1 con el mundo. Un jugador de 1,8 m mide ~2 bloques, como en Minecraft.
- Parcela base
- 307 m²Celda H3 de resolución 12. Del tamaño de un lote urbano típico.
- Coste de acuñar
- ~US$0,001Por parcela, con NFT comprimidos en Solana a escala de millón.
02Los doce huecos: lo que falta en el concepto
Pediste que revise qué falta. Esto es la respuesta corta, ordenada por cuánto puede matar el proyecto. Cada uno se desarrolla en su sección.
| # | Hueco | Por qué importa | Sección | Gravedad |
|---|---|---|---|---|
| 1 | Sin app no hay atestación de dispositivo, y la tierra vale dinero | Es el nuevo hueco número uno, y lo crea la decisión de ir por web. En un navegador no existe Play Integrity ni App Attest: falsear la ubicación es una línea de JavaScript. Con parcelas compradas con dinero real, eso es una puerta abierta. | §11 | Mortal |
| 1b | Las reglas de tienda sobre NFT que desbloquean funcionalidad | Era el bloqueante original. Resuelto: sin app no hay tienda, no hay revisión y no hay comisión. El diseño de "compro tierra en cadena y construyo ahí" sobrevive intacto. Es el mayor beneficio de la decisión web. | §10 | Resuelto |
| 2 | Licencia ODbL de los datos de edificios | OpenStreetMap y Overture son ODbL, con obligación de compartir la base derivada. Tu mundo voxelizado es una base derivada. Nadie lo piensa hasta la due diligence. | §05 | Mortal |
| 3 | No hay bucle de retención después del día 3 | "Descubrir mundos" es novedad, no retención. Falta el motivo para volver el martes: cultivos, decadencia, vecinos, temporadas, encargos. | §03 | Mortal |
| 4 | Token diario + token vendible = espiral de muerte | Es el mecanismo exacto que hundió a Axie y a StepN. Un grifo diario sin sumideros mayores garantiza inflación y salida de jugadores. | §09 | Mortal |
| 5 | Moderación de construcciones en espacio público real | Bloques sobre la casa de alguien, sobre un colegio, formando insultos o símbolos. Sin sistema de moderación no hay tienda de apps que lo apruebe. | §08 | Mortal |
| 6 | El anclaje geoespacial preciso no existe en la web | La API geoespacial de ARCore y su VPS no están expuestas a WebXR. En el navegador el mundo se alinea con GPS y brújula: ±5 a 20 m y con deriva. Los bloques no van a coincidir con las fachadas reales. | §07 | Alta |
| 7 | Zonas de exclusión y derecho a exclusión del propietario | Los pleitos contra Pokémon GO fueron por gente convocada a propiedad privada. Vender la propiedad virtual de un domicilio real amplifica ese riesgo. | §08 | Alta |
| 8 | Qué se ve en la cámara y qué no | "La cámara lee el ambiente" hay que traducirlo a capacidades concretas. En web queda: detección de planos, prueba de golpeo, profundidad en Chrome Android. No queda: VPS, geometría de fachadas, oclusión con edificios reales. | §07 | Alta |
| 9 | Cuánta gente hay en tu manzana | Un juego de vecinos con densidad cero es un juego solitario. Falta el diseño para el jugador rural y para la ciudad saturada. | §11 | Alta |
| 10 | Batería, datos y calor | Cámara + GPS + render de voxels es el peor caso térmico de un teléfono. Define el largo de sesión antes que el diseño. | §07 | Alta |
| 11 | MiCA y clasificación del token | MiCA aplica en la UE desde el 30/12/2024. Un token vendible emitido por una empresa necesita análisis legal, no una decisión de producto. | §09 | Alta |
| 12 | Hexágonos no encajan con cubos | Detalle de ingeniería que suele descubrirse tarde: la grilla de propiedad y la grilla de bloques no pueden ser la misma. Hay que separarlas por diseño. | §06 | Media |
03Fantasía del jugador y bucle de juego
La frase que el jugador le dice a un amigo
"Mi barrio existe dentro del juego. Ese cerro es ese cerro. Y la esquina donde está el kiosco ahora es mi fortaleza."
Todo lo que no sirva a esa frase es candidato a recortarse.
Bucle por escalas de tiempo
| Escala | Qué hace el jugador | Qué obtiene | Qué lo trae de vuelta |
|---|---|---|---|
| Sesión (6–10 min) | Abre, ve el mundo generado, recoge nodos de recursos cercanos, coloca bloques en su parcela, revisa vecinos | Recursos, XP, progreso de una obra | Notificación de nodo raro o de obra terminada |
| Día | Reclama la asignación diaria de tokens, completa 3 encargos, camina una ruta nueva | CANDY blando + progreso de racha | Grifo diario y racha; el ciclo día/noche real cambia qué aparece |
| Semana | Termina una estructura, sube de nivel un oficio, participa en un objetivo de barrio | Recetas, plano nuevo, reputación de zona | Objetivo colectivo con fecha límite y recompensa de zona |
| Temporada (8–10 sem) | Compite por territorio, exporta una construcción destacada, migra a una zona nueva | Cosméticos, ranking, subasta de parcelas | Reinicio parcial de ranking, biomas de temporada, eventos meteorológicos reales |
Falta la razón para volver el martes
"Descubrir y generar mundos" es un gancho de instalación, no de retención: una vez generado, tu barrio ya está descubierto. Necesitás al menos dos de estos motores de retorno, elegidos explícitamente:
- Producción con tiempo — la parcela produce recursos que hay que recoger antes de que se llenen (modelo farm, probado y adictivo, pero mecánico).
- Decadencia — las estructuras se erosionan si nadie visita físicamente la parcela. Poderoso y peligroso: castiga al jugador que se va de vacaciones.
- Vecindad — otros jugadores dejan huella en tu zona; volvés a ver qué pasó. Es el motor más sano y el más difícil de arrancar (requiere densidad).
- Encargos geográficos — pedidos que exigen ir a un tipo de lugar real (una altura de +40 m, un cruce de agua, un bioma distinto). Aprovecha lo único que este juego tiene.
Recomendación: encargos geográficos + vecindad, con producción por tiempo suave y sin decadencia destructiva (solo cosmética: musgo, óxido, polvo).
Qué añade CornerBoyz sobre Minecraft, concretamente
Pediste "similar a Minecraft pero con más funciones". El "más" tiene que venir de lo que solo el mundo real permite, no de más bloques:
- Recursos con geología real — la cobertura del suelo y la elevación determinan qué se mina donde: arcilla junto a los ríos, piedra en pendiente, madera según el tipo de vegetación real.
- Clima real como mecánica — lluvia real hace crecer cultivos; el viento real mueve molinos; la noche real trae criaturas. Se enchufa a una API meteorológica por celda.
- Altitud como progresión — construir por encima de tu altura de terreno cuesta más; las cumbres son objetivos.
- Oficios sociales — el Cartógrafo revela celdas para otros, el Comerciante mueve recursos entre zonas, el Guardián protege parcelas ajenas. Roles que solo tienen sentido con geografía compartida.
- Rutas — caminos construidos entre parcelas que dan bonificación de movimiento a todos. Infraestructura colectiva.
Salir del barrio: el aeropuerto
Un juego de ubicación tiene un problema estructural: tu mundo es el radio que caminás, y ese radio es chico. Si el juego se queda ahí, se agota; si permite teletransporte libre, nadie camina más y el bucle central muere. Es el error exacto que hay que no cometer.
La solución del prototipo: separar los permisos, no los mundos. El viaje existe, cuesta y tiene una puerta física.
| Modo | Cómo | Qué habilita | Costo |
|---|---|---|---|
| A pie | GPS real | Todo: reclamar tierra nueva, romper, construir, extraer, obras | gratis |
| Volar | caminar hasta el aeropuerto y pagar el pasaje | Mirar, hablar, comerciar y construir en la tierra que ya tenés o alquilás ahí | según km |
Los cuatro elementos que hacen que funcione, y ninguno es opcional:
- El aeropuerto es un lugar del mundo, con pista y torre de control. Hay que caminar hasta ahí. No se viaja desde un menú, y eso mantiene el caminar dentro del bucle incluso cuando lo que querés es irte.
- El pasaje se paga por distancia real — haversine sobre las coordenadas de los dos lugares. Cruzar el país cuesta el doble que ir al pueblo de al lado. Viajar es una decisión económica, y el CANDY del pasaje se destruye: es un sumidero que crece con la movilidad de la población (§09).
- El mapa de calor es el motor de descubrimiento. Cada barrio aparece en su posición geográfica real, con la gente que está jugando ahí ahora y las parcelas ya tomadas. Es lo que convierte "hay más mundo" en "quiero ir ahí": la información sobre dónde está la actividad es la que genera el viaje.
- Los recursos y el reclamo de tierra nueva quedan atados al GPS real. Esta es la regla que sostiene todo lo demás. Si volar sirviera para farmear, el juego se convierte en un simulador de menús.
Frenos que evitan que el viaje degenere: enfriamiento entre vuelos, pasaje a mitad de precio para volver a tu barrio de origen (nadie tiene que quedar varado lejos de su casa por falta de saldo), e impuesto global — se cobra de todas tus parcelas en cualquier barrio, así que irte no libera de lo que compraste, mientras el rendimiento sigue pagando solo lo que visitás.
En el prototipo cada barrio es su propia grilla con su semilla. En el producto tiene que ser un solo mundo indexado por celdas H3, donde "tu barrio" son simplemente las celdas cerca de tu GPS y los lugares del prototipo pasan a ser regiones del mismo mundo (§06).
04Nacer: identidad y creación de personaje
Pediste que el usuario "nazca" y elija datos básicos de quién es. Vale la pena tratarlo como un momento con peso narrativo, porque es también el momento donde se fija el dato más importante del jugador: su coordenada de origen.
El flujo de nacimiento
- Paso 01DespertarPantalla negra, la voz del mundo, permiso de ubicación. La primera imagen es tu propia calle en bloques.
- Paso 02OrigenLa celda donde abrís la app por primera vez queda como Hogar. Permanente, con una mudanza gratis al año.
- Paso 03Quién sosNombre, avatar de bloques modular, y linaje generado desde tu semilla.
- Paso 04OficioUno de cinco. Reversible con coste. Define el árbol de recetas inicial.
- Paso 05Primera obraEl juego te da 64 bloques y te pide plantar una baliza. Tu parcela de origen es gratis.
Los datos que elige el jugador
| Campo | Opciones | Efecto mecánico | Mutable |
|---|---|---|---|
| Nombre | Texto único, filtrado | Identidad social; visible en tus construcciones | 1× cada 90 días |
| Avatar | Cuerpo de bloques modular: cabeza, torso, brazos, piernas, 4 capas de textura | Ninguno. Cosmético puro y monetizable | Siempre |
| Oficio | Constructor · Cartógrafo · Minero · Comerciante · Guardián | Árbol de recetas, velocidad de recolección, capacidad de inventario | Con coste, 1× por temporada |
| Rasgos | 2 de 8 (Madrugador, Trotador, Ojo de halcón, Manos firmes…) | Modificadores pequeños: ±10 %, radio de interacción, tiempo de crafteo | Reasignables al subir de nivel |
| Origen | Determinado por el GPS del primer arranque, no elegible | Bioma inicial, recursos disponibles, vecinos | 1 mudanza/año |
| Linaje | Generado: hash(origen · id_cuenta) | Semilla de variación cosmética y de una reliquia inicial única | Nunca |
¿El origen es el GPS o se elige?
Anclar el origen al GPS real es más potente narrativamente y frena las cuentas múltiples. Pero castiga a quien instala el juego en el aeropuerto, en casa de su madre o de viaje. Propuesta: el origen se fija en la celda donde el jugador acumula más tiempo de juego durante sus primeros 7 días, no en el primer arranque. Se le muestra la elección al final de la primera semana.
Menores de edad y datos de "quién sos"
Este juego combina ubicación precisa, cámara y una economía con dinero real. Eso lo pone de lleno bajo COPPA (EE. UU.), el RGPD (UE, edad de consentimiento entre 13 y 16 según país) y códigos de diseño apropiado por edad. Hay que decidir ahora: ¿+18 obligatorio para la parte on-chain, con un modo menor sin cadena y sin ubicación compartida? Casi seguro sí. Impacta el registro, la verificación de edad y el diseño social entero.
05Generar el mundo con la geografía correcta
Esta es la parte técnicamente más difícil y la que define el producto. La regla: el mundo se genera de forma determinista en el servidor a partir de datos geoespaciales, se cachea como chunks de voxels y se sirve al cliente. Nunca se genera en el cliente, porque dos jugadores en la misma esquina deben ver exactamente lo mismo.
Tubería de generación
- FuenteDatos crudosDEM global, huellas de edificios, cobertura del suelo, agua y vías. Todo en almacenamiento propio, no en API de terceros por petición.
- PreprocesoNormalizarDEM a COG remuestreado, huellas y vías a GeoParquet, cobertura a un ráster de clase de bioma. Trabajo por lotes, offline.
- VoxelizarChunk builderPor cada chunk pedido: muestrea altura, aplica bioma, extruye edificios, corta agua y caminos. Salida comprimida.
- SembrarDetalle proceduralÁrboles, minerales, cuevas y estructuras con ruido sembrado por
hash(versión · id_chunk). Reproducible bit a bit. - ServirCaché + deltaEl cliente pide el chunk base (cacheado en CDN) y por separado el delta de ediciones de jugadores. Se fusionan en el dispositivo.
Fuentes de datos: lo verificado
| Capa | Fuente recomendada | Resolución | Licencia | Nota |
|---|---|---|---|---|
| Elevación | Copernicus DEM GLO-30 | 30 m | Libre | Modelo de superficie de TanDEM-X (2011–2015). Exactitud vertical absoluta <4 m (LE90), relativa <2 m en pendientes ≤20 %. Cobertura global, ~149 M km². |
| Elevación fina | 3DEP (EE. UU.), IGN/INEGI y equivalentes nacionales | 1–5 m | Libre | Opcional por país. Mejora enormemente el terreno urbano donde existe. |
| Edificios | Overture Maps · tema buildings | 2 500 M | ODbL | Combina OSM, Esri Community Maps, catastros nacionales y ML de Microsoft y Google Open Buildings. Trae altura; excluye alturas ≥900 m. Actualización mensual. |
| Edificios sin ODbL | Google Open Buildings + Microsoft Building Footprints | — | CC BY / ODC-BY | Vía alternativa para evitar el share-alike. Menos completa en Europa, muy buena en el sur global. Verificar términos vigentes antes de comprometerse. |
| Bioma | ESA WorldCover | 10 m | CC BY 4.0 | 11 clases de cobertura → mapeo directo a paleta de bloques y a tabla de recursos. |
| Agua y vías | Overture base + transportation | — | ODbL | Ríos, costas, lagos, red viaria. Imprescindible para caminabilidad y para no poner bloques en la calzada. |
El ODbL contamina el mundo entero
La ODbL es una licencia con obligación de compartir por igual: si publicás una base de datos derivada, tenés que publicarla bajo ODbL. Un mundo de voxels generado a partir de huellas de Overture y OSM es, con casi total seguridad, una base derivada. Eso no impide hacer un juego comercial — Pokémon GO usa OSM — pero sí obliga a atribuir y a poder liberar la capa derivada, y colisiona de frente con "la tierra es un activo escaso que vendo en cadena".
Tres caminos, hay que elegir uno antes de escribir el generador:
- A · Aceptar y aislar. El mundo base es ODbL, se atribuye y se publica la capa derivada de terreno. Lo que se vende no es la geometría del mundo, sino el derecho de uso sobre una celda. Es el camino más limpio jurídicamente.
- B · Evitar el ODbL. Mundo base solo con Copernicus DEM + WorldCover + Google/Microsoft footprints. Se pierde calidad de edificios en Europa y toda la red viaria fina. Costoso en calidad.
- C · Licenciar comercialmente. Proveedor de pago con datos propietarios de edificios. Coste alto y recurrente por MAU.
Recomendación: camino A. Es lo que hacen los juegos que envían. Requiere una opinión legal escrita, no una decisión de ingeniería.
Escala, chunks y volumen de datos
- 1 bloque = 1 m³. Un DEM de 30 m interpolado a 1 m da laderas suaves y algo blandas; se compensa con terrazas de ruido sembrado para que se lea como Minecraft y no como una manta.
- Chunk = 16 × 16 × 256 bloques, como Bedrock. 65 536 voxels por chunk; con paleta por chunk y codificación por longitud de tramo, un chunk urbano típico comprime a 2–8 KB.
- Presupuesto por km²: ~3 900 chunks → 8–30 MB por kilómetro cuadrado según densidad urbana. Una sesión de radio 300 m toca ~1 100 chunks ≈ 2–9 MB. Aceptable con caché agresiva; hay que medirlo en el prototipo.
- Malla: greedy meshing por chunk con caras ocluidas descartadas, dos niveles de detalle (bloques completos a <120 m, silueta simplificada más allá).
Versionado del mundo
Overture publica mensualmente. Si el mundo se regenera con datos nuevos, aparecen edificios que no estaban y desaparecen otros — debajo de construcciones de jugadores. Hace falta una política explícita: el mundo base se congela por temporada (world_version), las ediciones de jugadores viven en una capa aparte anclada a coordenadas, y cada cambio de versión pasa por una migración que detecta colisiones y ofrece reubicación. Sin esto, la primera actualización de datos destruye construcciones y se pierde la confianza del jugador de golpe.
06Parcelas, grilla y propiedad
Dos grillas, no una
Aquí hay una trampa de ingeniería que conviene ver antes: los hexágonos no embaldosan con cubos. Los sistemas de indexación geoespacial modernos son hexagonales (H3) porque los vecinos están todos a la misma distancia — ideal para adyacencia de propiedad. Pero los voxels son cúbicos. No se puede usar la misma grilla para las dos cosas.
Diseño: la propiedad se registra en celdas H3; los bloques viven en una grilla cartesiana local (ENU métrica por región). Un voxel pertenece a la parcela cuyo polígono H3 contiene su centro. La verificación de permiso de construcción es un point-in-cell, que en H3 es una función de hash, no una consulta geométrica: barato y exacto.
Jerarquía de celdas
| Res. | Área media | Arista media | Celdas en el globo | Uso en CornerBoyz |
|---|---|---|---|---|
| 9 | 105 333 m² | 201 m | 4,84 · 10⁹ | Barrio — unidad social y de eventos. Rankings, guildas, objetivos colectivos. |
| 10 | 15 048 m² | 76 m | 33,9 · 10⁹ | Distrito — unidad de agregación de mapa y de descubrimiento. |
| 11 | 2 150 m² | 28,7 m | 237 · 10⁹ | Solar grande — parcela premium, sede de guilda. |
| 12 | 307 m² | 10,8 m | 1,66 · 10¹² | Parcela base Unidad de compra. Tamaño de lote urbano. |
| 13 | 43,9 m² | 4,1 m | 11,6 · 10¹² | Cuadro — subdivisión para alquiler, jardines y permisos parciales. |
La alternativa es S2, que es cuadrangular y por tanto encaja mejor con voxels: nivel 19 = 309,27 m² (casi idéntico a H3 res 12), nivel 20 = 77,32 m², nivel 22 = 4,83 m². Recomendación: H3, por adyacencia uniforme (clave para mecánicas de vecindad y expansión) y porque existe h3-pg para indexar directo en PostGIS. Se documenta S2 como plan B si la unión hexágono/cubo da problemas visuales en el prototipo.
Cuánta tierra existe y qué se puede comprar
H3 res 12 da 1,66 billones de celdas en el globo — pero solo ~29 % es tierra firme, y de eso una fracción mínima es jugable. Falta definir la oferta, que es la variable central de la economía:
- Solo celdas a menos de X metros de una vía pública peatonal son reclamables (evita vender el medio del Sahara y el medio del jardín de alguien).
- Celdas que solapan huellas de edificio: no reclamables, o reclamables solo por quien demuestre presencia repetida.
- Cupo por jugador (p. ej. 12 parcelas base) con curva de coste creciente, para frenar la acumulación.
- Apertura por regiones, no global: se abre ciudad por ciudad, como hizo Minecraft Earth con países.
07Cámara, AR y anclaje al mundo
Aquí hay que ser preciso, porque el concepto dice "la cámara leyendo el ambiente y ubicando la locación". Conviene separar lo que la tecnología hace hoy de lo que suena bien.
Lo que sí puede hacer la cámara, hoy
| Capacidad | Qué te da | Uso en el juego |
|---|---|---|
| Anclas geoespaciales WGS84 | Colocar contenido en lat/lon/altitud exactas | Anclar el chunk de voxels donde corresponde en el mundo |
| Anclas de terreno | Fijar al nivel del suelo sin conocer su altitud | Que el mundo de bloques nazca del suelo real, no flotando |
| Anclas de azotea | Fijar a la altura del techo de un edificio | Estructuras sobre edificios; objetivos altos |
| VPS (sistema de posicionamiento visual) | Localización por imagen contra una nube de puntos 3D derivada de Street View; precisión muy superior al GPS | Alinear la fachada de bloques con la fachada real; prueba de presencia física |
| Streetscape Geometry | Geometría de edificios y terreno del entorno | Oclusión (que un bloque quede detrás de un edificio real) y colisión |
Está disponible para Android nativo, iOS, Unity vía AR Foundation y Unreal, con cobertura en casi todos los países, salvo un pequeño conjunto de dispositivos compatibles con ARCore que no soportan la API. La documentación consultada no publica precios ni cuotas concretas — remite a apartados por plataforma. Hay que confirmar cuotas y coste antes de comprometer el diseño.
Pero nada de eso llega al navegador. Esta tabla describe lo que existe en una app nativa, y la decisión de hacer la versión web primero la pone entera fuera de alcance. Es el precio principal de esa decisión y conviene verlo sin adornos.
Qué queda en la web
| Capacidad | Estado en web | Consecuencia de diseño |
|---|---|---|
Sesión AR inmersiva (immersive-ar) | Sí en Chrome Android | Hay modo cámara. En Safari/iOS no existe, pero iOS ya está fuera del alcance |
| Detección de planos y prueba de golpeo | Sí | Se puede apoyar contenido en el suelo real frente al jugador |
| Profundidad | Parcial | Oclusión aproximada con lo que está cerca. Módulo de Chrome Android, no universal |
| Ubicación | GPS del navegador | Mismo GPS por debajo, pero se suspende con la pestaña en segundo plano y con la pantalla bloqueada |
| VPS / localización visual | No | El mundo de bloques no se alinea con las fachadas reales. Solo GPS + brújula: ±5 a 20 m y con deriva |
| Anclas de terreno y de azotea | No | La altura del suelo se toma del DEM propio, no del entorno medido. Aceptable en llano, flojo en pendiente |
| Geometría de fachadas | No | Sin oclusión contra edificios reales: los bloques se dibujan encima de una pared en vez de detrás |
| Atestación de dispositivo | No existe | Ver §11. Es la consecuencia más grave de todas |
Estas capacidades no pudieron verificarse en fuente primaria en esta sesión — la búsqueda web estaba bloqueada. Es lo primero que hay que comprobar en la fase 0, con un dispositivo real y no con documentación.
Lo que la cámara NO puede hacer
- No reconstruye tu barrio. El escaneo del teléfono cubre metros, no manzanas, y tarda minutos. El mundo tiene que venir de datos geoespaciales; la cámara solo lo alinea.
- No funciona bien en interiores ni de noche. El VPS depende de imágenes de calle diurnas. Un jugador en su living a las 23:00 no localiza.
- No tolera sesiones largas. Cámara + GPS + render de voxels es el peor caso térmico del teléfono.
La AR es un pico, no el bucle
Es el error que hunde a los juegos de AR: diseñar el bucle central alrededor de la cámara. Pokémon GO lo resolvió haciendo la AR opcional. CornerBoyz debe tener dos modos y el de mapa debe ser el bueno:
- Modo Mapa (por defecto, ~90 % del tiempo). Vista isométrica de voxels sobre el mundo generado, sin cámara. GPS a baja frecuencia. Batería tolerable, jugable en el bus, jugable con el teléfono a la altura de la cintura.
- Modo Presencia (AR, 30–90 s por vez). Se invoca para acciones que requieren estar ahí: reclamar una parcela, colocar la baliza, capturar una foto de tu construcción, verificar presencia física para una transacción de valor. La AR se convierte en el mecanismo de confianza, y eso justifica su coste energético.
Presupuestos a fijar en el prototipo y no negociar después: ≤10 % de batería por sesión de 10 min en modo Mapa; ≤4 % por 60 s de AR; sin subida de temperatura a throttling en 8 minutos continuos en un teléfono de gama media de hace tres años; ≤10 MB de datos por sesión con caché en frío.
Web primero. La app se decide cuando se enciende el dinero real.
Por qué es una buena decisión para las fases 0 a 3. Quita de un golpe el problema entero de las tiendas: sin app no hay revisión, no hay regla 3.1.1, no hay comisión del 15–30 % y no hay política de activos tokenizados que verificar. El diseño original — poseer la parcela en cadena es lo que te habilita a construir — funciona tal cual. Además: se despliega mil veces al día, se comparte con un enlace, no hay instalación que frene al primer jugador, y la cartera es mucho más fácil en el navegador. Para prototipar y para probar si el bucle retiene, es claramente el camino correcto.
Qué se pierde, en concreto. El anclaje geoespacial preciso (tabla de arriba), la oclusión contra edificios, el GPS en segundo plano, las notificaciones fiables, y la atestación de dispositivo. El modo Mapa — que ya era el 90 % del juego — se sostiene perfectamente en WebGL2 o WebGPU con Three.js. El modo Presencia queda degradado a "hay bloques en la cámara, más o menos donde deberían", que sirve para una foto y no para reclamar una parcela con precisión.
Cómo se resuelve sin renunciar a nada. Se reordena el roadmap, no se recorta el producto: web para las fases 0 a 3 con economía fuera de cadena, y app nativa Android en la fase 4, cuando se enciende la compra de parcelas con valor real. Es la misma secuencia que ya tenía el documento, con la plataforma alineada a lo que cada fase necesita. La web no se tira nunca: es el mapa público, el perfil, la galería y el mercado, para siempre.
Privacidad de la cámara
Una app que pide cámara y ubicación precisa a la vez tiene la carga de prueba encima. Reglas que hay que escribir antes de programar: los fotogramas se procesan en el dispositivo y no se suben; si algún día se sube imagen para VPS propio, es opt-in explícito con finalidad declarada; nunca se detectan caras; las capturas que el jugador comparte se difuminan por defecto en caras y matrículas; el historial de ubicación se agrega a celda res 10 antes de persistirse para analítica. También hay que documentarlo en las etiquetas de privacidad de ambas tiendas.
08Construir sobre lugares reales
Esta sección es donde el proyecto se gana o se pierde la aprobación de las tiendas y la paz con el mundo físico. Es contenido generado por usuarios, superpuesto a domicilios reales, y visible para desconocidos.
Reglas de construcción
- Se construye solo en celdas propias, alquiladas o con permiso explícito del dueño.
- Altura máxima = altura del terreno + 16 bloques en residencial, +48 en la sede de guilda de un barrio. Evita torres que tapen el mapa.
- No se construye sobre calzada, vía férrea, agua navegable ni huella de edificio — se deriva de la capa de vías y edificios, y además protege al jugador de pararse en la calle.
- Colocar bloques requiere presencia física en la celda o adyacente (res 12). Editar a distancia es solo para demoler lo propio.
Visibilidad escalonada
No todo lo construido es público de inmediato. Es el mecanismo de moderación más eficaz y el más barato:
- Nivel 01PrivadaSolo el autor la ve. Instantáneo, sin revisión. La mayoría del contenido se queda aquí.
- Nivel 02VecinalVisible para quien pise el barrio (res 9). Filtro automático + reputación del autor.
- Nivel 03PúblicaVisible en el mapa global y en la web. Requiere revisión: automática si la reputación es alta, humana si no.
- Nivel 04DestacadaPromocionada por el juego. Revisión humana obligatoria, siempre.
Moderación: lo que hay que construir igual
- Detección automática de forma. Los bloques pueden escribir texto y dibujar símbolos. Hay que rasterizar la silueta de cada construcción desde arriba y de frente y pasarla por clasificación de imagen. No es opcional.
- Reporte in-situ en un toque, con la celda y el autor ya adjuntos, y respuesta en menos de 24 h.
- Reputación del autor que gobierna cuánta revisión necesita y cuánto puede construir en público.
- Cola humana dimensionada desde el día uno de la beta. Presupuestá el equipo: es coste operativo permanente, no un proyecto.
- Ocultación geográfica de emergencia: poder apagar toda construcción en una celda, un barrio o un país en minutos.
Zonas de exclusión y derecho del propietario
Pokémon GO acumuló demandas de propietarios y ordenanzas municipales por convocar jugadores a propiedad privada y a parques. Vender la propiedad virtual de un domicilio real es más agresivo que poner un PokéStop enfrente. Hay que construir esto antes de abrir:
| Categoría | Fuente de datos | Regla |
|---|---|---|
| Colegios y guarderías | OSM amenity=school, catastros | Excluidas. Sin nodos, sin parcelas, sin construcción. |
| Hospitales, comisarías, bomberos | OSM amenity | Excluidas, con buffer de 25 m. |
| Militar, frontera, aeropuertos, nuclear | OSM landuse=military, aeroway | Excluidas, buffer amplio. Riesgo legal serio y variable por país. |
| Cementerios, lugares de culto, sitios sagrados e indígenas | OSM + registros nacionales + petición de comunidades | Excluidas por defecto. Reactivables solo a petición de la propia comunidad. |
| Vivienda privada | Huellas de edificio + tipo de uso | No reclamable ni construible. Se puede pasar por delante, no poseer. |
| Registro de exclusión | Formulario público con verificación de dirección | Cualquier propietario o institución puede pedir la exclusión de su celda; se resuelve en 7 días y se registra. |
Seguridad física del jugador
Se hereda entero del historial de los juegos de ubicación, y las tiendas lo miran. Mínimo: bloqueo de interacción por encima de ~15 km/h con confirmación de "no soy el conductor"; sin nodos ni parcelas a menos de 5 m del borde de calzada o de vía férrea; aviso de "mirá al frente" cada 4 minutos de cámara activa; recordatorio de horario nocturno; y toda la mecánica jugable desde la acera, nunca desde el medio de la calle. Esto último es una regla de diseño de mapa, no un aviso legal.
09Economía, tokens y tierra en cadena
Elegiste economía on-chain real. Es viable, y es la parte del proyecto con más formas de fallar. Esta sección está escrita para minimizar esas formas.
Dos monedas, y una sola es vendible
CANDY · moneda blanda | CORNER · token duro | |
|---|---|---|
| Dónde vive | Fuera de cadena, en la base de datos del juego | En cadena |
| Cómo se gana | Jugando: recolección, encargos, racha diaria | Comprando; y en cantidad muy limitada, por logros de temporada |
| Vendible | No. Nunca. Ni transferible entre cuentas | Sí |
| Para qué sirve | Crafteo, reparación, mejoras, alquiler de cuadros, consumibles | Comprar parcelas, mercado secundario, gobernanza de reglas de barrio |
| Emisión | Elástica, ajustable por temporada sin consecuencia externa | Fija y auditable. Sin acuñación discrecional |
El punto entero de esta separación: el grifo diario paga en CANDY, no en CORNER. El jugador siente que gana algo cada día, y el token con precio de mercado no se inunda. Un grifo diario que emite el token vendible es el mecanismo exacto que destruyó a Axie Infinity y a StepN: la emisión creció con los jugadores, la demanda dependía de que entraran jugadores nuevos, y cuando dejaron de entrar el precio colapsó y el juego con él.
Grifos y sumideros
Grifos (entra valor)
- Asignación diaria de
CANDYpor conectarse, escalada por racha con techo - Recolección de nodos, limitada por energía y por tiempo de reaparición de celda
- Encargos diarios y semanales
- Rendimiento de parcela, condicionado a visita física en los últimos 7 días
- Recompensas de temporada y de objetivo de barrio
Sumideros (sale valor)
- Coste de crafteo y de colocación de bloques especiales
- Impuesto de tenencia por parcela, semanal, proporcional a la demanda de la zona
- Reparación de erosión cosmética
- Comisión de mercado secundario, quemada en parte
- Alquiler de cuadros a otros jugadores
- Pasajes de avión, según la distancia real recorrida — quemados enteros (§03)
- Mudanza de origen, cambio de oficio, cambio de nombre
- Cosméticos y expansión de inventario
La regla operativa: la emisión neta de CANDY por jugador activo tiene que ser negativa en el percentil 50 y ligeramente positiva en el percentil 90. El jugador medio gasta lo que gana; el jugador dedicado acumula despacio. Esto se instrumenta desde la alfa y se ajusta cada temporada; sin ese telemetría, la economía se diseña a ciegas.
La tierra como activo
- Acuñación diferida. Nada se acuña hasta que alguien reclama. El registro autoritativo de propiedad es el servidor; la cadena es el registro público y portable.
- Coste verificado. Con NFT comprimidos en Solana (Metaplex Bubblegum), el coste por pieza a escala es de 0,000005312 SOL por 1 M de piezas y 0,000027222 SOL a 10 000. A escala de millón, del orden de un décimo de centavo de dólar por parcela. Eso hace viable un mundo con millones de celdas acuñadas. La contrapartida es que la lectura depende de un indexador (DAS API), así que hay que operar o contratar uno.
- Cartera invisible. El jugador nunca ve una frase semilla. Cartera embebida por passkey, gas patrocinado, y la palabra "cripto" fuera de la interfaz de juego. Si el onboarding requiere entender una cadena, el juego pierde al 95 % de su audiencia.
- Impuesto en vez de especulación pura. El impuesto de tenencia semanal, combinado con el requisito de visita física para el rendimiento, hace que acumular parcelas sin jugar sea una pérdida. Es la defensa principal contra que la tierra la compre entera un fondo el primer día.
Regulación: esto necesita abogado, no criterio de producto
- MiCA se aplica en la UE por fases: obligaciones para tokens referenciados a activos y de dinero electrónico desde el 30 de junio de 2024, y el resto de cripto-activos y los proveedores de servicios desde el 30 de diciembre de 2024. Un token vendible emitido por una empresa, con un mercado secundario operado por esa misma empresa, cae de lleno en el análisis: clasificación del token, obligación de documentación al público y posible necesidad de autorización como proveedor de servicios de cripto-activos.
- Cajas de botín. Google Play exige textualmente que las apps que ofrezcan mecanismos de objetos virtuales aleatorios por compra — incluidas las loot boxes — "divulguen claramente las probabilidades de obtener esos objetos, antes de la compra y en proximidad cercana y temporal a ella". Si se añade cualquier aleatoriedad de pago, las probabilidades se publican. Varios países las han restringido de forma más dura; en un juego con activos vendibles el análisis de juego de azar es más estricto todavía.
- Mercado secundario. Operar el mercado puede arrastrar obligaciones de identificación de clientes y prevención de blanqueo, y umbrales de información fiscal por país.
Nada de esta sección es asesoramiento legal. Es la lista de temas que hay que llevarle a un abogado especializado, y hay que hacerlo antes de escribir el contrato inteligente, porque la clasificación del token cambia su diseño.
10El muro de las tiendas
Decisión tomada: se lanza en web. No hay app, y por lo tanto no hay muro. Esta sección se conserva por dos razones: porque el muro reaparece entero en la fase 4, cuando llegue el cliente nativo (§07, §12); y porque el texto de Apple es lo que hay que releer el día que iOS vuelva a la mesa.
"Si querés desbloquear funciones o funcionalidad dentro de tu app… tenés que usar compra dentro de la app. Las apps no pueden usar sus propios mecanismos para desbloquear contenido o funcionalidad, como claves de licencia, marcadores de realidad aumentada, códigos QR, criptomonedas y carteras de criptomonedas, etc."
App Review Guidelines · 3.1.1 · traducción del texto original consultado en sep 2026
"Las apps pueden usar compra dentro de la app para vender y vender servicios relacionados con tokens no fungibles (NFT), como acuñación, listado y transferencia. Las apps pueden permitir que los usuarios vean sus propios NFT, siempre que la titularidad del NFT no desbloquee funciones o funcionalidad dentro de la app. Las apps pueden permitir explorar colecciones de NFT de otros, siempre que, salvo en las apps de la tienda de Estados Unidos, no incluyan botones, enlaces externos u otras llamadas a la acción que dirijan a mecanismos de compra distintos de la compra dentro de la app."
App Review Guidelines · 3.1.1, apartado NFT · traducción del texto original consultado en sep 2026
Leído contra el concepto original: "compro una parcela con tokens y eso me habilita a construir ahí" es titularidad de NFT que desbloquea funcionalidad. Tal como estaba, no pasaba revisión en iOS. Las tres salidas que quedaban dentro de iOS — el NFT como certificado sin poder, todo vendido por compra dentro de la app, o juego y mercado separados — obligaban a torcer la mecánica central. La cuarta salida era no lanzar en iOS, y es la que se eligió.
Web. Sin tienda, sin revisión, sin comisión.
Lo que gana. El diseño original sobrevive sin torcerse: la parcela es un activo en cadena y poseerla es lo que habilita construir. Nada de "certificado espejo", nada de rutas dobles de compra, ningún revisor decidiendo si el juego existe. Y se conserva el 100 % del ingreso en vez del 70 u 85 %, que en una economía de parcelas de bajo precio unitario es la diferencia entre cerrar y no cerrar.
Lo que cuesta y no es obvio. Sin tienda no hay descubrimiento: toda la adquisición de jugadores es propia. La contracara es que el producto es intrínsecamente compartible — cada construcción puede ser una página con su enlace, y en un juego geográfico el boca a boca es local y funciona. Hay que diseñar para eso desde el principio, no agregarlo después: cada parcela, cada construcción y cada barrio necesita su propia URL con vista previa.
Cuándo vuelve el muro. En la fase 4, con el cliente nativo Android. Ahí sí hay que verificar la política de Google Play sobre activos digitales tokenizados — lo único que no pudo verificarse en esta sesión, porque la búsqueda web estaba bloqueada y las páginas consultadas no contenían el apartado. Históricamente Play ha sido más permisivo que Apple con contenido tokenizado, pero exige su facturación para lo que se consuma dentro del juego, y eso puede alcanzar la compra de parcelas. Ventaja de la secuencia elegida: para entonces ya hay un juego con jugadores, y la app puede vender solo lo que la tienda permita mientras la web sigue vendiendo el resto.
11Multijugador, densidad y trampas
Modelo de red
- Servidor autoritativo, edición asíncrona. No hay física compartida en tiempo real. Colocar un bloque es una petición validada (¿es tu celda? ¿estás ahí? ¿tenés el recurso? ¿respeta la altura?) que produce un evento en el registro de la celda.
- Presencia en tiempo real ligera: posiciones aproximadas de jugadores cercanos vía WebSocket, agregadas a res 13 y con desfase deliberado, para no revelar la ubicación exacta de nadie.
- Resolución de conflictos: por celda, orden por marca de tiempo del servidor, con la última edición ganando y un historial de 30 días para revertir vandalismo.
El problema de la densidad, en los dos extremos
Un juego de vecinos con vecinos falla en dos direcciones a la vez y hay que diseñar las dos:
- Rural / baja densidad. Nadie a 20 km. La solución no es poner bots: es que el barrio (res 9) se agrupe con barrios afines lejanos para objetivos colectivos, que el mundo generado sea más generoso en recursos donde hay menos jugadores, y que las parcelas rurales sean más grandes y más baratas. Un jugador rural debe poder ser el señor de un valle entero.
- Urbano saturado. Todas las celdas del centro reclamadas en la primera semana por los primeros jugadores. Solución: cupo por jugador, impuesto de tenencia creciente, apertura por oleadas dentro de la ciudad, y celdas de alto tráfico designadas comunes — no reclamables por nadie, jugables por todos.
En el navegador, falsear la ubicación es gratis
Con tierra que tiene valor de mercado, la suplantación de ubicación deja de ser trampa y pasa a ser un negocio con retorno calculable. La defensa clásica es en cinco capas, y la decisión de ir por web elimina las dos más fuertes:
| Capa | Web | App nativa |
|---|---|---|
| 1 · Atestación de dispositivo. Play Integrity o App Attest como requisito para toda acción con valor. Bloquea la vía más barata: apps de ubicación falsa. | No existe No hay forma de atestiguar un navegador. Falsear el GPS son cuatro clics en las herramientas de desarrollo, o una línea que reemplaza geolocation | Sí |
| 2 · Heurística de trayectoria. Velocidad implícita, teletransportes, precisión sospechosamente perfecta, ausencia de ruido de deriva, líneas rectas imposibles. | Sí Es del lado del servidor. Se vuelve la defensa principal, y sola no alcanza | Sí |
| 3 · Corroboración visual. Localización VPS por cámara: el entorno visible tiene que coincidir con la nube de puntos del lugar. La defensa más fuerte que existe hoy. | No Sin VPS en WebXR, no hay prueba visual de presencia | Sí |
| 4 · Corroboración cruzada. Coherencia con otros jugadores presentes, redes wifi visibles, reloj y clima local. | Parcial El navegador no expone las redes wifi visibles | Sí |
| 5 · Respuesta gradual. Sombrear antes de banear: las acciones del tramposo no afectan al mundo de los demás. Degradar, y solo después cerrar. | Sí | Sí |
Lo que esto implica, sin rodeos: un cliente web con compra de parcelas en cadena y dinero real es indefendible. No es que sea difícil — es que la capa que frena al 90 % de los tramposos simplemente no existe en un navegador.
La salida no es renunciar a la web, es ordenar la secuencia:
- Fases 0 a 3, web, economía sin valor de reventa.
CANDYfuera de cadena y no transferible. Si alguien falsea el GPS, se hace trampa a sí mismo: no hay nada que extraer. El antitrampas se reduce a heurística de trayectoria, que es suficiente cuando no hay dinero en juego. - Presencia acumulada en vez de un solo ping. Reclamar una parcela exige presencia repetida — por ejemplo tres visitas en días distintos, con ventanas de tiempo coherentes. Falsear un ping es trivial; falsear un patrón de vida durante una semana ya cuesta, y es detectable.
- Fase 4, app nativa Android, cuando se enciende el dinero. Ahí vuelven la atestación y la corroboración visual. La compra de parcelas con valor real solo se habilita en el cliente que puede defenderla.
Presupuestá el antitrampas como trabajo continuo. En un juego con economía real es un equipo, no una tarea.
12Arquitectura técnica
Cliente web (fases 0–3)
- TypeScript + Three.js sobre WebGL2, con ruta a WebGPU donde esté disponible. Render de voxels propio: greedy meshing por chunk, atlas de texturas único, iluminación por vértice precalculada en el servidor y enviada con el chunk.
- El mallado va en Web Workers, y la geometría vuelve al hilo principal como
ArrayBuffertransferible, sin copia. Esto no es optimización prematura: es la diferencia entre 60 fps y un juego que tironea. Decodificación del formato de chunk en WebAssembly (Rust) si el perfilado lo pide. - Presión de recolector de basura: arreglos tipados preasignados y reservas de objetos para todo lo que se crea por fotograma. Es el fallo de rendimiento clásico de un voxel en el navegador y hay que diseñarlo desde el principio, no arreglarlo después.
- PWA instalable: service worker para el casco de la app, y caché de chunks en el sistema de archivos privado del origen (OPFS) o IndexedDB, con presupuesto configurable — por defecto 300 MB — y purga por distancia al hogar. Pedir almacenamiento persistente con
navigator.storage.persist(), porque si no el navegador puede vaciar la caché sin avisar. - La interfaz va aparte del render. El HUD y los menús en el framework que quieras; el bucle de render nunca dentro del ciclo de vida de ese framework. Mezclarlos es la fuente número uno de caídas de fotogramas en juegos web.
- Sesión en primer plano. No hay GPS en segundo plano:
watchPositionse suspende con la pestaña oculta o la pantalla bloqueada. Se compensa con la API de bloqueo de pantalla durante una sesión activa, la API de visibilidad de página para pausar limpio, y un diseño de juego que no dependa de que la app corra en el bolsillo. - Modo sin conexión: mundo cacheado navegable, ediciones en cola local, reconciliación al reconectar.
Cliente nativo (fase 4, cuando se enciende el dinero real)
- Unity 6 + AR Foundation con ARCore Geospatial, Android. Recupera VPS, anclas de terreno y azotea, oclusión con fachadas, GPS en segundo plano, notificaciones y — lo decisivo — atestación de dispositivo por Play Integrity.
- Comparte el mismo backend, el mismo formato de chunk y el mismo registro de celdas que la web. El formato de chunk y la API se diseñan desde el día uno para servir a los dos clientes, para que la app sea un cliente más y no un proyecto nuevo.
Servicios
| Servicio | Responsabilidad | Notas de implementación |
|---|---|---|
| Identidad | Cuentas, sesiones, edad, atestación de dispositivo | Passkeys; cartera embebida vinculada, opcional |
| Generador de mundo | Voxeliza chunks a partir de las capas geoespaciales | Trabajadores en lotes; determinista por hash(world_version · chunk_id); salida a almacenamiento de objetos + CDN |
| Servicio de chunks | Entrega chunk base + delta de ediciones | El base es inmutable y cacheable para siempre; el delta va por WebSocket o por sondeo corto |
| Registro de celdas | Propiedad, permisos, impuestos, historial | PostgreSQL + PostGIS + h3-pg; índice por celda H3 res 12; es la fuente de verdad |
| Economía | Saldos de CANDY, grifos, sumideros, encargos | Contabilidad de doble entrada, transaccional. Nunca saldos en el cliente |
| Puente de cadena | Acuñación diferida, indexado, reconciliación | Cola de acuñación con reintento; indexador DAS; el servidor es autoritativo y la cadena es el reflejo |
| Moderación | Reportes, clasificación de siluetas, cola humana, apagado geográfico | El apagado por celda/barrio/país tiene que poder ejecutarse en minutos |
| Presencia | Jugadores cercanos, chat de barrio | Redis con geoíndice; posiciones difuminadas a res 13 |
| Telemetría | Embudos, retención, salud de la economía | Ubicación agregada a res 10 antes de persistir. La economía se pilota con esto o no se pilota |
Tubería de datos geoespaciales
- DEM Copernicus a GeoTIFF en la nube, remuestreado y en mosaico por región.
- Overture / OSM en GeoParquet, consultado con DuckDB para extracción por región; teselas vectoriales propias con
planetilerservidas como PMTiles. - WorldCover a un ráster de clase de bioma de un byte por píxel, alineado con la grilla de chunks.
- Todo preprocesado por región y versionado. Ninguna llamada a API de terceros en la ruta caliente del jugador.
Modelo de coste por jugador
Nadie lo calcula hasta que llega la factura. Las variables a estimar antes de la beta: GB de chunks servidos por usuario activo mensual (dominado por CDN, y muy sensible a la eficacia de la caché), horas de cómputo de generación por km² abierto, coste de la API geoespacial por sesión de AR — pendiente de confirmar, la documentación no publica precios —, coste del indexador de cadena, y coste de moderación humana por mil construcciones públicas. Con esos cinco números se sabe si el juego cierra; sin ellos, no.
13Identidad visual
Lila y amarillo fosforescente. La pareja es fuerte y funciona a favor del concepto: el lila es el mundo (cielo crepuscular, sombra, atmósfera) y el amarillo fosforescente es la interfaz y la energía (lo que brilla, lo que se puede tocar, lo que es tuyo).
Lila núcleo#6D3BE0
Acento, marca, acciones
Lila luz#B694FF
Acento sobre fondo oscuro
Lila noche#2A1B47
Cielo, sombra, fondo de mundo
Fósforo#E4FF37
Energía, propiedad, resalte
Papel#F6F3FC
Neutro sesgado a violeta
Tinta#170F2B
Texto, contornos de bloque
Reglas que hacen que la pareja funcione
- El fósforo cambia de trabajo según el fondo. Sobre claro es un resaltador: relleno amarillo con texto oscuro encima. Sobre oscuro es luz: texto y trazo amarillos que brillan. Nunca amarillo fosforescente como texto sobre blanco — no se lee.
- Un solo acento por pantalla. El lila estructura; el fósforo señala exactamente una cosa: lo que es tuyo, o lo que hay que tocar ahora.
- Sin esquinas redondeadas. Los cantos son rectos o achaflanados a 45°. Es la firma de un juego de bloques y separa el producto del aspecto de app genérica.
- El neutro tiene sesgo violeta. Los grises puros al lado del lila se ven sucios; un neutro con una gota del acento se ve elegido.
- Tipografía: una angular y chaflanada para títulos y HUD (aquí, Chakra Petch), una humanista técnica para texto (IBM Plex Sans) y su monoespaciada hermana para coordenadas, ids de celda y cifras (IBM Plex Mono). Las coordenadas y las cantidades siempre en cifras tabulares.
- El mundo se ve neutro; la interfaz es la que tiene color. Si el terreno de bloques también fuera lila y amarillo, no se distinguiría qué es jugable. La geografía usa la paleta de su bioma real; la marca vive en el HUD.
14Roadmap por fases
Cada fase tiene una puerta de decisión con un criterio medible. Si no se pasa la puerta, no se avanza: se arregla o se cierra. La fase 0 existe para descubrir en ocho semanas, y no en dos años, si el producto es posible.
Prototipo técnico en web. Sin juego, sin arte, sin cadena.
- Tubería de datos → chunks de voxels para 5 lugares muy distintos: centro urbano denso, suburbio, pueblo rural, costa, montaña.
- Visor web en el móvil que muestra el mundo generado en modo Mapa, a 60 fps, con caché de chunks funcionando.
- Comprobar en dispositivos reales qué de la tabla de §07 es cierto:
immersive-ar, profundidad, comportamiento del GPS con la pantalla apagada. Con teléfonos, no con documentación. - Medición real de batería, temperatura, datos y tiempo hasta el primer chunk visible.
- Opinión legal escrita sobre el ODbL.
Rebanada vertical. Un bucle completo, una ciudad, sin cadena.
- Nacimiento, identidad, oficio, primera parcela.
- Recolección, crafteo, colocación de bloques, persistencia.
- Modo Mapa y modo Presencia, con la AR ya reducida a su papel de pico.
CANDYfuera de cadena con grifos y sumideros instrumentados.
Alfa cerrada. Una ciudad, con vecinos de verdad.
- Multijugador, presencia, barrios, objetivos colectivos.
- Moderación completa: visibilidad escalonada, clasificación de siluetas, cola humana.
- Zonas de exclusión y registro de exclusión operativos.
- Antitrampas capas 1 y 2.
Beta regional y economía de verdad, todavía sin token vendible.
- 3–5 ciudades, apertura por oleadas.
- Parcelas vendidas con pasarela de pago web — sin comisión de tienda; impuesto de tenencia activo.
- Reclamo por presencia acumulada: tres visitas en días distintos, no un solo ping (§11).
- Temporadas, ranking, cosméticos.
- Mapa del mundo público, perfiles y galería de construcciones.
CANDY cumple la regla de §09 durante 8 semanas seguidas, y el ingreso por usuario cubre el coste por usuario de §12.App nativa Android + capa on-chain, juntas. Solo si las puertas anteriores pasaron.
- Cliente Unity sobre el mismo backend. Recupera VPS, oclusión y atestación de dispositivo, que es lo que hace defendible la compra de parcelas con valor real (§11).
- Acuñación diferida de parcelas. Cartera embebida invisible, gas patrocinado, indexador propio.
- Mercado secundario en la web, con identificación de clientes donde aplique.
- Documentación pública del token y autorizaciones según el análisis MiCA.
- Verificar la política de Google Play sobre activos tokenizados — vuelve a ser relevante en el momento en que hay app.
Lanzamiento y operación.
- Apertura por país, con la política de zonas revisada por jurisdicción.
- Temporadas cada 8–10 semanas; migración de versión de mundo con protección de construcciones.
- Operación permanente de moderación, antitrampas y ajuste de economía.
15Riesgos
| Riesgo | Prob. | Impacto | Mitigación |
|---|---|---|---|
| Sin atestación en el navegador, la ubicación falsa es gratis | Alta | Economía capturada | Economía sin valor de reventa mientras el cliente sea web; reclamo por presencia acumulada; la compra con dinero real solo en el cliente nativo de la fase 4 |
| El rendimiento en el navegador no alcanza para un mundo de voxels | Media | Sesiones de 3 min | Mallado en workers con buffers transferibles, reservas de objetos, WebGPU donde exista. Se mide en la fase 0 y es una puerta, no un ajuste posterior |
| Sin tienda, toda la adquisición de jugadores es propia | Media | Mundo vacío | Es la contracara de no pagar comisión. El enlace compartible y el mapa público son el motor: cada construcción es una página que se puede mandar por WhatsApp |
| El bucle no retiene: la novedad geográfica se agota | Alta | Proyecto muerto | Puerta de D7 en la fase 1 con juego real, antes de invertir en cadena o en escala |
| Batería y calor hacen la sesión inviable | Media | Sesiones de 3 min | Modo Mapa por defecto; presupuestos medidos en la fase 0 y tratados como requisito |
| Conflicto legal por propiedad virtual de domicilios reales | Media | Demandas, prensa | Vivienda privada no reclamable; registro de exclusión; lenguaje de "derecho de uso", nunca "propiedad" del lugar real |
| Espiral inflacionaria del token | Media | Colapso económico y de comunidad | Grifo diario solo en moneda no vendible; sumideros mayores que grifos; puerta de 8 semanas en la fase 3 |
| Compartir por igual del ODbL choca con la venta de tierra | Media | Rediseño de datos | Opinión legal en la fase 0; camino A de §05; mantener el generador capaz de funcionar sin fuentes ODbL |
| Vandalismo y contenido ofensivo en espacio público | Alta | Retirada de la tienda | Visibilidad escalonada desde el primer día; nada es público sin pasar filtro |
| Dependencia de un proveedor de pagos para la venta de parcelas | Media | Ingreso bloqueado | Varias pasarelas soportan mal la venta de activos digitales con mercado secundario. Confirmar con el proveedor antes de la fase 3, por escrito |
| Dependencia de un proveedor de anclaje geoespacial | Media | Coste o cierre | Abstraer el anclaje detrás de una interfaz propia; el modo Mapa debe funcionar sin ningún proveedor de AR |
| Densidad insuficiente en el mercado inicial | Media | Juego solitario | Lanzar por ciudades y no por países; agrupar barrios afines para objetivos colectivos |
Sobre el proveedor de anclaje, un dato de contexto: Niantic Spatial — heredera de la plataforma que sostenía Lightship — presenta hoy sus productos como Reconstruct, Localize, Understand y Capture, orientados a máquinas y a clientes empresariales, con precios "consultar con ventas" y un programa de socios. No es una plataforma de autoservicio para estudios pequeños. Es una razón concreta para no atar el juego a un solo proveedor.
16Métricas
Estrella polar
Bloques colocados por jugador activo semanal, en celdas visitadas físicamente. Combina las tres cosas que hacen único al producto: construir, volver, y estar realmente ahí. Es difícil de inflar y baja inmediatamente cuando el juego pierde alma.
| Familia | Métrica | Objetivo de fase 3 |
|---|---|---|
| Retención | D1 / D7 / D30 | 40 % / 25 % / 12 % |
| Sesiones por día por activo | ≥2,0 | |
| Semanas hasta la primera construcción pública | ≤1 | |
| Mundo | Celdas res 12 con al menos un bloque, por barrio activo | ≥15 % |
| Tiempo hasta el primer chunk visible, arranque en frío | ≤3,0 s | |
| Salud física | Batería por sesión de 10 min, modo Mapa | ≤10 % |
| Minutos hasta limitación térmica | ≥8 | |
| Economía | Emisión neta de CANDY, percentil 50 | < 0 |
| Parcelas por jugador, percentil 99 | ≤ cupo | |
| Ingreso por activo mensual ÷ coste por activo mensual | ≥3× | |
| Integridad | Reportes resueltos en 24 h | ≥98 % |
| Acciones de valor con atestación válida | 100 % |
17Fuentes y estado de verificación
Honestidad sobre la investigación: en esta sesión la búsqueda web estaba bloqueada, así que se consultaron fuentes primarias directamente por URL. Lo verificado está marcado en el texto con cifras concretas. Lo no verificado está señalado explícitamente y no debería llevarse a una decisión sin comprobarlo.
Verificado en fuente primaria
- Tipos de ancla, VPS, Streetscape Geometry, plataformas y cobertura de la API geoespacial de ARCore. Sin precios publicados en la página consultada.
- Copernicus DEM: GLO-30 y GLO-90, exactitudes vertical y horizontal, cobertura, licencia libre.
- Overture Maps buildings: 2 500 M de edificios, fuentes que combina, atributo de altura, exclusión de ≥900 m, licencia ODbL.
- Tabla de resoluciones de H3 y estadísticas de celdas de S2, con áreas medias y recuentos.
- Metaplex Bubblegum: coste por NFT comprimido de 0,000027222 SOL a 10 000 piezas y 0,000005312 SOL a 1 M; dependencia del indexador DAS.
- Guidelines de revisión de Apple 3.1.1, incluido el apartado de NFT, 3.1.5(b), 3.1.3(e) y 5.1.5.
- Google Play: exigencia de divulgar probabilidades en mecanismos de objetos aleatorios de pago.
- MiCA: categorías de token y fechas de aplicación por fases (30/06/2024 y 30/12/2024).
- Minecraft Earth: fechas, 1,4 M de descargas la primera semana, uso de OpenStreetMap, cierre el 30/06/2021.
- Niantic Spatial: catálogo actual de productos y modelo de "consultar con ventas".
Pendiente de verificar antes de decidir
- Capacidades de WebXR en Chrome Android: disponibilidad de
immersive-ar, módulo de profundidad, y comportamiento real del GPS con la pestaña oculta o la pantalla bloqueada. Toda la tabla de §07 sobre la web es de conocimiento previo, no verificada aquí. Es lo primero de la fase 0, y se comprueba con teléfonos, no leyendo. - Rendimiento real de un mundo de voxels en el navegador en un teléfono de gama media de tres años: fotogramas por segundo, memoria, batería y temperatura. Determina si el modo Mapa es jugable en web.
- Política de Google Play sobre activos digitales tokenizados y NFT — no se localizó el texto vigente. Deja de ser bloqueante hasta la fase 4, pero hay que tenerlo resuelto antes de comprometer el cliente nativo.
- Pasarelas de pago que acepten venta de activos digitales con mercado secundario, en la jurisdicción de la empresa.
- Precios y cuotas de la API geoespacial de ARCore y de las teselas 3D fotorrealistas de Google, si se usaran.
- Términos actuales de Google Open Buildings y Microsoft Building Footprints, si se toma el camino B de §05.
- Situación de Lightship ARDK y 8th Wall para terceros tras la reorganización de Niantic.
- Tratamiento de los NFT bajo MiCA y exenciones aplicables a activos de juego.
- Casos concretos de Pokémon GO sobre propiedad privada y sus resultados, para calibrar §08.
URLs consultadas
- developers.google.com/ar/develop/geospatial
- nianticspatial.com
- h3geo.org · tabla de resoluciones
- s2geometry.io · estadísticas de celdas
- docs.overturemaps.org · buildings
- dataspace.copernicus.eu · COP-DEM
- metaplex.com · Bubblegum
- developer.apple.com · App Review Guidelines
- support.google.com · Play · pagos
- Markets in Crypto-Assets (MiCA)
- Minecraft Earth
18Estado del prototipo
Además de este documento existe un prototipo jugable en el navegador: un solo archivo HTML, sin dependencias ni build, con dos renderers en canvas 2D (mapa isométrico y primera persona). No es la arquitectura del producto — es la prueba de que la escala, la jugabilidad y la economía cierran. Esta sección dice qué está construido, qué se verificó y qué no.
Construido y verificado con tests automáticos
| Sistema | Qué hace hoy |
|---|---|
| Mundo | Terreno generado por ruido determinista desde coordenadas reales de Paraguay, con calles, veredas, lotes aplanados, plazas y arbolado. Ciclo día/noche de 260 s, lluvia, niebla lila. |
| Escala | 1 bloque = 1 m³ · calles de 8 m · lotes de 13 × 13 m · parcela de 18 × 18 = 324 m² (≈ H3 r12) · mundo de 160 × 160 m. |
| Primera persona | Caminar, correr, saltar, romper y poner bloques con caja de selección, volar, 60 fps en escritorio. Arrastrar para mirar (el pointer lock está bloqueado dentro del iframe del artifact). |
| Identidad y oficios | Nombre, colores, cinco oficios y cada uno toca un sistema distinto: alcance y bloques gratis, vista y velocidad y pasajes, roturas dobles, comisión, impuesto y cupo. |
| Economía personal | Grifo diario con racha, postes, vetas, obras. Cierre del día que cobra impuesto de todas tus parcelas y paga rendimiento solo de las visitadas. Libro de movimientos. |
| Viaje entre barrios | Aeropuerto físico, mapa de calor, pasaje por distancia real, enfriamiento, vuelta a casa a mitad de precio, y estado guardado por barrio: cada mundo se recupera como estaba (§03). |
| Persistencia | localStorage con diff de ediciones (solo las columnas cambiadas). Formato por mundo, con migración desde el formato viejo. |
Construido pero nunca verificado: necesita dos personas
Cinco sistemas usan estado compartido en tiempo real y no se pueden probar desde una sola sesión. Están escritos, revisados y con las protecciones de carrera puestas, pero hasta que dos personas abran el mismo enlace no hay evidencia de que funcionen:
- Registro de tierras exclusivo — cada parcela es un documento reservado con un lease, así que dos personas no pueden tomar la misma.
- Mercado entre jugadores — publicar, comprar y que el vendedor cobre el neto. La comisión se quema.
- Venta y alquiler de parcelas — cambio de dueño en el registro, y el inquilino puede construir mientras dure.
- Precios de referencia — promedio móvil de las ventas reales.
- Jugadores en vivo y calor por barrio — verse mutuamente moverse, y los contadores del mapa de calor.
El paquete de entrega trae el plan de prueba de dos personas paso por paso. Es lo primero que hay que correr.
Lo que el prototipo no es
- El mundo es un heightmap — una altura y un material por columna. Por construcción no puede tener interiores, cuevas ni voladizos. El producto necesita un motor de voxels real, y esa decisión cambia el formato de guardado, la red y el renderer.
- El terreno no usa datos reales — es ruido determinista a partir de coordenadas reales, no elevación ni edificios importados (§05).
- La capa de cámara no está anclada — no hay VPS en el navegador. Es una demo visual, no AR (§07).
- La contabilidad vive en el cliente — la circulación de CANDY es autodeclarada, no auditada. En el producto tiene que ser doble entrada del lado del servidor (§12).
- Cada barrio es su propio mundo, no una Tierra indexada por celdas (§06).
- No hay precio por zona — toda parcela libre cuesta lo mismo, esté en el centro o en la cordillera. Es la brecha económica más grande que queda abierta.
Orden de trabajo recomendado
- Correr el plan de dos personas y cerrar lo que falle. Sin eso no se sabe si la economía compartida funciona.
- Resolver las tres decisiones de negocio abiertas: licencia de datos (§05), motor de retención (§03) y adquisición del jugador (§04).
- Decidir el motor de voxels y el índice geoespacial único antes de escribir una línea del cliente de producción.
- Recién entonces, fase 0 del roadmap (§14).