Detalle del libro
Ver Índice
Agradecimientos
Sobre el autor
Sobre el revisor técnico
Introducción
Unas palabras sobre el público a quién va dirigido esta obra
Cómo está organizado el libro
Convenciones
Código fuente
1. Android, el nuevo chico del barrio
Una pequeña historia sobre Android
Fragmentación
El papel de Google
Android: el proyecto en código abierto
Android Market
Desafíos, dispositivos y Google I/O
Propiedades y arquitectura de Android
El kernel
El tiempo de ejecución y Dalvik
Las librerías del sistema
El framework de la aplicación
El kit para el desarrollo de software
La comunidad de desarrolladores
Dispositivos, dispositivos, dispositivos
Hardware
Primera generación, segunda generación y la próxima generación
Los juegos para móviles son diferentes
Una máquina de juegos en cada bolsillo
Estar siempre conectado
Jugadores casuales y fijos
Un mercado grande para pequeños desarrolladores
Resumen
2. Primeros pasos con Android SDK
Configurar el entorno de desarrollo
Configurar el JDK
Configurar el kit Android SDK
Instalar Eclipse
Instalar el complemento ADT para Eclipse
Una visita rápida por Eclipse
hello World, el estilo Android
Crear el proyecto
Explorar el proyecto
Escribir el código de la aplicación
Ejecutar y depurar aplicaciones Android
Conectar un dispositivo
Crear un dispositivo virtual Android
Ejecutar una aplicación
Depurar una aplicación
LogCat y DDMS
usar ADB
Resumen
3. 101 formas de desarrollar juegos
Géneros: uno para cada gusto
Juegos casuales
Los rompecabezas
Juegos arcade y de acción
Juegos de estrategia
Innovación
Diseñar un juego: el papel es más poderoso que el código
Mecánica del juego
Una historia y el estilo del arte
Pantallas y transiciones
El código
La aplicación y el gestor de la ventana
Entrada
Archivo de E/S
Audio
Gráficos
El framework para juegos
Resumen
4. Android para desarrolladores de juegos
Definir una aplicación Android: el archivo declarativo
El elemento
El elemento
El elemento
El elemento
El elemento
El elemento
Configurar el juego de Android en 10 pasos
Definir el icono del juego
Conceptos básicos de la API de Android
Crear un proyecto de prueba
El ciclo vital de la actividad
Gestionar el dispositivo de entrada
Gestión de archivos
Programar el audio
Reproducir efectos sonoros
Streaming de música
Programación de gráficos básicos
Forma de trabajar recomendada
Resumen
5. Framework para desarrollar juegos de Android
Plan de ataque
La clase AndroidFileIO
AndroidAudio, AndroidSound y AndroidMusic
AndroidInput y AccelerometerHandler
AccelerometerHandler
La clase Pool
KeyboardHandler
Controladores táctiles
AndroidInput
AndroidGraphics y AndroidPixmap
Controlar diferentes tamaños de pantallas y sus resoluciones
AndroidPixmap
AndroidGraphics
AndroidFastRenderView
AndroidGame
Resumen
6. Mr. Nom invade Android
Crear los recursos del juego
Configurar el proyecto
MrNomGame: la actividad principal
Recursos: un almacén para ellos
Configuración: registrar las puntuaciones máximas y las opciones del usuario
LoadingScreen: recuperar los recursos almacenados en un disco
La pantalla del menú principal
Las clases HelpScreen
La pantalla de las puntuaciones máximas
Dibujar los números
Implementar la pantalla Screen
Abstracción
Abstraer el mundo de Mr. Nom: Modelo, Vista y Controlador
La clase GameScreen
Resumen
7. Introducción a OpenGL ES
¿Qué es OpenGL ES y por qué es importante?
Una analogía para explicar el modelo de programación
Proyecciones
El espacio de los dispositivos normalizados y la ventana de visualización
Matrices
El flujo de trabajo del dibujo
Antes de empezar
GLSurfaceView
GLGame
Mira mamá ¡tengo un triángulo rojo!
Definir la ventana de visualización
Definir la matriz de proyección
Especificar triángulos
Combinarlo todo
Especificar el color de cada vértice
onversión de texturas
Coordenadas de la textura
Cargar mapas de bits
Filtrar texturas
Liberar texturas
Un fragmento de código muy útil
Activar la textura
Combinarlo todo
Una clase Texture
Vértices indexados
Combinarlo todo
Una clase Vertices
Mezcla del canal alfa
Más primitivas: puntos, líneas, trazos y abanicos
Transformaciones 2D: divertirse con la matriz modelo-vista
El espacio del mundo y el espacio del modelo
De nuevo las matrices
Un primer ejemplo usando la traslación
Más transformaciones
Optimización de cara al rendimiento
Medir la frecuencia de muestreo
El curioso caso de Hero en Android 1.5
¿Por qué es tan lento el dibujo con OpenGL ES?
Prescindir de todos los cambios de estado que no sean necesarios
Reducir el tamaño de la textura implica recuperar menos píxeles
Reducir las llamadas a los métodos OpenGL ES/JNI
El concepto de asociar vértices
En conclusión
Resumen
8. Trucos para programar juegos 2D
Antes de empezar
El vector
Trabajar con vectores
Un poco de trigonometría
Implementar una clase Vector
Un ejemplo sencillo
Un poco de física en 2D
Newton y Euler, a partir de ahora nuestros mejores amigos
Fuerza y Masa
Experimentar, desde el punto de vista teórico
Experimentar, desde el punto de vista práctico
Detección de colisiones y representación de objetos en 2D
Formas envolventes
Construir formas envolventes
Atributos de los objetos del juego
Detección de colisiones de fase ancha y estrecha
Un ejemplo elaborado
Una cámara en 2D
La clase Camera2D
Un ejemplo
Mapa de texturas: por qué compartir es importante
Un ejemplo
Ocultar OpenGL ES con regiones de texturas, modelos y lotes
La clase TextureRegion
La clase SpriteBatcher
Animación de modelos
La clase Animation
Un ejemplo
Resumen
9. Super Jumper: un juego 2D en OpenGL ES
Mecánicas del juego
Una historia y el estilo del arte
Pantallas y transiciones
Definir el mundo virtual del juego
Crear los recursos
Los elementos de la interfaz del usuario
Trabajar con texto empleando fuentes bitmap
Los smartphones y tablets con Android están por todas partes, con mejores capacidades y mayor potencia, se han convertido en plataformas ideales para juegos.
Con los nuevos dispositivos también aparecen nuevos métodos de control; juegos que utilizan el GPS o la brújula, o las nuevas formas para interactuar que ofrecen el acelerómetro y las pantallas multitáctiles. Esto representa un nuevo desafío para los diseñadores y programadores de juegos que tienen con Android Market millones de clientes potenciales en unos pocos minutos.
Esta obra ofrece todo lo necesario para el desarrollo de juegos para Android de forma sencilla y eficaz. Con una amplia y detallada temática apoyada con ejemplos prácticos que le guiarán en cada una de las fases del proceso de creación de juegos; desde las bases de Android, la programación de gráficos y sonidos, OpenGL ES, e incluso el desarrollo de juegos en 3D.