josé alejandro lucero mena

93
RIVERWARS: VIDEOJUEGO INMERSIVO DE COMBATE FLUVIAL José Alejandro Lucero Mena UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN BOGOTÁ D.C DICIEMBRE 2009

Upload: others

Post on 14-Jul-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: José Alejandro Lucero Mena

RIVERWARS: VIDEOJUEGO INMERSIVO DE COMBATE FLUVIAL

José Alejandro Lucero Mena

UNIVERSIDAD DE LOS ANDES

FACULTAD DE INGENIERÍA

DEPARTAMENTO DE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN

BOGOTÁ D.C

DICIEMBRE 2009

Page 2: José Alejandro Lucero Mena

RIVERWARS: VIDEOJUEGO INMERSIVO DE COMBATE FLUVIAL

Proyecto de grado para optar al título de

Ingeniero de Sistemas y Computación

PROFESOR ASESOR

Sergio A. Ordóñez Medina

UNIVERSIDAD DE LOS ANDES

FACULTAD DE INGENIERÍA

DEPARTAMENTO DE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN

BOGOTÁ D.C

DICIEMBRE 2009

Page 3: José Alejandro Lucero Mena

AGRADECIMIENTOS

A mi familia por su incondicional apoyo. Su amor y sus palabras han sido fuente constante

de motivación para alcanzar lo más alto y sobrellevar las adversidades que me ha trazado

la vida. Gracias por siempre estar ahí.

También quiero agradecer a mi asesor Sergio Arturo Ordoñez, a mi jurado Pablo Figueroa,

a mi compañero de proyecto Raul Oses y en general a toda la gente del grupo de

investigación Imagine y el laboratorio Colivrí por creer en el desarrollo de videojuegos en

el contexto académico. Esperemos que gracias a este respaldo nazcan las mentes más

brillantes en el país en torno a este campo tan rico en conocimiento e innovación.

Page 4: José Alejandro Lucero Mena

1

Tabla de Contenido

0 RESUMEN .........................................................................................................................................4

1 INTRODUCCIÓN ................................................................................................................................5

2 DESCRIPCIÓN GENERAL.....................................................................................................................7

2.1 OBJETIVOS............................................................................................................................................ 7

2.2 ANTECEDENTES...................................................................................................................................... 7

2.2.1 America’s Army............................................................................................................................. 7

2.2.2 SOCOM II: US Navy SEALs ............................................................................................................. 8

2.2.3 Full Spectrum Warrior................................................................................................................... 8

2.3 IDENTIFICACIÓN DEL PROBLEMA Y DE SU IMPORTANCIA .................................................................................. 8

3 DISEÑO Y ESPECIFICACIONES.............................................................................................................9

3.1 DEFINICIÓN DEL PROBLEMA...................................................................................................................... 9

3.2 ESPECIFICACIONES.................................................................................................................................. 9

3.2.1 Requerimientos Funcionales......................................................................................................... 9

3.2.2 Atributos de Calidad ..................................................................................................................... 9

4 DESARROLLO DEL DISEÑO ............................................................................................................... 10

4.1 GAME DESIGN..................................................................................................................................... 10

4.1.1 Documento de diseño del videojuego......................................................................................... 11

4.2 SCRUM .............................................................................................................................................. 12

5 IMPLEMENTACIÓN.......................................................................................................................... 14

5.1 SPRINT 01 .......................................................................................................................................... 14

5.1.1 Tareas ......................................................................................................................................... 14

5.1.2 Resultados .................................................................................................................................. 16

5.2 SPRINT 02 .......................................................................................................................................... 18

5.2.1 Tareas ......................................................................................................................................... 18

5.2.2 Resultados .................................................................................................................................. 22

5.3 SPRINT 03 .......................................................................................................................................... 24

5.3.1 Tareas ......................................................................................................................................... 24

5.3.2 Resultados .................................................................................................................................. 27

5.4 SPRINT 04 .......................................................................................................................................... 29

5.4.1 Tareas ......................................................................................................................................... 29

5.4.2 Resultados .................................................................................................................................. 29

5.5 SPRINT 05 .......................................................................................................................................... 31

5.5.1 Tareas ......................................................................................................................................... 31

5.5.2 Resultados .................................................................................................................................. 31

6 VALIDACIÓN ................................................................................................................................... 33

6.1 MÉTODOS .......................................................................................................................................... 33

6.1.1 Bugs ............................................................................................................................................ 33

6.1.2 Disciplinas de prueba.................................................................................................................. 34

6.1.3 Formato de evaluación ............................................................................................................... 35

Page 5: José Alejandro Lucero Mena

2

6.2 RESULTADOS....................................................................................................................................... 38

6.2.1 Prueba 1...................................................................................................................................... 38

6.2.2 Prueba 2...................................................................................................................................... 39

Validación de Correlación ........................................................................................................................ 40

Análisis Tutorial y Práctica....................................................................................................................... 43

7 CONCLUSIONES............................................................................................................................... 45

7.1 DISCUSIÓN ......................................................................................................................................... 45

7.2 TRABAJO FUTURO ................................................................................................................................ 46

8 REFERENCIAS .................................................................................................................................. 47

APÉNDICES.............................................................................................................................................. 48

ANEXO NO. 01 DOCUMENTO DE DISEÑO RIVERWARS........................................................................................... 48

ANEXO NO. 02 SPRINT BACKLOGS...................................................................................................................... 85

ANEXO NO. 03 FORMATO PRUEBAS DE USUARIO.................................................................................................. 90

Page 6: José Alejandro Lucero Mena

3

Tabla de Ilustraciones

Ilustración 1. Clase Player.cpp........................................................................................................... 14

Ilustración 2. TorqueScript default.bind.cs ....................................................................................... 15

Ilustración 3. Cámara Avanzada........................................................................................................ 17

Ilustración 4. Montar y Rotar Player Dentro del Vehículo ................................................................ 17

Ilustración 5. Seguir Path .................................................................................................................. 18

Ilustración 6. Definición Clase EnemyBot.cs ..................................................................................... 19

Ilustración 7. Método Clase EnemyBot.cs......................................................................................... 19

Ilustración 8. Diagrama de Clases Sistema de Información .............................................................. 21

Ilustración 9. Diseño de Base de Datos ............................................................................................. 22

Ilustración 10. Enemigo sin Traslación .............................................................................................. 23

Ilustración 11. Clase DataManager.cs TorqueScript ......................................................................... 23

Ilustración 12. Inteligencia Artificial.................................................................................................. 24

Ilustración 13. Diagrama de cambio de estado................................................................................. 25

Ilustración 14. Método Clase DynamicBot.cs.................................................................................... 25

Ilustración 15. Clase MySql.cpp......................................................................................................... 26

Ilustración 16. GUI Selección de Misión............................................................................................ 27

Ilustración 17. Enemigo con Traslación............................................................................................. 28

Ilustración 18. Resultados de la Partida ............................................................................................ 28

Ilustración 19. (a) Modelo sin textura. (b) Modelo con textura ....................................................... 29

Ilustración 20. Personaje enemigo usando arma M60 ..................................................................... 30

Ilustración 21. Modelo M60.............................................................................................................. 30

Ilustración 22. Modelo Compañero .................................................................................................. 32

Ilustración 23. Implementos para las pruebas.................................................................................. 37

Ilustración 24. Gráfico I Pruebas ....................................................................................................... 41

Ilustración 25. Gráfico II Pruebas ...................................................................................................... 41

Ilustración 26. Gráfico III Pruebas ..................................................................................................... 42

Ilustración 27. Gráfico IV Pruebas ..................................................................................................... 43

Ilustración 28. Gráfico V Pruebas ...................................................................................................... 43

Page 7: José Alejandro Lucero Mena

4

0 Resumen

Este documento presenta una primera aproximación al desarrollo de un sistema de

visualización para el desarrollo de un simulador inmersivo para entrenamiento en

combate fluvial usando la plataforma de desarrollo de videojuegos Torque 3D. El proyecto

fue realizado teniendo como pilar las mecánicas básicas de un simulador de

entrenamiento militar según las especificaciones de la Armada Nacional de Colombia,

pero es clave especificar que el diseño y desarrollo se basó en un paradigma de desarrollo

de videojuegos así que el objetivo general del proyecto es crear una experiencia inmersiva

y entretenida para el usuario final. La presentación visual le permite al usuario tomar

control de un modelo tridimensional equipado con dos tipos de armas de corto alcance,

localizado sobre una lancha de combate en movimiento dentro de un escenario

tridimensional. El usuario tiene la capacidad de rotar sobre los ejes Raw y Pitch con el fin

de apuntar, disparar y dar en el blanco a objetos móviles y estáticos. Finalmente, se

llevaron a cabo pruebas de usuario con el fin de asegurar la calidad del prototipo

implementado y comprobar el éxito del proyecto. Los resultados fueron exitosos.

Page 8: José Alejandro Lucero Mena

5

1 Introducción

El desarrollo que ha tenido la computación visual desde hace décadas ha llevado al ser

humano a superar los límites de su imaginación; todo lo que tu mente pueda crear logra

ser replicado usando las herramientas necesarias gracias a los desarrollos tecnológicos

que ha tenido este campo. El arte, el diseño y las ciencias de la computación se integran

de una manera inverosímil, dando rienda suelta a todo tipo de proyectos que busquen

visualizaciones inmersivas y faciliten el alcance de un objetivo en particular, desde

acercamientos al entretenimiento digital como los videojuegos y las películas animadas,

hasta soluciones de carácter académico como el procesamiento de imágenes médicas o la

simulación del flujo sanguíneo en el cuerpo humano. Hoy, la computación visual hace

parte de nuestras vidas y la podemos encontrar en todas partes, el alcance que tiene ha

llevado al ser humano a tener un mejor estilo de vida gracias al número de ventajas que

nos ofrece. La tecnología gráfica puede colaborar para el mejoramiento, no solo de

nuestra vida cotidiana, sino también de nuestras habilidades motrices y cognitivas; el ser

humano tiene una gran tendencia al aprendizaje y con el frenético desarrollo de nuevas

tecnologías es de carácter primario que la computación visual tome un papel protagónico

en formas eficientes tanto de enseñanza como de entretenimiento. Los escenarios

virtuales simulan las condiciones de un escenario real para permitir la ejecución de

actividades en circunstancias de riesgo nulas o menores a las de una situación real; estas

actividades conllevan altos niveles de inmersión y presentan una alternativa altamente

entretenida.

El problema yace en la creación de ambientes interactivos lo suficientemente inmersivos

para simular situaciones reales que hagan experimentar al usuario final la emoción de

estar en dicha situación. La necesidad de crear mecanismos y metodologías para

entretener a una sociedad con niveles de estrés cada día más altos es latente. Si se lograse

desarrollar una aproximación lo suficientemente buena que simulara las condiciones de

un escenario de combate real: enemigos, armas, condiciones climáticas, vehículos, etc. se

sumergiría al jugador en un ambiente totalmente desafiante y divertido. Claro está que

éste tipo de soluciones deben integrar diferentes campos del saber que ayuden a la

implementación de sistemas de visualización, interfaces hombre-máquina y

retroalimentación física para lograr el nivel de realismo demandado. La interfaz hombre-

máquina y la retroalimentación física le permiten al usuario final interactuar de manera

natural con el videojuego. El sistema de visualización es necesario para contextualizar al

usuario final en un escenario virtual donde pueda realizar las tareas requeridas dentro de

cada nivel de juego. El proyecto actual pretende implementar un videojuego usando el

Page 9: José Alejandro Lucero Mena

6

motor de juegos Torque 3D en miras de generar un mundo inmersivo e interactivo de

combate fluvial.

El prototipo final es un videojuego que pretende probar su éxito como tal midiendo

aspectos técnicos, de usabilidad y lo más importante, entretenimiento. Es importante

destacar que las herramientas de diseño y desarrollo usadas en el proyecto tienen

orígenes en la ingeniería de software y son altamente usadas en el desarrollo de

videojuegos. El diseño del proyecto se llevó a cabo usando las bases del game design

soportadas en un documento de diseño del videojuego en donde se establecen las

especificaciones del proyecto, éstas consisten básicamente en el concepto, historia,

niveles, mecánica y personajes que hacen parte del aplicativo y soportan toda la fase de

desarrollo. Con respecto a la implementación, se usó la técnica de desarrollo de software

por ciclos SCRUM; el proyecto se dividió en cinco (5) ciclos de tres (3) semanas de

duración con tareas específicas de desarrollo y diseño. Cada fin de ciclo estaba

caracterizado por un prototipo y un postmortem en donde el análisis y retroalimentación

de tareas y riesgos llevaba a un proceso constante de mejoramiento.

Al final de esta investigación se desarrolló un prototipo final con los requerimientos

especificados y se implantaron un número de pruebas con una muestra de 30 personas

con el fin de asegurar la calidad del prototipo y medir en lo posible el éxito del proyecto.

Los parámetros de medición fueron: gráficos, sonido y usabilidad, habiendo recibido

excelentes resultados en cada uno de éstos y concluyendo que el proyecto fue

satisfactorio.

A través del documento se profundiza en cada uno de los puntos nombrados en este

segmento introductorio con el fin de argumentar de manera formal todo el proceso

impartido por el investigador. El documento comienza definiendo unos objetivos y

antecedentes del problema del proyecto; luego, se especifica el diseño e implementación

del videojuego y, por último, se cierra con pruebas de validación y conclusiones al

respecto.

Page 10: José Alejandro Lucero Mena

7

2 Descripción general

2.1 OBJETIVOS

El objetivo principal es implementar, usando el motor gráfico Torque 3D, un videojuego

inmersivo, entretenido y de alta calidad ambientado en un escenario de combate fluvial.

El prototipo debe tener la capacidad de permitir al usuario tomar control de un modelo

tridimensional equipado con dos tipos de armas de largo alcance, localizado sobre una

lancha de combate en movimiento dentro de un escenario tridimensional compuesto por

rio, blancos y elementos de la naturaleza. El usuario debe poder rotar sobre los ejes Raw y

Pitch con el fin de apuntar, disparar y dar en el blanco a objetos móviles y estáticos.

Además, se espera que el sistema le brinde al usuario la posibilidad de jugar a través de

diferentes misiones caracterizadas por escenarios y dificultades variables. También es

importante el manejo de indicadores de desempeño del jugador bajo el marco de

resultados de juego que puedan ser persistidos en una base de datos.

2.2 ANTECEDENTES

Este trabajo hace parte del grupo de investigación en computación visual Imagine de la

Universidad de los Andes enmarcado en el trabajo realizado por Diego A. Hincapié Ossa,

Sergio A. Ordóñez Medina, Carlos Francisco Rodríguez y José Tiberio Hernández,

Immersive Simulator for Fluvial Combat Training. Este trabajo presenta el desarrollo de un

simulador de entrenamiento para combate fluvial en sus tres componentes primordiales:

plataforma móvil, visualización y dispositivo de disparo. El presente documento pretende

profundizar en una solución para el componente visual.

Otros proyectos afines que están muy cerca a la frontera de los videojuegos y los

simuladores de entrenamiento de combate son:

2.2.1 America’s Army

Este juego de video nace en el año 2002 desarrollado por el ejército de los Estados Unidos

originalmente para reclutar nuevos integrantes al ejército. El proyecto fue desarrollado

usando el Unreal Engine y hoy cuenta con varios títulos para PC y consolas.

El juego ha tenido adaptaciones para el entrenamiento de soldados del ejército

estadounidense, cumpliendo con éxito las tareas de simulación de combate en tiempo

real.

Page 11: José Alejandro Lucero Mena

8

El juego como tal pone al jugador en los pies de un soldado estadounidense dentro de un

equipo de tácticas con misiones colaborativas de combate. El juego es reconocido por ser

bastante realista, a lo cual le debe su gran éxito actual.

2.2.2 SOCOM II: US Navy SEALs

Este es un videojuego desarrollado para Playstation 2 que combina tácticas de combate en

tercera persona. El juego cuenta con un gran realismo en relación con las mecánicas del

juego gracias a la asesoría recibida por el United States Naval Special Warfare Command,

que es la organización de inteligencia de la armada naval de los Estados Unidos.

El juego prueba al usuario en campos como el sigilo, la puntería, el trabajo en equipo y el

cumplimiento de objetivos, haciendo de este una plataforma una aproximación bastante

buena de una simulación de entrenamiento de combate.

2.2.3 Full Spectrum Warrior

El juego fue desarrollado para PC y consolas. Cuenta con un sistema de físicas que lo hace

bastante realista. Está enfocado a tácticas de combate en tiempo real y ha sido adaptado

para entrenamiento militar, así como tratamiento sicológico.

La mecánica del juego consiste en dirigir a dos equipos a través de diferentes misiones de

combate y alcanzar los objetivos con el menor número de bajas y la mejor efectividad.

2.3 IDENTIFICACIÓN DEL PROBLEMA Y DE SU IMPORTANCIA

El problema yace en la necesidad de buscar alternativas de entrenamiento innovadoras en

el marco de la industria del entretenimiento digital a nivel mundial. La saturación del

mercado por parte de videojuegos mediocres y monótonos demanda nuevas ideas y

desarrollos originales que lleven al jugador a vivir experiencias altamente divertidas, que

creen una nueva tendencia en el desarrollo de videojuegos.

Page 12: José Alejandro Lucero Mena

9

3 Diseño y especificaciones

3.1 DEFINICIÓN DEL PROBLEMA

El proyecto pretende implementar un videojuego en primera persona en escenarios de

combate fluvial usando el motor de juegos Torque 3D con el fin de alcanzar buenos

resultados en términos de gráficos, sonido, mecánica de juego y entretenimiento. La

problemática está en conseguir el nivel de inmersión necesario desde el punto de vista

gráfico y de sonido para permitir al usuario final una experiencia interactiva altamente

satisfactoria.

3.2 ESPECIFICACIONES

3.2.1 Requerimientos Funcionales

Escenario tridimensional con rio, terreno y objetos de ambientación como árboles,

pasto e iluminación.

Cámara en primera persona.

Rotación raw y pitch del jugador.

Dos tipos de arma, M60 y M2.

El jugador debe apuntar y disparar el arma.

Blancos móviles y estáticos.

Inteligencia artificial para que los enemigos apunten y disparen al jugador.

Lancha con traslación y rotación.

Movimiento de la lancha a través de un path.

Sistema de persistencia para manejo de desempeño del jugador.

Modelos 3d para jugador, enemigo, M60 y M2.

Sonidos.

Interfaz gráfica.

3.2.2 Atributos de Calidad

Calidad gráfica.

Sonido 3d.

Uso de la herramienta Torque 3D.

Page 13: José Alejandro Lucero Mena

10

4 Desarrollo del diseño

La etapa de diseño se caracterizó por tener dos perspectivas, una desde el punto de vista

del Game Design, y la segunda desde el punto de vista de la ingeniería de software. Ambos

válidos para el desarrollo de un diseño conciso respecto a los objetivos del proyecto.

4.1 GAME DESIGN

Desde que existieron los juegos han existido diseñadores de juegos. Los primeros dados

lanzados y las primeras piedritas usadas para un juego de mesa han determinado que en

la historia existieron personas que tomaron un rol de diseñadores de juegos, ya fuera con

el fin de distraerse o entretener a sus amigos. Puede que estos mismos inventos se

transporten a los inicios de la cultura humana, pero son estos y su desarrollo hasta

nuestro días los que han enmarcado los principios del entretenimiento, y en el contexto

de este proyecto, del entretenimiento digital. Los videojuegos como los conocemos con

sus esplendorosos gráficos, mundos de fantasía y personajes de otro mundo tienen

asentadas sus bases de diseño en los juegos originales antes de ellos. Los principios

básicos siguen siendo los mismos: interactuar y divertirse.

Game Design es un rama del desarrollo de videojuegos que tiene como objetivo sentar las

bases de la mecánica de juego de cualquier videojuego; por lo general es la etapa inicial en

donde se plasma el core del proyecto y se tratan aspectos conceptuales, más que

técnicos, como historia, personajes, niveles, arte conceptual, etc. El papel que tiene el

game design es fundamental y su metodología rige cómo debe ser diseñado un

videojuego; la aproximación usada en este proyecto fue reunir en un solo concepto las

especificaciones dadas por la Armada Nacional de Colombia y la experiencia del grupo de

investigación en el diseño de videojuegos para plasmar en un documento de diseño la

base primordial del proyecto. Se pretende que el documento de diseño sea una

herramienta que haga del proceso de desarrollo una tarea más eficiente que no requiera

la asistencia de desarrolladores y horas de programación.

El diseño iterativo fue la aproximación que tuvo el proyecto para el diseño del videojuego.

El diseño iterativo se enfoca en un proceso basado en prototipos; las decisiones de diseño

se van tomando de acuerdo se avanza en el desarrollo del videojuego. La metodología

iterativa permite tener un borrador del videojuego en una fase temprana y realizar

modificaciones y correcciones pertinentes. El prototipo en principio no tiene la estética

del juego finalizado, pero permite definir las reglas fundamentales y las mecánicas core

del videojuego. El diseño iterativo es un proceso cíclico que alterna entre prototipado,

Page 14: José Alejandro Lucero Mena

11

pruebas, evaluación y mejoramiento. Es muy difícil anticipar el grado de entretenimiento

de un videojuego, por eso es importante realizar un proceso iterativo que permita

experimentar con el diseño propuesto y probar qué tan divertido es. La única respuesta se

puede obtener jugando versiones preliminares, prototipos jugables que reten las

propuestas de diseño realizadas con el fin de comprender su éxito en la integración al

videojuego.

4.1.1 Documento de diseño del videojuego

Durante el trascurso del proyecto se trabajó en la construcción de un documento que

plasma el diseño del videojuego. Este documento hace parte de los anexos del trabajo

ANEXO No. 01 Documento de Diseño RiverWarS. El documento trata los siguientes

aspectos:

Descripción general: Esta parte describe los puntos generales del juego; pretende

entregar un primer acercamiento a las características del videojuego como el género al

que pertenece, la plataforma de ejecución, el estilo visual, el público objetivo y el estado

del arte.

Mecánicas de juego y jugabilidad: Aquí se definió de manera detallada la manera como el

jugador interactúa con el videojuego a través del personaje, determinando los alcances

que tiene este a través de los diversos niveles presentados. Qué misiones y objetivos tiene

el jugador, así como las reglas de juego, son explicadas en esta sección del documento de

diseño.

Historia, los personajes y el mundo: En esta sección, al igual que en la anterior, se diseñan

los fundamentos del videojuego. En este caso se planteó la historia que le da argumento al

juego y pretende motivar al jugador para terminar las misiones con éxito. Los personajes y

el mundo son bastante importantes ya que son estos elementos con los que el jugador se

debe identificar para garantizar la mejor experiencia posible. El proyecto se enfocó en

definir una historia, unos personajes y un mundo que argumentara la mecánica de juego

de combate fluvial en primera persona.

Niveles: Este nivel explica de manera específica el contenido de cada nivel, así como el

progreso que debe llevar el jugador dentro de este. Los niveles se diseñaron pensando en

tener un primer nivel de tutorial que introdujera al jugador a las mecánicas básicas del

videojuego; Luego se diseñaron niveles de práctica y combate que le permitieran al

jugador mejorar su desempeño y divertirse.

Inteligencia artificial: La inteligencia artificial es un aspecto fundamental del juego que

permite proponerle retos y dificultad al jugador. En el proyecto se diseño la inteligencia

Page 15: José Alejandro Lucero Mena

12

artificial para que los enemigos atacaran al jugador cada vez que este entraba en un

perímetro determinado. El diseño de esta sección fue realizado teniendo como base tres

aspectos que deber tener el enemigo controlado: Apreciación del mundo, Memoria y

Análisis. La apreciación del mundo se refiere a la recolección de información relevante

acerca de la posición del jugador. Memoria es elemental para almacenar la información

recolectada y procesarla después. Análisis consiste en pensar qué decisión se puede tomar

dada la información tomada y ejecutar dicha decisión (disparar, rotar, trasladarse, etc.). El

objetivo final es hacer enemigos con inteligencia artificial los suficientemente buenos para

que el videojuego sea retador y adictivo.

Elementos técnicos del juego: En esta sección trata acerca de las tecnologías usadas para

la implementación del proyecto como lenguajes de programación, motor de juego y

herramientas de modelado y animación.

Nota: Ver ANEXO No. 01 Documento de Diseño RiverWarS.

4.2 SCRUM

Scrum es una técnica de desarrollo de proyectos; fue usada para la especificación de las

tareas a través de todo el proceso de diseño, investigación e implementación. Dada su

importancia en el proyecto es importante subrayar las características de esta herramienta.

Scrum es un marco de referencia iterativo para el desarrollo de trabajos complejos y es

frecuentemente usado para el desarrollo ágil de software. El marco define prácticas y

roles para el desarrollo del proyecto. Los roles que componen un Scrum son:

ScrumMaster: Es quien maneja el proyecto. Este rol facilita la comunicación entre los

desarrolladores y mitiga cualquier impedimento para el desarrollo del proyecto.

Product Owner: Se refiere al representante de un grupo de interés que aboga por los

requerimientos de estos. Representa la voz del cliente.

Team: Es un grupo que se encarga del análisis, diseño, implementación, pruebas, etc.

Un Sprint es un ciclo de desarrollo dentro del proceso Scrum, así que un Scrum está

conformado de varios Sprints iterativos de mejoramiento. Cada Sprint dura

aproximadamente entre 2 y 4 semanas; durante este tiempo el equipo crea un prototipo

con determinadas características. El prototipo debe cumplir con las características

especificadas en el Product Backlog, Sprint Backlog y Burn Down.

Product Backlog: Este es un documento para todo el proyecto. Contiene una descripción

amplia de los requerimientos.

Page 16: José Alejandro Lucero Mena

13

Sprint Backlog: Es un documento que contiene información acerca de cómo va a ser

implementada cada tarea por el equipo de desarrollo en el Sprint. Se estima el tiempo de

trabajo de cada tarea entre cuatro (4) y diez y seis (16) horas.

Burn Down: Este es un cuadro que muestra el trabajo restante del Sprint Backlog. Ofrece

una vista del progreso del Sprint.

Es importante que cada Sprint genere una entrega funcional con el fin de tener software

funcionando en una etapa temprana. Además con una entrega funcional se pueden

realizar pruebas y cambiar los requerimientos según lo necesario.

Page 17: José Alejandro Lucero Mena

14

5 Implementación

El proyecto se dividió en cinco (5) ciclos, cada uno con una duración de 3 semanas. Debido

a que se uso la técnica de desarrollo de software Scrum, de ahora en adelante los ciclos

van a ser llamados Sprint en este documento.

Cada Sprint estuvo caracterizado por un Sprint Backlog con la descripción del trabajo; el

trabajo está dividido en tareas específicas con un tiempo determinado. Los Backlogs

hacen parte de la sección de anexos, ANEXO No. 02 Sprint Backlogs. A continuación se

realiza una descripción del trabajo realizado en cada uno de los Sprints, así como los

resultados obtenidos.

Nota: Ver ANEXO No. 02 SPRINT BACKLOGS.

5.1 SPRINT 01

5.1.1 Tareas

Crear Cámara Avanzada

Esta tarea consistió en la generación a través del código fuente de Torque 3D, usando el

lenguaje de programación C++, de una cámara diferente a la que tiene por defecto el

motor de juegos para permitir que el jugador trasladara el POV (Point of View) del

personaje sin trasladar el arma montada.

Ilustración 1. Clase Player.cpp

Page 18: José Alejandro Lucero Mena

15

La importancia de esta tarea radica en la necesidad del jugador de tener ángulos de vista

diferentes al que viene por defecto en Torque 3D, permitiéndosele ahora mirar por la

derecha, izquierda, arriba y abajo.

El trabajo consistió en modificar el código original de la clase Player.cpp del código fuente

del motor de juegos Torque 3D. Se identificó el método que retorna la matriz de

transformación de la cámara con el fin de modificarla en las variables X y Z que se

traducen en el mundo geométrico como los ejes X y Z, respectivamente. Las variables

CameraOffsetX y CameraOffsetY permiten modificar la matriz de transformación de la

cámara según los valores de estas variables, las cuales son modificadas por medio de una

interfaz entre el código fuente y el lenguaje script de Torque, TorqueScript. Así, de esta

manera se permite crear una nueva característica en la cámara tradicional de Torque y

brindarle al jugador los controles necesarios para mover la cámara según lo requiera de

manera horizontal y vertical.

Ilustración 2. TorqueScript default.bind.cs

Montar Player Dentro de Vehículo

Torque 3D cuenta con dos (2) tipos de objetos que fueron primordiales para la

implementación del videojuego, los objetos Player y WheeledVehicle. Player representa

un jugador y controla los movimientos de este dentro de un mundo tridimensional; cuenta

Page 19: José Alejandro Lucero Mena

16

con diferentes parámetros para definir velocidad de movimiento, sonidos, partículas y

físicas. Por otro lado, WheeledVehicle representa a un vehículo dentro del mundo. Debido

a las mecánicas del videojuego se tuvo que implementar en TorqueScript el método que

permite montar un objeto Player dentro de un objeto WheeledVehicle; para ello se usó el

método Vehicle.mountObject(Player, 1).

Rotar Player Dentro de Vehículo

Esta tarea consistió en permitir la rotación de un jugador dentro del vehículo. Para

permitir esta funcionalidad se modificó en TorqueScript el método que le daba control al

vehículo una vez el jugador se montaba al vehículo, así el jugador continua teniendo

control sobre el personaje y puede rotar con el fin de apuntar en la dirección necesaria.

Seguir Path

Existe el requerimiento de lograr que el vehículo, o sea la lancha de combate, siga un

camino predefinido por el programador. La solución planteada consistió en usar los

objetos Path y Marker de TorqueScript en locaciones determinadas del escenario. Un Path

define un conjunto de objetos Marker que se ubican en el mundo y definen las posiciones

a las que se debe trasladar la lancha de combate.

5.1.2 Resultados

Se lograron implementar todas las tareas planteadas en el Sprint 01, obteniendo

resultados satisfactorios que se materializaron en prototipos y demos funcionales.

Page 20: José Alejandro Lucero Mena

17

Ilustración 3. Cámara Avanzada

Ilustración 4. Montar y Rotar Player Dentro del Vehículo

Page 21: José Alejandro Lucero Mena

18

Ilustración 5. Seguir Path

5.2 SPRINT 02

5.2.1 Tareas

Efectos de Sonido

Esta tarea tuvo el objetivo de integrar al videojuego varios efectos de sonido necesarios

para brindarle una mayor inmersión al jugador. Estos sonidos consistieron en: Sonido

arma M60, Sonido arma M2, Sonido Lancha en Movimiento y Sonido Lancha sin

Movimiento.

Para el desarrollo de esta tarea se tuvieron tres etapas: (i) Investigación del sistema SFX de

Torque 3D, (ii) Búsqueda y edición de los sonidos, y (iii) Programación en TorqueScript.

Inteligencia Artificial

Para el proyecto se plantearon dos tipos de enemigos, uno que contara con posibilidad de

rotar sobre su eje con el fin de apuntar y disparar al jugador. A este enemigo se le llamó

dentro del proyecto Enemigo Bot Estático; el bot estático no se traslada, rota en los ejes

raw y pitch, apunta directamente al jugador, tiene montada un arma y dispara.

Page 22: José Alejandro Lucero Mena

19

El segundo tipo de enemigo tiene las mismas características del bot estático, excepto

porque si se puede trasladar en los ejes X y Y. El enemigo bot dinámico no fue

implementado para este Sprint y quedó pendiente para el Sprint 02.

Para la implementación se hizo uso del objeto AIPlayer de TorqueScript, el cual define los

métodos necesarios para cumplir con los requisitos.

Ilustración 6. Definición Clase EnemyBot.cs

La clase AIPlayer define los parámetros básicos del enemigo, mientras que los métodos

setAimObject() y setImageTrigger permiten apuntar y disparar al jugador,

respectivamente.

Ilustración 7. Método Clase EnemyBot.cs

Page 23: José Alejandro Lucero Mena

20

Los enemigos en el juego van a consistir en personajes manejados por la computadora

que van a atacar al jugador cuando éste se encuentre dentro de un rango de disparo

específico con el fin de eliminarlo. Cada enemigo va a estar ubicado en una zona terrestre,

sin traslación alguna, solo con la capacidad de rotar alrededor de su propio eje para

disparar al jugador. Las funciones específicas del enemigo bot estático son:

Esperar sin realizar acción alguna, siempre y cuando el jugador este fuera del

rango de disparo (radio).

Apuntar y disparar directamente a la posición del jugador cuando éste se

encuentre dentro del rango de disparo.

Sistema de Información

La idea detrás de un sistema de información es permitir que el juego almacene en disco

(persista) los datos recolectados en cada partida acerca del jugador; los datos más

relevantes son nombre, fecha y desempeño, el desempeño se refiere a constantes que

indican el número de disparos hechos por el jugador, así como el número de disparos

acertados.

Para la implementación del sistema de información primero se tuvo que realizar una tarea

de investigación acerca de las posibilidades por defecto que ofrecía el motor de juegos

para persistir información. Una vez realizada esta investigación se llegó al acuerdo de

implementar en el código fuente de Torque 3D un componente de Persistencia que se

enlazara con MySQL usando MySQL Connector C++. Una vez realizado el diseño del

componente, se construyeron las clases necesarias en TorqueScript para permitirle al

juego comunicarse con la interfaz en C++. La implementación final del componente se hizo

en el Sprint 03, mientras que el diseño de todo el sistema y la implementación de las

clases en TorqueScript se realizaron en este Sprint.

Page 24: José Alejandro Lucero Mena

21

Ilustración 8. Diagrama de Clases Sistema de Información

Page 25: José Alejandro Lucero Mena

22

Ilustración 9. Diseño de Base de Datos

5.2.2 Resultados

Se completaron con éxito las tareas en torno al diseño del componente de persistencia,

así como el diseño de la inteligencia artificial del enemigo sin traslación haciendo énfasis

en un comportamiento desafiante para el jugador con el fin de hacer más entretenido el

videojuego. Por otro lado, todos los efectos de sonido fueron editados e integrados a cada

nivel del juego de video. La implementación del enemigo con traslación fue completada

en su totalidad de manera satisfactoria. El desarrollo del componente de persistencia en

C++ fue postergado para el próximo sprint.

Page 26: José Alejandro Lucero Mena

23

Ilustración 10. Enemigo sin Traslación

Ilustración 11. Clase DataManager.cs TorqueScript

Page 27: José Alejandro Lucero Mena

24

5.3 SPRINT 03

5.3.1 Tareas

Inteligencia Artificial Enemigo Bot Dinámico

Una vez implementado el enemigo sin traslación en el Sprint anterior, el reto consistía en

permitir que el enemigo se trasladara en el mundo para dificultarle la tarea al jugador. Se

usaron los mismos métodos que en el enemigo bot estático, pero a diferencia de este

último, para esta implementación se agregó el uso de los objetos Path y PathMarkers de

TorqueScript para delimitar un “camino” por el cual el enemigo pudiese trasladarse.

La solución es bastante sencilla, se crea un objeto AIPlayer en el escenario acompañado

de dos objetos PathMarker definidos por el programador que indican la trayectoria que

debe tener el enemigo durante todo el nivel. Cada objeto PathMarker tiene una locación,

una vez el enemigo la alcanza, se devuelve al nodo inicial, y así de manera cíclica.

Para brindarle una mayor dificultad al juego se tomo la decisión de agregar un enemigo

que tuviera la capacidad de trasladarse en un área determinada del terreno. Esto va a

hacer que sea más tedioso apuntarle al enemigo y dar en el blanco. Las funciones

específicas del bot dinámico son:

Esperar sin disparar, siempre y cuando el jugador esté fuera del rango de disparo.

El enemigo se traslada de un punto a otro dado un área determinada.

Apuntar y disparar directamente a la posición del jugador cuando éste se

encuentre dentro del rango de disparo (radio). El enemigo se sigue trasladando

independiente de su estado de ataque.

Estados de Bot Dinámico y Estático

Estado de Espera Estado de Ataque

Enemigo

Jugador

Radio

Distancia

Enemigo

Jugador

Radio

Distancia

Ilustración 12. Inteligencia Artificial

Page 28: José Alejandro Lucero Mena

25

Diagrama de cambio de estado

Ilustración 14. Método Clase DynamicBot.cs

Sistemas de Información Componente Persistencia C++

En este Sprint se terminó de implementar el componente de persistencia en el código

fuente de Torque 3D. Se usó el API MySQL Connector C++ para persistir la información en

una base de datos MySQL. Además de desarrollar una interfaz para realizar queries y

operaciones de base de datos relacionales, el componente se integró con TorqueScript

para permitir cualquier tipo de operación sin necesidad de recompilar el proyecto en C++.

Así, la clase Datamanager.cs de TorqueScript quedó unida con la clase MySql.cpp en C++.

Ilustración 13. Diagrama de cambio de estado

Page 29: José Alejandro Lucero Mena

26

Se pueden realizar queries y updates desde TorqueScript, así como establecer una

conexión a la base de datos suministrando los datos relevantes: usuario, contraseña,

servidor, default schema, etc.

Ilustración 15. Clase MySql.cpp

Interfaz Gráfica

Una vez implementada la mecánica core del videojuego, el proyecto se enfocó en mejorar

el look-&-feel de este. El primer paso fue definir una interfaz práctica que le permitiera al

jugador acceder a los niveles del juego, el score de cada misión, así como ventanas de

configuración.

El primer paso consistió en definir el código detrás de la interfaz usando TorqueScript que

permitiera la transición entre las diferentes interfaces y mostraran la información

pertinente. Luego, se construyó la interfaz usando el editor de interfaces de Torque 3D en

donde se crearon ventanas, botones, cajas de texto, etc.

Page 30: José Alejandro Lucero Mena

27

Ilustración 16. GUI Selección de Misión

5.3.2 Resultados

Se lograron completar las tareas de este Sprint con éxito. El prototipo construido contó

con los avances realizados en Sprints anteriores más las tareas realizadas en este; hasta el

momento el jugador podía ingresar al juego usando una interfaz gráfica para acceder a los

niveles, seleccionar la misión deseada, encaminarse a través del nivel sobre una lancha,

eliminar a los enemigos que le disparaban y recibir la información de sus desempeño y

guardarla en la base de datos.

Page 31: José Alejandro Lucero Mena

28

Ilustración 17. Enemigo con Traslación

Ilustración 18. Resultados de la Partida

Page 32: José Alejandro Lucero Mena

29

5.4 SPRINT 04

5.4.1 Tareas

Modelado y Texturizado

En esta instancia del desarrollo del videojuego generaron modelos 3d propios para el

videojuego de acuerdo a los personajes y la historia planteada en el documento de diseño.

El trabajo consistió en construir los modelos tridimensionales que representaran el

enemigo y el arma m60. La técnica de modelado usada fue edición de polígonos con el fin

de crear un modelo con un número bajo de polígonos que permitiese un renderizado en

tiempo real eficiente. Para la tarea de modelado se usó el software de modelado y

animación 3DS Max.

Ilustración 19. (a) Modelo sin textura. (b) Modelo con textura

Tanto la etapa de modelado como la de texturizado son esenciales para darle vida a un

personaje de videojuegos; texturizar el modelo del enemigo y el arma fue precisamente el

paso dado antes de integrar los modelos al videojuego. En primera instancia se buscaron

las texturas apropiadas para representar cada uno de los modelos, una vez encontradas se

editaron un poco en el software de edición de imágenes Photoshop para obtener el

resultado deseado, por último las texturas fueron aplicadas usando 3ds Max.

5.4.2 Resultados

Los modelos del arma M60 y el personaje enemigo pudieron ser integrados al videojuego

una vez se exportaron del formato .max (extensión de archivos 3ds Max) al formato .dts

(Torque 3D solo es compatible con formatos dts y collada).

Page 33: José Alejandro Lucero Mena

30

Ilustración 20. Personaje enemigo usando arma M60

Ilustración 21. Modelo M60

Page 34: José Alejandro Lucero Mena

31

5.5 SPRINT 05

5.5.1 Tareas

Texturizado personaje amigo

En el transcurso del proyecto se ideó acompañar al jugador con dos compañeros que lo

asistieran en los niveles de combate con el fin de hacer el juego más divertido. Dado este

nuevo requerimiento se tuvo que crear un segundo modelo tridimensional que

representara a los amigos

Pruebas de usuario

En vista de que este fue el último ciclo de desarrollo, se plantearon pruebas de usuario

para probar el éxito del proyecto. Para ello se investigaron metodologías de game testing

y aseguramiento de calidad con el fin de organizar un conjunto de pruebas que

esclarecieran el nivel de entretenimiento del videojuego, así como la calidad de este.

Correcciones

Las tareas relacionadas a las correcciones se realizaron en torno a la retroalimentación

recibida en las pruebas de usuario. A continuación se enumeran:

Posicionar mejor los enemigos en el nivel mission1_combat.

Eliminar el modelo del enemigo una vez este es eliminado por el jugador.

Brindar una mejor retroalimentación al jugador cuando este le dispara a un

enemigo usando el sistema de partículas como sangre.

Generar una interfaz gráfica dentro del juego que hiciera al jugador consiente del

nivel de vida restante, cuándo recargar el arma y cuándo recibe un disparo.

5.5.2 Resultados

El segundo modelo, el compañero del jugador en la lancha, fue integrado

satisfactoriamente al juego. Se creó una segunda textura usando Photoshop, así que se

utilizó el mismo mesh del personaje enemigo y se texturizó con un color diferente.

Page 35: José Alejandro Lucero Mena

32

Ilustración 22. Modelo Compañero

Las tareas de corrección se terminaron por completo; se trabajó sobre el código original y

se realizaron cambios pertinentes en este para corregir los errores. En el caso de

posicionar mejor los enemigos en el nivel mission1_combat, se trabajó con el editor de

mundo de Torque para ubicar a los enemigos en lugares más estratégicos y así hacer del

videojuego algo más reñido. Para desaparecer al enemigo del juego una vez este era dado

de baja por el jugador, se usó el método delete() de TorqueScript para que el objeto

dejara de ser renderizado dentro del escenario. La nueva interfaz gráfica in-game fue

construida usando el editor de GUI de Torque, se ubicaron las imágenes respectivas en su

lugar usando esta herramienta. Por último, se uso el sistema de partículas para dar un

efecto de sangre cada vez que un enemigo era golpeado por una bala.

Los resultados de las pruebas fueron bastante satisfactorios; se llevo una prueba con una

muestre de 30 personas que jugaron todos los niveles del videojuego por unos 10 minutos

en promedio, una vez terminaban de jugar se le realizaron preguntas con respecto a los

errores encontrados, cuestiones por mejorar y su satisfacción con el videojuego. En la

sección VALIDACIÓN de este documento se encuentra información más detallada acerca

de la metodología, el procedimiento y los resultados obtenidos.

Page 36: José Alejandro Lucero Mena

33

6 Validación

Esta sección del documento es un testimonio de las pruebas realizadas en el proyecto con

el fin de conocer el grado de éxito que se alcanzó con respecto al problema y los objetivos

planteados al comienzo del trabajo. La primera parte, resume la teoría en torno a las

metodologías de Quality Assurance y Game Testing usadas para la validación del proyecto;

se hizo una consulta amplia de fuentes de información y se consideraron los puntos más

importantes con el fin de tener un conglomerado de metodologías para así poder evaluar

el videojuego desarrollado desde una perspectiva tanto funcional como de

entretenimiento. La segunda parte de la sección de validación explica cómo fue el proceso

de validación, cuáles fueron los resultados y qué se analizó de estos.

6.1 MÉTODOS

Quality Assurance y Game Testing son técnicas que pretenden identificar las fallas de un

videojuego desde un aspecto técnico, funcional, de jugabilidad y otros. Cómo el mismo

nombre lo indica, las pruebas intentan asegurar la calidad de la versión final del

videojuego, liberar el proyecto del mayor número de bugs (errores) que puedan llegar a

afectar el desempeño del videojuego.

6.1.1 Bugs

Un bug se define como un defecto, falla o imperfección inesperada en el software. Un bug

puede comprometer el funcionamiento correcto de un videojuego, por ello hay que

identificarlos y tratar de repararlos según su nivel de severidad, o sea el nivel de daño que

le hacen al videojuego. Los bugs pueden dividirse en tres (3) categorías según su nivel de

severidad:

Bug de Prioridad Baja

Son errores del videojuego con una importancia muy baja, hasta el punto que pueden ser

ignorados por el grupo de desarrollo ya que no comprometen la jugabilidad del

videojuego. Esta situación se puede llegar a dar cuando existen errores más críticos que

reparar y ameritan mayor tiempo de trabajo. Sonido con pequeñas distorsiones o un error

gráfico que es muy difícil de notar son ejemplos que hacen parte de esta categoría.

Bug de Prioridad Media

Son errores que ocurren con mayor frecuencia que los de baja prioridad, así que pueden

llegar a molestar al usuario final, pero sin comprometer la jugabilidad. El mismo bug de

Page 37: José Alejandro Lucero Mena

34

baja prioridad relacionado con un fallo gráfico sutil, puede convertirse en un bug de

mediana prioridad si su frecuencia a lo largo del videojuego aumenta a un nivel en que

incomoda al jugador.

Bug de Prioridad Alta

Estos errores deben ser definitivamente reparados para no comprometer la jugabilidad

del videojuego. Si un jugador no puede pasar al siguiente nivel porque no puede atravesar

un obstáculo, el equipo de desarrollo debe prestarle bastante atención a este bug ya que

amenaza con degradar el nivel de diversión del videojuego.

6.1.2 Disciplinas de prueba

Existen diferentes disciplinas dentro del proceso de validación de un videojuego que

abarcan un rango amplio de áreas de evaluación, desde funcionalidad, pasando por

aspectos de compatibilidad, hasta jugabilidad. A continuación se enumeran las disciplinas

más importantes:

Balance

La prueba de balance está relacionada con la jugabilidad y es responsable de asegurar que

el videojuego tenga un buen entre la inteligencia artificial y las habilidades del jugador con

el fin de obtener una versión lo suficientemente divertida y desafiante.

Compatibilidad

Esta prueba tiene como objetivo probar el desempeño del videojuego y su compatibilidad

con diferentes configuraciones de hardware encontradas en el mercado. La prueba de

compatibilidad implica una alta complejidad debido a que la persona encargada debe

tener la capacidad de instalar diferentes componentes en un computador como GPU’s y

módulos de RAM, así como tratar con problemas técnicos que puedan ocurrir durante la

instalación del videojuego.

Conformidad

La prueba de conformidad se hace de acuerdo a unas líneas guía establecidas por los

fabricantes del sistema sobre el cual va a correr el videojuego. La certificación es realizada

antes de que el videojuego salga al mercado y debe cumplir requisitos relacionados con

características del contenido, manejo de periféricos, derechos de autor, etc.

Page 38: José Alejandro Lucero Mena

35

Localización

Localización es el proceso de convertir un videojuego originalmente desarrollado en una

región a otra diferente. Aquí el punto más importante es realizar una traducción exitosa al

lenguaje de la región en donde se va a comercializar el videojuego.

Usabilidad

Esta disciplina pretende evaluar qué tan fácil de usar es determinado videojuego para un

jugador. No se refiere a la dificultad del videojuego como tal, sino a lo fácil e intuitivo que

es interactuar con el videojuego. Es bastante válido resaltar que la prueba evalúa tanto

mecanismos de juego como la interfaz gráfica para conocer lo instintivo que es el manejo

del videojuego.

Funcional

Esta es una de las disciplinas más importantes y más usadas para probar videojuegos.

Consiste en buscar problemas del juego como tal, como la integridad de los activos, el

correcto funcionamiento de las mecánicas de juego, la estabilidad, etc. En términos

generales consiste en encontrar los bugs que puedan llegar comprometer la jugabilidad

del videojuego.

6.1.3 Formato de evaluación

Nota: Ver ANEXO No. 03 Formato Pruebas de Usuario.

De acuerdo a las metodologías de Quality Assurance y Game Testing vistas arriba se

construyó un formato que aglomerara los puntos más relevantes para la evaluación del

videojuego en términos de funcionamiento, usabilidad y entretenimiento.

Primero, se tomó la decisión de realizar pruebas de funcionalidad y usabilidad con el fin de

detectar errores de programación y conocer la satisfacción del jugador con respecto a la

facilidad de uso del videojuego, respectivamente. Para la prueba de funcionalidad se

generó un formato que el usuario de prueba pudiera llenar con los bugs encontrados a

través del juego y clasificarlos según su nivel de severidad; el usuario de prueba puede

escribir una descripción breve del problema encontrado, el nivel de severidad que tiene, la

frecuencia con que ocurre el error y el lugar dentro del juego donde se da este. La prueba

de usabilidad se realizó haciendo preguntas al usuario para determinar su satisfacción con

el videojuego desde el punto de vista de interacción y facilidad de uso. Las preguntas

realizadas fueron:

Page 39: José Alejandro Lucero Mena

36

¿Qué tan fácil de usar le pareció el juego? (Entre 0 y 10)

¿El tutorial le permitió entender más sobre cómo jugar? (Si o No)

¿Las misiones de práctica permitieron refinar sus habilidades? (Si o No)

Segundo, se establecieron unas cuantas preguntas con respecto a la calidad gráfica y de

sonido, así como el grado de entretenimiento del videojuego. Las preguntas para esta

parte fueron:

¿Qué tan divertido le pareció el juego? (Entre 0 y 10)

¿Qué tan buenos le parecieron los gráficos del juego? (Entre 0 y 10)

¿Qué tan bueno le pareció el sonido en el juego? (Entre 0 y 10)

Por último, se le preguntó al jugador acerca de los aspectos que podría mejorar el juego

con el fin de tener esos puntos en cuenta para trabajos futuros. Las preguntas fueron:

¿Qué no le gusto del juego?

¿Qué podría mejorarse para hacer más entretenido el juego?

Además, al principio de cada prueba realizada a un usuario se le pedían los siguientes

datos: nombre del jugador, edad, sexo y experiencia de juego. Estos datos se recolectaron

con el fin de realizar estadísticas y analizar los resultados según la muestra.

La prueba en total contó con 30 participantes, tanto mujeres como hombres con

experiencia en videojuegos baja, media y alta. La prueba se dividió en dos sub-pruebas

que tomaron lugar en días diferentes y con personas diferentes. En la primera sub-prueba

se usó la siguiente configuración de hardware:

Intel Core 2 Duo 2.6 GHz.

4 GB de memoria RAM.

Tarjeta Gráfica Nvidia Quadro FX 1330 (Versión Laptop).

Pantalla Samsung LedTV 52’’.

Sonido Estéreo.

El objetivo de la primera prueba fue probar la primera versión beta del juego según el

formato definido con el fin de obtener retroalimentación de los usuarios de prueba para

realizar correcciones y generar una segunda versión beta.

La segunda sub-prueba pretendía ver qué cambios se generaron en la percepción que

tuvo la gente del juego gracias a las correcciones realizadas en la segunda versión beta.

Para ello se mantuvo el mismo formato de evaluación, pero esta vez los usuarios de

prueba fueron diferentes, así como la configuración de hardware usada:

Page 40: José Alejandro Lucero Mena

37

AMD Quad Core 2.4 GHz.

8 GB de memoria RAM.

Tarjeta Gráfica ATI HD 4870.

Pantalla Samsung LedTV 52’’.

Sonido Surround 5.1.

Ilustración 23. Implementos para las pruebas

Page 41: José Alejandro Lucero Mena

38

6.2 RESULTADOS

A continuación se presentan los resultados obtenidos, así como un análisis estadístico

basado en tablas y gráficos.

6.2.1 Prueba 1

No. Personas = 13Edad Sexo Experiencia Diversión Usabilidad Gráficos Sonido Tutorial Práctica

22 Masculino Gamer 7 5 10 8 No Si

23 Masculino Gamer 7 6 7 9 SI Si

23 Masculino Gamer 8 8 7 8 Si Si

23 Femenino No Gamer 8 3 5 7 No No

23 Femenino Casual Gamer

7 4 8 8 No Si

22 Masculino Gamer 8 10 7 10 Si Si

21 Femenino No Gamer 8 8 7 7 Si Si

25 Femenino Casual Gamer

8 10 9 9 Si Si

23 Masculino Gamer 7 9 3 7 Si Si

23 Masculino Gamer 7 6 8 4 Si Si

24 Masculino No Gamer 4 6 6 8 No Si

25 Masculino Casual Gamer

6 5 7 8 Si Si

20 Femenino Casual Gamer

6 5 7 8 Si Si

Valores Casual Gamer Gamer No Gamer Total

Media Diversión 6,75 7,333333333 6,666666667 7

StdDev of Diversión 0,957427108 0,516397779 2,309401077 1,154700538

Media Usabilidad 6 7,333333333 5,666666667 6,538461538

StdDev of Usabilidad 2,708012802 1,966384161 2,516611478 2,258885589

Media Gráficos 7,75 7 6 7

StdDev of Gráficos 0,957427108 2,28035085 1 1,732050808

Media Sonido 8,25 7,666666667 7,333333333 7,769230769

StdDev of Sonido 0,5 2,065591118 0,577350269 1,423250163

Casual Gamer Gamer No Gamer

Valores Femenino Masculino Masculino Femenino Masculino Total

No. Personas 3 1 6 2 1 13

Page 42: José Alejandro Lucero Mena

39

6.2.2 Prueba 2

No. Personas = 17Edad Sexo Experiencia Diversión Usabilidad Gráficos Sonido Tutorial Práctica

24 Masculino gamer 6 7 8 7 Si Si

21 Masculino Casual 5 6 4 8 Si Si

20 Masculino Casual 8 9 7 5 Si Si

22 Masculino gamer 8,7 9 7 8 No Si

25 Masculino Casual 7 8 7 9 Si Si

23 Masculino casual 7 8 6 9 Si Si

21 Masculino No gamer 8 9 8 7 Si Si

23 Masculino Casual 5 10 8 7 Si Si

22 Masculino Gamer 7 9 7 8 SI Si

21 Masculino Gamer 7 9 8 6 Si Si

25 Masculino Gamer 7 8 7 8 Si Si

20 Masculino Casual 8 10 9 9 Si Si

23 Masculino No Gamer 8 10 8 10 Si No

21 Masculino Casual 8 8 9 10 No Si

23 Masculino Gamer 4 10 6 6 Si Si

19 Masculino Gamer 5 5 2 8 No No

21 Masculino Casual 7 6 8 8 Si Si

Valores Casual Gamer gamer No gamer Casual Total

Media Diversión 6,6 6,385714286 8 7,333333333 6,805882353

StdDev of Diversión 1,516575089 1,541026251 0 0,577350269 1,352068133

Media Usabilidad 8,4 8,142857143 9,5 7,666666667 8,294117647

StdDev of Usabilidad 1,673320053 1,67616342 0,707106781 1,527525232 1,531531337

Media Gráficos 7,4 6,428571429 8 7 7

StdDev of Gráficos 2,073644135 2,070196678 0 1 1,767766953

Media Sonido 8,6 7,285714286 8,5 7,333333333 7,823529412

StdDev of Sonido 1,140175425 0,951189731 2,121320344 2,081665999 1,380004263

Casual Gamer gamer No gamer Casual

Values Masculino Masculino Masculino Masculino Total

No. Personas 5 7 2 3 17

Page 43: José Alejandro Lucero Mena

40

Validación de Correlación

Aquí se muestran las correlaciones entre todas las variables más relevantes para el trabajo

con el fin de conocer la relación que existe entre cada una de ellas y así indagar acerca de

los elementos que influyen en términos de usabilidad y entretenimiento al videojuego,

según los usuarios encuestados.

Tabla Prueba 1 Tabla Prueba 2

Gamers y casual gamers Correlación Gamers y casual gamers Correlación

Diversión y Usabilidad 0,749269 Diversión y Usabilidad 0,2162575

Diversión y Gráficos 0,139981 Diversión y Gráficos 0,5474759

Diversión y Sonido 0,292648 Diversión y Sonido 0,2978718

Usabilidad y Gráficos -0,307708 Usabilidad y Gráficos 0,5798206

Usabilidad y sonido 0,303268 Usabilidad y sonido -0,2574583

Masculino Correlación Masculino Correlación

Diversión y Usabilidad 0,517341822 Diversión y Usabilidad 0,29188

Diversión y Gráficos 0,156426215 Diversión y Gráficos 0,57528

Diversión y Sonido 0,095394450 Diversión y Sonido 0,31546

Usabilidad y Gráficos -0,546301855 Usabilidad y Gráficos 0,60021

Usabilidad y sonido 0,291879100 Usabilidad y sonido -0,12177

Femenino Correlación

Diversión y Usabilidad 0,383482494

Diversión y Gráficos -0,075377836

Diversión y Sonido -0,200445931

Usabilidad y Gráficos 0,693745935

Usabilidad y sonido 0,512450039

Page 44: José Alejandro Lucero Mena

41

Ilustración 24. Gráfico I Pruebas

Ilustración 25. Gráfico II Pruebas

-0,400000

-0,200000

0,000000

0,200000

0,400000

0,600000

0,800000

1,000000

Diversión y Usabilidad

Diversión y Gráficos

Diversión y Sonido

Usabilidad y Gráficos

Usabilidad y sonido

Casual Gamers y Gamers

Prueba 1

Prueba 2

-0,800000000

-0,600000000

-0,400000000

-0,200000000

0,000000000

0,200000000

0,400000000

0,600000000

0,800000000

Diversión y Usabilidad

Diversión y Gráficos

Diversión y Sonido

Usabilidad y Gráficos

Usabilidad y sonido

Hombres

Prueba 1 Prueba 2

Page 45: José Alejandro Lucero Mena

42

Ilustración 26. Gráfico III Pruebas

Según los resultados se encontraron mejoras en términos de la jugabilidad y usabilidad de

una versión beta del videojuego a otra. En gran medida esto se puede explicar gracias a las

correcciones realizadas, las cuales se enfocaron en hacer más entendible el juego al

modificar elementos de la interfaz gráfica, así como del tutorial. Por otro lado, el cambio

de configuración de hardware impulsó un mejor desempeño en el juego que claramente

se explica en la correlación que se da entre diversión y gráficos en la gráfica de la prueba

número dos. Las gráficas indican que la mejora en las gráficas del juego también ayudó a

mejorar la usabilidad del videojuego.

Si se compara el promedio calculado de la variable diversión de la prueba número uno

contra la misma variable de la prueba dos se nota una leve disminución de 7 a 6,8. Esto

puede explicarse debido a que la muestra de la prueba número dos fue en gran parte

compuesta por jugadores de experiencia alta, lo que lleva a presumir que sus exigencias

fueron mayores a las de una población con menor experiencia. En general, se puede

concluir que el juego tuvo una buena acogida, tanto en el aspecto técnico (gráficos y

sonido) como en la jugabilidad y usabilidad.

Las demás correlaciones pueden llegar a ser despreciadas porque no son consistentes.

Puede presumirse que la cantidad de personas evaluadas no fue lo suficientemente

grande y diversa para llegar a resultados más confiables.

-0,400000000

-0,200000000

0,000000000

0,200000000

0,400000000

0,600000000

0,800000000

Diversión y Usabilidad

Diversión y Gráficos

Diversión y Sonido

Usabilidad y Gráficos

Usabilidad y sonido

Mujeres

Mujeres

Page 46: José Alejandro Lucero Mena

43

Análisis Tutorial y Práctica

Esta parte de los resultados pretende analizar la efectividad de las secciones de tutorial y

práctica, respectivamente.

Practica Si No Tutorial Si No

Diversión 6,84666667 6,5 Diversión 6,71428571 7,23333333

Usabilidad 8,4 7,5 Usabilidad 8,5 7,33333333

Las tablas y gráficos indican las medias de la variables diversión y usabilidad filtradas

según las respuestas dadas por los usuarios de prueba con respecto a la efectividad de las

secciones de tutorial y práctica del videojuego.

Ilustración 27. Gráfico IV Pruebas

Ilustración 28. Gráfico V Pruebas

0

2

4

6

8

10

Diversión Usabilidad

Práctica

SI NO

0123456789

Diversión Usabilidad

SI NO

Tutorial

Page 47: José Alejandro Lucero Mena

44

Se puede apreciar que en general la diversión y usabilidad fueron menores cuando el

usuario percibió que el tutorial y/o la práctica no le aportaban al videojuego, por lo tanto

se debería considerar para trabajos futuros la corrección de estos aspecto con el fin de

mejorar el videojuego como un todo.

Page 48: José Alejandro Lucero Mena

45

7 Conclusiones

7.1 DISCUSIÓN

El proceso de diseño y desarrollo fue documentado ampliamente gracias al uso de

metodologías de ingeniería de software y game design. Esto mismo llevó a que se

realizara satisfactoriamente un videojuego que cumpliera con los requerimientos

planteados al principio del proyecto de manera tal que el jugador se pudiera sumergir en

una experiencia interactiva totalmente distinta. Las mecánicas de juego basadas en

situaciones reales de combate fluvial, así como el uso de una herramienta de alto nivel

como Torque 3D jugaron un papel fundamental para completar con éxito la

implementación del proyecto desde un aspecto técnico y funcional, respectivamente. Las

pruebas de usuario realizadas al final del trabajo son testimonio de la satisfacción de los

usuarios finales en el uso del videojuego, llegando a la conclusión que es un buen juego

gracias a su factor de entretenimiento y su calidad gráfica.

En principio, la mayor dificultad encontrada a lo largo de la etapa de desarrollo del

videojuego fue encontrar la documentación pertinente del motor de juegos Torque 3D;

aunque es una herramienta bastante poderosa que cuenta con buenas herramientas de

alto nivel para la implementación de un videojuego, en ocasiones puede llegar a ser

bastante compleja en su manejo, lo que dificulta un aprendizaje más rápido y efectivo.

Desafortunadamente, la plataforma Torque 3D no cuenta con una documentación amplia,

y las pocas fuentes que se encuentran, como textos académicos, están desactualizadas. Es

una lástima encontrarse con este tipo de obstáculos y más cuando Torque 3D ha probado

ser un engine poderoso y confiable que permite, cuando se conoce bien el sistema,

desarrollar proyectos complejos en tiempos relativamente cortos. La solución para esta

problemática fue la prueba y el error; el equipo de desarrollo encontraba documentación

desactualizada en fuentes como textos académicos y foros de la comunidad en internet de

Torque 3D, y probaba lo encontrado realizando pequeños prototipos que permitieran

encontrar el alcance de dicha documentación. Así, de manera iterativa, probando y

errando, se hallaba la manera correcta de cumplir con los requerimientos planteados.

Se podría concluir que este trabajo fue una muy buena aproximación al desarrollo

completo de un videojuego con excepción de algunos elementos que hicieron falta

anexar. Un videojuego cuenta con escenas de video que introducen al jugador a una

historia que lo identifique con los personajes con el fin de brindarle una experiencia más

satisfactoria; el juego de video que se logró implementar no tiene este elemento, en gran

medida por la falta de tiempo y conocimiento para producir un video de alta calidad que

realmente soportara la experiencia inmersiva que el videojuego buscó ofrecer. Segundo,

Page 49: José Alejandro Lucero Mena

46

faltaron más detalles que divirtieran al jugador como efectos gráficos y de sonido. Por

último, se puede decir que algunos elementos que hacen a un videojuego más

entretenido hicieron falta para obtener mejores resultados en torno a este aspecto, aún

así, es meritorio el progreso logrado y vale la pene resaltar que se logró completar un

videojuego con buenas gráficas y sonido, así como una mecánica de juego entretenida

totalmente funcional y libre de errores relevantes.

7.2 TRABAJO FUTURO

Este trabajo abre las puertas para el desarrollo futuro de videojuegos en el contexto

académico, ya sea con fines de aprendizaje, ocio o simulación de entrenamiento. Los

videojuegos ofrecen un amplio rango de aplicación y este trabajo pretende ser testigo de

uno de ellos, el entretenimiento, con el fin de sentar bases sólidas en el desarrollo basado

en motores gráficos, particularmente Torque 3D.

El trabajo también puede considerarse con una primera aproximación a problemas más

relevantes del contexto colombiano, ya que se enmarca dentro del grupo de investigación

Colivri que actualmente está desarrollando un simulador de entrenamiento de combate

fluvial para la Armada Nacional de Colombia y que pretende ser lo más inmersivo posible

para simular situaciones de alto riesgo en combate. El desarrollo exitoso de este trabajo

futuro podría llevar a que cientos de vidas de soldados sean salvadas. El desarrollo actual

podría servir como base para desarrollar un sistema de visualización más complejo de

acuerdo a requerimientos específicos que tiene un simulador. Elementos como

procesamiento de físicas, así como una mecánica de juego más real son aspectos que

pueden ser mejorados en el futuro para colaborar con el desarrollo final del simulador de

entrenamiento de combate fluvial.

Page 50: José Alejandro Lucero Mena

47

8 Referencias

Maurina, Edward F. Multiplayer gaming and engine coding for the torque game engine: a

garageGames book. Wellesley, Mass. : A K Peters : GG Press, c2008.

Maurina, Edward F. The game programmer's guide to Torque: under the hood of the

Torque Game Engine. Wellesley, Mass. : A K Peters, c2006.

Finney, Kenneth C. Advanced 3D game programming all in one. Boston, MA:

Thomson/Course Technology, c2005.

Salen, Katie. Rules of play : game design fundamentals. Cambridge, Massachusetts : The

MIT Press, c2004.

Sánchez-Crespo Dalmau, Daniel. Core techniques and algorithms in game programming.

Indianapolis, Ind. : New Riders Education, c2004.

Schwaber, Ken. Agile software development with Scrum. Upper Saddle River, NJ : Prentice

Hall, 2002.

Whiley, John. Interaction design beyond human-computer interaction. Second edition.

2007.

Levy ,Luis y Novak, Jeannie. Game QA & Testing: The Many Faces of Testing.GameDev.net.

http://www.gamedev.net/reference/business/features/QACH13/default.asp.

Wilson, David. Quality Quality Assurance: A Methodology for Wide-Spectrum Game

Testing. Gamasutra. April 28, 2009.

http://www.gamasutra.com/view/feature/4007/quality_quality_assurance_a_.php.

Diego A. Hincapié Ossa, Sergio A. Ordóñez Medina, Carlos Francisco Rodríguez y José

Tiberio Hernández, Immersive Simulator for Fluvial Combat Training. Lecture Notes in

Computer Science Volume 5358/2008, Springer Berlin / Heidelberg. 2008.

Friedrich von Borries, Steffen P. Walz and Matthias Böttger. America’s Army Shaping the

Public Agenda through Spatial “Ideal Types”. Space Time Play

Computer Games, Architecture and Urbanism: the Next Level. Birkhäuser Basel. 2007.

Page 51: José Alejandro Lucero Mena

48

Apéndices

ANEXO NO. 01 DOCUMENTO DE DISEÑO RIVERWARS

Tabla de Contenido del Documento de Diseño del RiverWarS

SECCIÓN I: DESCRIPCIÓN GENERAL

1.1 VISIÓN Y LEMA DEL JUEGO

1.2 SINOPSIS DEL JUEGO

1.2.1 Género

1.2.2 Plataforma

1.2.3 Características del juego (Feature Set)

1.3 ESTILO VISUAL DEL JUEGO (LOOK & FEEL)

1.4 ALCANCE DEL JUEGO

1.4.1 Numero niveles

1.4.2 Tiempo de juego

1.4.3 Rejugabilidad (Replay Value)

1.5 MARKETING

1.5.1 Público Objetivo

1.5.2 Requerimientos del Sistema

1.5.3 Comparación con otros juegos

SECCIÓN II: MECÁNICAS DE JUEGO Y JUGABILIDAD

1.6 DESCRIPCIÓN BREVE

1.7 JUGABILIDAD

1.7.1 Progresión del juego

1.7.2 Estructura de las misiones/retos

1.7.3 Objetivos de juego

1.7.4 El flujo del juego

1.8 MECÁNICAS DEL JUEGO

1.8.1 Reglas del juego

1.8.2 Física del juego - Funcionamiento del mundo físico

1.8.3 Movimiento

1.8.4 Objetos

1.8.5 Acciones

1.8.6 Combate

1.8.7 Opciones del juego - Qué opciones afectan qué mecánicas

SECCIÓN III: HISTORIA, LOS PERSONAJES Y EL MUNDO

1.9 BIBLIA DE LA HISTORIA Y NARRATIVA

1.10 EL MUNDO DEL JUEGO

1.11 PERSONAJES

SECCIÓN IV: NIVELES (NODOS)

1.12 NIVEL TUTORIAL

Page 52: José Alejandro Lucero Mena

49

1.12.1 Sinopsis

1.12.2 Material introductorio (Cual es la introducción del juego)

1.12.3 Objetivos

1.12.4 Descripción física del nodo

1.12.5 Mapa

1.12.6 Progresión del nivel (Walkthrough)

1.12.7 Material de conclusión del nodo

1.13 NIVEL 1

1.13.1 Sinopsis

1.13.2 Material introductorio (Cual es la introducción del juego)

1.13.3 Objetivos

1.13.4 Descripción física del nodo

1.13.5 Mapa

1.13.6 Ruta crítica

1.13.7 Encuentros

1.13.8 Progresión del nivel (Walkthrough)

1.13.9 Material de conclusión del nodo

SECCIÓN V: INTERFAZ

1.14 SISTEMA VISUAL

1.14.1 HUD

1.14.2 Menús

1.14.3 Cámara

1.14.4 Luces

1.15 SISTEMA DE CONTROL

1.16 EFECTOS DE SONIDO

1.17 SISTEMA DE AYUDA

SECCIÓN VI: INTELIGENCIA ARTIFICIAL

1.18 IA DE LOS ENEMIGOS

SECCIÓN VII: ELEMENTOS TÉCNICOS DEL JUEGO

1.19 HARDWARE OBJETIVO

1.20 HERRAMIENTAS DE DESARROLLO

1.20.1 Programación

1.20.2 Modelado y animación

1.20.3 Mantenimiento e ingeniería de software

1.20.4 Documentación

1.21 MOTOR GRÁFICO

1.22 LENGUAJE DE PROGRAMA

SECCIÓN IX: SOFTWARE SECUNDARIO

1.23 EDITOR

1.24 INSTALADOR Y COMPILADOR

Page 53: José Alejandro Lucero Mena

50

Sección I: Descripción general

1.1 VISIÓN Y LEMA DEL JUEGO

River Wars se propone ser un novedoso juego con una gran jugabilidad dentro del cual el

personaje encarna a un soldado de la armada, con el objetivo de detener los ataques

enemigos.

Como juego, busca instruir al jugador en las diferentes estrategias mientras va habilitando

diferentes misiones de combate en las cuales se aplica todo el conocimiento adquirido

durante el entrenamiento.

1.2 SINOPSIS DEL JUEGO

1.2.1 Género

El juego será una mezcla entre "primera persona" y un “simulador” con limitaciones en el

movimiento del jugador (libre albedrió).

1.2.2 Plataforma

El juego estará disponible para PC, tanto en Windows como en OSX.

1.2.3 Características del juego (Feature Set)

El juego está basado en buscar la eficiencia del jugador quien se encuentra en un bote de

combate, y debe lograr derribar enemigos sin conocer cuáles son los movimientos

siguientes de dicho vehículo.

El personaje puede elegir entre dos tipos de armas (M2 y M60) antes de ingresar a

una campaña o misión, la elección del arma implica la posición en el bote, el arma

M2 ubica al personaje al frente del bote mientras que la M60 lo ubica en un

costado.

Las dos armas poseen una modalidad distinta, ambas poseen municiones

diferentes, y por ende la cantidad cargada varia como también el tiempo de la

recarga.

En combate el personaje puede agacharse y ponerse en cubierto a salvo del fuego

enemigo.

Page 54: José Alejandro Lucero Mena

51

1.3 ESTILO VISUAL DEL JUEGO (LOOK & FEEL)

El estilo visual "in-game" tiene como objetico simular escenarios realistas.El follaje en los

escenarios es una parte fundamental dado a que estos definen la dificultad de la lucha en

un bote contra enemigos en tierra, contribuyen con la facilidad del escondite de

atacantes, como también en la forma de protegerse de los disparos.

http://www.kriyayoga.com/philippines/min

doro/puerto_galera/tropical_sceneries_nat

ure_photos/tropical_nature_photos-

dsc01765.jpg

http://www.goworldtravel.com/may07/beli

zeMonkeyRiver.jpg

http://www.kriyayoga.com/cambodia/kam

pot/river/river_scenery-dsc08551.jpg

http://filer.case.edu/~kms57/Case%20Wed

ding-

Our%20Honeymoon_files/NTBG/River.JPG

Page 55: José Alejandro Lucero Mena

52

Otro aspecto importante, es el vehículo que llevará constantemente al jugador en el

combate (el bote), nuestro diseño consta de un bote compacto, con capacidad para 10

personas (estando entre ellas, el piloto, un copiloto, un solado a cargo de la M2, 4 solados

a cargo de las M60, con espacio para dos invitados más) impulsado por dos motores

convencionales.

http://unffmm.com/Galerias/Arc/element

o%20de%20combate%20fluvial/f13.jpg

http://www.itsparts2.com/boat%201.JPG

Page 56: José Alejandro Lucero Mena

53

1.4 ALCANCE DEL JUEGO

1.4.1 Numero niveles

El juego está considerado para tener 3 escenarios, un escenario básico del tutorial, un

escenario básico de un rio recto y finalmente un escenario básico para un rio con curvas.

Sin embargo, el número de niveles es mayor debido a la necesidad de realizar un

entrenamiento anterior, antes de salir a combatir. De esta forma podríamos hacer la

siguiente cuenta de niveles:

1. Tutorial

2. Tutorial (Práctica)

3. Practica en un rio recto

4. Combate en un rio recto

5. Práctica en un rio con una curva

6. Combate en un rio con una curva

Page 57: José Alejandro Lucero Mena

54

1.4.2 Tiempo de juego

Debido al tipo de juego, la duración de cada nivel debe ser aproximadamente de cinco

minutos, debido a que niveles largos se tornan muy monótonos y aburridos, mientras que

los niveles muy cortos no permiten apreciar y disfrutar la modalidad del juego.

Por esto, en una partida exitosa, el juego desde el tutorial hasta la última misión, tomaría

30 minutos en completar el juego.

1.4.3 Rejugabilidad (Replay Value)

Todo jugador puede repetir las misiones cuantas veces quiera (los combates), sin

embargo, dentro del juego, existe los escenarios de práctica, escenarios que buscan

incrementar habilidades del jugador (la capacidad de enfocar un objetivo sin conocer el

rumbo del bote o mejorar el reconocimiento de objetivos a través del follaje entre otros)

que se pueden repetir tantas veces como crea necesario el personaje antes de embarcarse

en los combates.

1.5 MARKETING

1.5.1 Público Objetivo

Se busca un público adolecente y adulto (16 años en adelante), también como público

objetivo están todas aquellas personas o empresas que deseen utilizar el videojuego como

parte en el entrenamiento.

Page 58: José Alejandro Lucero Mena

55

1.5.2 Requerimientos del Sistema 1

En Windows

Requerimientos mínimos Requerimientos recomendados

Windows XP or Vista or 7

Intel or AMD Processor @ 1 Ghz

512 MB RAM (1GB recommended for Vista)

100% DirectX compatible video card with

256 MB video RAM required

DirectX 9.0c+

Windows XP or Vista or 7 with latest

service packs installed

Dual-Core Intel or AMD processor @ 2.0

GHZ or better

2 GB RAM

100% DirectX compatible nVidia based

video card with 1GB or more video RAM

PhysX SDK and Runtime

DirectX 9.0c+

En OSX

Requerimientos mínimos

OSX 10.6.1

Intel-based Macs only

2 GB RAM

ATI or nVidia shader model 4.0+ video cards with 256 MB video RAM required

XCode version 3.2 or better

1Tomado de http://www.garagegames.com/products/torque-3d el 23 de Octubre a la 1:23

AM, de la sección de requerimientos.

Page 59: José Alejandro Lucero Mena

56

1.5.3 Comparación con otros juegos

Black Hawk Down (únicamente en los trayectos en que el personaje principal es el

encargado de la torreta del humvee).

Halo Custom Edition (únicamente cuando se tiene a un compañero de red

manejando un vehículo y el jugador está a cargo de la torreta)

Page 60: José Alejandro Lucero Mena

57

Time Crisis 4

Page 61: José Alejandro Lucero Mena

58

Sección II: Mecánicas de juego y jugabilidad

1.6 DESCRIPCIÓN BREVE

La mecánica de juego en River Wars está dada por los movimientos del bote y cómo el

jugador es capaz de adaptarse a ellos y conseguir disparos precisos a los enemigos.

1.7 JUGABILIDAD

1.7.1 Progresión del juego

La idea principal del juego es ir guiando al personaje con varios entrenamientos

interrumpidos y eventualmente llevarlo por misiones de combate real.

A medida que se desarrollan entrenamientos el usuario va desbloqueando misiones de

combate y al mismo tiempo nuevos tipos de entrenamientos (usualmente son enfocados a

diferentes zonas geográficas), al mismo tiempo, a medida que el personaje va teniendo

varios combates se van desbloqueando otras zonas y nuevas misiones.

1.7.2 Estructura de las misiones/retos

Todo escenario (excepto el tutorial) posee 2 tipos de misiones (entrenamiento y combate)

en las que puede jugar.

Las misiones de entrenamiento, se caracterizan por no tener enemigos reales, es decir, no

hay peligro de que el personaje muera, sin embargo, esto no garantiza que el personaje

pase fácilmente cada entrenamiento. Se busca en estas misiones que el personaje realice

diversas tareas que resultan útiles cuando se está en combate.

Las misiones de combate, se basan en la historia, el personaje una vez ingresa a la misión

debe destruir los objetivos dados o proteger de ataques a sus aliados estratégicos,

mientras el bote avanza en su trayectoria o da giros mientras se logra cumplir la misión.

1.7.3 Objetivos de juego

Derrotar a los enemigos (destruir sus guaridas, detener sus ataques o lograr que se

retiren).

No caer en combate.

Si es el caso, evitar la muerte de los aliados estratégicos.

Page 62: José Alejandro Lucero Mena

59

1.7.4 El flujo del juego

El juego se basa en la curva de aprendizaje del usuario, se inicia con unas misiones de

entrenamiento básicas en un escenario, una vez se tiene la destreza para superarlas, se

permite ingresar a combates en zonas geográficas con las mismas características.

Dentro de los entrenamientos, se van desbloqueando nuevas zonas para realizar nuevos

entrenamientos, mientras, dentro del combate, se van alcanzando los objetivos hasta

tener el control de la zona, erradicar la presencia enemiga de la zona o finalmente lograr

llegar a dar apoyo a tropas aliadas.

1.8 MECÁNICAS DEL JUEGO

1.8.1 Reglas del juego

El personaje no se puede mover dentro del bote, ni puede a su voluntad desviar el

rumbo.

El personaje puede recargar en todo momento el arma.

No puede cambiar de arma dentro de la misión.

1.8.2 Física del juego - Funcionamiento del mundo físico

Dentro de los escenarios, se espera una similitud con la realidad, haciendo que la mayoría

de objetos reaccionen a factores ambientales.

1.8.3 Movimiento

Movimiento del bote:

Sigue un path que es establecido en el editor de escenarios

Constantemente sufre el efecto de la gravedad y cuando ingresa en el agua, sufre

la fuerza de empuje (mayor a la gravedad) y que crece a medida que aumenta la

velocidad.

El bote rota en su eje a medida que gira, siendo influenciado por el grado del giro y

por la velocidad.

Movimiento del personaje:

Posee los movimientos clásicos (Pitch y Raw) para apuntar.

Page 63: José Alejandro Lucero Mena

60

1.8.4 Objetos

Objetivos estáticos: son objetos simples (blancos, bultos de arena, entre otros) que

no tienen movimiento alguno dentro del juego, pero pueden informar cuando se

les ha golpeado y cuantas veces.

Objetivos dinámicos: son objetos simples, que pueden moverse de forma genérica

en el escenario (pequeños blancos o dianas que se mueven en línea recta, que

buscan aumentar el nivel de los entrenamientos).

1.8.5 Acciones

El personaje principal puede realizar varias acciones encaminadas a la utilización del arma

y cubrirse de los ataques con el bote.

Disparar: acción simple que realiza el personaje sobre el arma actual, y expulsa un

proyectil que varía en el daño dependiendo del arma.

Recargar: establece una cantidad fija de balas al personaje, para que pueda seguir

disparando.

Agacharse: permite al personaje esconderse en la cubierta del bote, disminuyendo

notablemente el área expuesta a las balas enemigas.

Apuntar (Aim): permite al personaje enfocar a través del arma, mejorando su

puntería.

1.8.6 Combate

Los combates usualmente son iniciados por los enemigos, y se caracterizan por la

dificultad de ver a los enemigos entre los árboles. Generalmente las balas marcadas

definen la posición de estos personajes, y obligan a todo jugador a estar atento del lugar

donde se originan. A parte de esas características, los combates pueden venir desde

ambos flancos (dependiendo del escenario).

1.8.7 Opciones del juego - Qué opciones afectan qué mecánicas

El juego posee dos grupos de tipos de configuración:

Game Options (Opciones del juego):Se caracteriza por influenciar directamente en

la experiencia dentro del juego, sus cambios solo son vistos una vez de comienza a

jugar alguna misión.

Page 64: José Alejandro Lucero Mena

61

o Jugador: define ante el juego cual es el jugador actual, indicando cuales misiones

se pueden jugar y la historia de los puntajes.

o Weapon: permite seleccionar el arma con la que se va a jugar, de la misma forma

dicha arma define la posición del personaje dentro del bote. Cada una posee

propiedades diferentes, como el daño provocado, la cantidad de disparos entre

recargas y el tiempo que se demora al recargarla.

o SkyMap: permite definir el tiempo del día en el que se va a jugar, día o noche.

Otras Opciones (Opciones de configuración): Son opciones ligadas a la maquina

donde se juega y a su entorno, permite ajustar la configuración gráfica o establecer

los botones que generan una acción.

Page 65: José Alejandro Lucero Mena

62

Sección III: Historia, los personajes y el mundo

1.9 BIBLIA DE LA HISTORIA Y NARRATIVA

La tierra ha estado oprimida por el hombre durante décadas, explotada por sus recursos

naturales debido al pensamiento irracional y frenético del consumismo capitalista. El

planeta carece de recursos renovables infinitos pero pareciese que la humanidad no es

consciente de ello y ha llevado a la Tierra al borde de su sostenibilidad. Desde los tiempos

de la revolución industrial, el enardecido desarrollo tecnológico de la raza humana ha

acarreado consigo problemáticas ambientales que solo hasta finales del siglo XX

empezaron a ser reconocidos por la comunidad mundial.

Los esfuerzos para devolverle la vida al planeta fueron inimaginables; los problemas de

efecto invernadero, así como la contaminación en mares y ríos, han llevado a que la vida

en el planeta sea cada vez más difícil. Las especies se extinguen y con ellas el bienestar de

quienes habitan esta tierra.

Ya es muy tarde, los esfuerzos han sido en vano debido a la falta de conciencia de las

personas; las medidas para evitar una extinción total de la humanidad han tenido que ser

tomadas de manera drástica por las naciones más industrializadas. La solución, apodarse

de las zonas que representan la mayor fuente de biodiversidad y oxigeno para el planeta,

las selvas tropicales. Las selvas son las únicas regiones que aún no han sido drásticamente

afectadas por la mano del hombre y representan la única esperanza para la salvación. Los

gobiernos más poderosos se han asentado en estas regiones, tomando control total de los

recursos naturales y creando una organización conocida como La Compañía, encargada

del suministro de servicios ambientales para la reparación de los ecosistemas.

Desafortunadamente, los malos manejos de La Compañía, así como la corrupción interna,

han llevado a que ésta se desvíe de su objetivo y se aproveche de su posición. Los servicios

ambientales se han convertido en un negocio altamente rentable en donde los únicos

beneficiarios son los países potencia. Viendo el estado de decadencia de La Compañía los

gobiernos de países en desarrollo decidieron unir fuerzas a lo largo del globo con el fin de

darle fin al despotismo impuesto. En el año 2023 se forma La Armada, un grupo de

insurgentes formado por los mejores soldados de cada país oprimido por las manos de La

Compañía. La batalla se lleva a cabo en medio de las junglas alrededor del planeta, dos

bandos y una misión, eliminar a La Compañía y retornar el orden mundial. Esta es la

historia por la salvación de la tierra, y depende de ti soldado darle un final…

Page 66: José Alejandro Lucero Mena

63

1.10 EL MUNDO DEL JUEGO

El juego tomar lugar alrededor del año 2023 en las selvas tropicales del planeta Tierra.

Debido a la inmensa vegetación las batallas son llevadas a cabo en ríos con un área muy

vasta.

1.11 PERSONAJES

La Armada: Formado en el año 2023 por naciones oprimidas por los países industrializados, son

un grupo de soldados élite que tiene el fin de derrotar a La Compañía para retomar el control

sobre las fuentes de riquezas naturales del planeta.

La Compañía: Organización que nace de la necesidad de proteger los recursos naturales

del planeta, como iniciativa de parte de los gobiernos potencia para garantizar la

sostenibilidad de la Tierra. Su eventual desorientación moral llevaría a la comercialización

de los recursos naturales de las regiones bajo su control. Cobrando altos costos por el

acceso a recursos como agua potable y alimentos a los países en desarrollo.

Page 67: José Alejandro Lucero Mena

64

Sección IV: Niveles (Nodos)

1.12 NIVEL TUTORIAL

1.12.1 Sinopsis

El tutorial es el primer escenario que busca introducir al jugador en la dinámica y en los

movimientos del juego.

1.12.2 Material introductorio (Cual es la introducción del juego)

Todo jugador que se embarque dentro del juego, debe iniciar y completar una serie de

entrenamientos antes de poder salir a combatir. De esta forma, el nivel del tutorial es el

primero de dichos entrenamientos.

1.12.3 Objetivos

Enseñar al jugador como son los movimientos del bote y como responder a dichos

movimientos.

Mostrar la dinámica de disparar a objetivos y el proceso de recarga del arma.

1.12.4 Descripción física del nodo

El tutorial se lleva a cabo en una laguna, con características muy similares a los ríos por

donde el jugador deberá navegar y derrotar enemigos.

Page 68: José Alejandro Lucero Mena

65

1.12.5 Mapa

1.12.6 Progresión del nivel (Walkthrough)

Durante el tutorial el personaje va aprender los movimientos principales, uno a uno, y al

final obtendrá un combate simulado.

1. El personaje se le enseñará a disparar a uno objetivos

2. El personaje se le enseñará a agacharse para poder protegerse dentro del bote

3. El personaje se le enseñará a recargar el arma

4. Finalmente se hará un combate simulado:

o Objetivos lejanos

o Objetivos entre los arboles

o Objetivos cercanos

o Objetivos lejanos (nuevamente)

o Un cambio de frente

Page 69: José Alejandro Lucero Mena

66

1.12.7 Material de conclusión del nodo

Una vez terminado el tutorial se informa al personaje principal que puede ingresar a otros

niveles para hacer diversas prácticas pero no puede ingresar directamente a combates.

1.13 NIVEL 1

1.13.1 Sinopsis

Primer escenario en el que aparece un combate real, se caracteriza por ser un rio muy

amplio y con pocos giros, en el cual una orilla es recorrida en su "totalidad" por el bote.

1.13.2 Material introductorio (Cual es la introducción del juego)

Se le avisa al jugador, que una fuerza de ataque desconocida ha sido divisada en varias

riveras fronterizas.Tiene como objetivo primordial hacer retroceder a los enemigos, para

hacerse con una planta hidroeléctrica en la región.

1.13.3 Objetivos

Familiarizar al personaje a los escenarios reales (el escenario del tutorial es basado

en una laguna, siendo un escenario optimo para una zona de entrenamiento, pero

se aleja de los escenarios donde ocurren los combates).

Introducir al personaje al combate.

Page 70: José Alejandro Lucero Mena

67

1.13.4 Descripción física del nodo

En este escenario las misiones son llevadas a cabo en un rio ancho (ver imagen) donde el

bote constantemente estará cerca a una de ellas, permitiendo que el personaje dispare sin

tanta complicación por el movimiento del vehículo.

Page 71: José Alejandro Lucero Mena

68

1.13.5 Mapa

1.13.6 Ruta crítica

La ruta que sigue la lancha de combate es la siguiente:

Page 72: José Alejandro Lucero Mena

69

1.13.7 Encuentros

En este escenario los encuentros están basados en ser esporádicos, el personaje es

informado de una invasión y su objetivo es encontrar fuerzas enemigas y eliminarlas.

1.13.8 Progresión del nivel (Walkthrough)

El jugador inicia en la lancha de combate con dos compañeros de combate con la misión

de eliminar a los enemigos que protegen la orilla del rio, esto con el fin de tomar control

de la planta hidroeléctrica que se encuentra en la región. El jugador sigue el path

mostrado en la imagen de arriba y debe llegar al otro extremo de este habiendo eliminado

a todos sus contrincantes.

1.13.9 Material de conclusión del nodo

Las fuerzas han sido eliminadas y se puede acceder a la siguiente misión.

Page 73: José Alejandro Lucero Mena

70

Sección V: Interfaz

1.14 SISTEMA VISUAL

1.14.1 HUD

El sistema de interfaz dentro del juego, se encargará de mostrar únicamente datos

relevantes al jugador.

Grupo de íconos que pueden ser visibles dentro del juego:

1. Crosshair del juego, ayuda al personaje a apuntar (siempre es visible)

2. LagIcon: icono que se muestra cuando existen retardos en la conexión del jugador

al servidor.

3. NoAmmoIcon: icono que se muestra al personaje para indicarle que no tiene balas

en ese momento.

Page 74: José Alejandro Lucero Mena

71

Grupo de mensajes que pueden ser visibles dentro del juego:

1. Cuadros de texto para los mensajes principales que son notificados al personaje,

permiten mostrar eventos importantes u objetivos que se deben cumplir mientras

se está en una misión.

2. Cuadro que muestra el número de impactos de los objetos utilizados para entrenar

al soldado.

3. Barra de Vida del jugador.

Page 75: José Alejandro Lucero Mena

72

1.14.2 Menús

Menú principal del juego

Menú de selección de escenarios

Page 76: José Alejandro Lucero Mena

73

Menú que muestra los resultados

Menú que se muestra al personaje cuando es derrotado en una misión

Page 77: José Alejandro Lucero Mena

74

Menú que permite cambiar las opciones de jugabilidad

Menú que permite cambiar las opciones de video

Page 78: José Alejandro Lucero Mena

75

Menú que permite cambiar las opciones del audio

Menú que permite cambiar los controles del juego

Page 79: José Alejandro Lucero Mena

76

1.14.3 Cámara

La cámara es de tipo primera persona ("First person shooter")

Cámara de la vista cuando se utiliza el

arma M2, de forma normal y con zoom.

Cámara de la vista cuando se utiliza el

arma M60, de forma normal y con zoom.

1.14.4 Luces

El escenario posee una única luz para todos los objetos, "el sol", que establece la luz de

ambiente.

Page 80: José Alejandro Lucero Mena

77

1.15 SISTEMA DE CONTROL

El sistema actual de control del personaje está definido así:

Movimiento de la cámara (Yaw y Pitch), permite apuntar a los

blancos, hace girar al personaje.

Click izquierdo permite disparar el arma

Click derecho permite mejorar la mira del personaje

Permite al personaje recargar el arma actual.

Activa la mira, facilitando la visión para apuntar o encontrar a los

diversos enemigos.

Permite al personaje agacharse y cubrirse con el bote.

Page 81: José Alejandro Lucero Mena

78

1.16 EFECTOS DE SONIDO

Tabla de sonidos del juego

Sonido Cuando se emite Descripción

m60SingleShotMono Disparo M60 Sonido que es emitido por el

arma cada vez que es disparada

.50fireSingleShotMono Disparo M2 Sonido que es emitido por el

arma cada vez que es disparada

boat.wav Constantemente cuando hay

un bote

Sonido que es emitido para

indicar que el motor del bote

esta encendido

motor_lancha_lento-1 Constante cuando hay un

bote que se mueve con

velocidad baja.

Sonido que es emitido para

indicar que el bote esta en

movimiento.

motor_lancha_rapido-

1

Constante cuando hay un

bote que se mueve con

velocidad alta.

Sonido que es emitido para

indicar que el bote esta en

movimiento a altas velocidades.

1.17 SISTEMA DE AYUDA

El sistema de ayuda dentro del juego se basa en el crosshair que busca dar un punto de

referencia por donde pasarán las balas y el icono de falta de munición que busca indicar

visualmente cuando debe recargar.

Page 82: José Alejandro Lucero Mena

79

Sección VI: Inteligencia artificial

1.18 IA DE LOS ENEMIGOS

La inteligencia artificial de los enemigos en el juego es básica y es un elemento primordial

para el factor de entretención dentro de éste. Por ello, el videojuego ha implantado dos

tipos de enemigos, éstos son Bot Estático y Bot Dinámico.

Bot Estático

Los enemigos en el juego van a consistir en personajes manejados por la computadora

que van a atacar al jugador cuando éste se encuentre dentro de un rango de disparo

específico con el fin de eliminarlo. Cada enemigo va a estar ubicado en una zona terrestre,

sin traslación alguna, solo con la capacidad de rotar alrededor de su propio eje para

disparar al jugador. Las funciones específicas del enemigo bot estático son:

Esperar sin realizar acción alguna, siempre y cuando el jugador este fuera del rango

de disparo (radio).

Apuntar y disparar directamente a la posición del jugador cuando éste se

encuentre dentro del rango de disparo.

Bot Dinámico

Para brindarle una mayor dificultad al juego se tomo la decisión de agregar un enemigo

que tuviera la capacidad de trasladarse en un área determinada del terreno. Esto va a

hacer que sea más tedioso apuntarle al enemigo y dar en el blanco. Las funciones

específicas del bot dinámico son:

Esperar sin disparar, siempre y cuando el jugador esté fuera del rango de disparo.

El enemigo se traslada de un punto a otro dado un área determinada.

Apuntar y disparar directamente a la posición del jugador cuando éste se

encuentre dentro del rango de disparo (radio). El enemigo se sigue trasladando

independiente de su estado de ataque.

Page 83: José Alejandro Lucero Mena

80

Estados de Bot Dinámico y Estático

Estado de Espera

Estado de Ataque

Diagrama de cambio de estados

Enemigo

Jugador

Radio

Distancia

Enemigo

Jugador

Radio

Distancia

Page 84: José Alejandro Lucero Mena

81

Sección VII: Elementos técnicos del juego

1.19 HARDWARE OBJETIVO

Como Hardware objetivo, se buscará desarrollar un juego para computador, con

capacidades gráficas medias, tanto en Windows como en Os X.

1.20 HERRAMIENTAS DE DESARROLLO

1.20.1 Programación

Visual Studio 2008 (No express)

XCode 3.1

Torsion 1.0

jEdit 4.13pre17 con los plugins ProjectViewer 2.1.3 y Tide ( Tide normal, Tide

Browser y Tide Debug) 1.2

1.20.2 Modelado y animación

Maya 2009

Blender 2.49a

3DS Max 2009

1.20.3 Mantenimiento e ingeniería de software

Excel como herramienta para mantener la lista de tareas y tiempos.

CVS

1.20.4 Documentación

Se utilizó Microsoft Word 2007 como herramienta de documentación.

1.21 MOTOR GRÁFICO

Se utilizará el sistema de render propuesto por Torque 3D.

1.22 LENGUAJE DE PROGRAMA

C ++

Torque Script

Page 85: José Alejandro Lucero Mena

82

Sección IX: Software secundario

1.23 EDITOR

El editor utilizado para la construcción de los escenarios es editor por defecto que viene

con Torque 3D, sin embargo, no se utilizará todos los elementos del mismo.

Editor de elementos en el mundo, permitiendo agregar, modificar (mover, rotar y

escalar) o eliminar objetos.

Editor del terreno, permite modelar el escenario, generar los espacios de los ríos o

la creación de montañas. También, se utilizará la herramienta que permite pintar el

terreno.

Page 86: José Alejandro Lucero Mena

83

Finalmente, utilizaremos dos herramientas para la manipulación directa de los

objetos creados en las herramientas 3D.

Page 87: José Alejandro Lucero Mena

84

1.24 INSTALADOR Y COMPILADOR

Se utilizará la herramienta Package Project encontrada en la caja de herramientas de

Torque 3D.

Page 88: José Alejandro Lucero Mena

85

ANEXO NO. 02 SPRINT BACKLOGS

Sprint 01

Page 89: José Alejandro Lucero Mena

86

Sprint 02

Page 90: José Alejandro Lucero Mena

87

Sprint 03

Page 91: José Alejandro Lucero Mena

88

Sprint 04

Page 92: José Alejandro Lucero Mena

89

Sprint 05

Page 93: José Alejandro Lucero Mena

90

ANEXO NO. 03 FORMATO PRUEBAS DE USUARIO

Aseguramiento de Calidad & Pruebas de Juego

Proyecto RiverWarS

Información Prueba

Versión Juego:Tipo de Prueba: Funcionalidad Fecha:

Información Probador

Nombre: Edad: Sexo:Experiencia de Juego: Usuario:

Bugs

Número Descripción Nivel Prioridad Frecuencia Lugar

1

2

3

Preguntas

Qué tan divertido le pareció el juego? (Entre 0 y 10)

Qué tan fácil de usar le pareció el juego? (Entre 0 y 10)

Qué tan buenos le parecieron los gráficos del juego? (Entre 0 y 10)

Qué tan bueno le pareció el sonido en el juego? (Entre 0 y 10)

El tutorial le permitió entender más sobre cómo jugar? (Si o No)

Las misiones de práctica permitieron refinar sus habilidades? (Si o No)

Qué no le gusto del juego?

Qué podría mejorarse para hacer más entretenido el juego?