desarrollo de videojuegos sobre la plataforma android

32
Desarrollo de videojuegos sobre la plataforma Android Facultad de Informática de Barcelona David García Povedano

Upload: david-garcia-povedano

Post on 13-Jun-2015

685 views

Category:

Education


1 download

DESCRIPTION

Esta es la presentación del Proyecto de Final de Carrera "Desarrollo de videojuegos sobre la plataforma Android". En este link se puede acceder a la memoria del proyecto, con más información sobre este: http://hdl.handle.net/2099.1/14016

TRANSCRIPT

Page 1: Desarrollo de videojuegos sobre la plataforma Android

Desarrollo de videojuegos sobre la plataforma Android

Facultad de Informática de Barcelona

David García Povedano

Page 2: Desarrollo de videojuegos sobre la plataforma Android

Í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

Page 3: Desarrollo de videojuegos sobre la plataforma Android

Í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

Page 4: Desarrollo de videojuegos sobre la plataforma Android

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

Page 5: Desarrollo de videojuegos sobre la plataforma Android

Í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

Page 6: Desarrollo de videojuegos sobre la plataforma Android

¿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

Page 7: Desarrollo de videojuegos sobre la plataforma Android

¿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

Page 8: Desarrollo de videojuegos sobre la plataforma Android

Í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

Page 9: Desarrollo de videojuegos sobre la plataforma Android

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

Page 10: Desarrollo de videojuegos sobre la plataforma Android

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

Page 11: Desarrollo de videojuegos sobre la plataforma Android

Í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

Page 12: Desarrollo de videojuegos sobre la plataforma Android

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

Page 13: Desarrollo de videojuegos sobre la plataforma Android

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

Page 14: Desarrollo de videojuegos sobre la plataforma Android

Í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

Page 15: Desarrollo de videojuegos sobre la plataforma Android

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

Page 16: Desarrollo de videojuegos sobre la plataforma Android

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

Page 17: Desarrollo de videojuegos sobre la plataforma Android

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

Page 18: Desarrollo de videojuegos sobre la plataforma Android

Í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

Page 19: Desarrollo de videojuegos sobre la plataforma Android

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

Page 20: Desarrollo de videojuegos sobre la plataforma Android

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

Page 21: Desarrollo de videojuegos sobre la plataforma Android

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

Page 22: Desarrollo de videojuegos sobre la plataforma Android

22/32

Arquitectura del videojuego (II)

Page 23: Desarrollo de videojuegos sobre la plataforma Android

23/32

Arquitectura del videojuego (III)

Page 24: Desarrollo de videojuegos sobre la plataforma Android

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

Page 25: Desarrollo de videojuegos sobre la plataforma Android

Í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

Page 26: Desarrollo de videojuegos sobre la plataforma Android

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

Page 27: Desarrollo de videojuegos sobre la plataforma Android

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

Page 28: Desarrollo de videojuegos sobre la plataforma Android

Í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

Page 29: Desarrollo de videojuegos sobre la plataforma Android

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

5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8.

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

Page 30: Desarrollo de videojuegos sobre la plataforma Android

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

5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8.

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

Page 31: Desarrollo de videojuegos sobre la plataforma Android

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

5. Videojuego “Ping Pang Pung” 6. Videojuego “Terrestrial Blast!” 7. Horas dedicadas… 8.

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

Page 32: Desarrollo de videojuegos sobre la plataforma Android

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