1
PROYECTO DE GRADO
DISEÑO Y DESARROLLO DE VIDEOJUEGOS CON EL
OCULUS RIFT
JOSÉ STRIEDINGER 200918191
DANIEL ROBLEDO 200623442
HETZEL CORDOBA 200917322
PRESENTADO A:
PABLO FIGUEROA PhD
UNIVERSIDAD DE LOS ANDES
BOGOTÁ - COLOMBIA
2
CONTENIDO
RESUMEN ... 3
INTRODUCCIÓN ... 3
DESCRIPCIÓN GENERAL ... 4
OBJETIVOS... 4
ANTECEDENTES ... 4
IDENTIFICACIÓN DEL PROBLEMA E IMPORTANCIA ... 5
DISEÑO Y ESPECIFICACIONES... 6
DEFINICIÓN DEL PROBLEMA ... 6
ESPECIFICACIONES ... 7
RESTRICCIONES... 7
DESARROLLO DE DISEÑO ... 7
PROCESO DE DISEÑO ... 7
RECOLECCIÓN DE INFORMACIÓN ... 8
DISEÑO E IMPLEMENTACIÓN ... 9
PROYECTO 1 ... 9
PROYECTO 2 ... 11
RESULTADOS ESPERADOS ... 14
CONCLUSIONES ... 17
DISCUSIÓN ... 17
TRABAJO FUTURO ... 18
3
RESUMEN
La motivación principal de este proyecto de grado es mostrar la capacidad de egresados de
Ingeniería de Sistemas de la Universidad de Los Andes para desarrollar y diseñar un
videojuego bajo el uso de tecnologías nuevas y bajo el marco de desarrollo ágil de software
(más específicamente SCRUM). Todo con el fin de incentivar más el papel de la academia
hacia el fomento de la industria local de videojuegos la cual, principalmente, ha sido
fomentada por iniciativas privadas y públicas (IGDA Colombia, Proexport etc.). El proyecto
consiste en dos videojuegos desarrollados bajo el proceso de desarrollo ágil SCRUM con la
plataforma Unity3D, la cual es una de las herramientas más fuertes para la creación de
videojuegos en el mercado actual, junto con la integración del Oculus Rift; dispositivo de
realidad virtual.
El resultado son dos videojuegos altamente trabajados con promesa comercial y que explotan
las herramientas de trabajo utilizadas y fueron desarrollados exitosamente bajo el marco de
desarrollo ágil.
INTRODUCCIÓN
La industria de desarrollo de videojuegos en Colombia ha crecido de manera exponencial en
los últimos años gracias a, principalmente, apoyo por parte de iniciativas privadas y públicas.
Primero fue la creación de capítulo de la International Game Developers Association (IGDA)
en Colombia y después llego aporte por parte de Proexport y MinTic por medio de las
iniciativas de fomentar el emprendimiento en contenidos digitales. En otras palabras, la
academia ha tenido un papel muy pequeño en el desarrollo de la industria y, es por eso, que
es muy poco común que un egresado de Ingeniería de Sistemas de la Universidad de Los
Andes encuentre trabajo en la industria o tenga las capacidades para trabajar
independientemente en dicha industria. Con este proyecto de grado queremos poner eso a
prueba y mostrar el potencial de los videojuegos como una rama que debe ser potencializada
4 Un problema que todo egresado de Ingeniería de Sistemas debe enfrentarse es la adecuación
de nuevas tecnologías y tener la capacidad de ver potencial de negocio en estas. Toda
industria presenta estos desafíos y la industria desarrolladora de videojuegos no es excepción.
Debido a eso, los dos videojuegos fueron realizados utilizando el Oculus Rift. El Oculus Rift
es un periférico de realidad virtual diseñado, principalmente, para videojuegos. Dicha
tecnología permite una inmersión mayor hacia el mundo virtual y trae consigo desafíos de
desarrollo y diseño.
DESCRIPCIÓN GENERAL
OBJETIVOS
● Diseño y desarrollo de dos (2) videojuegos en la plataforma Unity3D. ● Integración del Oculus Rift en ambos juegos.
● Desarrollo de ambos productos en versión web y escritorio para Oculus Rift. ● Aprender Game Design gracias al uso creativo de un aparato externo (Oculus Rift) ● Seguir un proceso de desarrollo ágil de software (SCRUM)
ANTECEDENTES
En la Universidad de los Andes, la carrera Ingeniería de Sistemas no tiene como materia
obligatoria dentro de su pensum ninguna materia relacionada con contenidos digitales,
aunque hay diversas materias en donde los proyectos se pueden enfocar a dichas áreas, la
ausencia de materias dirigidas al sector de los videojuegos y contenidos digitales es notable;
la única forma de tomar alguna de las cuatro materias existentes en el periodo 201320
relacionadas con el tema son electivas.
El hecho de ser cursos no obligatorios hace que la demanda sea baja, ya que los estudiantes
se dejan seducir por materias con un nivel de dificultad bajo, la primera materia y más
exequible por un estudiante de pregrado en general es el CBU “Videojuegos: Tecnología, Diseño y Cultura” es dictado por el docente Pablo Figueroa, dicho curso presenta temas
5 mundial como nacional, con ayuda de invitados expertos en el tema. La segunda y tercera
materia de un nivel más alto al ser exclusiva para estudiantes de pregrado o relacionados con
la facultad de Arquitectura y Diseño se llaman “Videojuegos: Historia y Diseño” y “Desarrollo de Videojuegos” respectivamente, en la primera se encargan de dar a conocer la
historia y como cada acontecimiento ha influenciado en la toma de decisiones y desarrollo
de diversos productos de la industria.
Por último encontramos la materia de más alto nivel al ser presentada como electiva para los
programas de maestría dictados por la universidad, dicha materia se llama “Desarrollo de
Videojuegos”, esta electiva toca temas actuales enfocados al desarrollo de videojuegos, como
también propone el desarrollo de cuatro juegos a lo largo del semestre que tiene como
objetivo final la exposición de dichos proyectos a expertos de la industria para mostrar el
potencial y talento presente en las carreras de maestría, el pregrado de ingeniería de sistemas
y el pregrado de diseño, esta electiva se dicta en conjunto con la electiva del pregrado de
Diseño que llama su mismo nombre, permitiendo la unión de dos polos opuestos en la
industria de videojuegos(Diseñadores y Desarrolladores). El profesor Pablo Figueroa (ISIS)
y Gabriel Vasco (Diseño) unen esfuerzos para presentar un conocimiento y una guía a los
estudiantes interesados con base en la experiencia y la investigación que genere un nicho
creciente de diseñadores y desarrolladores que puedan suplir y apoyar la actual demanda por
profesionales en el área de videojuegos.
IDENTIFICACIÓN DEL PROBLEMA E IMPORTANCIA
La industria de los videojuegos ha pasado de ser una de las menos importantes a ser una de
las que más ganancias generan, llegando a sobrepasar a la industria cinematográfica. Los
videojuegos utilizan una serie de periféricos como el teclado y los controles de consola para
controlar los movimientos de los personajes y generar la interacción hombre - máquina; la
creación de nuevos periféricos que crean una nueva sensación de inmersión como el sistema
Kinect o el PlayStation Move generan nuevos retos para la industria. El Oculus Rift un
periférico que cuenta con dos pantallas son utilizadas para producir una sensación de realidad
virtual 3D, es un nueva herramienta de desarrollo utilizada para explotar todas las ventajas
6 social y cultural, también se ha implementado en campos ajenos a los videojuegos como el
campo médico y armamentista.
La tendencia del mercado global es la utilización de nuevas herramientas que generen una
sensación cada vez más cercana la real, el potencial de uso en diferentes campos convierte al
Oculus en una herramienta multiplataforma y prometedora, catalogada por revistas expertas
en el tema y grandes personalidades de la industria como el futuro. En Colombia el sector
público y el sector privado sea encargado de aumentar la demanda por los contenidos de
entretenimiento digitales, por lo cual el conocimiento de las herramientas que predominan en
el mercado se ha vuelto lo primordial, dado lo anterior se espera mostrar lo bueno y lo malo
de utilizar una herramienta prometedora pero nueva como el Oculus para el proceso de
desarrollo de dos proyectos de entretenimiento digital.
DISEÑO Y ESPECIFICACIONES
DEFINICIÓN DEL PROBLEMA
La alta demanda del sector privado y público en los contenidos de entretenimiento digital,
requiere personas capacitadas en el tema, pero el poco conocimiento que hay en el mercado
colombiano de las nuevas herramientas que ofrece la industria lo convierte en un nicho poco
explorado, dicho problema se debe a que las universidades tienen muy pocas materias
enfocadas a dicho tema, las pocas personas expertas en el tema y empresas que no arriesgan
mucho de su presupuesto por nicho poco explorados, ya que se prefiere enfocarse a nichos
ya maduros globalmente.
Dado lo anterior la Universidad de los Andes se podría decir que es la universidad con más
esfuerzos enfocados a la investigación y desarrollo de contenidos digitales en alianza con
otras universidad y empresas; en consecuencia diversos proyectos de grados se encuentran
desarrollado sistemas de entretenimiento con la utilización de diversas herramientas para
generar confianza y conocimiento de ventajas y problemas en la implementación de las
7
ESPECIFICACIONES
El proyecto tiene diversos requerimientos, el primero de ellos es poder implementar
exitosamente dos proyectos a lo largo del semestre con la utilización de herramientas nuevas,
para ellos se utilizará el Oculus Rift; el segundo es presentar diferentes reportes donde se
evidencie las facilidades y problemas que ofrece implementar juegos en dicho sistemas de
entretenimiento virtual. Por último se espera como resultado tener métricas que permitan
evaluar el nivel de satisfacción de los jugadores respecto a los modos de juego, la calidad de
la implementación del sistemas, las explotación al máximo de todas las virtudes que ofrece
la herramienta, la dificultad de los niveles y la retroalimentación en general que se puede
percibir por parte del usuario. En el desarrollo de los dos proyectos se utilizará la metodología
de procesos de desarrollo ágil de software (SCRUM), para ello se utilizará la herramienta
Kunagi y como Scrum Master al asistente graduado Jose Luis Dorado.
RESTRICCIONES
Para el desarrollo del proyecto se pueden presentar ciertas restricciones a lo largo de la
implementación, el poco conocimiento en soporte local la nueva herramienta puede llegar a
entorpecer diversas a no encontrar solución a diversos problemas que se presentan a medida
que se desarrolla el software. La limitación de las herramientas gratuitas para el soporte de
los diferentes plugins que se necesitan para la compatibilidad del Oculus presenta una
restricción económica.
DESARROLLO DE DISEÑO
PROCESO DE DISEÑO
Dentro del tiempo estipulado para el desarrollo de cada juego se realizaron diferentes etapas,
con procesos incrementales e iterativos. Antes del comienzo de la implementación en cada
proyecto se realizaron etapas de análisis, en dicha etapa se realizaron las respectivas
búsquedas de videojuegos que explotaran la mecánica que se deseaba recrear; con base a ello
la cantidad de información de posibles errores era más baja al poder imitar dichas mecánicas
8 La etapa de discusión sobre qué modo de juego era el ideal para implementar dichas
mecánicas tomó un rol importante ya que dentro de esta fase, se evaluaron los riesgos de no
llegar a funcionar cómodamente para el jugador y que se llegara a producir algo problema
dado la inclusión de un periférico de realidad virtual. Como última etapa principal se
encuentra la etapa de implementación de código y pruebas de usabilidad, en estas fases se
diseñaba todo el código que soportaría las mecánicas en el videojuego, así mismo se
realizaron pruebas de usabilidad a medida que se terminada de implementar alguna mecánica
con hecho de poder determinar si alguna nueva implementación podría causar algún conflicto
con una ya terminada o producir algún tipo de malestar al jugador.
RECOLECCIÓN DE INFORMACIÓN
La información que se encuentra en internet y en diferentes libros proponen una serie de
pasos a seguir para el desarrollo de un videojuego o contenido digital de entretenimiento,
temas de mayor importancia sobre otros que no tanto, relevancia de algunos factores
ambientales del videojuego o predominancia de alguna plataforma o característica del juego
para lograr un nivel de impacto más alto al cliente final.
La mayoría de la información por no decir toda fue realizada por gente experta en el tema
pero de países potencias como Canadá y USA, pero dado que la industria de entretenimiento
colombiana no es la misma a la norteamericana, el grupo optó tomar como base el libro Level
Up: the guide to great videogame design por Scott Rogers para definir etapas del desarrollo
de los niveles y cómo tener buenas prácticas para el diseño de mecánicas, personajes,
enemigos, elementos de interacción y dificultades. También se realizó una búsqueda de
videos (Dev diaries) por parte de los desarrolladores de Naughty Dog para el videojuego
Uncharted 3 para saber cómo ellos con su nivel de experiencia manejan ciertos contratiempos
y notar el uso de acciones rápidas para los problemas que tuvieron durante el desarrollo de
9
DISEÑO E IMPLEMENTACIÓN
PROYECTO 1
Ilustración 1 Menú principal del juego.
El primer juego consiste en un “endless runner”. Dichos juegos se caracterizan por tener un nivel “infinito”, es decir, un nivel que es creado a medida que el personaje va avanzando a lo
largo del camino. En este juego el jugador con el casco del Oculus Rift intenta evadir
diferentes obstáculos a través de una pista, durante el camino se encuentran muros o figuras
que de ser tocada por el personaje pierde. El juego tiene un puntaje que depende del tiempo
alcanzado por el jugador. Dicho puntaje es persistente a la plataforma, se puede grabar en
una base de datos en la nube, en dicho espacio se guardan todos los datos que contiene el
juego.
Se quería explotar la capacidad del Oculus Rift como mando, debido a lo anterior el
10 para el juego, el casco provee toda la información acerca de los ejes de movimiento para el
personaje, y por medio del mismo se presenta al usuario todo el apartado gráfico.
También se diseñó un sistema de backend para persistir información, dicha información se
almacena en la nube para efectos prácticos de la unión de los datos por distintas instancias
del juego. Dicho sistema de backend es un servicio que se comunica por medio de llamado
URL con un web app de PHP en Heroku. Dicho servicio realiza una solicitud de guardar o
mostrar información y dicha información viaja en formato JSON. Una vez obtenido el JSON,
la información pasa por un parser para poder mostrar los datos en su debida forma.
Con respecto al diseño del nivel procedimental. Se diseñaron unas plataforma que se van
“agregando” una detrás de otras a medida que pasa el tiempo de manera aleatoria, asegurando
que ningún juego sea igual que otro.
Ilustración 2 Leaderboard V-Runner
En el leaderboard se pueden ver los puntajes más altos obtenidos por todas las personas que
11 Ilustración 3 Imagen del juego.
PROYECTO 2
12 La inmersión que el jugador percibe gracias a la realidad virtual es grande gracias al Oculus
en comparación con otros dispositivos, los tipos de juegos de terror solo apuntan a cautivar
dos sentidos humanos, el sentido de la vista y el sentido auditivo, la idea de todos los juegos
que exploren la temática ya mencionada es mantener en total incertidumbre y alerta los dos
sentidos claves. Para lograr la atención del jugador los videojuegos utilizan diversos
elementos como imágenes y sonidos.
Ilustración 5 Sala de la casa
El jugador se encontrará dentro de una casa abandonada durante una cantidad incierta de
años, los muebles y sus puertas presentan un notable deterioro, por su parte las paredes están
un poco dañadas, dentro de la casa de encuentran algunos personajes creados con el fin de
producir algún tipo de miedo al tener la primera impresión de los mismos. El personaje
principal presenta un movimiento determinado por el equipo desarrollador, en algunos puntos
puede decidir la dirección que tomarán, el hecho de tomar la decisión incorrecta representa
13 El campo de visión se encuentra un poco limitado por la oscuridad en la que se encuentra el
personaje dentro de la casa, la linterna con la que cuenta es el único elemento lumínico que
puede controlar el jugador. Durante la selección de camino, el jugador tiene que cambiar el
tipo de color de la linterna para poder controlar los cubos del color correspondiente. El
videojuego no cuenta con un sistema de puntaje establecido por lo cual no hay una ruta fija
que determine un puntaje máximo.
14 Ilustración 7 Caballo muerto
RESULTADOS ESPERADOS
Los resultados de la etapa final de implementación es el compilado de todo el código sobre
Unity3D, para dicha etapa terminal las actividades y reportes mostrados por Kunagi deben
reflejar las buenas prácticas del equipo de desarrollo para obtener un producto final. En
Kunagi se muestran todas las actividades realizadas por los integrantes del equipo durante
todo el proceso de desarrollo del producto final; para llegar a un resultado se debieron haber
cumplido con todas las actividades o en su gran mayoría (90%), ya que para no concluir con
el fracaso directo de un producto se deben seguir una reglas, el seguimiento de dichas reglas
no asegura el éxito, pero sí asegura un no fracaso directo.
La siguiente grafica corresponde al reporte del primer sprint, donde el conocimiento de la
15 Ilustración 8 primer sprint Kunagi
16 Ilustración 9 Segundo proyecto Kunagi Reporte Sprint Final
La ilustración 9 representa la gráfica de las horas planeadas contra los días correspondientes
al sprint final (7 días). En la imagen se evidencia en que momento se registraron las tareas
completadas, siendo el viernes donde se nota el pico de registro. El grupo como no registro
las tareas una vez completadas, se registraban casi siempre en los últimos días de los sprints
por lo cual los reportes semanales correspondiente no presentaban líneas uniformes, envés
de ellas picos en los días finales.
Los niveles cumplen con las características mínimas estipuladas por el libro Level Up, un
principio, un final, un objetivo, un personaje y un sistema de puntos. La evaluación de las
17 que afectan la experiencia del jugador durante el juego, dichos factores son estudiados y con
base a la retroalimentación lograda se busca una solución a dichos bugs.
CONCLUSIONES
DISCUSIÓN
Durante la implementación de los dos proyectos se presentaron problemas por parte de la
compatibilidad de los plugins, lo cual retrasó la terminación de diversas tareas de desarrollo,
dichos problemas fueron solucionados cambiando los plugins que generaban problema por
otros que tenían una forma de operación diferente a los implementados inicialmente, pero su
salida era la esperada. Las actividades en Kunagi en su comienzo se presentaron problemas
de concordancia y sentido ya que la herramienta utilizada era nueva para el equipo de
desarrollo, dado lo anterior se utilizó la ayuda del Scrum Master para obtener la guía
necesaria para llegar a implementar de manera coherente, y cada vez más precisas las tareas
iterativas.
Los reportes generados mostraban el incumplimiento de muchas actividades propuestas,
dicho problema se presentaba por culpa del equipo desarrollador que no reportaba las tareas
en la herramienta, por lo cual se generaban incoherencia con el proyecto mostrado en dichas
etapas a sus respectivos reportes en Kunagi. Un factor importante que influyó durante todo
el proceso fue el tiempo, dicho elemento era impreciso en cuanto a la estimación de las tareas
se refiere, dado que el cálculo de las actividades era impreciso, los tiempos empleados para
completar las actividades llegaban a estar desfasados tanto por arriba como por abajo de su
estimación inicial, dicho problema pudo ser solucionado una vez que el Scrum Master realizó
unas series de seguimiento sobre en grupo al momento de generar las estimaciones.
Durante la presentación del primer videojuego, en su primera prueba pública uno de diez de
cada diez participantes experimentaba una experiencia aburrida, mientras los otros nueve
presentaban una experiencia competitiva; de los nueves participantes restantes, tres jugadores
después de una largo tiempo jugando, moviendo la cabeza y así mismo generando una
18 general de los participantes la música jugaba un factor importante en la experiencia, por lo
cual querían un sistema de sonido más grande.
TRABAJO FUTURO
La experiencia adquirida a lo largo de todo el proyecto, demuestra el poco conocimiento del
sector industrial por los contenidos digitales al momento de no apoyar los proyectos
emergentes y optar por vías “seguras”, dejándole todo el peso a las institución educativas de
enseñar y promover el conocimiento por las herramientas de creación de contenidos digitales
tales como videojuegos, videos, audios y aplicaciones. Dado lo anterior el grupo de personas
o la persona que quiera tomar este proyecto como base de experiencia para un posible
desarrollo amateur, debe tener en cuenta que la buena estimación juega el papel más
importante en todo el proyecto, ya que le brinda al grupo una guía de actividades a seguir
para cumplir con el objetivo general, por lo cual se debe tener unas personas expertas en
estimación o que su conocimiento sea lo suficiente alto para brindar una buena asesoría de
cómo llegar a planear actividades con alta precisión.
La estimación en el primero fue precaria, como consecuencia se evidencia en Kunagi un
aumento de las tareas antes de la entrega final del proyecto; para el segundo proyecto la
estimación mejor, por lo cual en las últimas semanas de trabajo los reportes en Kunagi
presentaron niveles normales de productividad, ni muy bajos y muy altos.
REFERENCIAS
Bergeron, P. (2006). Developing serious games. Charles River Media.
Dille, F. (2007). The ultimate guide to video game writing and design. Watson-Guptill
Publications.
Dog, N. (03 de Septiembre de 2013). Youtube.com. Obtenido de
http://www.youtube.com/watch?v=3WCX7Gt03EU
Dog, N. (03 de Septiembre de 2013). Youtube.com. Obtenido de
http://www.youtube.com/watch?v=xWUTu_mvV2A
19 Rabin, S. (2005). Introduction to game development. Charles River Media.
Rogers, S. (2010). Level up! : the guide to great video game design. Wiley.
Team, K. (24 de Agosto de 2013). Kunagi. Obtenido de http://kunagi.org/
Uniandes. (24 de Agosto de 2013). Juega Libre. Obtenido de