Skip to content

Cómo metió Rockstar una ciudad entera en la memoria de PlayStation 2

Liberty City parecía continua en una consola con 32 MB de memoria. Ningún milagro único lo hizo posible. Hizo falta una pila de decisiones de streaming, detalle y disposición que tenían que sostenerse todas a la vez.

Publicado el 2026-07-02 · Game design

Read this page in English

Por qué Liberty City no cabía en 32 MB

Grand Theft Auto III tiene varias facetas. Puso en marcha una de las sagas más rentables que ha producido el medio, empujó a producción una ola de imitadores de mundo abierto y generó un flujo constante de cobertura nerviosa en la prensa.

También es un número de prestidigitación técnica. Rockstar North, entonces todavía DMA Design, hizo funcionar una versión de Nueva York de cuatro kilómetros de ancho dentro del chip de 32 MB de memoria de PlayStation 2.

Hacer streaming de una ventana del mundo que se mueve

La respuesta fue mantener en memoria solo el entorno inmediato de quien juega e ir cambiando ese contenido continuamente a medida que se movía. Antes de llegar ahí, el equipo sopesó una opción más barata.

Esa opción más barata era hacer una ciudad más sencilla. Modelos 3D toscos y texturas de baja resolución habrían encogido cada isla lo suficiente para que cupiera. Cuadraba el presupuesto y dejaba a Liberty City con un aspecto soso.

El streaming era la ruta ambiciosa. Liberty City se troceó en miles de sectores pequeños. Un cuadrado invisible seguía a quien juega, se cargaban los modelos y las texturas que quedaban dentro, y se descartaban los sectores que quedaban fuera.

La distancia es lo que hace que funcione. Los recursos solían pedirse cuando todavía estaban lejos, lo que daba tiempo al lector para traerlos del DVD antes de que nadie se acercara lo bastante como para examinarlos.

En toda la ciudad había miles de modelos distintos para edificios, coches y peatones, y miles de texturas más para materiales, carteles y skins. Todo sumaba unos 130 MB. Dividir Liberty City en tres islas ayudó, pero una sola isla seguía sin caber con holgura en la memoria de la PS2.

Por qué una ciudad abierta rompe los trucos de carga de siempre

Como quien juega puede ir a cualquier parte en una ciudad, el juego no puede saber qué recursos preparar a continuación. Cargar durante el juego no era nuevo. Predecir una ciudad abierta sí.

Los juegos anteriores ya dividían los mundos en trozos y cargaban el siguiente a medida que quien juega se acercaba. Por eso tanto diseño de niveles de la época se apoya en huecos estrechos, ascensores, puertas y pasillos. Cada uno le da tiempo a la máquina para preparar la siguiente zona.

Una ciudad densa te quita esas muletas. No hay un pasillo lineal en el que apoyarse ni una puerta, un túnel o un ascensor fiables detrás de los que esconder una carga. Quien juega puede conducir en casi cualquier dirección, dar media vuelta, cortar por una manzana o quedarse mirando un monumento al otro lado del mapa.

El sistema de streaming tenía que lidiar con 360 grados de terreno abierto en lugar de con una cadena de zonas de carga disfrazadas. De ahí salieron cinco problemas: los elementos que aparecen de golpe, el resto del presupuesto de memoria, la fragmentación, los saltos del disco y la velocidad de quien juega.

Así que el juego dejó de intentar contener una ciudad y empezó a mantener una ventana. Montaba discretamente el mundo por delante del jugador y desechaba el que quedaba detrás. El techo se movió con ello: el equipo podía construir la ciudad que quisiera, siempre que la zona alrededor del jugador cupiera en memoria y se pudiera leer del disco lo bastante rápido.

Los elementos que aparecen de golpe, y los niveles de detalle que los esconden

El pop-in es lo que obtienes cuando el radio de carga es estrecho: edificios y objetos que aparecen de golpe justo antes de que quien juega llegue a ellos. El arreglo fue mirar más lejos y cargar a distintos niveles de detalle.

Los sectores cercanos se cargaban completos. Los más lejanos solo necesitaban sus formas más grandes, es decir, edificios, puentes, barcos, grúas y todo lo que se lee en el horizonte.

Esas formas lejanas eran sustitutos simplificados de pocos polígonos con texturas de baja resolución. A medida que quien juega se acercaba, el modelo y la textura de verdad llegaban por streaming y se fundían sobre el sustituto barato.

Esto es el nivel de detalle, o LOD, y llegaba también al otro lado del agua. Portland, Staunton y Shoreside tenían cada una versiones lejanas de pocos polígonos que servían de paisaje en el horizonte, con versiones distintas según la dirección desde la que se miraba. No se gana nada dibujando la parte de atrás de un rascacielos que solo se puede ver desde el este.

El resto del juego también quiere memoria

La geometría de la ciudad era solo una parte de los 32 MB. La animación, la IA de los peatones, la física, la posición del último coche de quien juega y una larga lista de sistemas más vivían en el mismo espacio.

La radio era la excepción, porque las emisoras podían sonar directamente desde el DVD. Todo lo demás significaba que solo quedaba libre una parte de la memoria para el streaming de la ciudad. San Andreas, en la misma consola y con el mismo linaje general de motor, deja la cifra en su stream.ini: unos 13,5 MB reservados para el streaming de la ciudad.

El tráfico y las multitudes también necesitaban su parte. Grand Theft Auto III tenía unos 60 tipos de vehículo, y mantener toda la flota en memoria era impensable. En su lugar, el juego usaba un grupo estricto, con ocho tipos de vehículo cargados a la vez.

Un coche que aparecía tenía que ocupar una de esas ocho plazas o echar a un tipo más antiguo. El grupo también tenía que cubrir el coche en el que iba quien juega, el que conducía antes, los coches aparcados cerca y fijos como los taxis y los coches de policía.

La recompensa es un horizonte urbano que sigue siendo legible para la inmersión y la navegación, mientras que la lejanía cuesta una fracción de la memoria.

La memoria fragmentada y el gestor hecho a medida

Cargar y descargar todo el día fragmenta la memoria. Los recursos pequeños dejan huecos pequeños, y el espacio libre puede sumar mucho sin que nada esté en una sola pieza.

Un recurso más grande que llega después puede no encontrar un bloque continuo que ocupar. Si se coloca más allá del final del presupuesto, se lleva el juego por delante.

Rockstar escribió su propio gestor de memoria para eso, uno que podía juntar y mover bloques para mantener la fragmentación bajo control. También podía liberar recursos de forma agresiva cuando hacía falta, descartando cosas detrás de la cámara o trozos lejanos del horizonte para recuperar espacio.

Una segunda táctica fue hacer que muchísimos archivos de recursos tuvieran exactamente el mismo tamaño. Cientos de modelos y texturas pesaban 2 KB, y cientos más 4 KB. Los recursos del mismo tamaño encajan limpiamente en los huecos de los demás en lugar de abrir otros nuevos.

Probarlo consistía en enganchar al personaje al tren que da vueltas por Portland y dejar varios kits de desarrollo de PS2 funcionando toda la noche. Los primeros intentos se caían en minutos. Los siguientes duraban más. Al final, el juego podía meter y sacar recursos hasta la mañana sin caerse.

Nada del streaming funcionaba de forma aislada. Cada sistema vecino tuvo que recortarse y limitarse para que la ciudad tuviera espacio para respirar.

El tiempo de búsqueda del disco y cómo se colocaron los recursos

Un DVD lee bien los datos continuos y salta mal entre archivos dispersos. Cada salto es una búsqueda, y significa mover el cabezal láser, dejar que acelere, se asiente y vuelva a leer.

Grand Theft Auto III pedía constantemente al lector de la PS2 lecturas dispersas. La respuesta de Rockstar fue controlar dónde estaban físicamente los recursos en el disco. Los datos de la misma parte de la ciudad se agrupaban, así que traer edificios y calles vecinos significaba un viaje más corto para el láser.

El lector además no atendía las peticiones estrictamente en el orden en que llegaban. Podía dar prioridad a lo que estuviera más cerca de la posición de lectura actual, recortando el tiempo de búsqueda.

El equipo también probó a duplicar recursos comunes por el disco. Guardar varias copias de un árbol o una farola junto a distintos trozos de datos de la ciudad puede ganar a volver a buscar una única copia maestra cada vez que aparece el objeto.

La idea sobrevivió a la consola. Juegos posteriores han duplicado objetos comunes en soportes físicos por el mismo motivo. El hardware de almacenamiento cambió y la limitación de fondo no: un mundo solo aparece con fluidez si sus datos llegan a la memoria a tiempo.

Limitar la velocidad de quien juega para que el disco llegue

Cuando se acabó la optimización, la última palanca fue quien juega. Muévete por Liberty City lo bastante rápido y dejas atrás al sistema de streaming: ves el mundo montarse delante de ti o te caes por un suelo que no ha llegado.

Así que el juego te frenaba. Los coches tenían velocidades máximas firmes. En ciertas partes de la ciudad, la resistencia del aire de los vehículos se subía en silencio unos pocos puntos porcentuales, demasiado poco para notarlo y lo bastante para darle ventaja al streaming.

Volar quedó descartado. El único avión del juego estaba recortado para que apenas despegara del suelo. No era solo una preferencia de diseño. Ver Liberty City desde arriba sacaría a la luz casos extremos para los que la ciudad nunca se construyó.

El propio mapa se adaptó. Portland tenía al principio una calle principal larga en la que se cogía velocidad más rápido de lo que el código podía cargar los edificios que la flanqueaban. Se colocó un edificio grande en medio de ese tramo para romper la recta.

La idea sobrevivió a la consola. Juegos posteriores han duplicado props comunes en el soporte físico por la misma razón. El hardware de almacenamiento cambió y la restricción de fondo no: un mundo solo aparece de forma fluida si sus datos llegan a la memoria a tiempo.

Lo que heredaron los mundos abiertos posteriores

Jugado con normalidad, Grand Theft Auto III casi nunca enseña sus cartas, y ese es el logro. Edificios, árboles, coches y texturas entran y salen de la memoria sin pausa, y la ilusión en general se sostiene.

La misma base siguió durante el resto de la vida de PS2. Vice City gestionó los helicópteros pasando a modelos de pocos polígonos por encima de cierta altitud, para dejar memoria libre para los horizontes lejanos. San Andreas quitó las cargas bruscas entre islas en parte separando sus ciudades con suficiente campo como para que una saliera de la memoria antes de que llegara la siguiente.

Se descartó volar. El único avión del juego estaba limitado para que apenas despegara del suelo. No era solo una preferencia de diseño. Ver Liberty City desde arriba sacaría a la luz casos límite para los que la ciudad nunca se construyó.

Los discos de estado sólido eliminan la búsqueda mecánica, lo que ayuda, pero los mundos abiertos siguen metiendo y sacando datos de la memoria. El principio no se ha movido: enseña suficiente mundo, con suficiente detalle, en el momento en que quien juega lo necesita.

Es un buen recordatorio de que los límites técnicos dejan huellas en el diseño de niveles. Un mapa no es solo arte y orientación. También es un dispositivo para mantener el sistema de streaming dentro del rango en el que funciona.

Lo que heredaron de él los mundos abiertos posteriores

Jugado con normalidad, Grand Theft Auto III casi nunca enseña sus cartas, y ese es el logro. Edificios, árboles, coches y texturas pasan por la memoria sin pausas, y la ilusión en general se sostiene.

Esa misma base se mantuvo durante el resto de la etapa de PS2. Vice City gestionaba los helicópteros cambiando a modelos low-poly por encima de cierta altitud, para dejar memoria libre para los horizontes lejanos. San Andreas eliminó las pausas de carga entre islas en parte separando sus ciudades con suficiente campo como para que una pudiera salir de la memoria antes de que llegara la siguiente.

Un hardware mejor no jubiló la técnica. Lo que hizo fue elevar la ambición. Una máquina moderna puede contener toda la Liberty City de Grand Theft Auto III a la vez, pero sigue sin poder contener un mundo abierto mucho más reciente con todo su detalle.

Las unidades de estado sólido eliminan el tiempo de búsqueda mecánico, lo que ayuda, pero los mundos abiertos siguen moviendo datos dentro y fuera de la memoria. El principio no ha cambiado: mostrar suficiente mundo, con suficiente detalle, en el momento en que el jugador lo necesita.

Liberty City funcionó en un hardware limitado porque una ventana de streaming en movimiento, sustitutos LOD, pools de assets estrictos, un gestor de memoria a medida, una disposición del disco deliberada y límites de velocidad discretos se diseñaron juntos. La hazaña nunca fue que cupiera toda la ciudad. Fue que los jugadores creyeran que cabía. Solo sabes si tu propio mundo aguanta igual ejecutando la build y recorriéndolo en coche.

Build it in Flockbay

En la app de Flockbay, no pidas una ciudad. Pide tres manzanas que se carguen en streaming mientras el jugador conduce y una misión que solo necesite esas manzanas. Juega el trayecto. Si la misión requiere una cuarta manzana que aún no puedes ver, la misión es más grande que la máquina que finges tener.

Un creador de juegos de mundo abierto con IA y una plantilla de aventura de mundo abierto son la tentación de pedirlo todo. Tres manzanas.

Descarga Flockbay

Los mundos grandes se sostienen cuando la memoria, la distribución, la velocidad de desplazamiento y el detalle visual se planifican como un solo sistema, y la forma más rápida de saber si el tuyo lo consigue es jugarlo.

Más notas sobre diseño de juegos

Sigue leyendo