45
TRABAJO DE FIN DE MÁSTER DESARROLLO DE UN VIDEOJUEGO EN BLENDER (KNIGHT LORE) Autor: Adrián Alonso González Tutor: Ricardo Aler Mur MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA 08/07/2015

Presentacion tfm adrian_alonso_gonzalez-light

Embed Size (px)

Citation preview

Page 1: Presentacion tfm adrian_alonso_gonzalez-light

TRABAJO DE FIN DE MÁSTER

DESARROLLO DE UN VIDEOJUEGO EN BLENDER (KNIGHT

LORE)

Autor: Adrián Alonso González

Tutor: Ricardo Aler Mur

MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA

08/0

7/2

015

Page 2: Presentacion tfm adrian_alonso_gonzalez-light

ÍNDICE

Introducción

Estado de la cuestión

Análisis

Diseño, Implementación y Pruebas

Conclusiones y líneas futuras

Demostración

2

Page 3: Presentacion tfm adrian_alonso_gonzalez-light

INTRODUCCIÓN

Motivaciones

Objetivos del proyecto

3

Page 4: Presentacion tfm adrian_alonso_gonzalez-light

Motivaciones

Profesionales: la industria del videojuego está en auge desde hace tiempo.

Beneficios económicos equiparables (puede que mayores) a industrias como las de la música o el cine.

Proceso de producción cada vez más evolucionado, equiparable a superproducciones de cine Motores de videojuegos y software de modelado 3D.

Personales: tengo una gran pasión por el mundo de los videojuegos e interés en su proceso de desarrollo.

Experiencia previa en modelado 3D, concretamente en Blender.

4

Page 5: Presentacion tfm adrian_alonso_gonzalez-light

Objetivos del proyecto

Conocer y documentar el proceso de producción de un

videojuego comercial.

Analizar el videojuego del que se realizará la adaptación,

Knight Lore, y extraer sus elementos principales.

Aplicar los conocimientos adquiridos y desarrollar el

videojuego utilizando el motor de Blender.

Documentar todo el proceso.

5

Page 6: Presentacion tfm adrian_alonso_gonzalez-light

ESTADO DE LA CUESTIÓN

Modelado 3D

Motores de videojuegos

Retrovideojuegos

Proceso de producción profesional de videojuegos

6

Page 7: Presentacion tfm adrian_alonso_gonzalez-light

Modelado 3D

Técnica que permite mediante diversos medios (en este caso un software informático) crear objetos tridimensionales.

Dos formas de representar objetos:

Representación analítica:

Ecuaciones de cónicas, splines…

Utilizando polígonos teselados (mallas de triángulos).

7

Page 8: Presentacion tfm adrian_alonso_gonzalez-light

Modelado 3D

Gratuita, de código libre y multiplataforma

(Windows, Mac y Linux )

Características principales: Modo de edición de mallas 3D.

Varios motores de renderizado: motor principal, cycles, videojuegos.

Modo de escultura 3D.

Texturizado.

Pack de herramientas para animación.

Simulación de fluidos, partículas, físicas, ropa…

Motor de videojuegos.

Extensible mediante plugins.

Interfaz altamente personalizable.

8

Page 9: Presentacion tfm adrian_alonso_gonzalez-light

Motores de videojuegos

Software que facilita la creación de videojuegos.

Ofrece funciones como:

Renderizado de los gráficos.

Soporte para programar los mecanismos del juego.

Gestión de recursos (animaciones, sonido, modelos 3D…).

Motor de físicas y detección de colisiones.

Soporte para implementar la IA de los enemigos.

Soporte para la computación paralela.

9

Page 10: Presentacion tfm adrian_alonso_gonzalez-light

10

Modelo de pago Experiencia necesariaSoporte y

documentaciónPropósito

Versión de pago ($9.90

al mes) y gratuitaAlta

Alto grado de soporte y

documentación por parte

de Crytek

Utilizado en el ámbito

profesional

Versión gratuita y pago

de un 5% en royaltiesAlta

Alto grado de soporte y

documentación por parte

de Epic

Ampliamente utilizado en

el ámbito profesional

Versión gratuita y de

pago ($1500)Media-Alta

Alto grado de soporte y

documentación por parte

de Unity Technologies

Utilizado en el ámbito

profesional

No se comercializa,

uso interno por parte

de EA

Se desconoce Se desconoce

Utilizado en el ámbito

profesional, únicamente

por la empresa EA

Versión gratuita y dos

de pago (precios de

$39.99 y $799.99)

MediaSoporte y documentación

por Yoyo Games

Utilizado para iniciarse

en el mundo del

desarrollo de

videojuegos

Gratuita Media-AltaAmplía comunidad de

usuarios

Utilizado para iniciarse

en el mundo del

desarrollo de

videojuegos

Software

Page 11: Presentacion tfm adrian_alonso_gonzalez-light

Motores de videojuegos

Características principales:Renderizado: técnicas como lightmaping o técnica de Level of

Detail (LOD).

Animaciones: insertadas mediante un actuador específico.

Motor de físicas: librería bullet. Varios tipos de cuerpos (No Collision, Static, Dynamic, Rigid Body, Soft Body…).

Programación: sistema de reglas basado en tres componentes: sensores, controladores y actuadores. Sistema que se puede complementar con programación Python.

11

Page 12: Presentacion tfm adrian_alonso_gonzalez-light

Videojuego Knight Lore

Perspectiva isométrica Forma de representación en dos dimensiones de objetos

tridimensionales.

Se utilizan tres ejes que forman ángulos de 120º.

Los objetos no disminuyen su tamaño al alejarse del punto de vista.

Normalmente se utilizaba una perspectiva dimétrica en lugar de una isométrica. Dos ángulos iguales y uno distinto (ratio de píxeles de 2:1).

Fue una completa innovación en el mundo de los videojuegos ya que por “primera” vez se observaron entornos en 3D (aunque no era 3D puro).

12

Page 13: Presentacion tfm adrian_alonso_gonzalez-light

Videojuego Knight Lore

Perspectiva isométrica

13

Page 14: Presentacion tfm adrian_alonso_gonzalez-light

Videojuego Knight Lore

Knight Lore

Desarrollado en 1984 por Chris y Tim Stamper, de la empresa británica Ultimate Play the Game.

Clásico de los juegos de 8 bits aparecidos en la década de los 80 e inspiración del juego desarrollado.

Época en la que se comienzan a utilizar los ordenadores también como plataformas de videojuegos: Spectrum, Amstrad, MSX.

Trata sobre Sabreman, un explorador, que sufre una maldición de licantropía y debe buscar (en un límite de 40 días) una serie de objetos en el castillo de Knight Lore para que el mago Melkor pueda elaborar una poción que le cure.

Uso de un motor en perspectiva isométrica Filmation.

14

Page 15: Presentacion tfm adrian_alonso_gonzalez-light

Proceso de producción profesional de

videojuegos

Ciclo de desarrollo• Post-mortem

• Documentación y Registro del ProyectoPostproducción

• Plan de Pruebas

• Lanzamiento del códigoFase de pruebas

• Plan de Implementación

• Seguimiento del Progreso

• Análisis de Riesgos

Producción

• Concepto

• Requisitos del proyecto

• Planificación del proyecto

• Análisis de Riesgos

Preproducción

15

Page 16: Presentacion tfm adrian_alonso_gonzalez-light

Proceso de producción profesional de

videojuegos

Roles principales

Producción

• Productor ejecutivo

• Productor

Diseño

• Director creativo

• Diseñador

• Guionista

Ingeniería

• Director técnico

• Ingeniero jefe

• Ingeniero

Diseño artístico

• Director artístico

• Diseñador de recursos

• Artistas técnicos

Sonido

• Diseñador de sonido

• Compositor

Aseguramiento de la calidad

• Jefe del equipo de pruebas

• Miembro del equipo de pruebas

16

Page 17: Presentacion tfm adrian_alonso_gonzalez-light

ANÁLISIS

Resumen del proceso

Valoración de alternativas

17

Page 18: Presentacion tfm adrian_alonso_gonzalez-light

Resumen del proceso

Como parte del proceso de análisis se obtuvieron:

13 casos de uso.

45 requisitos:

29 funcionales.

16 no funcionales.

Plan de pruebas que contempla 12 pruebas.

Plan de riesgos que contempla 8 riesgos.

18

Page 19: Presentacion tfm adrian_alonso_gonzalez-light

Valoración de alternativas

Elementos del juego original implementados:

Perspectiva isométrica.

Objetivo principal llevar los objetos al caldero en el límite de tiempo.

Transformación en hombre lobo con comportamiento adaptativo de los enemigos.

Partidas aleatorias.

Mecanismo de control.

Algunos objetos, elementos del escenario y niveles.

19

Page 20: Presentacion tfm adrian_alonso_gonzalez-light

Valoración de alternativas20

Page 21: Presentacion tfm adrian_alonso_gonzalez-light

Valoración de alternativas

Estructura del juegoSe plantearon dos alternativas para el diseño:

Diseñar todo el videojuego utilizando un único fichero Blender: a priori el desarrollo es menos costoso pero al trabajar con un archivo más pesado se consumen más recursos y el proceso se puede ralentizar.

Desarrollo modular utilizando distintos ficheros Blender y usar enlaces: desarrollo más compartimentado, más facilidad para realizar pruebas individuales y archivos más ligeros.

Se eligió la segunda alternativa archivos Blender separados para personaje, niveles e interfaces.

21

Page 22: Presentacion tfm adrian_alonso_gonzalez-light

DISEÑO, IMPLEMENTACIÓN Y

PRUEBAS

Diseño

Implementación

Pruebas

Postproducción

22

Page 23: Presentacion tfm adrian_alonso_gonzalez-light

Diseño

Mecanismos del juego Inicialización.

Carga de niveles.

Control de cámaras.

Flujo del tiempo.

Aparición de objetos.

Objetivo principal.

Mecanismo de pausa.

Sistema de control.

Interacciones con los objetos.

Sistema de vidas.

Transformación en hombre lobo.

23

Page 24: Presentacion tfm adrian_alonso_gonzalez-light

Diseño

Cámaras implementadas e interfaces

24

Page 25: Presentacion tfm adrian_alonso_gonzalez-light

Diseño

Otras interfaces

25

Page 26: Presentacion tfm adrian_alonso_gonzalez-light

Diseño

Personaje principal

26

Page 27: Presentacion tfm adrian_alonso_gonzalez-light

Diseño

Personaje principal Animaciones:

Andar en línea recta.

Girar izquierda y derecha.

Saltar.

Animación en estado relajado.

Transformación.

Configuración de físicas:

Cuerpo de tipo Character tipo especial para personajes de videojuegos. Los saltos se programan más fácilmente y el personaje escala automáticamente algunas superficies.

27

Page 28: Presentacion tfm adrian_alonso_gonzalez-light

Diseño

Otros personajes y objetos

28

Page 29: Presentacion tfm adrian_alonso_gonzalez-light

Diseño

Mapa de niveles:

Amarillo: aquellos que contienen algún objeto de la poción.

Rojo: aquellos niveles en los que el personaje puede aparecer aleatoriamente al inicio de la partida.

Verde: aquellos niveles que contienen vidas para el personaje.

Morado: resto de niveles.

29

Page 30: Presentacion tfm adrian_alonso_gonzalez-light

Diseño

Niveles

30

Nivel caldero Nivel 7 Nivel 6

Page 31: Presentacion tfm adrian_alonso_gonzalez-light

Diseño

Sonido 16 efectos de sonido movimiento al andar, movimiento al saltar,

contacto con el suelo, empujar objeto, objeto recogido, recoger vida,

choque con objeto dañino…

8 temas para sonido ambiental música de fondo principal del

juego, ambiente de mazmorra, sonido ambiente de bosque, juego

superado, juego no superado…

31

Page 32: Presentacion tfm adrian_alonso_gonzalez-light

Implementación

Los mecanismos jugables se han implementado utilizando el combinación el sistema de sensores, controladores y actuadores de BGE junto a programación en Python. Sensor: elementos que se activan cuando ocurre un evento.

Controlador: se utilizan para establecer condiciones sobre cuándo se producirá una acción o no y qué acciones se producirán. Se activan al accionarse algún sensor por lo que son el nexo de unión entre sensores y actuadores. Existe un controlador especial que es el controlador Python.

Actuador: una vez que se evalúa positivamente un controlador éste activa uno o más actuadores. Estos actuadores se utilizan para ejecutar una acción del juego y modificar directamente su estado.

32

Page 33: Presentacion tfm adrian_alonso_gonzalez-light

Implementación

Ejemplo sensores, controladores y actuadores:

33

Page 34: Presentacion tfm adrian_alonso_gonzalez-light

Implementación

Ejemplo programación Python:

def change_camera(cont):

sensor = cont.sensors["s_keyboard"]

if sensor.positive:

34

Page 35: Presentacion tfm adrian_alonso_gonzalez-light

Pruebas

Como resultado del proceso de pruebas:5 errores encontrados y subsanados. 4 Errores leves y 1 grave.

Ejemplo:

Error: al intentar soltar un objeto fuera del escenario este atravesaba la pared y caía.

Solución: implementar una “pared de seguridad” y un “suelo de seguridad” para evitar que los objetos atraviesen los límites de la habitación.

Todas las pruebas superadas finaliza el desarrollo del código del videojuego.

35

Page 36: Presentacion tfm adrian_alonso_gonzalez-light

CONCLUSIONES Y LÍNEAS

FUTURAS

Conclusiones

Postmortem: Planificación y presupuesto

(análisis de desviaciones)

Líneas futuras

36

Page 37: Presentacion tfm adrian_alonso_gonzalez-light

Conclusiones

Objetivos cumplidos:

Se ha investigado acerca del proceso de producción de videojuegos y se han utilizado

esos conocimientos, junto a un estudio del juego original y de la herramienta de

desarrollo a utilizar, para lograr un desarrollo satisfactorio.

Juego desarrollado:

Se han implementado la gran mayoría de los mecanismos relevantes del juego original,

dando prioridad a aquellos que eran más interesantes de implementar en Blender.

Se han utilizado técnicas que ofrece BGE como el lightmapping o la simulación de

físicas.

Además se han añadido mecanismos adicionales como las vistas en primera y tercera

persona.

37

Page 38: Presentacion tfm adrian_alonso_gonzalez-light

Conclusiones

Blender como motor de videojuegos:

Ideal para iniciarse en el desarrollo de videojuegos.

No obstante no incluye elementos básicos como son los sistemas de partículas y hay que recurrir a programación en Python para añadirlos.

Conclusiones personales:

He adquirido una valiosa experiencia en el desarrollo de videojuegos, industria en auge.

Gran satisfacción personal al desarrollar mi primer proyecto audiovisual y además un videojuego, mi principal hobby.

38

Page 39: Presentacion tfm adrian_alonso_gonzalez-light

Postmortem: Planificación y presupuesto

(análisis de desviaciones)

Planificación estimada

39

Page 40: Presentacion tfm adrian_alonso_gonzalez-light

Postmortem: Planificación y presupuesto

(análisis de desviaciones)

Planificación final

40

Page 41: Presentacion tfm adrian_alonso_gonzalez-light

Postmortem: Planificación y presupuesto

(análisis de desviaciones)

Presupuesto Medios técnicos empleados:

HardwareSoftware

• Software libre y/o gratuito:• SO Windows 8,1 (DreamSpark)

• Desarrollo Blender 2.7.4.

• Edición imágenes GIMP 2.8.

• Edición sonido Audacity 2.1.0.

• Edición video Windows Movie Maker 12.

• Gestión del proyecto Microsoft Project 2013 (DreamSpark).

• Ofimática OpenOffice

• Ordenador con procesador AMD FX-8350 Eight Core 4.00 GHz y 16 GB de memoria RAM

41

Page 42: Presentacion tfm adrian_alonso_gonzalez-light

Postmortem: Planificación y presupuesto

(análisis de desviaciones)

Presupuesto estimado vs presupuesto final

Concepto Coste total estimado Coste total final Diferencia

Coste de personal 49444 € 44184 € 5260 €

Coste de Software 0 € 0 € 0 €

Coste de Hardware 46.13 € 41.22 € 4.91 €

Costes indirectos 324.69 € 324.69 € 0 €

Costes totales 49813.44 € 44549.91 € 5263.53 €

IVA 10460.82 € 9355.48 € 1105.34 €

60274.26 € 53905.39 € 6368.87 €

42

Page 43: Presentacion tfm adrian_alonso_gonzalez-light

Líneas futuras

Ampliación del número de niveles, objetos, personajes y sonidos. Se facilitaría gracias al desarrollo modular en distintos archivos Blender del videojuego.

Soporte a un sistema de control adicional mediante un controlador de juego (mando de consola).

Sistema de trofeos y mejores puntuaciones.

Portabilidad a otras plataformas: Difícil ya que BGE no incluye soporte a otras plataformas y los ports realizados por

usuarios no funcionan a un nivel óptimo.

No obstante todos los recursos desarrollados se podrían reutilizar en una adaptación utilizando otro motor de videojuegos como Unity, el cual soporta una gran cantidad de plataformas.

43

Page 44: Presentacion tfm adrian_alonso_gonzalez-light

DEMOSTRACIÓN44

Page 45: Presentacion tfm adrian_alonso_gonzalez-light

MUCHAS GRACIAS

POR SU ATENCIÓN

PREGUNTAS

45