Esta sección demuestra maneras que los desarrolladores móviles escriben código y estructuran su juegos para que puedan ser rápidos. La idea principal aquí es que el diseño del juego y la optimización no son procesos separados; las decisiones que usted haga cuando usted esté diseñando su juego pueden ser ambas divertidas y rápidas.
Usted puede recordar juegos viejos dónde el jugador solamente estaba disponible a un disparo en la pantalla a la vez, y la velocidad de carga fue controlado por si la bala fallo o no, en vez de un temporizador. Esta técnica es llamada object pooling, y simplifica el manejo de memoria, haciendo que los programas corran más suave.
Los creadores de space invaders solamente tenían una pequeña cantidad de RAM, y tenían que asegurarse que su programa nunca fuera a necesitar asignar más de la disponible. Si dejaban que el jugadora disparará cada segundo, y ofrecieran un powerup que disminuyera el tiempo de carga a medio segundo, ellos hubieran tenido que asegurar que hubiera suficiente memoria en espacia para asignar muchos proyectiles en el caso dónde el jugador dispara tan rápido como sea posible, y todos los disparos viven por el tiempo más largo posible. Esto seguramente sería un problema para ellos, entonces más bien, ellos simplemente solo asignaron un proyectil y lo dejaron ahí. Tan pronto el proyectil muriera, simplemente se desactivaba, y era re-posicionado y luego activado cuando se disparará nuevamente. Pero siempre vive en el mismo espacio de memoria y no tiene que moverse o estar borrándose constantemente y recreado.
Esto casi no es realista, pero cuando sucede es divertido. La tensión es soltada en un momento climático cuando los aliens invasores se acercan al suelo, similar al climax en una película o literatura. La proximidad cercana del invasor le dal al jugador adepto casi un tiempo de carga instantáneo, permitiéndole de manera milagrosa defender la tierra al destruir la tecla de disparo en un tiempo perfecto. Un buen diseño del juego vive en un espacio bizarro entre la narrativa interactiva y la tecnología del fondo que acciona todo. Es difícil planear cosas tan buenas, divertidas y eficientes como esta, ya que la logistica del código y la interfaz del usuario son dos cosas amplias diferentes y profundamente melindrosas, y utilizarlas juntas para sintetizar algo fresco y divertido toma mucho pensamiento y experimentación.
Usted probablemente no puede planear todo aspecto de su juego en términos de interacciones y jugar bonito con un hardware móvil simultáneamente. Es más probable que estas “gemas” dónde los dos se encuentra en armonía van a emerger como accidentes mientras usted está experimentando. Pero tener un entendimiento solido de la manera de que su código corre en el hardware que usted intenta desplegar lo va a ayudar. Si usted quiere ver una explicación técnica detallada de por qué el object pooling es mejor, y aprender acerca de la asignación de memoria, ver nuestra página de Scripting Optimizations
Digamos que usted está empezando a trabajar en un juego, y quiere impresionar sus jugadores con muchas acciones y cosas llamativas que suceden a la vez. Cómo piensa planear esas cosas? Cómo sabe dónde los limites están, en términos de juego como qué tantas monedas, qué tantos zombies, qué tantos carros de los oponentes, etc? Todo depende en cómo usted programe su juego.
Por lo general, si usted escribe su código del juego de la manera fácil, o en la manera más general y versátil, usted correrá con problemas de rendimiento mucho más pronto. Entre más usted depende en unas estructuras especificas y trucos para correr su juego, habrá más horizontes expandidos, y usted será capaz de meter más cosas en la pantalla.
Ver la página de Optimizar Scripts.