¿Recuerdan ustedes aquella pequeña maravilla llamada Epic Citadel, primera aplicación iOS realizada con Unreal Engine? Aquella aplicación, era lo que se denominaba una demo técnica, no un juego, y nos permitía movernos por un escenario y ver las posibilidades del motor en una aplicación universal para iPhone y iPad.

Pues ahora, una empresa de desarrollo llamada Codenrama, acaba de presentar una nueva demo técnica para iOS, universal en iPad y iPhone, que además es capaz de sacar todo el potencial a dispositivos de nueva generación como el iPad 2. Entendemos que este puede ser el adelanto de un interesante juego para iOS. Podeís descargar esta demo de manera gratuita desde la App Store.

Si echamos la vista atrás, vemos que hemos podido disfrutar del gran juego Infinity Blade, y sabemos que el estupendo motor Unreal Engine es capaz de generar automáticamente aplicaciones para iOS, pero ¿por qué no hay más juegos que usen este potencial? La primera y más fácil explicación es porque no es fácil ni sencillo realizar un juego desde 0 cuando no se tiene un trabajo prehecho con respecto al mismo (la secuela de un juego, por ejemplo, que recoge el motor del anterior, lo mejora, tamiza niveles y a pasar por caja nuevamente). La segunda, es que Unreal Engine usa un modelo de negocio de reparto de ganancias, de forma que cualquier juego realizado y puesto a la venta con este motor, ha de pagar un porcentaje de las ventas a Epic Games.

En el caso de iOS, podemos ver más causas aun, porque no hay muchos precedentes de juegos 3D y estos siempre tendrá un problema muy grave (a mi parecer) en un dispositivo iOS: los controles táctiles. Estos son verdaderamente incómodos para un tipo de juego 3D de las características de un juego en primera persona o de tipo rol. Hay gente que se acostumbra a ello, pero no es lo común. Lo normal es entender que el mando físico es mucho mejor (en mi caso, prefiero incluso un teclado a un pad de consola).

Pero en este caso, los propios desarrolladores de Codenrama nos cuenta un factor muy importante, en un artículo para toucharcade.com. Un factor con el que yo personalmente como desarrollador de iOS me he tenido que pelear recientemente: la memoria de los dispositivos.

Mientras desarrollábamos Castlerama, tuvimos que enfrentarnos al hecho que los nuevos dispositivos como el iPhone 4 o el iPad 2 son muy diferentes de sus predecesores. El iPhone 3GS o el iPad, tienen la mitad de memoria que los otros. Para poder ejecutar la aplicación en todos los dispositivos, tuvimos que comprometer un poco empujando a los viejos dispositivos algo más allá de sus límites (con el riesgo de posibles cuelgues si hay otras aplicaciones ejecutándose) mientras manteníamos a los nuevos dispositivos perfectamente dentro de sus posibilidades. En el futuro, creo que tendremos que desarrollar dos versiones de cada aplicación.

En la propia web de Codenrama, nos dicen que si tenemos un iPad 1 o un 3GS, antes de ejecutar la demo cerremos todas las aplicaciones abiertas desde la barra de programas abiertos de la multitarea, y que tengamos paciencia en la carga de los niveles. Que esperemos al menos 15 segundos antes de pensar si se ha podido colgar la aplicación. Sin embargo, para los iPhone 4 y iPad 2, solo recomienda algo tan natural como que si hay cualquier problema extraño, se cierre la aplicación desde la barra multitarea para luego volver a abrirla.

Parece una tontería, pero recordemos que iPhone 3GS y iPad tienen 256Mb. de memoria RAM, y iPhone 4 y iPad 2 la duplican con 512Mb. Esto, para un uso normal de aplicaciones o juegos al uso, es más que suficiente. Pero cuando son aplicaciones muy pesadas que requieren tener gran cantidad de información cargada en memoria, finalmente representa un problema. Yo personalmente, estoy desarrollando un juego que cuenta con gráficos de gran tamaño, y tras tener varias partes realizadas para el iPad, he tenido que aplicar técnicas de compresión en memoria para no comprometer la estabilidad del dispositivo.

Cuando te pones a intentar exprimir las posibilidades de un dispositivo como este, tienes que tener muy claro cuáles son las posibilidades y cómo has de gestionar la memoria. En mi caso, ayudó la integración del formato PVR (formato de texturas PowerVR) que permite al iPad tratar los gráficos comprimidos directamente desde el chip gráfico (ocupando menos memoria) y el uso de hojas de sprites (técnicamente spritesheets) que engloban todos los posibles componentes de una pantalla, nivel o escena en una sola imagen a modo de mosaico. Todo esto ha servido para superar el escollo encontrado con este tema y permitir a la aplicación reducir drásticamente el consumo de memoria.

Si nos ponemos a pensar en lo que pueden ocupar las texturas que usa esta magnífica demo técnica, y que todas han de estar cargadas en memoria para que se dibuje el escenario con fluidez, podemos acercarnos a la idea del problema que este equipo de desarrolladores ha podido tener. Da la impresión que tal vez no se supo ver en su momento hasta dónde podía llegar iOS, aunque ahora podemos certificar que con 512Mb, en principio y tal como el sistema gestiona la memoria, no tendremos problema en mucho tiempo. Tened en cuenta que estamos hablando de procesos que se acercan peligrosamente al límite en un dispositivo de 256Mb. Pero ponerle el doble de memoria, da garantías para mucho tiempo.

Lo que sí podemos ver, es que ya se dibuja en el horizonte la peligrosa línea de separación entre el iPhone 3GS y el iPad de primera generación, con respecto a sus hermanos mayores. Tengo la extraña impresión, que cuando se decida llevar a estos a la obsolescencia, la memoria del mismo será uno de los argumentos que se esgrimirán.

Recibe cada mañana nuestra newsletter. Una guía para entender lo que importa en relación con la tecnología, la ciencia y la cultura digital.

Procesando...
¡Listo! Ya estás suscrito

También en Hipertextual: