Post on 14-Jul-2022
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
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
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.
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
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
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
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.
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
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.
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.
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.
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.
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,
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
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.
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.
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
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
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.
17
Ilustración 3. Cámara Avanzada
Ilustración 4. Montar y Rotar Player Dentro del Vehículo
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.
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
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.
21
Ilustración 8. Diagrama de Clases Sistema de Información
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.
23
Ilustración 10. Enemigo sin Traslación
Ilustración 11. Clase DataManager.cs TorqueScript
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
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
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.
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.
28
Ilustración 17. Enemigo con Traslación
Ilustración 18. Resultados de la Partida
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).
30
Ilustración 20. Personaje enemigo usando arma M60
Ilustración 21. Modelo M60
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.
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.
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
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.
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:
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:
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
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
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
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
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
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
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
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.
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,
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.
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.
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
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
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.
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
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
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
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.
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.
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)
57
Time Crisis 4
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.
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.
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.
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.
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…
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.
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.
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
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.
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.
68
1.13.5 Mapa
1.13.6 Ruta crítica
La ruta que sigue la lancha de combate es la siguiente:
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.
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.
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.
72
1.14.2 Menús
Menú principal del juego
Menú de selección de escenarios
73
Menú que muestra los resultados
Menú que se muestra al personaje cuando es derrotado en una misión
74
Menú que permite cambiar las opciones de jugabilidad
Menú que permite cambiar las opciones de video
75
Menú que permite cambiar las opciones del audio
Menú que permite cambiar los controles del juego
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.
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.
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.
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.
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
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
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.
83
Finalmente, utilizaremos dos herramientas para la manipulación directa de los
objetos creados en las herramientas 3D.
84
1.24 INSTALADOR Y COMPILADOR
Se utilizará la herramienta Package Project encontrada en la caja de herramientas de
Torque 3D.
85
ANEXO NO. 02 SPRINT BACKLOGS
Sprint 01
86
Sprint 02
87
Sprint 03
88
Sprint 04
89
Sprint 05
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?