Portada editorial sobre TEXTO EN PORTADA: "Montevideo jugable con datos reales". Una vista reconocible de Plaza Independencia convertida en un blockout 3D de videojuego, con calles y manzanas reales super

Estoy construyendo una Montevideo jugable a partir de datos geográficos reales

MontevideoGame es un prototipo de mundo abierto urbano que estoy desarrollando con Unreal Engine 5.8.3, C++ y Python. La idea es sencilla de explicar, aunque bastante más compleja de ejecutar: construir una primera versión jugable de Montevideo, Uruguay, utilizando datos geográficos reales y oficiales en lugar de diseñar un mapa ficticio inspirado en la ciudad.

El proyecto está todavía en una fase temprana. No es un videojuego terminado ni pretende presentarse como tal. Es un experimento técnico y una primera prueba para comprobar hasta dónde se puede llevar una ciudad real cuando sus calles, manzanas y espacios públicos se convierten en geometría interactiva dentro de Unreal Engine.

Cómo nació la idea

La referencia conceptual es la de un mundo abierto urbano, un GTA-like en el sentido más general del término: un personaje que puede recorrer una ciudad y desplazarse por un entorno construido a escala real. Pero MontevideoGame no es “GTA Montevideo”, ni una producción de ese tipo. Es un proyecto independiente centrado, de momento, en resolver los problemas técnicos que aparecen al intentar transformar información geográfica en un mundo 3D jugable.

Lo que me interesa no es solo que el escenario se parezca a Montevideo. Quiero que su estructura proceda de Montevideo: que las calles, las manzanas y la posición de los espacios públicos respondan a datos verificables y no a una interpretación manual.

Una ciudad real, no un decorado inspirado en ella

Para el proyecto estoy utilizando datos del Sistema de Información Geográfica de la Intendencia de Montevideo. El portal municipal ofrece un catálogo de datos y geoservicios, incluidos servicios WMS y WFS para visualizar o descargar información geográfica siguiendo estándares del Open Geospatial Consortium. La propia documentación de los geoservicios explica estas posibilidades.

En la fase actual, el prototipo utiliza capas relacionadas con espacios públicos, ejes de calles y manzanas urbanas. Plaza Independencia funciona como origen geográfico del desarrollo. A partir de ahí, genero una primera zona de aproximadamente 700 × 700 metros, suficiente para validar la escala, las conversiones de coordenadas, la geometría y el movimiento del personaje sin intentar cargar toda la ciudad desde el principio.

Esta decisión también obliga a ser cuidadoso con la procedencia de los datos. La información original se conserva, se procesa por separado y se acompaña de metadatos sobre su fuente, sistema de coordenadas, descarga y transformación. La trazabilidad es tan importante como el resultado visual: si una calle aparece en el prototipo, quiero poder saber de dónde sale y cómo llegó hasta el motor.

Del GIS al mundo 3D

El pipeline actual se puede resumir así:

Datos GIS oficiales → Python → procesamiento y validación → coordenadas geográficas → C++ → Unreal Engine → mundo 3D.

La parte geoespacial convierte las coordenadas WGS84 en un sistema ECEF y después en un sistema local utilizable por Unreal Engine. Todas las operaciones relevantes se realizan con precisión de doble flotante antes de pasar a las coordenadas locales del motor. El proyecto mantiene una relación de escala real de un metro por un metro y utiliza Plaza Independencia como referencia del origen.

La arquitectura separa el procesamiento GIS, la generación del mundo, el gameplay y la visualización de depuración. Python se encarga de preparar y validar los datos. C++ recibe la información procesada y genera la geometría durante la ejecución. Unreal Engine se ocupa de representar ese resultado y mantener el sistema de juego alrededor del personaje.

La documentación técnica y la estructura del repositorio pueden consultarse en el repositorio público de MontevideoGame en GitHub. Allí estoy dejando el código, la arquitectura, el pipeline GIS, la documentación, los tests y la evolución del proyecto.

Qué funciona actualmente

La base jugable ya está en marcha. El prototipo cuenta con un personaje en tercera persona, movimiento, cámara y salto. También puede recorrer una representación runtime de Plaza Independencia y de su entorno inmediato, con manzanas reales, ejes de calles y colisiones sobre la geometría generada.

El blockout todavía es deliberadamente sencillo. Sirve para comprobar si el mundo mantiene la escala esperada, si la orientación geográfica es correcta y si el personaje se mueve por un espacio que conserva la estructura básica de la ciudad. También existen primeras pruebas de generación procedural de edificios a partir de footprints reales, aunque todavía no se trata de una ciudad modelada con detalle.

El siguiente problema: levantar la ciudad

Ahora estoy trabajando en convertir ese blockout en un entorno 3D más reconocible. La lista incluye edificios procedurales, alturas, fachadas, ventanas, balcones, mobiliario urbano, vehículos, tráfico y peatones. Cada uno de estos elementos añade problemas propios de generación, rendimiento, colisiones y coherencia visual.

La prioridad no es añadir sistemas por acumular funciones, sino comprobar qué partes pueden generarse de manera consistente a partir de los datos disponibles. Un edificio procedural puede ser útil para llenar una manzana, pero también puede revelar problemas de proporción, materiales, memoria o navegación. La escala real hace que muchos errores sean fáciles de detectar: una calle demasiado ancha o una manzana mal colocada dejan de ser detalles abstractos cuando el personaje tiene que recorrerlas.

Cómo estoy usando la IA

La IA forma parte del proceso como herramienta de apoyo, no como sustituto de las decisiones técnicas. Me sirve para explorar alternativas de implementación, revisar estructuras de código, documentar partes del sistema y detectar casos límite que después tengo que comprobar con tests y dentro de Unreal Engine.

En un proyecto geoespacial, una respuesta plausible no basta. Una conversión incorrecta, una unidad mal interpretada o una geometría validada de forma incompleta pueden producir un resultado visual convincente pero técnicamente equivocado. Por eso cualquier sugerencia generada por IA tiene que pasar por el código, las pruebas y la comparación con los datos de origen.

Lo que todavía falta

Queda mucho por construir. Todavía no hay misiones, tráfico funcional, policía, una ciudad completa ni un gameplay terminado de mundo abierto. Tampoco hay que interpretar el estado actual como una versión lista para jugar durante horas: es una base de desarrollo para seguir validando el sistema.

Antes de pensar en una experiencia completa, necesito resolver cuestiones más básicas: cómo generar edificios de forma estable, cómo mantener el rendimiento, cómo gestionar las colisiones, cómo ampliar el área sin perder precisión y cómo organizar el streaming de un entorno urbano mayor.

Primeras builds y pruebas

Cuando tenga disponibles las primeras builds para Windows, me interesará probarlas en ordenadores distintos y observar qué ocurre fuera de mi entorno de desarrollo: rendimiento, compatibilidad, colisiones, escala, errores y, sobre todo, las sensaciones al recorrer el mundo.

Si te interesan este tipo de experimentos y quieres probar una de las primeras versiones de MontevideoGame, escríbeme. No busco presentar una demo cerrada, sino encontrar personas curiosas que puedan ayudarme a detectar problemas y a entender qué funciona cuando el prototipo sale de mi máquina.

MontevideoGame empieza por una zona pequeña y por problemas muy concretos. La intención es compartir el proceso mientras la ciudad pasa, poco a poco, de los datos geográficos a un mundo que se pueda recorrer.

Fuentes consultadas

Información SEO

SEO title: MontevideoGame: una Montevideo jugable con datos reales

Meta description: Así estoy construyendo MontevideoGame, un prototipo de mundo abierto basado en datos GIS reales de Montevideo, Unreal Engine, C++ y Python.

Slug: montevideogame-montevideo-jugable-datos-reales

Extracto: Estoy construyendo MontevideoGame, un prototipo de mundo abierto que transforma datos geográficos oficiales de Montevideo en una primera versión jugable con Unreal Engine, C++ y Python.

Keyword principal: MontevideoGame

Keywords secundarias: videojuego de Montevideo, mundo abierto urbano, datos GIS, Unreal Engine 5.8.3, generación procedural de edificios, desarrollo de videojuegos en C++, geodatos de Montevideo

Tags: MontevideoGame, desarrollo de videojuegos, Unreal Engine, C++, Python, GIS, generación procedural, mundo abierto