1. 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
4. 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
5. 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
6. ESTADO DE LA CUESTIÓN
Modelado 3D
Motores de videojuegos
Retrovideojuegos
Proceso de producción profesional
de videojuegos
6
7. 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
8. 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
9. 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
10. 10
Modelo de pago Experiencia necesaria
Soporte y
documentación
Propósito
Versión de pago ($9.90
al mes) y gratuita
Alta
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 royalties
Alta
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)
Media
Soporte y documentación
por Yoyo Games
Utilizado para iniciarse
en el mundo del
desarrollo de
videojuegos
Gratuita Media-Alta
Amplía comunidad de
usuarios
Utilizado para iniciarse
en el mundo del
desarrollo de
videojuegos
Software
11. 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
12. 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
14. 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
15. Proceso de producción profesional de
videojuegos
Ciclo de desarrollo • Post-mortem
• Documentación y Registro del Proyecto
Postproducción
• Plan de Pruebas
• Lanzamiento del código
Fase 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
16. 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
18. 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
19. 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
21. Valoración de alternativas
Estructura del juego
Se 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
23. 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
27. 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
29. 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
31. 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
32. 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
35. 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
37. 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
38. 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
41. 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).
• Ordenador con procesador
AMD FX-8350 Eight Core
4.00 GHz y 16 GB de
memoria RAM
41
42. 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
43. 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