android

En esta sección encontrarás todo lo relacionado con dispositivos Android, desde tutoriales, análisis, juegos, aplicaciones, documentación, trucos, etc. 

Tutorial videojuegos: juegos con perspectiva isométrica

Hoy comenzamos un tutorial de programación de juegos con perspectiva isométrica, iré completandolo a medida que vaya realizando el juego que estoy preparando. Espero servirte de ayuda si estás preparando un juego isométrico.

Históricamente la perspectiva isométrica podríamos decir que apareció en los años 80 con los ordenadores de 8 Bits. Yo recuerdo el Ant Attack de Spectrum que fue el primer juego para ordenador que usó esta perspectiva, para otras plataformas fueron el Zaxxon y el Q*Bert. Más adelante aparecieron autenticas maravillas de la técnica como el Knight Lore o el Hear Over Heels sin scroll y el The Great Escape con scroll. Nosotros intentaremos hacer un juego isométrico sencillo para comenzar y más adelante quien sabe, igual nos lanzamos y hacemos uno que supere a los grandes clásicos. Seguir leyendo sobre Tutorial videojuegos: juegos con perspectiva isométrica

Tutorial videojuegos: Trucos en Andengine

juego android tutorial programacion videojuegos

En esta sección del tutorial de desarrollo de videojuegos voy a poner los trucos que solucionan problemas que me he encontrado en Andengine.

Retardo y congelación en el juego

Durante unos segundos en el juego parece que todo va "a saltos", como si perdiera los FPS. Esto me costó mucho averiguar por qué ocurría. En mi caso ocurría al principio del juego, pero puede ocurrir en cualquier momento. Esto es porque usamos textos pero no hemos precargado los caracteres, entonces cuando durante el juego le decimos a Andengine que pinte un texto, tiene que cargar las letras una a una. Si luego le pedimos que pinte otras letras y son distintas, volvera a ir a saltos. Esto ocurre por ejemplo si pintamos la puntuación. Para solucionar esto hay que precargar todas la letras posibles que pueda tener nuestros textos: Seguir leyendo sobre Tutorial videojuegos: Trucos en Andengine

Tutorial videojuegos: pool de sprites

juego android fruit pool objetos

Cuando se crea un videojuego uno de los problemas con los que se encuentra un desarrollador de videojuegos es la caida de rendimiento cuando hay muchos sprites. Lo que hacemos todos al crear un videojuego con enemigos es ir creando sprites de enemigos a medida que los vamos necesitando. Cuando un enemigo muere, matamos el sprite para que se vaya al Garbage Collector. Esa forma de trabajar parece la más sencilla y la lógica, pero el rendimiento del juego cae exponencialmente.

¿Por qué noto lags durante el juego?

Si creas sprites en tiempo de juego... estás haciendo algo incorrecto. Los sprites se crean antes de comenzar el juego, si no, lo que nos ocurrirá es que aparecerán saltos ya que crear sprites es algo costoso y probablemente a nuestro motor de videojuegos no le de tiempo a renderizar la pantalla, mover sprites y además leer las texturas para crear los sprites nuevos. Seguir leyendo sobre Tutorial videojuegos: pool de sprites

Tutorial videojuegos: Modificadores de sprites

juego con pathmodifier android

Cuando programamos un videojuego una de las cosas que solemos necesitar es mover un sprite de un lado a otro, ampliarlo, rotarlo, etc. Esto podemos hacerlo a mano calculando la recta que une el punto inicial al final y moviendo determinados pixeles en el eje X y en el eje Y siguiendo dicha recta. Además deberemos hacerlo en un tiempo determinado para que el sprite lleve la velocidad que queramos. Esto no sé si os parece fácil pero no lo es. Además de que además podemos querer que ademas de moverse lo haga con distintos efectos (rebotes, aceleración, etc). Esto complica mucho el desarrollo de videojuegos. Si además queremos combinar movimientos (giros, desplazamientos, ampliaciones,...) la cosa se vuelve bastante complicada. Seguir leyendo sobre Tutorial videojuegos: Modificadores de sprites

Tutorial videojuegos: Fondos parallax

tutorial curso programacion videojuegos android arkanoid

Los parallax son una forma muy sencilla de hacer vistosos nuestros juegos. El referente (no sé si el inventor también) de los fontos parallax fue el Sonic de Sega. Los fondos Parallax son fondos que suelen acompañar (aunque no siempre) al movimiento del jugador pero a distinta velocidad. Si se combinan varios fondos parallax con distintas velocidades el efecto es muy chulo creando una sensación de profundidad casi 3D.

Normalmente los parallax son horizontales y se mueven acompañando al usuario, pero yo en el juego Arkandroid tuve que hacer un fondo parallax, podéis ver el vídeo de ejemplo más abajo. La librería Andengine no disponía de fondos parallax verticales así que basándome en la que tiene horizontal programé una clase que hace parallax verticales. En mi caso son dos fondos a distintas velocidades que se mueven solos, es decir, sin seguir al usuario. Seguir leyendo sobre Tutorial videojuegos: Fondos parallax

Tutorial videojuegos: Scrolling y uso de HUDS

juego android the hump

La mayoría de los juegos suelen tener scroll durante su desarrollo. Esto suele ser un quebradero de cabeza para los programadores que no usan librerías de ayuda en la programación. Voy a explicar como se hace scroll en Andengine, como veréis será muy sencillo. Además explicaré qué es un HUD y para qué se usa en los juegos con scroll.

Creación de un juego con Scroll

Crear un juego con scroll es muy dependiente de la librería de programación de videojuegos que usemos. Yo voy a explicar cómo se hace en Andengine que es una librería muy útil para hacer videojuegos. Seguir leyendo sobre Tutorial videojuegos: Scrolling y uso de HUDS

Tutorial videojuegos: carga de Sprites

Juego android space4kids gratis

Capítulo 3 del curso de programación de videojuegos.

Si habéis llegado hasta aquí es porque sabéis lo que es un sprite, pero por si acaso os daré una breve explicación. Un sprite es una imagen que cargamos en memoria y con la que el usuario y /o la aplicación interactuará. Los Sprites normalmente se realizan en PNG por los motivos que comentamos anteriormente.

En la mayoría de motores gráficos los sprites y fondos (un fondo no es realmente un sprite) se deben cargar en memoria usando lo que se llaman Atlas. Los atlas son superficies de memoria donde se añaden las imágenes unas pegadas a otras ocupando una superficie determinada. De esta se ahorrará rendimiento y memoria. Estos Atlas tienen tamaños que definiremos en nuestra programación como superficies de un ancho y alto potencias de 2. Es común hacer atlas de tamaños como estos: {256x256}, {512x256}, {1024x512}, etc dependiendo del tamaño de las imágenes que vayan a contener. Seguir leyendo sobre Tutorial videojuegos: carga de Sprites

Tutorial videojuegos: Carga de recursos en un videojuego

tutorial programacion videojuegos carga recursos

Capítulo 2 del curso de programación de videojuegos.

Cuando estamos programando un videojuego una de las cosas que necesitamos es la carga de recursos (imágenes, sonidos, archivos de texto, etc). Para cargar recursos hay que tener algunas cosas importantes a la hora de hacerlo:

No cargar recursos en tiempo de ejecución:

En adelante cuando hable de disco hay que entender que me refiero a disco si es un pc y a memoria sólida si es un móvil. Los recursos gráficos y sonidos deben de cargarse de disco, esto consume tiempo de proceso. Durante el juego debemos evitar cargar nada de disco ya que si lo hacemos nos ocurrirá que el juego sufrirá un pequeño parón e irá a saltos ya que los FPS se reducirán durante el tiempo que se tarde la lectura. Puede parecer poco, pero os aseguro que cargar una pequeña imagen en tiempo de juego se notan los tirones. Seguir leyendo sobre Tutorial videojuegos: Carga de recursos en un videojuego

Tutorial videojuegos: Variables de juego persistentes (SharedPreferences)

captura de pantalla de videojuego android de nuestro tutorial

Capítulo 1 del curso de programación de videojuegos.

Variables de juego persistentes (SharedPreferences)

A veces es necesario guardar determinados datos durante el juego para que estén disponible en ejecuciones posteriores. Ejemplos de estos datos son: puntuaciones, progreso del jugador, mapas creados por el jugador, etc. Esto puede hacerse de forma muy sencilla usando una característica de la programación Android que se llama SharedPreferences. Las SharedPreferences son "cajones" persistentes donde podemos guardar cualquier tipo de información, desde cadenas hasta booleanos pasando por enteros. Estos cajones son persistentes hasta que el usuario borra los datos de la aplicación para liberar espacio o desinstala la app.

Inserción de datos en las SharedPreferences

Os ponemos un poco de código para mostraros cómo se meten varias variables en las SharedPreferences (enteros, booleanos y strings) Seguir leyendo sobre Tutorial videojuegos: Variables de juego persistentes (SharedPreferences)

Curso de programación de videojuegos móviles en Android

captura de pantalla de videojuego

Comenzamos un curso de teoría de programación de videojuegos para móvil. Aunque estará basado en videojuegos para Android, muchos de los conceptos teóricos son aplicables a otros sistemas como iPhone o Windows (adaptando los códigos fuente). Este curso será una explicación teórica de los fundamentos de los videojuegos, por tanto no esperéis muchas lineas de código, simplemente encontraréis las bases teóricas para hacer un videojuego y nociones de código muy sencillas. Una vez cogido los conceptos básicos podríais buscar un tutorial con código, pero antes de eso es lógico que debáis saber qué es lo que se puede hacer y cómo se hace a la hora de programar un videojuego para móvil.

Recordad, este curso usará cosas de Andengine (librería para desarrollo de videojuegos) y Java (para programar android). Si no conoces estas dos tecnologías, no pasa nada, podrás seguir el curso para comprender los conceptos básicos y luego adaptarlos a la librería que vayas a usar. Seguir leyendo sobre Curso de programación de videojuegos móviles en Android

Juego estilo retro: Super Cauldron

juego android super cauldron

Hoy me gustaría comentaros un juego gratuito de reciente aparición en Google Play que creo que a muchos de nuestros lectores seguramente les pueda gustar: Super Cauldron

Con nuestra calabaza deberemos ir saltando por las plataformas hasta llegar al caldero. Cada fase pondrá a prueba nuestro ingenio y nuestras dotes mentales para resolver cómo llegar hasta el final. Encontraremos objetos que se atienen a la física del mundo real, con inercia, rozamiento y masa.

En una de las opciones del menú encontraremos un botón que nos permitirá acceder a un editor de niveles, esta función es uno de los platos fuertes de la app. Podremos desarrollar nuestros propios niveles! Probadlo y veréis que es bastante divertido. Seguir leyendo sobre Juego estilo retro: Super Cauldron

Problema Moto G al ampliar memoria con tarjeta SD

ampliar memoria moto g

Como comentamos en el artículo Ampliar memoria de android con tarjeta SD desde android 6 se puede usar una tarjeta de memoria SD como memoria interna en los Android.

Éste método es muy útil para poder tener mas de 8GB en nuestro terminal. Muchas aplicaciones se instalarán directamente en la tarjeta SD y las fotografías se grabarán en la tarjeta. El método es sencillo y está muy bien salvo por un matiz: Seguir leyendo sobre Problema Moto G al ampliar memoria con tarjeta SD

Ampliar memoria de Android con tarjeta SD como memoria interna

Foto de https://www.flickr.com/photos/chicuco/

Cuando nos compramos un teléfono móvil Android con 8 GB de memoria (o menos) puede parecernos más que suficiente ya que para llenar eso creemos que tardaremos años. Pronto nos damos cuenta de que los 8GB se nos quedan cortos principalmente porque... ¡No son 8GB! Realmente gran parte están ocupados por el Sistema Operativo y las aplicaciones que no se pueden borrar. Con lo cual con suerte dispondremos de la mitad de espacio para nuestras fotos y aplicaciones.

Antes de seguir, si tienes un Moto G te recomendamos leas este artículo sobre el problema de montar tarjeta sd como memoria interna en el Moto G Seguir leyendo sobre Ampliar memoria de Android con tarjeta SD como memoria interna

¿Por qué AA en los móviles es inútil?

tutorial movil

Hace algún tiempo, en la publicidad de las marquesinas, aparecieron anuncios en los que nos decían que en los contactos de teléfonos móviles había que poner un contacto llamado "AA NOMBRE" (avisar a). Al empezar con AA, dicho contacto aparecería el primero de la lista de nuestro móvil. De esta forma si nos ocurría algún accidente los sanitarios/policía podrían avisar a nuestro familiar de forma muy sencilla.

La idea es (era) muy buena, así que muchísima gente la puso en práctica y es cierto que la mayoría de la gente que conozco tiene un contacto que empieza por "AA", incluso yo mismo lo tengo (o tenía)...

¿Por qué es inútil en la mayoría de los casos?

Pues porque la mayoría de las personas tienen un PIN o un patrón que bloquea el móvil, con lo cual no es posible acceder a los contactos... Vaya putad... ¿no? Una idea que fue muy buena en la época en que no se ponía PIN en el móvil ha quedado desfasada. ¿O no? Seguir leyendo sobre ¿Por qué AA en los móviles es inútil?

Programación: Andengine tiene retardo durante juego

tutorial programacion andengine

Comenzamos hoy con un breve tutorial de Andengine en el que explicamos como evitar que durante tiempo de ejecución de nuestros juegos android haya retardos. Pero...

¿Qué es Andengine?

AndEngine es un framework que nos ayuda en el desarrollo de videojuegos encargándose de cosas como la carga de texturas, animaciones, movimiento de sprites, etc para que sólo tengamos que preocuparnos de cómo desarrollar el juego. De esta forma, Andengine nos libra de programar las "primitivas". Básicamente hay dos versiones disponibles de Andengine:

  • Gles1: Esta versión es más antigua, no es recomendable porque por ejemplo la carga de texturas es manual dificultándose el proceso. 
  • Gles2: Esta versión es la más moderna y la que se usa más a menudo. Por ello recomendamos fehacientemente descargar esta.

Una vez explicado Andegine (suponemos que ya sabías qué era si has llegado a esta sección). Vamos al tema que nos ocupa Seguir leyendo sobre Programación: Andengine tiene retardo durante juego

Páginas

Información de interés sobre tecnología