El documento describe el desarrollo de dos videojuegos para la plataforma Android. Incluye una introducción a Android, la estructura de los videojuegos y detalles sobre los dos juegos desarrollados, incluyendo sus objetivos, jugabilidad y arquitectura. También proporciona información sobre las horas dedicadas al proyecto y su coste económico total. Finalmente, presenta conclusiones generales sobre el desarrollo de videojuegos para Android.
Desarrollo de videojuegos sobre la plataforma Android
1. Desarrollo de videojuegos sobre
la plataforma Android
Facultad de Informática de Barcelona
David García Povedano
2. Índice
1. Objetivos del proyecto
2. ¿Qué es Android?
3. Las aplicaciones en Android
4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung”
6. Videojuego “Terrestrial Blast!”
7. Horas dedicadas y coste económico
8. Conclusiones
02/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
3. Índice
1. Objetivos del proyecto
2. ¿Qué es Android?
3. Las aplicaciones en Android
4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung”
6. Videojuego “Terrestrial Blast!”
7. Horas dedicadas y coste económico
8. Conclusiones
03/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
4. Objetivos del proyecto
• Estudio y análisis de la plataforma Android en el
contexto del desarrollo de videojuegos en 2D.
• Desarrollo de un primer videojuego de mecánica
sencilla con el que integrar los conocimientos
adquiridos.
• Desarrollo de un segundo videojuego de mecánica
más compleja y fácilmente ampliable.
04/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
5. Índice
1. Objetivos del proyecto
2. ¿Qué es Android?
3. Las aplicaciones en Android
4. Estructura de un videojuego
5. Videojuego 1 “Ping Pang Pung”
6. Videojuego 2 “Terrestrial Blast!”
7. Horas dedicadas y coste económico
8. Conclusiones
05/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
6. ¿Qué es Android? (I)
• Conjunto de software que implementa un
ecosistema móvil.
• Características:
– Código Libre.
– Software gratuito.
– Ecosistema abierto.
06/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
7. ¿Qué es Android? (II)
• Objetivos de Android:
– Ser un ecosistema Estándar.
• El 52.5% de los Smartphone vendidos en el tercer
cuarto de 2011 implementan el ecosistema Android.
07/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
8. Índice
1. Objetivos del proyecto
2. ¿Qué es Android?
3. Las aplicaciones en Android
3.1. Las actividades
4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung”
6. Videojuego “Terrestrial Blast!”
7. Horas dedicadas y coste económico
8. Conclusiones
08/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
9. Las aplicaciones en Android
• Las aplicaciones, en lenguaje Java, son interpretadas
en tiempo real por la máquina virtual Dalvik.
• Las aplicaciones se componen de componentes de
diferentes tipos:
– Actividades
– Servicios
– …
09/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
10. Las actividades
• Cada actividad es una pantalla de la aplicación.
• Son asíncronas. Gestionamos su ciclo de vida a través
de la implementación de unas operaciones que el
S.O. llamará ante determinadas circunstancias.
• Se ejecutan en el UI Thread. Thread que gestiona la
interacción con el usuario.
10/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
11. Índice
1. Objetivos del proyecto
2. ¿Qué es Android?
3. Las aplicaciones en Android
4. Estructura de un videojuego
4.1. Estructura de un videojuego en Android
5. Videojuego “Ping Pang Pung”
6. Videojuego “Terrestrial Blast!”
7. Horas dedicadas y coste económico
8. Conclusiones
11/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
12. Estructura de un videojuego
• Simulamos un nivel del videojuego mediante su discretización en
diferentes imágenes o frames.
12/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
13. Estructura de un videojuego en Android
• Dividimos el bucle en tres hilos de ejecución que se ejecutan concurrentemente.
13/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
14. Índice
1. Objetivos del proyecto
2. ¿Qué es Android?
3. Las aplicaciones en Android
4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung”
5.1. Objetivos de “Ping Pang Pung”
5.2. Diagrama de actividades
5.3. Muestra de la jugabilidad
6. Videojuego “Terrestrial Blast!”
7. Horas dedicadas y coste económico
8. Conclusiones
14/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
15. Objetivos de “Ping Pang Pung”
• Integrar los conocimientos adquiridos durante la
carrera con los adquiridos a través de la fase de
estudio y análisis de Android.
• Crear un primer videojuego simple pero adictivo.
• Utilizar la librería de gráficos OpenGL ES 1.0.
15/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
16. Diagrama de componentes
16/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
17. Muestra de la jugabilidad
17/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
18. Índice
1. Objetivos del proyecto
2. ¿Qué es Android?
3. Las aplicaciones en Android
4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung”
6. Videojuego “Terrestrial Blast!”
6.1. Objetivos de “Terrestrial Blast!”
6.2. Muestra de la jugabilidad
6.3. Arquitectura del videojuego
6.4. Los dos niveles de abstracción
7. Horas dedicadas y coste económico
8. Conclusiones
18/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
19. Objetivos de “Terrestrial Blast!”
• Crear un videojuego donde, además de la eficiencia,
también se tenga en cuenta la extensibilidad, la
portabilidad y la reutilización.
• Crear un segundo videojuego con un mecanismo más
complejo que el anterior. Que haga uso del sensor de
orientación para presentar un control más novedoso.
• Utilizar la librería de gráficos OpenGL ES 1.X y la librería
de físicas Box2D.
19/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
20. Muestra de la jugabilidad
17/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
21. Arquitectura del videojuego (I)
21/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
24. Los dos niveles de abstracción
• Nivel de abstracción bajo:
– Se trabaja con el lenguaje Java.
– Se implementan herramientas y características con las
que posteriormente se definirán elementos del
videojuego.
• Nivel de abstracción alto:
– Se trabaja con el lenguaje XML.
– Se definen niveles y elementos para estos niveles
(enemigos, aliados, escenarios, …). Para ello se utilizan las
características implementadas a través del nivel de
abstracción bajo.
24/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
25. Índice
1. Objetivos del proyecto
2. ¿Qué es Android?
3. Las aplicaciones en Android
4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung”
6. Videojuego “Terrestrial Blast!”
7. Horas dedicadas y coste económico
7.1. Horas dedicadas
7.2. Coste económico
8. Conclusiones
25/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
26. Horas dedicadas
• Horas dedicadas totales: 477 horas.
26/32
Gráfico de horas dedicadas al proyecto
Estudio y análisis de
Android (148h)
Primer videojuego
"Ping Pang Pung"
(49h)
Segundo videojuego
"Terrestrial Blast!"
(212h)
Documentación (68h)
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
27. Coste económico
• Los recursos humanos tienen diferente coste según
el puesto que ocupan:
– Director: 25 € brutos/h.
– Analista: 20 € brutos/h.
– Diseñador: 20 € brutos/h.
– Diseñador gráfico: 15 € brutos/h.
– Programador: 15 € brutos/h.
• Coste total de los recursos humanos: 8.625€.
• Coste total de los recursos materiales: 1.300€.
• Coste total del proyecto: 9.925€.
27/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
28. Índice
1. Objetivos del proyecto
2. ¿Qué es Android?
3. Las aplicaciones en Android
4. Estructura de un videojuego
5. Primer videojuego “Ping Pang Pung”
6. Segundo videojuego “Terrestrial Blast!”
7. Horas dedicadas y coste económico
8. Conclusiones
8.1. Conclusiones generales
8.2. Conclusiones personales
28/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
29. Conclusiones generales (I)
• Se puede desarrollar un videojuego para Android de forma
cómoda (con matices) y, sobretodo, muy barata. Gracias,
entre otras cosas, a la extensa información oficial.
• Es perfectamente posible realizar un videojuego en 2D,
relativamente potente, para dispositivos Android de gama
media-baja, haciendo uso exclusivamente del lenguaje Java.
Junto con algunas librerías adicionales.
29/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un
videojuego
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
30. Conclusiones generales (II)
• Eso sí, cuando desarrollamos un videojuego para dispositivos
móviles es muy importante el uso eficiente de las librerías
utilizadas y de los recursos del sistema.
• La división del desarrollo de un videojuego en dos niveles de
abstracción potenciando la extensibilidad, la reutilización y
la portabilidad nos aporta múltiples ventajas.
30/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un
videojuego
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
31. Conclusiones personales
• He adquirido unos amplios conocimientos acerca del
desarrollo de videojuegos 2D en Android. Así como,
conocimientos acerca del S.O. en general.
• He aprendido a desarrollar videojuegos. Y a utilizar librerías
multiplataforma para el desarrollo de estos, como son
OpenGL y Box2D.
• He aprendido a diseñar una arquitectura para un videojuego
que, además de tener en cuenta la propiedad de eficiencia,
también potencia la extensibilidad, la portabilidad y la
reutilización.
31/32
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un
videojuego
1. Objetivos del proyecto 2. ¿Qué es Android? 3. Las aplicaciones en Android 4. Estructura de un videojuego
5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8. Conclusiones
32. Desarrollo de videojuegos sobre
la plataforma Android
Facultad de Informática de Barcelona
David García Povedano
Fecha 17 de Enero de 2012
Director: Lluís Solano Albajes