Está en la página 1de 111

REPÚBLICA BOLIVARIANA DE VENEZUELA

UNIVERSIDAD RAFAEL URDANETA

FACULTAD DE INGENIERÍA

ESCUELA DE COMPUTACIÓN

SOFTWARE GRÁFICO INTERACTIVO MULTIUSUARIO PARA EL

ENTRETENIMIENTO EN RED

Trabajo Especial de Grado para optar al título de ingeniero en Computación

PRESENTADO POR:

Br. Vladimir de la Cruz Borjas

C.I. 19.504.841

ASESORADO POR:

Ing. Nerio Enrique Villalobos Finol

C.I. 4.539.556

Maracaibo, Diciembre de 2009


SOFTWARE GRÁFICO INTERACTIVO MULTIUSUARIO PARA EL

ENTRETENIMIENTO EN RED
SOFTWARE GRÁFICO INTERACTIVO MULTIUSUARIO PARA EL

ENTRETENIMIENTO EN RED

PRESENTADO POR:

________________________

Br. Vladimir de la Cruz Borjas

C.I. 19.504.841

Teléfono: 04242836722

Correo Electrónico: vladimirdlc@gmail.com

TUTOR ACADÉMICO

________________________

Ing. Nerio Enrique Villalobos Finol

C.I. 4.539.556
DEDICATORIA

A mi padre y a en especial a mi
madre, por traerme a este mundo, por el
apoyo brindado en cada momento, y por
los incontables sacrificios que han tenido
que hacer para sacar adelante mis
estudios; por ello y por mucho más les
estaré eternamente agradecido.

A todos los que ayudaron a sacar


adelante este proyecto, ya que sin su
apoyo este Trabajo Especial de Grado y
aún más, TankNation, no hubiera sido
posible.

I
AGRADECIMIENTO

A mi familia por todo el apoyo recibido, desde


los primeros hasta los últimos de mis estudios.

A mi tutor oficial Nerio Villalobos por su


ayuda incondicional en los momentos en que más
le requería.

A mi cuasi tutor académico Ricardo Fabelo,


por su orientación desinteresada, conocimiento y
guía, de verdad, gracias.

A las profesoras Nancy Mora y Rosa Zamora


por su estricto rigor y perspectivas metodológicas,
sin las cuales estoy seguro esta tesis perdería
mucha calidad investigativa.

A la Comunidad de INVENTAD, por


motivarme y demostrar que sí existe una naciente
industria venezolana del videojuego ahí afuera,
especialmente gracias a Ciro Durán, Jorge Padua
y Julián Rojas.

A Jorge Rincón y Ben Hull por su aporte


conciso a la conformación gráfica de lo que es hoy
TankNation.

A los otros integrantes del equipo DVD,


David Marcella y Dorian González, sin su íntegro
apoyo en las primeras fases del proyecto,
TankNation no podría llegar a ser lo que es hoy,
espero verlos pronto como Ingenieros muchachos.

A Dios le doy las gracias todos y cada uno de


mis_días.
II
De la Cruz Borjas Vladimir, “Software Gráfico Interactivo para el Entretenimiento en
Red”. Universidad Rafael Urdaneta, Facultad de Ingeniería. Escuela de Computación,
Maracaibo Edo. Zulia 2009.

RESUMEN

La presente investigación tuvo como objetivo principal el desarrollo de un


Software Gráfico Interactivo para el Entretenimiento en Red; para la correcta
consecución de dicho objetivo se aplicó un metodología de tipo proyectiva y descriptiva,
de diseño documental, no experimental y transeccional, en función de los indicadores
de la población de usuarios muestreada y tres (3) expertos consultados elaborar una
propuesta de software basado en una metodología de desarrollo de software propia
denominada Dash Versión Desarrollo (DVD), utilizando C++ y Clanlib como lenguaje de
programación y SDK seleccionado respectivamente. Posteriormente y mediantes
pruebas, se pudo demostrar con los datos recopilados en la aplicación de encuestas a
la población objetivo que realizó la prueba beta de un prototipo jugable, fue satisfactoria
y cumplió sus objetivos, devolviendo así mismo una serie de recomendaciones y
aspectos que se consideraron en el desarrollo de la versión final.

Palabras clave: Computación Gráfica, Videojuego, Entretenimiento, Redes

III
De la Cruz Borjas Vladimir, “Interactive Graphic Software for the Networked
Entertainment”, Universidad Rafael Urdaneta, Engineering Faculty, School of
Computation. Maracaibo, Zulia 2009.

ABSTRACT

The present study had as main objective the development of an Interactive


Graphic Software for the Network Entertainment; for the proper achievement of this goal
it was applied a projective and descriptive methodology, of documental, not
experimental and transectional design, depending on the indicators of the user
population sampled and three (3) experts consulted to develop a proposal based on an
original software development methodology called Dash Version Develop (DVD), C++
and Clanlib, as programming language and SDK respectively. Subsequently, by
evidence, could be demonstrated with data collected in application of a survey to the
target population who did the beta test of a playable prototype was successful and met
its objectives, thereby returning it a series of recommendations and issues to be
considered in the development of the final version.

Keywords: Computer Graphics, Videogame, Entertainment, Networks

IV
ÍNDICE GENERAL

DEDICATORIA .................................................................................................................. I

AGRADECIMIENTO ......................................................................................................... II

RESUMEN ...................................................................................................................... III

ABSTRACT .................................................................................................................... IV

ÍNDICE GENERAL .......................................................................................................... V

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

CAPÍTULO I ..................................................................................................................... 4

1.1 PLANTEAMIENTO DEL PROBLEMA ..................................................................... 4

1.2 FORMULACIÓN DEL PROBLEMA ......................................................................... 6

1.3 OBJETIVOS ............................................................................................................ 6

1.3.1 OBJETIVO GENERAL ......................................................................................... 6

1.3.1 OBJETIVOS ESPECÍFICOS ................................................................................ 7

CAPÍTULO II .................................................................................................................. 11

2.1 ANTECEDENTES ................................................................................................. 11

2.2 BASES TEÓRICAS ............................................................................................... 13

2.2.1 Metodologías de desarrollo de software ............................................................ 13

2.2.1.1 Modelo Cascada ............................................................................................. 14

2.2.1.2 Modelo Espiral ................................................................................................ 15

V
2.2.1.3 Entrega Incremental ........................................................................................ 16

2.2.1.3 Modelo construcción de prototipos .................................................................. 16

2.2.1.4 Proceso Unificado de Rational ........................................................................ 17

2.2.2 Metodologías de desarrollo ágil ......................................................................... 19

2.2.2.1 Proceso Unificado Ágil .................................................................................... 19

2.2.2.2 Extreme Programming .................................................................................... 20

2.2.2.3 SCRUM ........................................................................................................... 21

2.2.3 Arquitectura de desarrollo de videojuegos ......................................................... 22

2.2.4. Géneros de aplicaciones de entretenimiento digital interactivo ........................ 23

2.2.5 Transformaciones en 2d .................................................................................... 27

2.2.5.1 Traslación........................................................................................................ 29

2.2.5.2 Escalamiento................................................................................................... 30

2.2.5.3 Rotación .......................................................................................................... 31

2.2.6 Librerías Gráficas y SDKs .................................................................................. 32

2.2.6.1 Allegro (Allegro Low Level Game Routines).................................................... 32

2.2.6.2 OpenGL .......................................................................................................... 32

2.2.6.3 SDL (Simple Direct media Layer) .................................................................... 33

2.2.6.4 Microsoft DirectX ............................................................................................ 33

2.2.6.5 Java2D ............................................................................................................ 33

2.2.6.6 Clanlib ............................................................................................................. 34

2.2.7. Base de Datos................................................................................................... 34

2.2.8 Sitio Web............................................................................................................ 35

2.2.8.1 Tipos ............................................................................................................... 35

2.3. Glosario ................................................................................................................ 37

2.5. SISTEMA DE VARIABLES .................................................................................. 43

VI
CAPÍTULO III ................................................................................................................. 50

3.1 TIPO DE INVESTIGACIÓN ................................................................................... 50

3.2 DISEÑO DE LA INVESTIGACIÓN ........................................................................ 51

3.3 POBLACIÓN Y MUESTRA ................................................................................... 53

3.4 TÉCNICAS E INSTRUMENTOS DE RECOLECCIÓN DE DATOS....................... 53

3.5 FASES DE LA INVESTIGACIÓN. ......................................................................... 57

CAPÍTULO IV ................................................................................................................. 63

4.1 DEFINICIÓN DEL TIPO DE ENTRETENIMIENTO MULTIJUGADOR A OFRECER


EN RED ...................................................................................................................... 63

4.2 DISEÑO CONCEPTUAL DEL VIDEOJUEGO ...................................................... 65

4.3 ANÁLISIS DE LOS ELEMENTOS NECESARIOS PARA LA ELABORACIÓN DEL


SOFTWARE GRÁFICO INTERACTIVO MULTIUSUARIO ......................................... 68

4.4 DISEÑO LÓGICO Y FÍSICO DEL SOFTWARE GRÁFICO INTERACTIVO


MULTIUSUARIO PARA EL ENTRETENIMIENTO EN RED ....................................... 70

4.5. PRUEBAS DEL SOFTWARE GRÁFICO INTERACTIVO MULTIUSUARIO PARA


EL ENTRETENIMEINTO EN RED .............................................................................. 88

CONCLUSIONES ........................................................................................................... 94

RECOMENDACIONES .................................................................................................. 96

VII
INTRODUCCIÓN

El hombre siempre ha sentido curiosidad por el mundo que lo rodea, y ya sea por
ilustración, curiosidad o simple supervivencia, siempre ha buscado llegar más allá de
sus límites. Esta búsqueda del orden ha adquirido multitud de formas, una de ellas es la
Ciencia que mediante la aplicación de su conocimiento y técnicas, dio a luz a la
Ingeniería de la cual, gracias a los avances tecnológicos, se ha podido desprender la
Computación e Informática que fungen como base para el surgimiento y creación de los
videojuegos.

Se puede considerar de interés el hecho de que, utilizando un medio que recibe y


procesa cálculos de manera exacta, se haya ideado de tal manera su posible
aplicabilidad al entretenimiento lúdico humano, no obstante si se consideran como
nacieron otros medios de entretenimiento tales como el cine, la televisión o inclusive los
y libros, se puede observar una tendencia similar en la transformación de una ciencia a
un arte. Es constatable entonces una necesidad inherente en el ser humano de
entretenimiento, necesidad que busca satisfacer cada vez de formas innovadoras,
creativas o complejas, apoyándose de la tecnología para ello.

Todo medio de entretenimiento es explotable porque existe demanda de él, y por


lo tanto es factible y desarrollable su industria, en el caso de los videojuegos, esta es
una de las más exigentes en el sentido técnico destacándose no obstante en el sentido
de que actualmente es la industria de entretenimiento que más ganancias reporta a
nivel mundial.

En el siguiente Trabajo Especial de Grado se presenta sistemáticamente el


desarrollo de un Software Gráfico Interactivo para el Entretenimiento en Red, el cual
tiene como fin ofrecer una alternativa para el entretenimiento en red de los usuarios de
este tipo de software en Venezuela. En este sentido el mismo se estructura de la
siguiente forma:
1
El Capítulo I, también conocido como El Problema, es en el cual se hace
referencia a la naturaleza del problema, al igual se presenta la descripción del
problema existente, los objetivos, la justificación y por último la delimitación de la
investigación.

En el Capítulo II o Marco Teórico, hace referencia a los antecedentes de la


investigación. También se explican aspectos teóricos los cuales sustentan el estudio,
librerías gráficas y SDKs, aplicaciones web, bases de datos, transformaciones 2D y
términos básicos asociados con este trabajo de investigación. Por último, se hace
referencia al sistema de variables.

Posterior mente en el Capítulo III, se indican tanto el tipo de investigación como


las técnicas de recolección de datos, el diseño de la investigación al igual que las
actividades realizadas con el fin de cumplir con los objetivos propuestos por este trabajo
de investigación.

Por último en el Capítulo IV, se lleva a cabo tanto la interpretación como el


análisis de los resultados obtenidos en el desarrollo del software, presentando los
resultados obtenidos en el análisis de distintos videojuegos, desarrollo conceptual de la
propuesta, análisis de requerimientos de hardware y de software, diseño y
programación del software así como las distintas pruebas alfa y beta necesarias para
comprobar la funcionalidad y aceptabilidad del sistema.

2
CAPÍTULO I. EL PROBLEMA

3
CAPÍTULO I

EL PROBLEMA

1.1 PLANTEAMIENTO DEL PROBLEMA

En la actualidad, primera década del siglo XXI, el desarrollo de la tecnología,


especialmente en las Ciencias de la Computación y de la Informática crece
exponencialmente y se diversifica día a día, tecnología con la que, aplicándose
ingeniería, termina por optimizar procesos y desarrollar aplicaciones que simplifican el
trabajo y la calidad de vida de las personas.

Existe una brecha tecnológica clara en materia de computación entre los países
productores de hardware y los que no, una brecha que resulta en cierto sentido difícil de
cerrar porque toda producción de material físico acarrea un costo físico neto, lo que
significa una inversión de capital, considerable en el caso general de nuevas
tecnologías por la necesidad de controles, precisión, administración y distribución. En
materia de software, tales costos de producción resultan mínimos o al menos bajos en
comparación, porque el impacto de producción inicial es menor, en el caso del
desarrollo de software más que recursos físicos se necesita es capital humano con
conocimientos adecuados para su producción, por lo que en general resulta una
industria más rentable con la que países como Venezuela pueden crecer más rápido
económicamente.

La generación de software a nivel nacional está desarrollada levemente pero no lo


suficiente; en el caso del software de videojuegos hasta hace unos pocos años la
elaboración de videojuegos a nivel profesional era escasa, y resultaba más bien como
alternativa de una campaña publicitaria para promocionar algún producto por tomar un

4
caso, pero no para abarcar un mercado lúdico abierto o cubrir las expectativas de
entretenimiento del consumidor.

Debido a la demanda del consumidor la industria del videojuego es un sector


económico de gran impacto global que se encuentra en constante cambio y desarrollo,
renovando y potenciando constantemente el desarrollo de las tecnologías que emplea,
tanto de hardware como de software, para atraer a un amplio rango de consumidores,
es por ello que la actualidad representa uno de los sectores de entretenimiento que más
capital neto genera anualmente, y por lo que ha tomado gran importancia.

En Venezuela los pocos indicios que se pueden inferir de análisis de mercadeo


señalan que existe en gran medida una potencial población de usuarios de software de
entretenimiento interactivo en diversas plataformas, no obstante no existe una industria
propia que desarrolle este tipo de aplicaciones, trayendo como consecuencia por una
parte el no poder reflejar la propia perspectiva o identidad nacional del país a través de
las mismas, mientras que por otra se puede constatar el retraso tecnológico y la pérdida
de participación económica en esta actividad mercantil, lo cual crea una dependencia
tanto de recurso humano técnico así como, por parte del usuario final, quien no tiene
otra opción que utilizar las aplicaciones desarrolladas fuera del país para solventar sus
necesidades de entretenimiento.

Al no existir una industria concreta de desarrollo de videojuegos en Venezuela no


existen como tal líneas de distribución físicas plausibles, seguras, y organizadas
específicamente de acuerdo a la necesidad del sector. A esta idea se apoya que por las
características de formato del almacenamiento físico utilizado para transportar y
distribuir software en general es fácilmente susceptible al fenómeno de la ‘piratería’, que
consiste en la copia ilegal y sin regalías de software sin retribución o permiso de cara al
autor, violentando su derecho de propiedad intelectual. Debido a este fenómeno se
deben generar alternativas de mercadeo y distribución para así fomentar el desarrollo
de esta actividad.

Por otra parte, hay que resaltar el hecho interesante del auge en los últimos años
del juego multijugador masivo en línea (conocido en inglés como massively multiplayer
5
online game o MMOG) una clasificación o rama de los videojuegos que consiste en
crear, mediante una red establecida, generalmente Internet, un entorno o servicio
general para una cantidad considerable de usuarios que se conectan a la misma
interfaz e interactúan entre sí, y en donde sus acciones determinan los cambios en
dicho mundo virtual afectando a su propio entorno.

Si se toma como base el estado actual de la industria del videojuego en Venezuela,


y se buscan aplicaciones creadas en la región para satisfacer a los usuarios de esta
rama, se revela la poca o nula existencia de las mismas, lo cual genera un grado de
insatisfacción general, por lo que dichos usuarios terminan por utilizar otros servicios,
algunos de ellos con cuotas monetarias establecidas en otras monedas, lo que apoya la
devaluación del producto interno bruto nacional, estando así mismo muchos de ellos en
otros idiomas.

Teniendo en cuenta los aspectos antes señalados, con este proyecto de grado se
pretende incursionar en este campo con la creación de un software gráfico interactivo
multiusuario, que abarque la problemática especificada y que si bien no erradique por
completo la misma debido a su alcance, sirva de modelo tanto de desarrollo y diseño,
distribución, priorizando la importancia de solventar la necesidad de entretenimiento del
usuario final y asegurando su satisfacción con el producto.

1.2 FORMULACIÓN DEL PROBLEMA

¿Cómo desarrollar un software gráfico interactivo multiusuario para el


entretenimiento en red?

1.3 OBJETIVOS

1.3.1 OBJETIVO GENERAL

Desarrollar un software gráfico interactivo multiusuario para el entretenimiento en


red.

6
1.3.1 OBJETIVOS ESPECÍFICOS
• Definir el tipo de entretenimiento multijugador a ofrecer en red.

• Diseñar conceptualmente el videojuego atendiendo a las necesidades de


entretenimiento definidas.

• Analizar los elementos necesarios para la elaboración del software gráfico


interactivo multiusuario.

• Diseñar lógica y físicamente el software gráfico interactivo multiusuario para el


entretenimiento en red.

• Realizar pruebas para comprobar el buen funcionamiento de la aplicación.

1.1 JUSTIFICACIÓN E IMPORTANCIA

El desarrollo de una aplicación gráfica interactiva multiusuario en red emerge como


una solución para satisfacer las necesidades de entretenimiento de los usuarios de
juegos multijugador, tanto mediante navegador web como de escritorio a nivel nacional
como internacionalmente. Así mismo su elaboración potencia el crecimiento del sector
de juegos de video en Venezuela, expandiendo sus horizontes y alcance al no existir en
esta especificación de género antecedentes formales y establecidos en el país.

La elaboración de este proyecto representa un acercamiento en materia tecnológica


a grandes potencias desarrolladoras de videojuegos, ayudando a cerrar dicha brecha y
generando una alternativa para los usuarios que tenga el aliciente de ser
completamente gratuita por uso, sostenible y rentable. Es importante resaltar que se
utilizará un enfoque de desarrollo software propietario, esto asegurará que empleando
medios como la publicidad o el acceso a nuevas características que no afecten la
jugabilidad previo pago, conserve su integridad, mantenimiento, factibilidad económica
y por ende su perdurabilidad en el tiempo.

Por lo antes señalado se presenta esta aplicación como un ejemplo de


comercialización para futuros desarrollos en la región, ya que ataca directamente el
7
problema de la piratería, una de las razones por la cual no resulta rentable el desarrollo
de este tipo de aplicaciones en países como Venezuela, debido a que existen altos
índices en este tipo de delito, y por lo que es necesario desarrollar innovadoras y
creativas estrategias de mercadeo. Así mismo se tiene en cuenta de que al ser gratuito
incrementará su facilidad de acceso una amplia gama poblacional que utiliza este tipo
de aplicaciones con fines de esparcimiento y recreación.

Se puede definir el entretenimiento en red como el grado satisfacción o bienestar


que se obtiene de una actividad realizada interactuando tanto con una computadora,
como con un ser humano. Con el entretenimiento los individuos consiguen ser más
fácilmente proactivos, eficaces y eficientes. Este proyecto de grado se presenta como
una alternativa a la necesidad los usuarios de este tipo de entretenimiento.

Cabe destacar que para que una aplicación de entretenimiento en red sea
considerada como videojuego debe incluir factores de interacción con el usuario que
conlleve la realización de un reto o actividad competitiva. La ejecución de estas
actividades, de acuerdo a la implementación de las mismas trae beneficios a los
usuarios finales como de agilización mental, memoria y desarrollo de habilidades
motoras y cognitivas. Este proyecto destaca estos aspectos positivos, y presenta ciertos
alicientes al ser un juego multijugador, de los que se resalta la socialización, al tener la
posibilidad de interactuar con otras personas dentro del mismo juego.

Además de todo esto, tiene especial importancia el marco metodológico en general


ya que al ser un sector pocamente explorado académicamente servirá de antecedente
para futuras investigaciones en la región, teniendo en cuenta que se desarrollará un
método propio y específico para desarrollar videojuegos multiusuario con fines de
entretenimiento.

Se justifica así mismo porque demuestra que en Venezuela sí existe la capacidad de


desarrollar este tipo de software, y pese a las complejidades técnicas que representa,
con dedicación, estudio y trabajo, se comprueba que sí existe talento en Venezuela
capaz de desarrollar videojuegos de igual o inclusive de mayor calidad que los
desarrollados en otras naciones.
8
1.2 DELIMITACIÓN

La presente investigación estuvo delimitada de la manera que se indica a


continuación:

1.2.1 ESPACIAL

La investigación fue realizada en la Universidad Rafael Urdaneta ubicada en la


Av. 2, El Milagro con calle 86, entrada Sur del parque Vereda del Lago, de la ciudad
de Maracaibo, Estado Zulia.

1.2.2 TEMPORAL

Esta investigación se efectuó entre los meses de Abril de 2009 y Septiembre de


2009.

1.2.3 CIENTÍFICA

El estudio se circunscribió en el ámbito de la Ingeniería de Software,


Computación Gráfica y Comunicación de Datos. Específicamente en las sub-áreas
de Programación de Videojuegos, Redes y Teleprocesos.

9
CAPÍTULO II. MARCO TEÓRICO

10
CAPÍTULO II

MARCO TEÓRICO

2.1 ANTECEDENTES

En esta sección describen algunos antecedentes consultados que sirven de base


y fundamentación teórica para la presente investigación. Los mismos se presentan a
continuación:

Padua y Zielinsky (2008), realizaron un trabajo especial de grado titulado


“Instauración de una estrategia para la producción de aplicaciones de
entretenimiento digital interactivo, para el departamento de Desarrollo Digital de
la empresa Lowe Concept & Partners” desarrollado en la facultad de Ciencias
Informáticas de la Universidad Nueva Esparta, Caracas, Venezuela.

El objetivo general de dicho trabajo especial de grado fue el de instaurar una


estrategia para la producción de aplicaciones de entretenimiento digital interactivo que
definió un conjunto de elementos y procesos necesarios en las etapas de análisis,
diseño y creación de un videojuego para el Departamento de Desarrollo Digital de la
empresa Lowe Concept & Partners.

La elaboración de este de tesis de grado estuvo apoyada en una metodología de


desarrollo en cascada. El producto final obtenido fue la creación de una estrategia para
producción de A.E.D.I (Aplicaciones de Entretenimiento Digital Interactivo), abarcando
aspectos desde la concepción de la idea hasta la culminación del proyecto. Las fases
de la estrategia planteada en dicha tesis se estructuran ordenadamente de la siguiente

11
manera: Conceptualización, Diseño, Repositorio de trabajo, Formatos, Módulos y
Producción.

En este orden de ideas se toma como referencia la investigación citada debido a


lo novedoso que se plantea el desarrollo de una metodología estructurada y específica
de elaborar juegos de video. Por ende su aporte más importante es brindar una
orientación en cuanto a qué aspectos generales debe abarcar la metodología aplicada
en la presente investigación.

En el año 2006, Jiménez realizó una tesis de grado titulada "Desarrollo de un


software educativo para facilitar el aprendizaje de Matemática "I" en la
Universidad Rafael Urdaneta". Fue desarrollada en la Facultad de Ingeniería, Escuela
de Computación de la Universidad Rafael Urdaneta, Maracaibo, Estado Zulia,
Venezuela.

El objetivo general fue desarrollar un software educativo que facilite el


aprendizaje de matemática “I” en la universidad Rafael Urdaneta. Según el propósito de
la investigación, la misma se encuentra enmarcada bajo una metodología del tipo no
experimental, aplicada y descriptiva, de resultados factibles, utilizando así mismo la
metodología creada por Vaughan (2002), para el desarrollo de aplicaciones multimedia.
Esta se compone de cinco fases: planificación, contenido, diseño, producción y
pruebas. Los resultados obtenidos fueron el software educativo desarrollado.

Es relevante esta investigación para el presente estudio debido a que su diseño


consiste en una solución factible a un problema práctico, y la metodología aplicada es
adaptable a las necesidades de este proyecto de grado, así mismo comparte el objetivo
de satisfacer las necesidades de los usuarios utilizando herramientas multimedia y de
interacción con los mismos.

Ruiz y otros (2005), desarrollaron el trabajo especial de grado titulado


“Videojuego RPG para Mitología Colombiana”. Este proyecto de grado fue realizado
en la Facultad de Ingeniería de Sistemas de la Universidad Católica de Colombia.
Como objetivo general se plantearon el de construir un videojuego RPG basado en el

12
desarrollo de una historia animada dando a conocer las características geográficas y
míticas de Colombia.

Se aplicó una metodología desarrollada por los autores que consistía en tres
subdivisiones principales, primeramente ubicaba una metodología administrativa,
posteriormente aplicaba una enfocada en las actividades artísticas y por último la
construcción del software como tal, que permitió la integración entre los diferentes
módulos. Como resultados obtuvieron no solo la culminación en totalidad el videojuego
“Fantasía Mitológica Colombiana” sino que el diseño del videojuego condujo a la
creación de un motor con funcionalidades básicas que permite la implementación de
múltiples videojuegos en 2 dimensiones.

Este trabajo aporta una referencia bastante directa, ya que persigue un objetivo
cercano al de esta investigación, la creación de un videojuego. En la investigación se
realiza un estudio de aspectos técnicos como los motores gráficos, interfaces de
usuario, usabilidad e interacción que en conjunto con la metodología desarrollada
consisten en información muy útil para este tipo de investigaciones.

2.2 BASES TEÓRICAS

2.2.1 Metodologías de desarrollo de software


Existen diversas metodologías para desarrollo de software, muchas varían de
acuerdo a las necesidades inherentes de la aplicación que se desea desarrollar y los
recursos con que se cuenta. Según (McConnell, 1996) podrían encontrarse los
siguientes tipos:

•Ciclo de vida en cascada

•Ciclo de vida en espiral

•Ciclo de vida incremental

•Ciclo de vida basado en prototipos

•Ciclo de vida basado en versiones

13
Además de los presentados existen otros tipo de metodologías que son
aplicadas en la actualidad, primera década del siglo XXI, tales como RUP (Rational
Unified Process) y metodologías rápidas de desarrollo o RAD (Rapid Application
Development), entre otras enfocadas a otras especificaciones de plataforma como de
desarrollo Web y software libre.

2.2.1.1 Modelo Cascada

Es un enfoque metodológico que se basa en la etapas del ciclo de vida del


software (ver figura 2.2), por lo que para la ejecución de cada etapa se debe cumplir
con la anterior, es tan estricto que en el caso de que haya un error de diseño detectado
se debe reiniciar el ciclo desde su concepción, según Sommervile(2005), la
metodología de desarrollo en cascada consiste en las siguientes etapas básicas:

1. Análisis y definición de requerimientos.

2. Diseño del sistema y del software

3. Implementación y prueba de unidades

4. Integración y prueba del sistema

5. Funcionamiento y mantenimiento

Figura 2.2. Modelo Cascada Realimentado para el Ciclo de Vida

Wikipedia (2009).
14
2.2.1.2 Modelo Espiral

De acuerdo a Pressman(2005, pag. 77) el modelo en espiral es un “modelo de


proceso de software evolutivo que conjuga la naturaleza iterativa de construcción de
prototipos con los aspectos controlados y sistemáticos del modelo lineal secuencial.
Proporciona el potencial para el desarrollo rápido de versiones incrementales del
software. En el modelo espiral, el software se desarrolla en una serie de versiones
incrementales. Durante las primeras iteraciones, la versión incremental podría ser un
modelo en papel o un prototipo. Durante las últimas iteraciones, se producen versiones
cada vez más completas del sistema diseñado.” En la figura 2.3 se presenta la primera
propuesta de un esquema de modelo espiral.

Figura 2.3. Modelo en espiral de Boehm para el proceso del software

IEEE (1988).

15
2.2.1.3 Entrega Incremental

La entrega incremental, trata de cómo lo expresa Sommervile(2005), en su libro


Ingeniería de Software, de ser un enfoque intermedio que combina aspectos positivos
tanto del modelo clásico o de cascada que resultan tienen tendencia a ser sistemas
bien documentados, como los aspectos de los denominados desarrollos evolutivos de
software en donde se permite que los requerimientos y las decisiones de diseño se
retrasen (ver figura 2.4).

En un proceso de desarrollo incremental, los clientes identifican los servicios más


y menos importantes del sistema, y posteriormente se desarrollan por orden de
prioridad definiendo cada uno de ellos como un “incremento”, y en donde los mismos
mientras se desarrollan no aceptan cambios en sus requerimientos, pero sí se aceptan
modificaciones en los futuros incrementos.

Figura 2.4. Entrega Incremental

Sommervile(2005).

2.2.1.3 Modelo construcción de prototipos

Pressman(2005) destaca que el primer paso en el paradigma de construcción de


prototipos comienza con la recolección de requisitos definidos por el cliente, utilizando
los mismos para desarrollar un prototipo que cumpla los objetivos globales
especificados y enfocándose en un diseño rápido de aspectos visibles al usuario final,
como entradas y salidas en el sistema (ver figura 2.5). Los prototipos culminados pasan

16
a ser evaluados por el usuario o el cliente quien identificando las carencias o
necesidades de la aplicación no implementadas las presenta al desarrollador para que
la incluya en el siguiente prototipo.

Figura 2.5. Modelo de construcción de prototipos

Pressman (2005).

2.2.1.4 Proceso Unificado de Rational

Según Wikipedia(2009) el proceso unificado de Rational (RUP), es la


metodología estándar más utilizada para el análisis, implementación y documentación
de sistemas orientados objetos. El RUP constituye un conjunto de metodologías
adaptables al contexto y las necesidades de cada producto de software. Así mismo
destaca que RUP contempla las siguientes cuatro fases: Concepción, donde el principal
objetivo es analizar el sistema adecuadamente como base para validar costos iniciales
y presupuestos. Elaboración, donde se busca mitigar los riesgos clave identificados y se
arquitectura la base del proyecto, Construcción, realiza el desarrollo del sistema como
tal, Transición, en donde finalmente se desea llevar el sistema desde el desarrollo a la
producción.

17
De igual manera es señalado que una correcta ejecución de RUP debe tener en
cuenta los siguientes aspectos principales:

• Adaptar el proceso a las características propias del proyecto u


organización.

• Debe encontrarse un equilibrio que satisfaga los deseos de todas las


partes interesadas.

• Los proyectos se entregan, aunque sea de un modo interno, en etapas


iteradas donde se analiza la calidad del producto y se refina.

• El desarrollo de software se realiza en conjunto entre múltiples equipos

• Elevar el nivel de abstracción. Se alienta el empleo y uso de patrones de


diseño, frameworks, UML y lenguajes de cuarta generación

Figura 2.5. Esfuerzo en actividades según fase del proyecto RUP

Wikipedia (2009).

18
2.2.2 Metodologías de desarrollo ágil

Springer(2006) en su libro Agile Software Construction explica que el objetivo


principal de los metodologías ágiles es que están enfocadas en tratar de producir una
solución funcional que sea capaz de responder a los requerimientos cambiantes del
usuario o cliente. Destaca que la principal diferencia con respecto a los métodos
tradicionales radica en esta posibilidad de cambio de los requerimientos, ya que ambos
buscan obtener soluciones funcionales de software.

Wikipedia(2009) considera las siguientes metodologías como de desarrollo ágil:

• Adaptive Software Development (ASD).

• Agile Unified Process (AUP).

• Crystal Clear.

• Essential Unified Process (EssUP).

• Feature Driven Development (FDD).

• Lean Software Development (LSD).

• Open Unified Process (OpenUP).

• Programación Extrema (XP).

• Scrum.

2.2.2.1 Proceso Unificado Ágil

Del inglés Agile Unified Process, su creador Ambler(2009) lo define como una
versión simplificada del Proceso Unificado de Rational. Explica que esta metodología
tiene como objetivo describir de una manera simple y fácil de entender el desarrollo de
aplicaciones de negocios usando técnicas ágiles y al mismo tiempo siendo fiel a la
filosofía de RUP. Su estructura se divide en dos vertientes, una serial en donde
19
contempla las mismas fases de RUP (Concepción, Elabo n, Construcción, Transición) y
otra iterativa, que se desarrolla dentro las fases seriales: Modelo, en donde integra las
fases de Requisitos, Análisis y Diseño y así como el Modelado del negocio de RUP; le
siguen Implementación, Prueba, Despliegue, Gestión de configuraciones, Gestión del
proyecto y por último Entorno.

Figura 2.6. Ciclo de vida del Ágil UP

Ambler (2005).

2.2.2.2 Extreme Programming

Springer(2006) señala que la Programación Extrema o XP (eXtreme


Programming), fue desarrollada como una forma de apoyar a los equipos de desarrollo
pequeños que trabajen con requerimientos inciertos o cambiantes. XP, así mismo
señala las siguientes ideas principales basadas en los cuatro principios de XP que son
Comunicación, Simplicidad, Retroalimentación y Coraje:

• Codificación en parejas

• Mantener contacto con el consumidor

20
• Crear pruebas antes de codificar entonces hacer las pruebas rígidamente

• Desarrollo en iteraciones funcionales de software cortas en tiempo

• Mantenerlo simple

• No anticipar, se debe codificar para las necesidades actuales

• Propiedad colectiva y responsabilidad del software por parte de todos los


miembros del equipo

Figura 2.7. Ciclo de vida de eXtreme Programming


Springer (2009).

2.2.2.3 SCRUM

Como es definido por Schwaber y Beedle (2001) el SCRUM se enfoca en el


manejo y control de la producción de software mediante la mezcla de métodos tales
como RUP y metodologías ágiles, desarrollando de manera iterativa e incremental, y
flexible sin imponer una técnica o restringir de nuevos requerimientos, siempre basado
en el trabajo en equipo.

21
Figura 2.8. Representación conceptual de SCRUM

Springer (2009).

2.2.3 Arquitectura de desarrollo de videojuegos

Según Rollings y Adams (2003) en su publicación Andrew Rollings and Ernest


Adams on Game Design, establecen detalladamente los pasos y elementos clave tomar
en cuenta en esta fase del desarrollo. Entre ellas se encuentran:

• Escribir un documento de conceptualización y un guión detallado. Donde se


especifiquen detalles como relaciones entre personajes y/u objetos, entorno del
juego, las reglas, las limitaciones y la historia.

• Diseñar las interfaces y como utilizarlas para definir la apariencia y el ambiente


de juego.

• Construir un balance entre las mecánicas del juego, donde se logre un equilibrio
entre diversión y dificultad.

• Construir una relación entre la narrativa y la interactividad para lograr una


historia coherente.
22
La figura 2.1 tomada de Astle y Hawkings (2004) ilustra estos aspectos. En esta
se puede observar un panorama básico sobre la estructura que puede tener un juego
de video desde un punto de vista general.

Figura 2.9. Diagrama del diseño Arquitectónico de un juego de video

Astle & Hawkings (2004).

2.2.4. Géneros de aplicaciones de entretenimiento digital interactivo

Según Crawford (1984), en su libro The Art of Computer Game Design, la


taxonomía de los juegos es muy diversa y no existe una clasificación exacta o definitiva,
por lo que es necesario tener una visión de cuáles pueden ser los más comunes para el
desarrollo. Es necesario considerar esta clasificación como un punto de partida que
puede determinar ciertos elementos adicionales para su desarrollo.

A continuación, se tomará una taxonomía general basada en la clasificación de


definida por varios autores como Lindley(2009), Crawford(1984), Wolf(2002) y
Bates(2004)._____________________________________________

La clasificación estará dividida en géneros y sub géneros de la siguiente forma:

23
Juegos de acción

Son juegos en tiempo real en donde el jugador debe reaccionar rápido a lo que
está sucediendo en la pantalla para cumplir su objetivo. La categoría está dominada por
juegos de disparos en primera persona, popularmente conocidos como first-person
shooters (FPS).

Action-adventure games

Los juegos de acción y aventura, involucran situaciones de combate, exploración,


recolección de artículos y solución de rompecabezas. En este género encontramos
juegos como Adventure (1978), la serie The Legend of Zelda (1986-Actual) entre otros.

First-person shooter games

La idea es provocar la sensación de que el jugador es realmente quien participa


en el juego. Estos juegos requieren de un alto nivel de destreza y reflejos por parte de
jugador. En el encontramos juegos como Wolfstein 3D (1992), Doom (1993), Half Life
(1998) y Halo (2001) entre otros.

Third-person shooter games

Conocidos como TPS o 3PS son juegos que se centran en combate, disparar y
destruir con una perspectiva de tercera persona. En este género se encuentras juegos
como: Gears of War (2006), MDK (1997) y Grand Theft Auto (1998).

Tactical Shooter Games

Los tactical shooters son juegos first person o third person shooter con un
contenido táctico y basado en el manejo de escuadrones de asalto. Se basan en
simular situaciones reales de combate militar, policial, anti-terrorista y no consisten en

24
dispararle a todo lo que se mueva. Entre estos encontramos, juegos como la serie
Rainbow Six (1998) de Tom Clancy, Ghost Recon (2001), SWAT (1995) entre otros.

Peleas

Los juegos de peleas consisten tener el control de un personaje y golpear a otros


personajes para llegar a un fin específico. Estos juegos generalmente son vistos desde
una vista lateral, y cada sesión sólo dura unos pocos minutos. Los jugadores esperan
encontrar un conjunto básico de ataques y contraataques que pueden aprender de
rápidamente, así como combinaciones más complicadas en las que pueden volverse
expertos con el tiempo.

Pelea Competitiva

Los juegos de pelea tienden a ser juegos de dos jugadores en los cuales cada
jugador controla una figura en la pantalla, y en donde, usa una combinación de
movimientos para atacar a su oponente y defenderse en contra de sus ataques. Los
jugadores participan en una lucha uno contra uno, hasta que uno de los dos sea el
ganador. Estos juegos tienen un alto nivel de popularidad en los salones de arcade por
su alto nivel de competitividad. Entre ellos encontramos juegos como Street Fighter
(1990 - Actual), Tekken (1994) Soul Calibur (1998), Mortal Kombat (1992), King of
Fighters (1994).

Beat 'em up games

En este género los jugadores tienen la tarea de resolver a golpes varios


encuentros cuerpo a cuerpo con numerosos enemigos a lo largo de un nivel. Deben ir
avanzando hasta llegar a un destino específico. Entre estos, encontramos: Double
Dragon (1987), Final Fight (1989), Streets of Rage (1991), Fighting Force (1997).
Juegos de Rol (RPG)

25
Llamados popular mente juegos de Rol o por el acrónimo RPG se basan en los
juegos de Rol tradicionales de mesa como Dungeons and Dragons, en el desarrollo del
personaje controlado por el jugador y en la forma en que este asume un rol en la
historia. Los personajes van evolucionando a través del tiempo de juego en conjunto
con la historia. Los RPG tienen un fuerte basamento en la toma de decisiones que
tienden a cambiar el rumbo de la historia. Juegos como Final Fantasy (1987), Phantasy
Star (1987), Baldur’s Gate (1998), Oblivion (2006) y Shinning Force (1992).

Plataformas

Son juegos basados en trasladarse a lo largo de un nivel saltando de una


plataforma a otra hasta llegar a un objetivo. Es un de los géneros más populares de
todos aunque su popularidad ha disminuido desde el crecimiento de los juegos en 3D.
Los juegos de plataformas han logrado evolucionar al 3D pero no con el mismo éxito
que en 2D. En muchas ocasiones los juegos de plataformas utilizan elementos de otros
juegos como por ejemplo los shooters o RPG. Entre estos encontramos Super Mario
Bros. (1985), Sonic The Hedgehog (1991), Crash Bandicoot (1996) Mega Man (1987),
Rayman (1995), Castlevania (1986).

Simulación

Los juegos de simulación tienden a manejar situaciones específicas de la forma


más real posible. Entre sus aplicaciones más básicas, encontramos simuladores de
vuelo y automovilismo. Juegos de gestión o gerencia de distintos elementos como
puede ser Sim City (1989) en el que el jugador debe hacer de alcalde de una ciudad,
Total Club Manager (2002) se realiza la gestión del manager un equipo de futbol. En los
juegos de simulaciones existen tipos como los llamados God games o juegos de Dios,
donde simplemente el usuario juega a ser Dios y controlar todos los aspectos de un
ambiente entre estos encontramos juegos como Black & White (2001) o Populous
(1989). Los juegos de este género toman mucha atención a detalles específicos y este
muchas veces es usado como un sub-género.

26
Deportes

Los juegos de deportes tienen la finalidad de representar deportes de actividad


física, cumplen la necesidad del usuario tomando en cuenta los detalles que hacen al
deporte que se busca representar, emocionante en la vida real. Los deportes
tradicionales se basan en la representación de aquellos deportes que son de culto
popular como puede ser el Fútbol, Beisbol, Tenis entre otros en estos se encuentran
juegos como la serie Fifa Soccer, Madden NFL, MLB the Show o Virtua Tennis.
También existen juegos orientados a representar deportes menos populares como los
son: Tony Hawk´s Pro Skater (1999) basado en montar patineta entre otros.

Estrategia

Los juegos de estrategia manejan un enfoque que requiere de un detalle a la


planificación en el manejo de distintos recursos para lograr un fin específico. Estos
juegos tienen como características, al recolección de recursos, y producción de
unidades para conformar un ejército para combatir con un contrario. En estos
encontramos juegos como Warcraft (1994), Starcraft (1998), Age of Empire (1997) y
Civilization (1991).

2.2.5 Transformaciones en 2d

Comninos (2005) define una transformación 2d como una función o mapeo, en la


cual, cuando se aplica a un punto bidimensional P = (x, y) se transformará o se
mapeará en otro punto 2d P' = (x', y'). Por lo tanto una transformación en 2d transforma
una serie de puntos originales, O, en una serie de puntos transformados, T.

Por otra parte, el mismo autor destaca que la concatenación de transformaciones


tael 'producto de las transformaciones', y que esta se da cuando se aplica una serie de
transformaciones sobre la misma serie de puntos, una después de la otra. En la figura

27
2.10 se presenta una transformación, mientras que en la figura 2.11 se muestra en
forma gráfica una serie de transformaciones.

Figura 2.10. Mapeo de una transformación

Comninos (2004).

Figura 2.11. Concatenación de Transformaciones

Comninos (2004).

28
2.2.5.1 Traslación

De acuerdo a ULA(2009, pag. 8) se “puede trasladar un punto (x,y) en el plano a


una nueva posición agregando una cierta cantidad de traslación a las coordenadas del
punto.” En la figura 2.12 se presenta un ejemplo de traslación, y a continuación se
muestra la ecuación algebraica de la traslación:

x´ = x + dx, y´ = y + dy (2.1)

o también en su forma matricial:

(2.2)

Figura 2.12. Ejemplo de traslación bidimensional

ULA (2009).

29
2.2.5.2 Escalamiento

ULA(2009, pag. 10) describe que el escalamiento en un punto se da cuando este


“punto puede ser escalado en otro punto multiplicando por una cantidad sx a lo largo
del eje X y por una cantidad sy a lo largo del eje Y.” En la figura 2.13 se presenta un
ejemplo de escalamiento, en donde su ecuación algebraica es:

x´= sx . x; y´=sy . y (2.3)

y en su forma matricial:

(2.4)

Figura 2.13. Ejemplo de escalamiento bidimensional

ULA (2009).

30
2.2.5.3 Rotación

Se puede conceptualizar según ULA(2009, pag. 13) la transformación de rotación


el tipo de transformación en que “los puntos pueden ser rotados un ángulo con relación
al origen.” En la figura 2.14 se puede apreciar la representación bidimensional de una
rotación, la cual según la misma institución se define matemáticamente como:

x´ = x.Cos q - y.Sen q,

y´= x.Sen q + y.Cos q (2.5)

o en forma matricial:

(2.6)

Figura 2.13. Ejemplo de rotación bidimensional

ULA (2009).

31
2.2.6 Librerías Gráficas y SDKs

Para Moreno y Espona(2002, pag. 301) un SDK es el conjunto “de programas y


herramientas que facilitan la tarea de desarrollar software”. Por otra parte para
Wikipedia(2009), en su versión en inglés, se define una librería gráfica como una
librería de programación diseñada para ayudar en la renderización de gráficos
computarizados a un monitor y que típicamente involucra la provisión de versiones
optimizadas de funciones que manejan tareas comunes de renderizado. Se recalcan los
dos conceptos anteriores pues a continuación se presentan distintas librerías y SDK’s
de desarrollo de videojuegos de mayor relevancia actual.

2.2.6.1 Allegro (Allegro Low Level Game Routines)

Allegro(2009) es una librería portátil orientada principalmente a videojuegos y


multimedia, originalmente escrita por Shaw Hargreaves para el compilador DJGPP en
una mezcla de C y ensamblador. Esta librería está orientada al desarrollo de
videojuegos y programación multimedia; distribuida libremente, funciona en las
plataformas: DOS, Unix (Linux, FreeBSD, Irix, Solaris, Darwin), Windows, QNX, BeOS
y MacOS X.

2.2.6.2 OpenGL

De acuerdo a la definición aportada por Wright, Lipchak y Haemel (2004),


OpenGL está estrictamente definido como una interfaz de software a gráficos de
hardware. En esencia, es una librería de modelado y gráficos en 3D que es altamente
portable y muy rápida. Fue desarrollado por Silicon Graphics, Inc. (SGI) con el afán de
hacer un estándar de representación en 3D. Es compatible con prácticamente cualquier
plataforma hardware así como con muchos lenguajes de programación (C, C++, Visual
Basic, Fortran, Java).

32
2.2.6.3 SDL (Simple Direct media Layer)

SDL(2009) se define como una librería multimedia multiplataforma diseñada para


proveer bajo nivel de acceso a audio, teclado, mouse, joystick, hardware 3D via
OpenGL, y framebuffer de video 2d. Así mismo destaca por estar escrito en C pero
funciona en C++ nativamente, y tiene adaptaciones a varios muchos otros lenguajes,
incluyendo Ada, C#, D, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML,
Objective C, Pascal, Perl, PHP, Pike, Pliant, Python, Ruby, Smalltalk, y Tcl. Se
distribuye bajo un licencia GNU LGPL.

2.2.6.4 Microsoft DirectX

Active Network (2009) indica que Microsoft DirectX es un grupo de tecnologías


designadas para las computadoras basadas en Windows que proporciona una
plataforma de desarrollo estándar para los PC Windows, desde la cual se puede
acceder a funciones especiales de hardware sin tener que escribir código específico
para el mismo, resultando ideal para correr y mostrar aplicaciones ricas en elementos
multimedia tales como graficas a color, video, animación 3D, y audio.

2.2.6.5 Java2D

De acuerdo con Sun (2009), compañía creadora de Java, y así mismo del API
Java2D, indica que es una serie de clases para realizar gráficos avanzadosen 2D e
imagen, trabajo con líneas, texto, e imágenes dentro de un mismo modelo. Se ejecuta
en cualquier ambiente que soporte la máquina virtual de Java. “También permite la
creación de bibliotecas personalizadas de gráficos avanzados o de efectos especiales
de imagen e incluso puede ser usada para el desarrollo de animaciones u otras
presentaciones multimedia al combinarla con otras APIs de Java, como puedan ser JMF
(Java Media Framework - Entorno de Trabajo de Java para Medios Audiovisuales) o
Java 3D.” Gálvez, Alcaide y Mora (2009, pag. 11).
33
2.2.6.6 Clanlib

Para sus autores Clanlib(2009) es un librería de herramientas multiplataforma


escrita en C++ que esencialmente ofrece una serie de diferentes funcionalidades bajo la
misma API, en la cual su principal enfoque es el desarrollo de videojuegos, aunque no
se limita a dicho uso. De sus características son destacadas las siguientes:

• Licencia BSD

• Soporta Windows, Linux y MAC OS X

• OpenGL 3, OpenGL 1 y renderizado por software SSE

• Graficos 2D de alto nivel con fuentes, sprites, animaciones y colisión

• Librería de red con sockets, web, irc e interfaces de juego.

• Soporte integrado con base de datos SQLite

• Soporte de sonido wav, formatos tracker y ogg-vorbis

• Manejador de recursos integrado

2.2.7. Base de Datos

Una parte importante de cualquier sistema, es el manejo de los datos, el cómo se


almacena, protege y manipulan esos datos, afecta proporcionalmente en la efectividad
y confiabilidad de un sistema. Una de las maneras de hacerlo, es mediante bases de
datos, estas permiten almacenar la información, de una manera segura y confiable.
Moreno y Espona(2002, pag. 76) define una base de datos como “datos permanentes
de una aplicación o sistema informático, se gestionen o no con un SGBD.”

También puede ser definida según Sánchez (2007, pag. 5) “como la colección de
datos almacenados en un soporte informático permanente de forma que sea posible
obtener la relación entre los datos a través de un esquema conceptual que oculte la
física real de los datos.”

34
Al comparar estas evidencias, podemos determinar que una base de datos será
definida como un conjunto estructurado de datos, que representan entidades e
interrelaciones. Esta representación será única e integrada, permitiendo sin embargo,
varias utilizaciones y de manera simultánea. Dicha representación, constituye parte vital
de un sistema, puesto que contiene datos importantes de una organización, y brinda
información precisa a usuarios finales de un sistema.

2.2.8 Sitio Web

Sobre este concepto, Tittel (2005, pag. 10) afirma que, es una fuente de información
compatible con la World Wide Web (WWW) que puede ser accedida desde la Internet
mediante un navegador. Esta información generalmente es presentada en formato
Hyper Text Markup Lenguage – Lenguaje de Marcas de Hipertexto (HTML) y puede
proveer enlaces hacia otras páginas mediante hipervínculos denominados links. Estas
pueden ser cargadas de una computadora local o remota, llamado servidor Web.

Por otra parte, Powell (2005, pag. 110) asevera que un sitio Web en un sentido
simple es lo que aparece en una ventana de un navegador al abrir una Universal
Resource Locator - Localizador de recurso universal (URL). Puede contener gran
cantidad de información referente a algo en particular y es dividida en diferentes
páginas, cada una de ellas debe contener información que contribuya con la idea
primaria, que pueden extenderse a múltiples sitos en un sentido coherente. La meta
final de un sitio Web es esparcir información a través una serie de documentos
interrelacionados que permita al usuario fácil entendimiento y uso.

2.2.8.1 Tipos

Entre las diferentes tipos de páginas Web, clasificadas de acuerdo a su orientación,


según Converse (2004, p18) se pueden encontrar los siguientes tipos de sitios Web.

35
Estáticos

Las páginas estáticas según afirma Converse (2004, pag. 19) no permiten grandes
implementaciones para crear adornos, ni funcionalidades, mas allá de los enlaces.
Estas páginas son muy sencillas de crear, por lo que ofrecen pocas ventajas tanto para
el visitante como para el desarrollador, ya que solo se pueden representar texto
acompañados de imágenes y a lo sumo contenidos multimedia, como pueden ser
videos o sonidos.

Dinámicos

En lo referente a esta definición González (2001, pag. 126) comenta que, a medida
que fueron surgiendo nuevas aplicaciones para las páginas Web, surgió también la
necesidad de dotarlos de un mayor dinamismo. Las páginas dinámicas son aquellas en
las cuales el contenido puede ser modificado de forma autónoma o debido a la
interacción con el usuario.

Al comprender los conceptos planteados anteriormente se puede logra ver que los
sitios Web estáticos ofrecen una facilidad tanto para los que lo desarrollan, como para
sus visitantes pues el contenido manejado por el mismo no contiene implementaciones
complejas o extensibles. Sin embargo esto puede ser visto como una desventaja
dependiendo objetivo de este.

Es aquí donde el avance de las diferentes tecnologías Web resalta a la hora de


ofrecer a los usuarios finales la capacidad de obtener información de manera dinámica
a partir de dase de datos, archivos de texto, archivos XML, incluso unión de los mismos
y muchos más; como también un nivel de interacción no posible al ser páginas Web
estáticas permitiendo obtener una experiencia novedosa. Dicho esto, se logra ver la
necesidad de implementar sitios Web con características dinámicas para el desarrollo
de aplicaciones complejas, rápidas, y ricas de contenido.

36
2.3. Glosario

• ASCII: “American Standard Code for Information Interchange, como otros códigos
de representación de caracteres, especifica una correspondencia entre cadenas de
bits y símbolos escritos de la lengua, permitiendo de esta forma la comunicación
entre dispositivos digitales así como su procesado y almacenamiento.” (Wikipedia,
2007)

• 2d, dos dimensiones: los planos son bidimensionales, y sólo pueden contener
cuerpos unidimensionales o bidimensionales.

• 3d, tres dimensiones: las tres dimensiones son el largo, el ancho y la profundidad
de una imagen. Hay casos en que se usa las tres dimensiones en computación para
simular una realidad virtual. También se utilizan para hacer animaciones.

• 4GL, Lenguaje de programación de cuarta generación: Los Lenguajes de cuarta


generación son ciertas herramientas prefabricadas, que aparentemente dan lugar a
un lenguaje de programación de alto nivel que se parece más al idioma inglés que a
un lenguaje de tercera generación, porque se aleja más del concepto de
"procedimiento". Pueden acceder a bases de datos.

• API, Advanced Programming Interface: es un conjunto de especificaciones de


comunicación entre componentes software. Representa un método para conseguir
abstracción en la programación, generalmente (aunque no necesariamente) entre
los niveles o capas inferiores y los superiores del software. Uno de los principales
propósitos de una API consiste en proporcionar un conjunto de funciones de uso
general, por ejemplo, para dibujar ventanas o iconos en la pantalla. De esta forma,
los programadores se benefician de las ventajas de la API haciendo uso de su
funcionalidad, evitándose el trabajo de programar todo desde el principio.

• ASF, Advanced Streaming Format: este formato de archivos almacena


información de audio y video, y fue especialmente diseñado para trabajar en redes,
como Internet. La información es descargada como un flujo continuo de datos, y por

37
ende, no es necesario esperar la descarga completa del archivo para poder
reproducirlo.

• Background: son básicamente los elementos "de fondo" que hay en los
videojuegos y que suelen dar una cierta atmósfera o ambiente al mismo.

• Bitmap: formato basado en "mapa de puntos", es uno de los formatos posibles para
la conservación de imágenes, usado para fotografías y gráfica analógica (como
caricaturas y pinturas). Se opone al vectorial, que utiliza coordenadas geométricas y
fórmulas trigonométricas.

• Clipping: este es el proceso que remueve porciones de una imagen que no están
definidas por el campo visual de la cámara.

• Consola: es un sistema de hardware que se conecta a una pantalla de televisor


para poder jugar videojuegos. Los videojuegos vienen almacenados en cartuchos,
CD-ROMS o DVD, que para que sean ejecutados en la consola. En la actualidad las
consolas poseen dispositivos para conexión a Internet, poseen capacidades gráficas
y operativas similares a las de un PC permitiendo reproducir también música y
video.

• Cross-Fading: es un efecto que permite hacer transiciones automáticas entre


canciones, disminuyendo el volumen de la canción actual unos segundos antes de
que se acabe e incrementando el volumen de la siguiente en lista al mismo tiempo.

• Drupal: Es un sistema de gestión de contenido modular multipropósito y muy


configurable que permite publicar artículos, imágenes, u otros archivos y servicios
añadidos como foros, encuestas, votaciones, blogs y administración de usuarios y
permisos. Drupal es un sistema dinámico: en lugar de almacenar sus contenidos en
archivos estáticos en el sistema de ficheros del servidor de forma fija, el contenido
textual de las páginas y otras configuraciones son almacenados en una base de
datos y se editan utilizando un entorno Web.

38
• Engine: se usa en el lenguaje de los videojuegos para definir el tipo de entorno
gráfico de un juego.

• Escenas: conjunto de planos que forman parte de una misma acción: también,
ambiente dentro de un espacio y un tiempo concretos.

• Framework: Según (Wikipedia, 2007) “es una estructura de soporte definida en la


cual otro proyecto de software puede ser organizado y desarrollado. Típicamente, un
framework puede incluir soporte de programas, bibliotecas y un lenguaje de scripting
entre otros softwares para ayudar a desarrollar y unir los diferentes componentes de
un proyecto.”

• Foreground: es el primer plano en los videojuegos, es decir, el que contiene al


personaje, los enemigos y los objetos especiales.

• Frame: es el equivalente digital del fotograma físico, donde la imagen está


codificada electrónicamente. Un segundo de vídeo está compuesto de diversos
números de frames, según la norma de grabación. En la norma PAL, utilizada en la
mayoría de países europeos, un segundo contiene 25 frames. En la norma NTSC,
estándar norteamericano, un segundo contiene aproximadamente 30 frames.

• FPS, Frames Per Second: mide la velocidad de una animación en cuadros por
Segundo.

• Flicker: parpadeo que se produce en la pantalla al dibujar cuando se está


efectuando el refresco vertical

• Game Pad: dispositivo para control de videojuegos equipado con una palanca y/o
botones con forma de cruz diseñado para mover con el dedo pulgar y con una zona
de varios botones generalmente a la derecha.

• Jostick: es un dispositivo de entrada que es utilizado, comúnmente en juego de


consola o PC. Literalmente, palanca de juegos. Usado para mover uno o varios

39
objetos en pantalla. Posee varios botones para acciones específicas y de una
palanca para realizar los movimientos.

• Jugabilidad: es la capacidad del videojuego para permitir la interacción para


interactuar con el usuario y realizar distintas opciones.

• MIDI, Musical Instrument Digital Interface: estándar para la transmisión de


información entre un instrumento y un ordenador. Un formato de datos de sonido.

• MySQL: Es un sistema de gestión de base de datos relacional, multihilo y


multiusuario con más de seis millones de instalaciones. MySQL AB —desde enero
de 2008 una subsidiaria de Sun Microsystems y ésta a su vez de Oracle Corporation
desde abril de 2009— desarrolla MySQL como software libre en un esquema de
licenciamiento dual.

• SQLite: Es un sistema de gestión de bases de datos relacional compatible con


ACID, y que está contenida en una relativamente pequeña biblioteca en C.

• Multijugador: es un modo de juego para Computadores y Videojuegos en el cual


varias personas pueden jugar el mismo juego al mismo tiempo. A diferencia de otros
juegos de computador y videojuegos que son desarrollados para un único jugador
debido a las limitaciones del sistema.

• MMORPG: Los juegos de rol multijugador masivos en línea (o MMORPGs, del inglés
massively multiplayer online role-playing games), son videojuegos de rol que
permiten a miles de jugadores introducirse en un mundo virtual de forma simultánea
a través de Internet, e interactuar entre ellos.

• Nintendo: es una empresa japonesa fundada en 1889 por Fusajiro Yamauchi


paraproducir hanafuda (cartas de juego japonesas). Actualmente se dedica a la
producción de software y hardware para videojuegos. Las oficinas centrales de la
empresa se encuentran en Kyoto, Japón.

40
• Offset: es la cantidad de bytes que hay desde el principio del stream, hasta donde
empiezan este elemento.

• PHP: Es un lenguaje de programación interpretado, diseñado originalmente para la


creación de páginas web dinámicas. Es usado principalmente en interpretación del
lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde
una interfaz de línea de comandos o en la creación de otros tipos de programas
incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+.

• POO, Programación Orientad a Objetos: es una metodología de diseño de


software y un paradigma de programación que define los programas en términos de
"clases de objetos", objetos que son entidades que combinan estado (es decir,
datos) y comportamiento (esto es, procedimientos o métodos). La programación
orientada a objetos expresa un programa como un conjunto de estos objetos, que se
comunican entre ellos para realizar tareas, esto difiere del lenguaje en el cual se
desarrolle.

• Pixel: abreviatura de la expresión inglesa "Picture Element", es la más pequeña


unidad de medida de una imagen visualizada en la pantalla. La calidad de una
imagen depende del número de píxeles por pulgada que la constituyen.

• Render: término que se refiere a la generación de un frame o imagen individual. El


render consume potencia de cómputo debido a los cálculos necesarios para dibujar
los frames según el número de objetos, luces y efectos en la escena y según el
punto de vista de la cámara.

• RGB: es el acrónimo inglés Red, Green, Blue (Rojo, verde, Azul). Simboliza un
sistema de colores, en el cual es posible representar 256 colores mediante una
combinación de tres valores hexadecimales (uno por el rojo, otro por el verde y un
último por el azul), en esta notación el valor 0x00 representa la ausencia del color en
cuestión y el valor 0xff representa el mayor nivel del color actual posible. Viendo
esto, el color negro (ausencia total de color) se representaría mediante 0x000000.

41
• Sprites: son una categoría de mapa de bits dibujados en la pantalla del computador.
Normalmente son pequeños y parcialmente transparentes o con color de
transparencia, dejándoles así asumir otras formas a la del rectángulo. Típicamente,
los sprites son usados en videojuegos para crear los gráficos de los protagonistas.
Generalmente son utilizados para producir una animación, como un personaje
corriendo, alguna expresión facial o un movimiento corporal.

• Stream: técnica usada para transmitir archivos de los multimedia por medio de
paquetes, esto permite empezar a reproducir el archivo con los primeros paquetes,
sin necesitar de esperar a que todos los datos se hayan descargado.

• Tile, Baldosa: es un “sprite” del escenario. La reunión de varios tiles conforman una
imagen que se utiliza ya sea en las capas del foreground o del background.

• XML, Extensible Markup Language: una versión redefinida de SGML. Permite


personalizar las etiquetas que describen la presentación y el tipo de los elementos
de datos. Es muy útil para los sitios web que mantienen grandes volúmenes de datos
y para una intranet.

• XSD, XML Schema Definition: un lenguaje utilizado para describir la estructura de


un documento de XML. XSD se utiliza para definir clases que serán utilizadas para
crear instancias de documentos XML que se conformen como un esquema.

• Videojuego: es un juego integrado por un universo virtual controlado por


computador donde los jugadores pueden interactuar recíprocamente con dicho
universo y también con otros jugadores para alcanzar una meta o un conjunto de
metas.

• UML, Unified Modelling Language: lenguaje Unificado de Modelado, es el lenguaje


de modelado de sistemas de software más conocido en la actualidad; aún cuando
todavía no es un estándar oficial, está apoyado en gran manera por la OMG.

42
2.5. SISTEMA DE VARIABLES

Nombre de la variable: Software gráfico interactivo multiusuario

Definición Conceptual: Herramienta informática de representación visual que


establece una interfaz de comunicación y operación entre diversos usuarios.

Definición Operacional: Herramienta informática diseñada para la representación


visual de un entorno definido, adapta do a los diversos procesos de entrada de los
usuarios conectados, facilitándole el entretenimiento en red.

43
Cuadro de Variable: La tabla 2.2 ilustra la operacionalización de la variable, con detalle de dimensión e indicadores.

Objetivo general: Desarrollar un software gráfico interactivo multiusuario para el entretenimiento en red.
OBJETIVOS VARIABLE SUBVARIABLE INDICADORES

• Revisión de Documentos Estadísticos

Definir el tipo de entretenimiento multijugador Tipo de entretenimiento • Identificación de juegos multijugador más populares disponibles para redes de área
local e Internet.
a ofrecer en red. multijugador
• Genero
• Tipo de usuario: Margen de edad, Sexo, habitualidad de juego.

Software Gráfico Interactivo Multiusuario


• Temática

Diseñar conceptualmente el videojuego • Ambientación

atendiendo a las necesidades de Diseño Conceptual del videojuego • Personajes


entretenimiento definidas
• Definir reglas de juego y jugabilidad

• Identidad del producto

Analizar los elementos necesarios para la • Revisión Documental técnica

elaboración del software gráfico interactivo Elementos necesarios para la


• Herramientas de hardware
elaboración del software
multiusuario.
• Herramientas de software

Diseñar lógica y físicamente el software


• Modelar los requerimientos entrada, procesos y salidas: Diseño de BDD, diagrama
gráfico interactivo multiusuario para el Diseño lógico y físico del software de clases, diseño de pantallas, diagrama de red y mapa de navegación.
entretenimiento en red. • Codificación

Realizar pruebas para comprobar el buen Pruebas • Criterios de evaluación


funcionamiento de la aplicación.
• Tipos de pruebas

Tabla 2.2. Cuadro de Variables. Fuente propia: De La Cruz (2009)

44
CAPÍTULO III. MARCO METODOLÓGICO

49
CAPÍTULO III

MARCO METODOLÓGICO

En este capítulo se describe el conjunto de aspectos teóricos y metodológicos


aplicados en la presente investigación, que delimitaron el desarrollo de cada una de sus
fases, y que sirven de referencia para tener una mejor comprensión global de los
métodos y técnicas empleadas en este trabajo especial de grado.

3.1 TIPO DE INVESTIGACIÓN

Los estudios descriptivos según Balestrini (2006, pag. 6) infieren la descripción


con mayor precisión “acerca de las singularidades de una realidad estudiada, podrá
estar referida a una comunidad, una organización, un hecho delictivo, las
características de un tipo de gestión, conducta de un individuo o grupales, comunidad,
de un grupo religioso, electoral, etc.

Por otra parte Tamayo y Tamayo (1994, pag. 54) afirman que la investigación
descriptiva “comprende la descripción, registro, análisis e interpretación de la naturaleza
actual, y la composición o procesos de los fenómenos. El enfoque se hace sobre
conclusiones dominantes o sobre cómo una persona, grupo o cosa se conduce o
funciona en el presente”

Existe el tipo de investigación denominada como proyectiva, y en donde las


mismas, según Hurtado (2002, pag. 325), “tienen como propósito primario la
elaboración de una propuesta o modelo que pretende solucionar un problema de tipo
práctico, bien para un grupo social o a una institución en un área específica del
50
conocimiento, lo cual se logra a través del diagnostico de las necesidades del momento,
de los procesos explicativos o generadores y de las tendencias futuras”

Contrastando las definiciones expuestas y en vista de que el objetivo general del


presente trabajo de grado es el desarrollo un Software Gráfico Interactivo Multiusuario
para el Entretenimiento en Red, se concluye que la presente investigación es de tipo
descriptiva-proyectiva, en concordancia con los aspectos señalados por Hurtado y
Balestrini, caracterizada en vista de que el resultado final aporta un nuevo instrumento
que al ser aplicado derivará en modificaciones del comportamiento de los individuos en
su entorno.

Este enfoque mixto se justifica debido a que se contemplan particularidades de la


investigación descriptiva, enmarcándose de mejor manera en la definición que ofrecen
Tamayo y Tamayo, pero no sólo se limita a describir, sino que debido a su alcance se
plantea realizar una propuesta de software factible que sirva de alternativa para la
solución de una problemática, en este caso principalmente las necesidades de
entretenimiento en red de una población.

De igual manera el aspecto descriptivo se constata en que en la presente


investigación se analiza, registran y describen las diversas variables involucradas tales
como las necesidades un tipo de entretenimiento para la población objetivo, tomando
en cuenta factores como la jugabilidad, temática, y posibilidades de interacción de
usuario, los diversos roles de usuario, incluyendo las reglas de interacción entre ellos y
las tecnologías a utilizar, que surgen de los datos aportados por los métodos y técnicas
de recolección de datos.

3.2 DISEÑO DE LA INVESTIGACIÓN

Cázares y otros (2000, pag. 18) definen “la investigación documental como aquel
estudio que depende principalmente de la información que se recoge o consulta en
documentos, entendiéndose este término, como todo material de índole permanente, es
decir al que se puede acudir como fuente de referencia en cualquier momento y lugar,
sin que se altere su naturaleza o sentido para que aporte o rinda cuentas de una
realidad o acontecimiento.”
51
Por otra parte para Fidias (2006, pag. 27) la investigación o diseño documental
“es un proceso basado en la búsqueda, recuperación, análisis, critica e interpretación
de datos secundarios, es decir los obtenidos y registrados por otros investigadores en
fuentes documentales: impresas, audiovisuales o electrónicas”.

Es innegable que actualmente, y debido al constante avance de la tecnología y


los medios, que los canales digitales constituyen una fuente de recursos rica y completa
de información para cualquier investigación, más aún si se enmarca en el área de las
tecnologías de información y comunicación. Esta investigación es considerada del tipo
documental debido a que parte de los recursos para obtención de datos provienen de
diversos materiales tales como revistas, libros, artículos científicos, incluyendo
materiales audiovisuales y multimedia, tales como páginas web y videojuegos, por lo
que se enmarca de mejor manera en la definición aportada por Fidias.

En otro orden de ideas según Hernández, Fernández y Baptista (pag 184, 2003)
establecen que el diseño no experimental es aquel que “se realiza sin manipular
deliberadamente variables. Es decir, se trata de la investigación donde no hacemos
variar intencionadamente las variables independientes. Lo que hacemos en la
investigación no experimental es observar fenómenos tal y como se dan en su contexto
natural, para después analizarlos.”

Así mismo de acuerdo a los mismos autores (2003, pag 270), los diseños
transeccionales descriptivos son aquellos en los que “se recolectan datos en un solo
momento, en un tiempo único. Su propósito es describir variables y analizar su
incidencia e interrelación en un momento dado (o describir comunidades, eventos,
fenómenos o contextos)”.

En este sentido, teniendo como base los conceptos anteriores este proyecto de
grado se define del tipo no experimental transeccional descriptivo en su diseño debido a
que no busca alterar de ninguna forma sus fuentes de información para obtener algún
resultado probable, simplemente recaba la información de acuerdo a un método y
realiza el análisis de la muestra una única vez sin cambiar la naturaleza de los
resultados que hayan aportado dichas fuentes. El periodo bajo el cual se realizó la

52
recopilación y búsqueda de dichos datos se sucedió en el transcurso del mes de
octubre del año 2009.

3.3 POBLACIÓN Y MUESTRA

Fidias (2006, pag. 81) define a la población “o en términos más precisos


población objetivo, es un conjunto finito o infinito de elementos con características
comunes para los cuales serán extensivas las conclusiones de la investigación.
Ésta queda delimitada por el problema y por los objetivos del estudio.” La
población objeto de estudio, para la presente investigación, está integrada por los
usuarios de software gráfico interactivo multiusuario disponible para redes de área local
e Internet.

La muestra, según Balestrini (2006, pag. 141), “es una parte de la población, un
número de individuos u objetos seleccionados científicamente, cada uno de los cuales
es un elemento del universo”. La toma de la muestra se determinó como no probabilista
e intencional, debido al corto lapso de tiempo para realizar la investigación así como por
el alcance en donde se puede contar inclusive con que la población objetivo se
encuentre en distintas localidades del mundo.

En este sentido la muestra está delimitada por los usuarios de software gráfico
interactivo multiusuario en red en Venezuela, conformado de acuerdo criterios
determinados por el autor tales como popularidad de género, temática, tecnologías
utilizadas, cantidad de usuarios y margen de mercado. Así mismo se contó con la
asistencia de tres expertos (3) a los que se consultó mediante la realización de
entrevistas para la conformación del marco técnico y teórico del software.

3.4 TÉCNICAS E INSTRUMENTOS DE RECOLECCIÓN DE DATOS

Para Muños (1998, pag. 202) las técnicas investigativas son “Todos los métodos,
procedimientos y habilidades que se aplican para desarrollar un arte o una ciencia”. Por
otra parte según Fidias (2006, pag. 53),”los instrumentos son los medios materiales que
se emplean para recoger y almacenar la información.” Para la elaboración de este
proyecto de grado se utilizaron como instrumentos de recolección de datos el guión de
53
entrevista, el registro de observación documental, observación directa e indirecta, así
como una encuesta para constatar la correcta aproximación desarrollada sobre el
problema planteado.

Observación Documental

Pardinas (2003, pag. 60) afirma que “este tipo de observación o de datos, está
contenido en escritos de diversos tipos” esto se debe a que se realiza el estudio de
estadísticas, artículos científicos, valoraciones críticas y otros documentos relacionados
a la muestra.

Se analizaron datos estadísticos de la industria para determinar características


tales como género y público del juego tomando en cuenta aspectos tanto nacionales
como internacionales, con el fin de obtener una base de comparación, entre estos
documentos se encuentran:

• Entertainment Software Asociation (2008). 2008 Essential Facts About the


Computer and Video Game Industry

• Comisión Nacional de Telecomunicaciones (2009). Resultados del Sector


Telecomunicaciones. I trimestre 2009.

• Tendencias Digitales (2009). Números y palabras, Usos y Penetración de


Internet en Venezuela

Se utilizó como instrumento de recolección de datos un registro de observación


documental para recolectar datos e información cualitativa y cuantitativa, tanto de
fuentes primarias como secundarias, con relación estrecha a los objetivos de la
investigación.

Así mismo se realizó el estudio de otras fuentes documentales electrónicas y


multimedia, tales como e-zines o revistas electrónicas, foros de discusión abierta,
reseñas y estudios acerca de videojuegos en línea de diversos géneros, que ayudaron
a la conformación del enfoque que el autor consideró a aplicar en el desarrollo del
prototipo.

54
Observación Directa

Muños (1998, pag. 215) define la observación directa como “la inspección que
se hace directamente a un fenómeno dentro del medio en que se presenta, a fin de
contemplar todos los aspectos inherentes a su comportamiento y características dentro
de ese campo. En estos casos el observador entra en contacto directo con el fenómeno
observado, pudiendo permanecer aislado del mismo o participar en él”.

En este orden de ideas en la presente investigación el investigador mide y


recoge datos de la propia calidad y usabilidad del sistema a medida que lo desarrolla,
mediante el empleo de pruebas alfa para asegurar el correcto funcionamiento de la
aplicación, considerando así mismo su observación de del comportamiento de algunos
probadores beta. Se destaca también el uso de esta técnica en el sentido de la
aplicación del análisis de una muestra los videojuegos multijugador en línea más
populares disponibles para el entretenimiento en red y accesibles al investigador tales
como World of Warcraft, Ikariam, Counter Strike Source y Call of Duty 4: Modern
Warfare, de los que al evaluar sus características y razones de su éxito se determina
qué aportes o experiencia se pueden tomar de ellos.

Encuesta

Se seleccionó como técnica la encuesta para recabar opiniones directas del


usuario final acerca de una propuesta tipo prototipo que se les proporcionó para su
personal evaluación, de acuerdo a Muñoz (1998, pag. 213) la encuesta se define como
“la recopilación de datos concretos, dentro de un tópico de opinión específico, mediante
el uso de cuestionarios o entrevistas, con preguntas y respuestas precisas que permiten
hacer una rápida tabulación y análisis de esa información”.

Como instrumento se utilizó el cuestionario que, según Hurtado y Toro (2001, p.


90) es el instrumento con el cual se realiza la encuesta. Los mismos autores explican
que el cuestionario “logra que el investigador centre su atención en ciertos aspectos y
se sujetas a determinadas condiciones”. En un cuestionario las preguntas deben estar
claramente definidas, y se categorizan en dos modalidades: abiertas y cerradas. Al

55
respecto Hurtado y Toro comentan que las preguntas son “cerradas cuando se contesta
con un sí o un no. Y abiertas cuando se contestan a criterios y juicio al entrevistado.”

En el esquema de cuestionario seleccionado se determinó el uso de preguntas


tanto abiertas como cerradas formando un enfoque mixto, para no limitar la capacidad
crítica del usuario y al mismo tiempo obtener información cuantificable teniendo un
alcance amplio de las posibles respuestas a ser recibidas, que sirven de base para la
reformulación de la propuesta de software en los casos en que los usuarios lo señalen,
y asegurando de esta manera su satisfacción con el resultado final. En el anexo A se
consigna el cuestionario realizado, el cual fue avalado por el tutor académico.

Entrevista Estructurada

Debido a que era necesario delimitar el aspecto técnico de la elaboración del


software, se optó por la técnica de entrevista para consultar a expertos en la temática
acerca de los aspectos relacionados a la conformación del software. Tamayo y Tamayo
(1994, p.123) definen la entrevista como “la relación directa establecida entre el
investigador y su objeto de estudio a través de individuos o grupos con el fin de obtener
testimonios orales.”

Son modalidades de la entrevista: estructurada y no estructurada. La entrevista


estructurada según Ander (1977, pag. 110) “toma la forma de un interrogatorio en el
cual las preguntas se plantean siempre en el mismo orden y se formulan con los
mismos términos. Esta entrevista se realiza sobre la base de un formulario previamente
preparado y estrictamente normalizado”. Por otra parte según en el mismo contexto el
autor señala en cambio que la entrevista no estructurada “deja una mayor libertad a la
iniciativa de la persona interrogada y al encuestador, tratándose en general de
preguntas abiertas que son respondidas dentro de una conversación teniendo como
característica principal la ausencia de una standarización formal”.

Evaluando las modalidades señaladas se determinó que el mejor esquema a


utilizar en la presente investigación un esquema de entrevista estructurada, ya que esta
permite tener una interacción concreta con el entrevistado, buscando y obteniendo los
datos determinados, mediante las preguntas previamente elaboradas en un margen
56
controlado por el entrevistador que asegura la relación de las preguntas y respuestas
con el estudio. En el anexo B se muestran las preguntas realizadas.

3.5 FASES DE LA INVESTIGACIÓN.

FASE 1: Definición del Tipo de Entretenimiento Multijugador a Ofrecer en Red

a) Revisión de Documentos Estadísticos

• A nivel internacional se consultaron diversas estadísticas del mercado global de


los videojuegos, así como de las distintas tendencias de géneros y temáticas
específicas para los juegos más populares en el mercado actual, enfocándose
en los juegos multijugador en línea.

• A nivel nacional fueron consultados estudios realizados por CONATEL acerca de


los usuarios de Internet en Venezuela y los tipos de conexión que utilizan, que se
contrastaron con la presentación sobre usos y penetración de internet en
Venezuela aportada por Tendencias Digitales.

b) Identificación y Caracterización de Videojuegos Multijugador en Red más


Populares

Se realizó la identificación y caracterización del software gráfico interactivo


multiusuario en red popular para, en este sentido, corroborar las estadísticas
documentales recopiladas y así mismo, mediante el muestreo de dichos juegos, realizar
las observaciones correspondientes que se pudieron extraer de la experiencia de juego,
orientándose de esta manera acerca de las tendencias actuales de esta área de los
videojuegos multijugador, y considerando dentro de dichas observaciones tantos
aspectos tantos aspectos técnicos, como artísticos y jugables que las mismas
contengan.

57
c) Consulta Abierta en Foros de Discusión Electrónica y Asociaciones Afines a la
Computación Gráfica Aplicada

Para obtener bases teóricas, antecedentes, referencias bibliográficas, y así


mismo enriquecer, mediante la discusión abierta con los participantes de los grupos
seleccionados se realizó la consulta y participación activa en diversos foros electrónicos
de discusión acerca de videojuegos y asociaciones tanto estudiantiles como
profesionales afines a la temática. En este marco se destaca el aporte realizado tanto
por la asociación INVENTAD (Industria Nacional del Videojuego, Entretenimiento y
Artes Digitales) que pese a ser fundada formalmente el presente año (2009) aportó
opiniones de profesionales y desarrolladores afines notables para el desarrollo de esta
investigación.

FASE 2: Diseño Conceptual del Videojuego Atendiendo las Necesidades de


entretenimiento definidas

Recopilada la información necesaria para la elaboración del concepto temático


de la propuesta se realizó la esquematización conceptual de la misma en base a los
datos tomados y la inspiración propia del autor, enmarcado de acuerdo al género
definido y otras clasificaciones características tales como la temática a tratar, público al
que va dirigido, ambientación, los personajes con sus objetivos, entre otros, delimitando
de esta forma la propuesta en donde la experiencia del desarrollador y la orientación
que este determine para la misma resulta vital en la conformación del concepto
propuesto.

FASE 3: Análisis de los Elementos Necesarios para la Elaboración del Software

a) Revisión Documental Técnica

• Se consideraron diversas tecnologías y algoritmos de programación


considerando áreas como la animación, manejo de elementos de física en
entornos bidimensionales, inteligencia artificial, codificación y decodificación de
audio, video e imágenes, eventos de sistema y protocolos de transporte de datos
a través de redes de área local e Internet.

58
• Se recopilaron y analizaron bibliografía técnica específicamente relacionada con
el desarrollo y diseño de videojuegos en diversos lenguajes de programación,
abarcando no sólo aspectos programáticos sino también algunos tales como el
artístico, el conceptual, teórico, administrativo, tecnológico, entre otros, que
fungen en un conjunto lo que un videojuego completo como tal se representa.

b) Selección de las herramientas de desarrollo

De acuerdo a los datos recopilados en la investigación de fuentes técnicas y la


información suministrada por los expertos se estableció la selección herramientas de
hardware y de software necesarias para el desarrollo del software gráfico interactivo
para el entretenimiento en red. Se realizó el estudio de distintos lenguajes y librerías
para la programación del software, incluyendo así mismo las herramientas de edición de
audio, imágenes y sonido, mientras que por parte del hardware se determinó la
plataforma y los dispositivos de entrada y salida necesarios para la interacción y prueba
del videojuego, teniendo en cuenta para las selección de ambos aspectos criterios
como complejidad de uso, integración de componentes, y capacidades de extensión
para tener la menos cantidad de restricciones en cuanto al desarrollo de la propuesta
representa.

FASE 4: Diseño Lógico y Físico del Software Gráfico Interactivo Multiusuario para
el Entretenimiento en Red

a) Desarrollo Metodológico

Debido a que se optó por el desarrollo de una metodología propia de software y


para tener claramente definida la secuencia de actividades a realizar en la elaboración
del videojuego, se estructuraron diversos métodos y pasos a seguir para abordar de la
manera más adecuada el desarrollo de la solución informática, adaptada en naturaleza
e especificaciones a las particularidades que el desarrollo de un videojuego representa.
No obstante el enfoque metodológico se presenta per se más como una metodología
general de desarrollo de rápido de aplicaciones, por lo que no trata de apartarse de las
referencias documentales de metodologías de desarrollo de software exitosas y
establecidas bajo otros esquemas, asegurando de dicha forma su propia confiabilidad.
59
b) Diseño Lógico

Para establecer y delimitar un marco de referencia lógica para cada uno de los
procesos, entradas y salidas del sistema, previo a la codificación del mismo, el
investigador se apoya en técnicas de análisis y diseño de sistemas generales y
dependencias tales como las listadas a continuación:

• Diagramas de Casos de Uso

• Diseños de Base de Datos

• Mapas de Navegación

• Diseño de Pantallas

• Diagrama de Red

c) Elaboración de Prototipos

• Teniendo en cuenta la metodología desarrollada, ubicándose la misma en el


conjunto de metodologías de desarrollo rápido de aplicaciones, se procedió a la
elaboración de un prototipo inicial para establecer la retroalimentación con los
usuarios finales y en donde se constató que la orientación de idea, temática y
otros era adecuada y qué aspectos se debían cambiar o mejorar.

• Con las correcciones y las observaciones señaladas por los usuarios en la


elaboración del primer prototipo se continuó al desarrollo del segundo prototipo,
en donde, a diferencia de la versión anterior, el esquema de pruebas pasa de
beta cerrada a beta abierta.

• El último prototipo realizado es presentado como el producto final en


concordancia con la metodología de software, él es el resultado del prototipado

60
de las versiones anteriores del sistema, convirtiéndose en la versión más
adaptada a las necesidades e inquietudes presentadas por los usuarios.

FASE 5: Pruebas del Software Gráfico Interactivo Multiusuario para el


Entretenimiento en Red

En esta última fase se realizaron las pruebas pertinentes del software, en donde
de acuerdo al esquema seguido y al público que le es accesible dicha prueba se
clasificaron en tres tipos: pruebas alfa y pruebas beta en las modalidades de beta
cerrada y beta abierta.

61
CAPÍTULO IV. ANÁLISIS E INTERPRETACIÓN DE
LOS RESULTADOS

62
CAPÍTULO IV

ANÁLISIS E INTERPRETACIÓN DE LOS RESULTADOS

A continuación en el presente capitulo se muestra el proceso de análisis e


interpretación de los resultados obtenidos durante este trabajo de investigación, como
consecuencia del empleo de las técnicas y recolección de datos, así como la aplicación
de los conceptos tanto metodológicos, teóricos y técnicos que sirvieron de base para el
desarrollo del software gráfico interactivo multiusuario para el entretenimiento en red.

4.1 DEFINICIÓN DEL TIPO DE ENTRETENIMIENTO MULTIJUGADOR A OFRECER


EN RED
Para determinar cuál debía ser la aproximación al tipo de entretenimiento
multijugador a ofrecer en red, se analizaron diversos documentos estadísticos para
caracterizar a la población y de esta manera, conocer cuáles eran las últimas
tendencias y las características de los tipos de entretenimiento multijugador de su
preferencia. De las diversas fuentes consultadas se destacan los siguientes datos
estadísticos:

• Según la ESA(2008) los géneros más jugados de acuerdo a unidades vendidas


en el 2007 para computadora son los juegos de estrategia con un 33.9%
mientras que para otras plataformas son los juegos de acción con un 22.3%.

• Conatel(2009) indica 7.552.570 personas en Venezuela son usuarios de Internet,


lo que representa un 27,04% de la población Venezolana.

• Tendencias Digitales (2009) Señala que el grupo etario que más usa internet es
el que se encuentra entre los 12 y los 17 años, en Venezuela, teniendo como
63
media los 22 años de edad para la población venezolana que usa internet y en
donde el 53% de dichos usuarios son hombres.

Aplicando la técnica de observación directa se analizaron y caracterizaron distintos


juegos multijugador populares con el componente en red afín para determinar los
distintos aspectos en los que destacan y que se determinaron populares entre el
público. En la tabla 4.1 se señalan la caracterización de los videojuegos seleccionados,
exponiendo las observaciones del autor más relevantes.

Tabla 4.1. Caracterización de videojuegos multijugador muestreados

Título Gratuito Plataformas Género Clasificación


operativas
Mayores de 13
World of Warcraft No Windows / Mac RPG
años
Acción Mayores de 17
Team Fortress 2 No Windows
(FPS) años
Ikariam Sí* Web Estrategia N/A
Runescape Sí* Java (JRE) RPG N/A
Counter Strike: Acción Mayores de 17
No Windows
Source (FPS) años
Call of Duty 4: 360/PC/PS3 Acción Mayores de 17
No
Modern Warfare /MAC/WII (FPS) años
* Presenta modalidades de usuarios que mediante pago acceden a características adicionales.

Nota: Para las clasificaciones por edades se utilizó como referencia la clasificación ESRB

Fuente propia: De La Cruz (2009)

En este orden de ideas se puede constatar que las tendencias de popularidad de


los juegos caracterizados, supeditándose a los valores estadísticos recopilados, se
encuentran dentro de un margen en donde el género principal es el de la acción, siendo
la Estrategia el género secundario en la relación de unidades vendidas y popularidad,
obviando el caso de éxito extraordinario de World of Warcraft el cual para el 2008 según
declaraciones de Blizzard, citada en Wired(2008), contaba con una base 11.5 millones
de usuarios para dicho año. Debido a ello el tipo de entretenimiento seleccionado para
64
el desarrollo del Software Gráfico Interactivo para el Entretenimiento en Red se
enmarca en el género principalmente de acción principalmente y de manera segundaria
en el de la estrategia.

En vista que se desea llegar a la mayor cantidad de población posible con la


propuesta, sin apartarse en gran medida de las características inherentes al género
seleccionado se plantea que la clasificación del videojuego sea apta para adolescentes
sin diferencia de sexo, esto si es llevado a un esquema de clasificación internacional de
contenidos en videojuegos tal como el ERSB se podría definir como clasificación ‘Teen’.
La clasificación ‘Teen’ definida por el ERSB (2009) indica que el contenido del
videojuego puede ser apto para mayores de 13 años. Pudiendo los títulos ubicados en
esta categoría contener violencia, temas sugestivos, humor negro, mínima sangre,
apuestas simuladas, y/o uso de lenguaje fuerte de manera no frecuente.

Otra característica de la población objetivo es el de la habitualidad de juego, la


misma se enmarca dentro de dos categorías, de acuerdo al número de horas que
tienden a dedicar al juego a diario, y las dificultades así como los tipos de retos que
prefieren, se clasifican en jugadores casuales o jugadores hardcore, en donde los
primeros se caracterizan por preferir videojuegos cortos, sencillos y de poco esfuerzo
para obtener logros, mientras que los hardcore prefieren lo contrario. La característica
de tipo de jugabilidad para el videojuego a desarrollar se estableció en base atractiva
para ambas clase de jugadores, no obstante debido de que a largo plazo los jugadores
hardcore son los que reportan más beneficios al ser más fieles a un producto, si este les
agrada, son el principal estrato en que el videojuego a desarrollar se estableció.

4.2 DISEÑO CONCEPTUAL DEL VIDEOJUEGO

Recopilada la información necesaria para la elaboración de la propuesta


conceptual se realizó la esquematización de la misma en base a los datos recabados
así como por la propia inspiración del autor, enmarcado de acuerdo a un género y otras
clasificaciones características tales como la temática a tratar, público al que va dirigido,
ambientación, los personajes con sus objetivos, entre otros, delimitando de esta forma
la propuesta en donde la experiencia del desarrollador y la orientación que este
65
determine para la misma resulta vital en la conformación del concepto propuesto. En la
tabla 4.2 se listan los elementos conceptuales del videojuego determinados, mientras
que en la figura 4.1 se presenta un logo del juego con el nombre “TankNation” como
título definido y por otra parte en la figura 4.2 el logo de la compañía a la que le fue
asociado para asegurar de esta manera la identificación del usuario para los casos en
que se quisiese proveer de un servicio adicional, tales como el del soporte sin
necesidad de usar el nombre del juego.

Tabla 4.2. Elementos conceptuales del videojuego


Elemento Valor

Nombre del Juego TankNation

Número de Jugadores 1a8

Género Acción

Competencia entre vehículos


Temática
mediante objetivos establecidos

Planeta Tierra. Época actual.


Ambientación
2010 D.C.

Modalidades de Juego Individual y por equipos

Desarrollo de acciones
Tiempo real
del jugador

Fuente propia: De La Cruz (2009)

Figura 4.1. Logo del Juego

Fuente propia: De La Cruz (2009)

66
Figura 4.2. Logo de la compañía

Fuente propia: De La Cruz (2009)

Se planteó así mismo la posibilidad del desarrollo de una página web que tuviese
como intención ser un centro de encuentro y promoción del videojuego, usando medios
tales como la publicidad no invasiva para generar ingresos que ayudasen a rentabilizar
el producto. En esta página no solo se podría ver información relevante del juego,
descripciones del mismo, mínimos requerimientos para ejecutarlo en una computadora,
fotos del sistema de juego, entre otros, sino también el usuario podrá ponerse en
contacto con otros jugadores e interactuar con ellos.

Para el desarrollo de la temática ubicada en el género definido se estableció un


modo principal de juego denominado ‘Deathmatch’ debido a la facilidad de
implementación e idoneidad para la prueba de las características del motor del juego
desarrollado, consistiendo el mismo en un modo de juego en el cual todos los
participantes compiten por llegar a establecer el mejor puntaje el cual se da en función
de cuantos competidores contrarios haya derrotado en el juego. Se plantearon así
mismo otros modos de juego de complejidad diversa y características originales y
propias los cuales se plantearon para el desarrollo en futuras versiones, luego de
consolidada la estructura base del juego y comprobada la satisfacción del público con
los primeros resultados.

67
4.3 ANÁLISIS DE LOS ELEMENTOS NECESARIOS PARA LA ELABORACIÓN DEL
SOFTWARE

En el desarrollo de cualquier aplicación informática intervienen distintos

componentes tanto de hardware como de software, la correcta sucesión de los

procesos computacionales depende de la correcta interrelación de dichos

componentes. En este sentido para la elaboración del software gráfico interactivo

multiusuario se tuvieron en cuenta la adecuada integración del hardware y el software,

en donde en materia de hardware se determinó el equipo necesario para desarrollar el

sistema (ver tabla 4.3) en función de los requerimientos mínimos en conjunto del

distinto software base seleccionado.

En este sentido se estableció la selección de lenguajes y librerías para la

programación del software de acuerdo a los datos recopilados en la investigación de

fuentes bibliográficas técnicas, la información aportada por los distintos expertos

entrevistados, así como por la consulta abierta realizada en foros de discusión abierta y

asociaciones, priorizando la mayor capacidad técnica y la usabilidad del producto

desarrollado para los usuarios finales, los mismos se listan en la tabla 4.4.

68
Tabla 4.3. Requerimientos de Hardware

Componente Hardware

Mouse
Dispositivo de Entrada

Teclado

Monitor con soporte de 32


bits de color
Dispositivo de Salida

Cornetas u audífonos

Gráficos Tarjeta de video con


al menos 64MB de memoria

Adaptador de red con interfaz


Ethernet

Red
Conexión a Internet con un
mínimo de velocidad de
descarga y de subida de
512Kbps

(4) USB
Puertos

](1) Ethernet

Fuente propia: De La Cruz (2009)

69
Tabla 4.4. Requerimientos de Software

Componente Software

Sistema Operativo Windows XP

Entorno Integrado de Desarrollo Microsoft Visual Studio 2008

Editor de Imágenes Adobe Photoshop CS4

Conversor de formatos de audio Free Mp3/Wma/Ogg Converter

Editor de audio FAESystem Free Audio Editor

Software Development Kit (SDK) ClanLib 2.1.0 GameSDK

Lenguaje de Programación C++

Lenguaje de Consultas Standard Query Lenguage (SQL)

Motor de Partículas Linear Particle 0.5

API Gráfico OpenGL 1.2

Base de Datos. Servidor Global MySQL 5.1

Base de Datos local SQLite 3.6.21

Sistema de Gestión de
Drupal 6.14
Contenidos

Sistema de Instalación NSIS 2.46

Servidor Web Apache 2.2.12

Lenguaje de Programación Web PHP 5.3.0

Fuente propia: De La Cruz (2009)

4.4 DISEÑO LÓGICO Y FÍSICO DEL SOFTWARE GRÁFICO INTERACTIVO


MULTIUSUARIO PARA EL ENTRETENIMIENTO EN RED

Al existir pocas referencias de acuerdo a como se debe realizar una metodología


de desarrollo de videojuegos, especialmente adaptada a las necesidades de tiempo e
70
inversión de recursos específica, se decidió emplear para el desarrollo del software
gráfico interactivo multiusuario para el entretenimiento en red una metodología propia
en basada en distintas metodologías de desarrollo rápido de aplicaciones (DRA) tales
como AUP, Programación Extrema, SCRUM teniendo en cuenta así mismo el enfoque
de planificación, análisis y estructuración de modelos más clásicos tales como el de
desarrollo en Cascada, desarrollo en Espiral, de Construcción de Prototipos, entre otros
que se encuentran definidos en el marco teórico de este trabajo. La metodología se
denominó Dash Versión Desarrollo (DVD) de acuerdo a las subclasificaciones de la más
importante de sus fases.

Definición de Términos Metodológicos

Dash: Es la mínima unidad periódica de tiempo para manejar y subdividir el ciclo de


desarrollo. Una versión del software está compuesta de diversos Dash y la extensión de
temporal de cada uno de ellos depende de las necesidades de cada proyecto aunque
es recomendable que los mismos se den en plazos cortos para la concreta delimitación
y establecimiento de las actividades. Los Dash comparten una flexibilidad temporal con
los Dash hermanos dentro de una misma versión pudiendo tomar tiempo entre ellos
mismos hasta un máximo de 2/10 del tiempo estipulado de su duración.

Dashing: Consiste en la ejecución de las actividades planeadas para un Dash


determinado.

Versión: Se refiere a una versión del programa activa y completa, es decir un paso
incremental de una funcionalidad o actividad necesaria discernible y separable. Cada
versión representa un avance significativo en la elaboración del software, escalando
sobre las funcionalidades de versiones anteriores. Si bien los Dash son flexibles
temporalmente, en conjunto deben cumplir estrictamente los plazos establecidos para la
versión. La longitud de una versión se estipula en un mínimo de tres Dash.

Desarrollo: Significa el desarrollo de un producto determinado, que cumple con el


objetivo final y así como los específicos, que está preparado y construido para su
distribución, aunque la misma sólo se dé internamente. Un Desarrollo puede tomar

71
como base algún Desarrollo previo o establecerse de manera independiente como un
módulo de software.

Tipos de Dash:

• AD: Dash de análisis y diseño se realizan únicamente al inicio de cada nueva


versión. En este se determinan el objetivo general y objetivos específicos de
dicha versión.
• CP: Es el segundo Dash a ejecutar en cualquier versión, en él se realiza la
codificación y pruebas puntuales de las actividades determinadas para dicho
dash.
• RCP: RCP es una variación del Dash tipo CP en donde la inicial R denota la
característica de posible reanálisis y rediseño de las actividades que se van a
realizar en el Dash. Las actividades de reanálisis y rediseño se suscitan para los
casos en que se deba volver a evaluar las actividades planificadas en función de
detección de errores, inconvenientes en el desenvolvimiento de la planificación o
bien existan nuevos requerimientos del cliente, enmarcadas dentro de los
objetivos especificados para dicha versión, teniendo inclusive la posibilidad de
tomar ‘prestado’ tiempo de otro Dash en caso de que las actividades lo
requieran; no obstante, así mismo se destaca que si las mismas ocurren de
manera exitosa antes del tiempo previsto proveen de holgura a cada Dash
posterior. Se establece una duración de lógica temporal máxima de 1/10 para
los periodos R de un RCP, así como de 2/10 de Dash, exceptuando el último
Dash, para el préstamo temporal entre los mismos.

Fases de Dash Versión Desarrollo

En la aplicación de la metodología utilizada en este trabajo, denominada se recorre


un esquema secuencial de trabajo para la realización del software, el cual consiste de
tres fases principales: Conceptualización, Diseño y Producción que en conjunto
conforman un esquema que aporta en su fase final un Desarrollo, mismo esquema
sobre el cual es posible iterar basando los desarrollos sobre los desarrollos previos. La

72
aplicación de las distintas fases de la metodología descrita a continuación se puede
apreciar en este capítulo, Análisis e Interpretación de los Resultados, siendo el punto
4.1 y 4.2 la Conceptualización, el punto 4.3 la fase de Evaluación y por último los
puntos 4.4 y 4.5 abarcan de manera general la Producción.

• Conceptualización: Parte de la inspiración y reglas del producto a realizar, para


generar como resultado el documento que va a definir los fundamentos y
principales lineamientos creativos del software. En esta fase se determinan los
requerimientos del cliente o del usuario final en función de generar la idea del
software de una manera global.
• Evaluación: Consiste en el estudio del concepto ideado, determinando los
distintos requerimientos de software y de hardware a utilizar para la elaboración
del sistema, evaluando su factibilidad técnica y operativa de acuerdo a los
recursos con los que se cuenta, siendo optativa la económica debido a que la
metodología es adaptable a proyectos a muy corto plazo, o experimentales en
los que dicho facto sea complejo de determinar.
• Producción: Se refiere a la creación del producto, diseñando la aplicación
lógicamente y codificando, involucrando al usuario final en pruebas mediante
consultas antes de tomar por terminado el mismo, y en donde se recomienda la
utilización de herramientas funcionales y de diseño asistido que provean una
facilidad rápida de traducción a código del concepto previamente diseñado. Para
ello se elabora un bosquejo inicial de diseño de la aplicación, estableciendo una
serie de metas jerarquizadas para cada Dash, y de acuerdo a los obstáculos que
se susciten en la codificación de la aplicación se rediseñará el cronograma
siempre respetando las fechas de culminación de cada versión del software. En
esta fase se emplea el ciclo de desarrollo especificado en la figura 4.4, en cual
se presenta un proyecto con un tiempo de Dash base a una semana, unidad
temporal trabajada de igual manera en la presente investigación.

73
Figura 4.4. Ciclo de desarrollo de la metodología DVD

Fuente propia: De La Cruz (2009)

Diseño Lógico y Físico de la Página Web

Funcionando como una interfaz de comunicación y presentación del producto a


los usuarios finales se realizó el desarrollo de la página oficial del software, generando
un prototipo inicial (ver figura 4.5 y figura 4.6) el cual fue revisado y evaluado por el tutor
académico, así como mostrado a un número cerrado y pequeño de personas para
verificar su respuesta frente a la misma, con lo que se notaron grandes carencias en
74
diversos aspectos como la usabilidad, capacidad de interacción, y presentación, que
fueron tomados en cuenta para la elaborar una nueva versión de la página web.

Figura 4.5. Pestaña de Descargas TankNation Web v0.1

Fuente propia: De La Cruz (2009)

En este sentido para elaborar de una manera más adecuada la página web se
estableció la necesidad de la realización de nuevas funcionalidades y capacidades de
interacción, así como de presentación, que fueron tomados en cuenta para la elaborar
una nueva versión de la página web. El diseño final se presentó como una interfaz con
los usuarios del videojuego e interesados, que de manera sencilla en un diseño
estructurado de arquitectónica en red y basado en módulos, se busca que el usuario
consiga el contenido que desea de manera rápida y precisa.

75
Figura 4.6. Pestaña de Información TankNation Web v0.1

Fuente propia: De La Cruz (2009)

Gracias al tipo de diseño arquitectónico seleccionado, permite que el sistema


resulte sencillo, es decir se puede actualizar agregando únicamente los módulos
necesarios para agregar alguna funcionalidad no considerada previamente y que se le
requiera agregar a la aplicación web. El mapa de navegación final se puede apreciar en
la figura 4.7 en donde cabe hacer notar las distintas secciones y posibilidad de
interacción de los usuarios con la misma mediante foros, bitácoras, encuestas,
artículos, publicidad no invasiva que aumenta la factibilidad económica del producto,
entre varias otras opciones (figura 4.8), relacionadas inclusive directamente con el
juego como la sección de descargas del cliente, o la de clasificación que presenta el
estado del sistema de los logros obtenidos en puntaje de los distintos jugadores a nivel
mundial y que se logra mediante una interfaz de conexión a través de Internet (ver
figura 4.9).

76
Envíos
Recientes

Foros Ver

Editar
Cuenta

Entrada Rastreo
Cuestionario

Identidades
OpenID
Bitácoras

Inicio
Galería Crear Imagen

Crear
Crear
Bitácora
Contenido

Crear Tema
Clasificación Foro

Enlaces de
Descargas
descarga
internos

Terminar
Sesión Enlaces de
descarga
externos
Enlaces
recomendados

Salida

Figura 4.7. Mapa de Navegación de la Aplicación Web

Fuente propia: De La Cruz (2009)

77
Figura 4.8. Página inicial de TankNation v1.0

Fuente propia: De La Cruz (2009)

78
Figura 4.9. Diagrama de Red Servidor Global

Fuente propia: De La Cruz (2009)

En otro orden de ideas, se puede destacar así mismo el desarrollo de la Base de


Datos y su estructura (ver figura 4.10, figura 4.11 y figura 4.12), que conforma la fuente
principal de información manejada en el servidor web global, y tiene relación de no
dependencia con el funcionamiento del cliente de juego, el cual para fomentar la
competitividad entre los usuarios retorna las estadísticas de las partidas jugadas que
luego se contabilizan en el sistema, y en la computadora del cliente en una tabla
análoga de una base de datos local inherente al juego, pudiendo así el jugador
comprobar sus mejores puntajes, aparte de con otros jugadores, en su propio cliente sin
necesidades de tener una conexión a internet activa.

79
Figura
4.10. Estructura de Tablas en Base de Datos Web. Primera parte.

Fuente propia: De La Cruz (2009)

Figura 4.11. Estructura de Tablas en Base de Datos Web. Segunda parte.

Fuente propia: De La Cruz (2009)


80
Figura 4.12. Estructura de Tablas en Base de Datos Web. Tercera parte.

Fuente propia: De La Cruz (2009)

Diseño Lógico y Físico del Videojuego

Para la correcta integración de las diversas tecnologías y apartados que la


realización de un videojuego representa se realizó el diagrama de caso de uso de las
principales acciones de un usuario dentro del ambiente del videojuego (ver figura 4.13)
de donde se destaca la implementación del movimiento mediante el uso de mouse y
teclado, para fomentar la inmersión en el juego, al requerir más la concentración activa
del usuario lo cual induce a la inmersión dentro del juego, lo cual permite impactar de
una manera más directa en la satisfacción del jugador con los correctos estímulos. De
igual manera se destacan otras opciones de interacción como el chat dentro del juego
con los otros jugadores, y el mostrado optativo de estadísticas de acuerdo al puntaje
acumulado en la partida.

81
System

Cambiar nombre

Mover Tanque

Disparar

Jugador

Salir de la partida

Mostrar/Ocultar Estadísticas

Figura 4.13. Acciones del usuario en juego

Fuente propia: De La Cruz (2009)

Considerando las necesidades de diseño planteadas así como la concepción


general de la idea, se realizó la declaración y estructuración de las distintas funciones
que fungirían de base para el trabajo y codificación en el software gráfico interactivo
multiusuario para el entretenimiento en red. Dichas funciones, aprovechando las
posibilidades de programación orientada a objetos de C++, fueron declaradas en clases
priorizando la usabilidad de la función, y de tal manera que se pudiese ofrecer una
separación concisa de las funciones de un objeto teniendo en cuenta los valores que
recibe o que podría heredar (ver figuras 4.14, figura 4.15 y figura 4.16).

82
Mundo

+recursos: CL_ResourceManager
+objetos: std::list<GameObject *>
+tanques: std::list<Tanque *>
+powerups: std::list<Powerup *>
-TanqueJugador: Tanque
-servidor: Servidor
-cliente: Cliente
-TipoConex: CL_String
-NumJugadores: int
-EsCliente: bool
-EsServidor: bool
-errormysql: bool
-borrarchat: bool
-quit: bool
-slotMouseDown: CL_Slot
-slotMouseUp: CL_Slot
-slotMouseMove: CL_Slot
-slotKeyDown: CL_Slot
-slotKeyUp: CL_Slot
-slot_quit: CL_Slot
-teclado: CL_InputDevice
-mouse: CL_InputDevice
-ftextura22: CL_Font_System
-ftextura20: CL_Font_System
-fondo: CL_Texture
-Cursor: CL_Sprite
-window_rect: CL_Rect
-ventana: CL_DisplayWindow
-gc: CL_GraphicContext
-NombreJugador: CL_String
-puedescribir: bool
-cadenachat: CL_String
-VChat: vector <CL_String>
-tcadenachat: int
-temp: int
-segundos: int
-minutos: int
-rlj_asc: bool
-rlj_segundos: int
-rlj_minutos: int
-cadenatiempo: CL_String
-tiempopowerup: float
-sonidocomienzo: CL_SoundBuffer
-musica: CL_SoundBuffer
-sonido_ataereo: CL_SoundBuffer
-SpawnPoints: vector <CL_Vec2f>
-frame_handler: GFrameHandler
-particula_1: L_Particle
-particula_2: L_Particle
-disparo_efecto: L_ShootingEffect
-exp_efecto: L_ExplosionEffect
-exp_emisor: L_EffectEmitter
-motion_ctrl: L_MotionController

<<create>>-Mundo(display_window: CL_DisplayWindow)
<<destroy>>-Mundo()
+get_gc(): CL_GraphicContext
+iniciarNivel(): void
+iniciarParticulas(): void
+matarParticulas(): void
+revisarColision(outline: CL_CollisionOutline, otro: GameObject): int
+teclatanquedown(idtanque: int, tecla: int): void
+teclatanqueup(idtanque: int, tecla: int): void
+agregarObjeto(object: GameObject): void
+agregarPowerup(tipo: PowerupTipo, _pos: CL_Vec2f): void
+quitarPowerup(id: int): void
+revisarPosicion(_pos: CL_Vec2f, id: int): bool
+agregarTanque(id: int, tipo: TanqueTipo, nombre: CL_String, _esIA: bool): CL_Vec2f
+agregarTanque(id: int, tipo: TanqueTipo, nombre: CL_String, _esIA: bool, _pos: CL_Vec2f, _angulo: float, _angulotorreta: float): void
+quitarTanque(id: int): void
+getPowerupPosMin(tipo: PowerupTipo, tanque: Tanque): CL_Vec2f
+getPosMinTanque(tanque: Tanque): CL_Vec2f
+getTanquePosMin(tanque: Tanque): Tanque
+estoySolo(tanque: Tanque): bool
+getPosicionSpawn(): CL_Vec2f
+AgregarCadenaChat(cadena: CL_String): void
+getReloj(): CL_Vec2i
+setReloj(_minutos: int, _segundos: int): void
+setReloj(_minutos: int, _segundos: int, es_ascendente: bool): void
+chequeaReloj(): void
+getTanqueID(idtanque: int): Tanque
+CreaBarrita(tam: int): CL_String
+getNombreJugador(): CL_String
+gameloop(): void
+efectoExplosion(pto: CL_Pointf): void
-draw(): void
-update(): void
-calcularTiempoTranscurrido(): float
-onKeyDown(key: CL_InputEvent, state: CL_InputState): void
-onKeyUp(key: CL_InputEvent, state: CL_InputState): void
-onMouseDown(key: CL_InputEvent, state: CL_InputState): void
-onMouseMove(key: CL_InputEvent, state: CL_InputState): void
-on_window_close(): void

Figura 4.14. Diagrama de clase Mundo

Fuente propia: De La Cruz (2009)

83
<<enumeration>>
PowerupTipo
Application
+MEDIKIT
<<create>>-Application() +ESCUDO UsuarioServidor
+main(args: std::vector<CL_String>): int +RAPIDEZ_TANQUE
+id: int
+RAPIDEZ_MISIL
+nombre_usuario: CL_String
+FUEGO
-conexion: CL_NetGameConnection
+ACIDO
<<enumeration>> +BALAS +get_usuario(conexion: CL_NetGameConnection): UsuarioServidor
TanqueTipo +BREBOTAN <<create>>-UsuarioServidor()
+ACEITE +adjuntar_conexion(conexion: CL_NetGameConnection): void
+DEFAULT +AIRBORNE +enviar_evento(juegoEvento: CL_NetGameEvent): void
+BOT +HIPERSHIELD
+BRU +NUKE
+VOLDO +LOCURA
+ROSA

Cliente
+cliente_red: CL_NetGameClient
-slots: CL_SlotContainer
Servidor -eventos_login: CL_NetGameEventDispatcher_v0
+servidor_red: CL_NetGameServer -eventos_juego: CL_NetGameEventDispatcher_v0
-slots: CL_SlotContainer -ip_servidor: CL_String
-Usuarios: list<UsuarioServidor*> -puerto: CL_String
-numjugadores: int -quit: bool
-siguiente_usuario_id: int -logged_in: bool
-eventos_login: CL_NetGameEventDispatcher_v1<UsuarioServidor*> -idlogin: CL_String
-eventos_juego: CL_NetGameEventDispatcher_v1<UsuarioServidor*> -password: CL_String
-puerto: CL_String -mundo: Mundo
-mundo: Mundo
<<create>>-Cliente()
<<create>>-Servidor() <<create>>-Cliente(mun: Mundo)
<<create>>-Servidor(mun: Mundo, njugadores: int) <<destroy>>-Cliente()
<<destroy>>-Servidor() +procesareventos(): void
+procesareventos(): void -conectar_a_servidor(): void
+enviaratodos(evento: CL_NetGameEvent): void -on_conectado(): void
+enviaratodosEx(evento: CL_NetGameEvent, idexcepcion: int): void -on_desconectado(): void
+parar(): void -on_evento_recibido(e: CL_NetGameEvent): void
-on_cliente_conectado(conexion: CL_NetGameConnection): void
-on_evento_login_completado(e: CL_NetGameEvent): void
-on_cliente_desconectado(conexion: CL_NetGameConnection): void
-on_evento_login_fallado(e: CL_NetGameEvent): void
-on_evento_recibido(conexion: CL_NetGameConnection, e: CL_NetGameEvent): void
-on_evento_login_servidorfull(e: CL_NetGameEvent): void
-on_evento_login(e: CL_NetGameEvent, usuario: UsuarioServidor): void
-on_evento_juego_solicitudcomenzar(e: CL_NetGameEvent, usuario: UsuarioServidor): void -on_evento_juego_cargarmapa(e: CL_NetGameEvent): void
-on_evento_juego_mensajechat(e: CL_NetGameEvent, usuario: UsuarioServidor): void -on_evento_juego_iniciar_tiempo(e: CL_NetGameEvent): void
-on_evento_juego_actualizar_teclado(e: CL_NetGameEvent, usuario: UsuarioServidor): void -on_evento_juego_comenzar(e: CL_NetGameEvent): void
-on_evento_juego_actualizar_mouse(e: CL_NetGameEvent, usuario: UsuarioServidor): void -on_evento_juego_mensajechat(e: CL_NetGameEvent): void
-on_evento_juego_jugador_conectado(e: CL_NetGameEvent): void
-on_evento_juego_jugador_desconectado(e: CL_NetGameEvent): void
-on_evento_juego_actualizar_teclado(e: CL_NetGameEvent): void
-on_evento_juego_actualizar_mouse(e: CL_NetGameEvent): void

Figura 4.15. Diagrama de clases TanqueTipo, Application,


PowerupTipo, UsuarioServidor, Cliente

Fuente propia: De La Cruz (2009)

84
GameObject
Tanque
#mundo: Mundo
-spriteCuerpo: CL_Sprite #id: int
-spriteTorreta: CL_Sprite
<<create>>-GameObject(mundo: Mundo)
-spriteCuerpoNormal: CL_Sprite
+draw(): void
-spriteCuerpoMoviendose: CL_Sprite
+update(dt: float): bool
-spriteTorretaNormal: CL_Sprite
+revisarColision(outline: CL_CollisionOutline, object: GameObject): bool
-spriteTorretaDisparando: CL_Sprite
+getID(): int
-spriteTorretaRecargando: CL_Sprite
+setID(id: int): void
-spriteSeleccionado: CL_Sprite
-spriteTorretatFlashDisparo: CL_Sprite
-spriteBrilloRojo: CL_Sprite
-cuerpoColision: CL_CollisionOutline
-sonidoTorreta: CL_SoundBuffer
-nombre: CL_String
-anguloCuerpo: float
-anguloDestCuerpo: float
-anguloDeltaCuerpo: float
-anguloTorreta: float
-anguloDestTorreta: float
-anguloDeltaTorreta: float
-Posicion: CL_Vec2f
-PosDest: CL_Vec2f
-PosDelta: CL_Vec2f
-velocidadGiroCuerpo: float
-velocidadGiroTorreta: float
-velocidad: float
-seleccionado: bool
-seMovAdelante: bool
-seMovAtras: bool
-seMovDer: bool
-seMovIzq: bool Powerup
-estaDisparando: bool
-vida: int -sprite: CL_Sprite
-maxvida: int -collisionPowerup: CL_CollisionOutline
-armadura: int -angulo: float
-maxarmadura: int -Posicion: CL_Vec2f
-demoramuerte: int -tiempovivo: int
-horamuerte: int -tipo: PowerupTipo
Construccion -explotando: bool
-estamuerto: bool
-miTipo: TanqueTipo -sprite: CL_Sprite -<create> Powerup(powerup_tipo: PowerupTipo, mundo: Mundo)
-score: int -collisionConstruccion: CL_CollisionOutline <<destroy>>-Powerup()
-esIA: bool -angulo: float +getTipo(): PowerupTipo
-TargetPosIA: CL_Vec2f -Posicion: CL_Vec2f +setPos(_pos: CL_Vec2f): void
-TargetPosTorretaIA: CL_Vec2f -explotando: bool +getPos(): CL_Vec2f
-tiempoagarroPowerup: int
-<create> Construccion(construccion_tipo: ConstruccionTipo, mundo: Mundo) +setAngulo(_angulo: float): void
-tienePowerup: bool
<<destroy>>-Construccion() +setTiempovivo(_tiempo: int): void
-tipoPowerup: int
+setPos(_pos: CL_Vec2f): void +getTiempovivo(): int
-<create> Tanque(tipo: TanqueTipo, esIA: bool, mundo: Mundo) +setAngulo(_angulo: float): void +draw(): void
+estaSeleccionado(): bool +draw(): void +update(timeElapsed: float): bool
+getanguloCuerpo(): float +update(dt: float): bool +revisarColision(outline: CL_CollisionOutline, otro: GameObject): bool
+setAngulo(_angulo: float): void +hitCheck(outline: CL_CollisionOutline, otro: GameObject): bool +getCollisionPowerup(): CL_CollisionOutline
+setAnguloDest(_angulodest: float): void
+setAnguloTorreta(_angulo: float): void
Misil
+getAnguloTorreta(): float
+setAnguloDestTorreta(_angulodest: float): void -spriteMisil: CL_Sprite
+setTargetPosTorreta(_pos: CL_Vec2f): void -sonido: CL_SoundBuffer
+getPos(): CL_Vec2f -sprite: CL_Sprite
+setPos(_pos: CL_Vec2f): void -collisionMisil: CL_CollisionOutline
+setTargetPos(_pos: CL_Vec2f): void -angulo: float
+getVida(): int -velocidad: float
+setVida(_vida: int): void -Posicion: CL_Vec2f
+getArmadura(): int -oculto: bool
+setArmadura(_armadura: int): void -explotando: bool
+getMaxVida(): int -perseguidor: bool
+setMaxVida(_mvida: int): void -tiempodisparo: int
+getMaxArmadura(): int -TargetTanque: Tanque
+setMaxArmadura(_maxarmadura: int): void -angulodelta: float
+setSalud(vida: int, armadura: int, vida: int, marmadura: int): void
+modSalud(_valor: int): bool <<destroy>>-Misil()
+subirScore(): void +setPos(_pos: CL_Vec2f): void
+getScore(): int +setAngulo(_angulo: float): void
+setScore(record: int): void +setVelocidad(_velocidad: float): void
+setEstaMuerto(_estam: bool): void +mover(dt: float): void
+Matar(_tiempoahora: int, _demora: int): void +setPerseguidor(tanqueaPerseguir: Tanque, _tiempodisparo: int): void
+estaMuerto(): bool +draw(): void
+movAdelante(): void +update(dt: float): bool
+movAtras(): void
+movDer(): void
+movIzq(): void
+noMovAdelante(): void
+noMovAtras(): void
+noMovDer(): void
+noMovIzq(): void
+avanzar(): void
+retroceder(): void
+giroDerecha(): void
+giroIzquierda(): void
+estaMovAde(): bool
+estaMovAtr(): bool
+estaMovDer(): bool
+estaMovIzq(): bool
+seleccionar(): void
+deseleccionar(): void
+disparar(): void
+revisarColision(outline: CL_CollisionOutline, otro: GameObjct): bool
+setParametros(tipo: TanqueTipo): void
+setNombre(nombre: CL_String): void
+getNombre(): CL_String
+getTipo(): TanqueTipo
+draw(): void
+update(dt: float): bool
+getCuerpoCollision(): CL_CollisionOutline

Figura 4.16. Diagrama de clases Tanque, GameObject,


Construcción, Powerup y Misil

Fuente propia: De La Cruz (2009)

85
Se trabajó con interfaces de usuarios simples para tratar de confundir en la
menor medida de lo posible al usuario a la hora de ejecutar el juego, en este sentido se
diseñó un diagrama (ver figura 4.17) para navegación entre las distintas acciones y
posibilidades que son accesibles al usuario, así mismo se incluyó un enlace de ayuda
para orientar al jugador en las diversas acciones que pueda realizar. En la figura 4.18.
se puede verificar la implementación del menú ‘En juego’.

Figura 4.17. Diagrama de navegación entre menús

Fuente propia: De La Cruz (2009)

Figura 4.18. Menú ‘En juego’

Fuente propia: De La Cruz (2009)

Si el jugador habilitó la inclusión de jugadores controlados por la inteligencia


artificial en la partida, los mismos serán controlados por el computador mediante una
subrutina de máquina de estados que implementa lógica difusa. En la programación de
una máquina de estados finita se determinan las acciones de una inteligencia artificial
86
desarrollada específicamente para la consideración del entorno de juego y
determinación de ‘enemigos’ guiándose en sus decisiones una serie parámetros
inhibidores o excitadores de una u otra acción, tales como los valores de estado de
salud del propios de la máquina, posición en el record, objetos en el campo de visión,
determinando la mejor manera de ganar el juego priorizando los valores establecidos
para ese tipo de IA, aunque los principales son salud y ganancia de puntos.
Cabe destacar que como objetivo no se trazó el realizar una inteligencia
‘perfecta’, que gane en todo momento, este punto es importante destacar porque la idea
del juego es proporcionar un reto que el jugador pueda vencer aunque sea con cierta
cantidad de esfuerzo, así mismo, se trata de emular el control de otro ente pensante,
por lo que se utilizan funciones aleatorias y variables difusas para que no se obtenga
una respuesta perfecta, ya que si tiende a ofrecer una respuesta que simplemente no
podría ser humana, como por ejemplo una puntería perfecta en todo momento, el
jugador se frustraría y dejaría de jugar, es por ello que se establece un margen de error
fortuito. En la figura 4.19 se puede apreciar la interfaz de usuario final para el modo de
juego ‘DeathMatch IA’, en donde los jugadores no seleccionados son inteligencias
artificiales.

Figura 4.19. Captura de pantalla en juego

Fuente propia: De La Cruz (2009)

87
4.5. PRUEBAS DEL SOFTWARE GRÁFICO INTERACTIVO MULTIUSUARIO PARA
EL ENTRETENIMEINTO EN RED

A continuación se presenta secuencialmente las estructuras generales de las pruebas


realizadas:

• El investigador elaboró una propuesta de videojuego que probó personalmente la


integración de los módulos que conforman el prototipo, verificó la exactitud de las
respuestas provistas por el mismo para las entradas usuales comprobando que
el sistema desarrollado cumplía completamente con los requerimientos,
necesidades y estatutos de calidad mínimos previamente establecidos. En la
tabla 4.5 se presentan los distintos recursos de hardware utilizados en 3
computadoras personales para el desarrollo y pruebas alfa del software gráfico.

• Para la presentación inicial a los usuarios se emplea un esquema de prueba beta


cerrada, en donde el público que realiza las pruebas del sistema es
cuidadosamente seleccionado por el autor de acuerdo a su propio criterio, y es
de quien obtiene las observaciones iníciales mediante comunicación directa con
dichos usuarios.

• Se sometió directamente al escrutinio y evaluación pública el software gráfico


interactivo multiusuario para el entretenimiento en red mediante una beta abierta,
en donde a un número no limitado de usuarios finales se les facilitó una versión
del videojuego en libre descarga con la cual, mediante el empleo de una
cuestionario con preguntas abiertas y cerradas, se obtuvieron resultados e
indicadores claros acerca de la opinión de la población con respecto a dicha
versión del videojuego el cual cabe notar sólo presentaba modo de un jugador,
asegurando la calidad y satisfacción del público en la medida que se cumplen
sus observaciones en la versión final.
De las personas que descargaron el juego, únicamente 38 personas realizaron la
encuesta, de la cual se muestran los resultados en los gráficos del 4.1 al 4.4,
especificando se puede apreciar en líneas generales una cantidad alta de
usuarios jóvenes que respondieron la encuesta, entre 15 y 27 años, con una
media de edad de x = 21.16 años, preferencia por los géneros de acción y
88
estrategia siguiendo la tendencia internacional establecida por la ESA, gusto de
los juegos multijugador y deseo por que el prototipo presentado tuviese opciones
online, la mayoría considerando entre bueno y excelente el desempeño así como
calificarlo de ser entretenido. En la figura 4.20 y 4.21 se pueden apreciar las
características adicionales y las sugerencias correspondientes de los usuarios
realizadas de manera abierta.

• Se realizaron pruebas alfa sobre la última versión estable de la aplicación


probando las características de juego en red y evaluando personalmente las
nuevas funcionalidades agregadas de acuerdo a sugerencias y observaciones de
los usuarios encuestados.

Tabla 4.5. Equipos de pruebas alfa

Componente Equipo 1 Equipo 2 Equipo 3

AMD Turion X2 Dual-


Intel Pentium Dual CPU Intel Celeron 430, 900
Procesador Core Mobile RM-70
T2390 1.86GHz MHz
2.0GHz

Memoria RAM 1.00 GB 3,00 GB 512 MB

Tipo de Adaptador de ATI Radeon 3100 Mobile Intel(R) 965 VIA Chrome9 HC IGP
Monitor Graphics Express Chipset Family Family

Memoria de Gráficos 1406 MB 256 MB 64 MB

Realtek RTL8102E Realtek RTL8101E


ADSL USB Network
Adaptador de Red Family PCI-E Fast Family PCI-E Fast
Adapter
Ethernet NIC Ethernet NIC

Disco Duro 226 GB 110 GB 130 GB

Sistema Operativo Windows Vista Windows 7 Windows XP

Fuente propia: De La Cruz (2009)

89
Grafico 4.1. Cantidad de usuarios por edad que respondieron la encuesta por edad

Fuente propia: De La Cruz (2009)

Grafico 4.2. Índice de género de videojuegos preferidos

Fuente propia: De La Cruz (2009)

90
Grafico 4.3. Grupo de usuarios que gusta los videojuegos multijugador

Fuente propia: De La Cruz (2009)

Grafico 4.4. Grupo de usuarios que le gustaría el prototipo presentado fuese multijugador

Fuente propia: De La Cruz (2009)

91
0 0

Grafico 4.4. Apreciación del desempeño por parte de los usuarios

Fuente propia: De La Cruz (2009)

Grafico 4.4. Entretenimiento de los usuarios durante la prueba del prototipo

Fuente propia: De La Cruz (2009)

92
1. Powerups mas balanceados (Ej: que el heal recupere mas vida)
2. Un menu para poder seleccionar caracteristicas del juego como: nombre del jugador,
cantidad de jugadores contrarios, tipo de mapa, tiempo de duracion del juego, entre otras
opciones multijugador
3. Otro ripo de disparos, machinegun por ejemplo
4. mejorar velocidad del juego es muy lento o.o
5. que el tanque se haga mas grande a medida que tengas mas puntuación
6. que vaya aumentando la vida a medida que aumenten los enemigos
7. que se suban de niveles y en cada uno sea un mapa diferente que requiera una
estrategia en especifico
8. esta muy bueno pero como q tan muy lento esta un poco dificil de manejara las
direciones, y q tuviera mas pj
9. Multiplayer online
10. un chat para hablar
11. opciones para crear mi propio ejercito con mis amigos.

Figura 4.20. Características adicionales sugeridas por los usuarios

Fuente propia: De La Cruz (2009)

1. Muy buena AI
2. Se hace un poco complicado el mando de los controles sobre todo para mover el tanque
atraves del mapa, pero es cuestión de agarrar la practica, en un poco de tiempo jugando
se puede llegar a dominar.
3. ME volvieron Sebillo xD.
4. hubo un momento que un tanke enemigo estaba en donde me toco hacer respawm y me
quede trancado, no pude moverme
5. me parece un poco incomodo el manejo del tanque, me enrredo
6. esta bnn como te dije las teclas de direciones estan un poco lentas por mi

Figura 4.21. Observaciones adicionales de los usuarios

Fuente propia: De La Cruz (2009)

93
CONCLUSIONES

El diseño, elaboración y construcción de un videojuego es una tarea de


inconmensurable dificultad, y por ello mismo, una tarea de grandes recompensas. Es
innegable el valor de la industria del videojuego a medida que pasan los años, la cual
crece de manera que parece casi insostenible, es así algo que se debe tener en cuenta
en Venezuela, si desea aprovechar el desarrollo de esta joven área de conocimiento y
de mercado antes de que el público sea condicionado exclusivamente a depender de la
oferta externa para satisfacer sus necesidades de este tipo de entretenimiento, es por
ello algo en lo que se debe investigar y trabajar arduamente para poder equipararse y
unirse a esta tendencia global en pleno auge.

Una vez culminado el proceso de desarrollo, pruebas y análisis de los resultados


del Software Gráfico Interactivo Multiusuario para el Entretenimiento en Red se
obtuvieron excelentes y positivas críticas como se pudo constatar con los resultados
aportados por las encuestas recabadas, con lo cual se demuestra cumplido el objetivo
principal y la correcta consecución de los objetivos específicos para el desarrollo del
software, obteniendo así mismo resultados de interés general acerca de las
características que presenta una muestra de la población venezolana en un rubro poco
investigado a nivel local, aunque presenta similitudes con estudios internacionales y de
otras localidades del mundo.

Pese a existir pocas referencias en el desarrollo de esta investigación se


encontró que en Venezuela existe una industria naciente, y qué ha tenido un gran auge
en los últimos años, enfocada en el desarrollo de proyectos prometedores y de gran
campo. No obstante cabe resaltar las dificultades que la misma ha recibido en los
últimos tiempos debido a nuevas legislaturas y políticas que ignoran el valor neto del
conocimiento en esta área tan joven y nueva en nuestro país, que espera ser explotada
como un medio artístico y comercial de manera factible.

En el mismo orden de ideas el desarrollo del Software Gráfico Interactivo


Multiusuario para el Entretenimiento en Red de igual manera se encontró frente a estas
94
dificultades, dificultades ha debido a sortear no sólo a nivel político, sino también a nivel
académico, que así mismo necesita enriquecerse de estas nuevas propuestas
tecnológicas en auge, para de esta manera poder generar profesionales capaces y con
conocimientos actualizados que puedan enfrentarse a un mundo cada vez más
competitivo, en donde los videojuegos jugarán un papel de cada vez mayor relevancia,
tanto tecnológica como en el mundo del entretenimiento.

95
RECOMENDACIONES

En concordancia con los resultados obtenidos en la investigación, demostrando


la necesidad de la comunidad de usuarios en Venezuela, y estableciendo la factible
apertura del Software Gráfico Interactivo Multiusuario para el Entretenimiento en Red,
así como propuestas similares a un mercado global, se recomienda lo siguiente:

• Exponer y proponer esta investigación como un antecedente claro para el


desarrollo de futuras investigaciones.

• Elaborar una campaña viral estructurada para la promoción y difusión del


software atrayendo inversores y usuarios.

• Continuar el desarrollo del producto para presentarlo de manera comercial


globalmente, estableciendo módulos de traducciones preconfigurados en
paquetes de idiomas.

• Agregar nuevas funcionalidades al software a demanda del usuario a manera de


tienda virtual para aumentar los ingresos recibidos de los usuarios.

• Fomentar el desarrollo e investigación en el área de los videojuegos y de las


aplicaciones gráficas interactivas en la Universidad Rafael Urdaneta.

• Establecer la cátedra electiva de Desarrollo de Videojuegos como materia de


curso obligatoria en la Universidad Rafael Urdaneta para los estudiantes de
Ingeniería en Computación.

96
REFERENCIAS BIBLIOGRÁFICAS

Allegro (2009). Introduction. Disponible en: http://www.liballeg.org/readme.html


Consultado el 14 de Septiembre de 2009.

Active Network (2009). Frequently Asked Questions: Microsoft DirectX. Disponible en:
http://www.activewin.com/faq/faq_7.shtml Consultado el 15 de Septiembre de 2009.

Ambler, S. (2009). Disponible en : http://www.ambysoft.com/unifiedprocess/agileUP.html


Consultado el 13 de septiembre 2009.

Astle, D. y Hawkings, K. (2004). Beginning OpenGL Game Programming. Boston:


Thomson.

Balestrini, M. (2006). Cómo se elabora el proyecto de investigación. 7ª, ED. Caracas:


B. L. Consultores Asociados. Servicio Editorial.

Bates, B. (2004). Game Design. 2ª, ED. Boston: Thomson.

Crawford, C. (1984). The Art of Computer Game Design. Berkeley, California: McGraw-
Hill/Osborne Media

Comisión Nacional de Telecomunicaciones (2009). Servicio de Internet. Indicadores.


2000-09 (I trimestre). Disponible en:
http://www.conatel.gob.ve/Indicadores/indicadores2009/Presentaci%F3n_publica_Itrim_
2009.pdf Consultado el 02 de Septiembre de 2009

Converse, T. Park, J y Morgan, C. (2004). PHP5 and MySQL Bible. 1ª, ED. Indianapolis.
Wiley Publishing, Inc.

97
Comninos, P. (2005). Mathematical and computer programming technique for computer
graphics. USA: Springer.

Entertainment Software Association (2008). 2008 Essential Facts About the Computer
and Video Game Industry. Disponible en:
www.theesa.com/facts/pdfs/ESA_EF_2008.pdf Consultado el 02 de Septiembre de
2009

Entertainment Software Rating Board. ESRB (2009) Game Ratings & Descriptor Guide.
Disponible en: http://www.esrb.org/ratings/ratings_guide.jsp Consultado el 15 de
Septiembre de 2009

Fidias, A. (2006). El Proyecto de Investigación: introducción a la metodología. Científica.


5ª ED. Caracas: EPISTEME

Gálvez, S., Alcaide M., y Mora, M. (2009). Java a Tope: Java2D. Disponible en:
http://www.lcc.uma.es/~galvez/ftp/libros/Java2D.pdf Consultado el 15 de Septiembre de
2009.

Hernández, R., Fernández, C. y Baptista, P. (2003). Metodología de la Investigación.


México: McGraw Hill.

International Game Developer Association (2004). 2004 Web and Downloadable Games
White Paper. Disponible en:
http://m-plabs.com/mmogarticles/IGDA_WebDL_Whitepaper_2004.pdf Consultado el 02
de Septiembre de 2009

Lindley, C. (2009). Game Taxonomies: A High Level Framework for Game Analysis and
Design. Disponible en:
http://www.gamasutra.com/features/20031003/lindley_01.shtml Consultado el 04 de
Septiembre de 2009

98
Méndez, C. (2003). Diseño y desarrollo del proceso de investigación. 3ª.ED. Bogotá,
Colombia: McGraw Hill.

Muñoz, C. (1998). Cómo elaborar una investigación de tesis. México: Prentice Hall
Hispanoamericana.

Rollings, A. y Adams, E. (2003). Andrew Rollings and Ernest Adams on Game Design.
New Riders Publishing

Sánchez, Jorge (2007). Principios sobre Base de Datos Relacionales. Disponible en:
http://www.jorgesanchez.net/bd/index.html Consultado el 22 de Septiembre de 2009.

Schwaber, M., Beedle, K. (2001). Agile Software Development with Scrum. USA:
Prentice Hall

SDL (2009). Simple Direct Media Layer. Disponible en: http://www.libsdl.org/index.php


Consultado el 14 de Septiembre de 2009.

Tendencias Digitales (2009). Números y palabras, Usos y Penetración de Internet en


Venezuela. Disponible en:
http://www.slideshare.net/Tendencias_Digitales/nmeros-y-palabras-presentacin-sobre-
usos-y-penetracin-de-internet-en-venezuela Consultado el 02 de Septiembre de 2009

Sun Microsystems (2009). Java 2D White Paper. Disponible en:


http://java.sun.com/products/java-media/2D/whitepaper.html Consultado el 12 de
Septiembre de 2009

Tittel, E. y Burmeister, M. (2005). HTML 4 for dummies. 5ª.ED. Indianapolis. Wiley


Publishing, Inc

99
Universidad de Los Andes (2009) Disponible en:
http://www.pgcomp.ula.ve/Semestre/ComputacionGraficaA2009/semestreaA09/compugr
af3.ppt16 de noviembre de 2009 Consultado el 30 de Agosto de 2009

Wikipedia. (2009). Teoría de Sistemas. Disponible en:


http://es.wikipedia.org/wiki/Software Consultado el 30 de Agosto de 2009

Wikipedia. (2009). Proceso Unificado de Rational. Disponible en:


http://es.wikipedia.org/wiki/Proceso_Unificado_de_Rational Consultado el 30 de Agosto
de 2009

Wikipedia. (2009). Graphics Library. Disponible en:


http://en.wikipedia.org/wiki/Graphics_library Consultado el 02 de Agosto de 2009

Wired (2008). World of Warcraft Hits 11.5 Million Users. Disponible en:
http://www.wired.com/gamelife/2008/12/world-of-warc-1/ Consultado el 15 de
Septiembre de 2009

Wolf, M. J. (2002). Chapter 6: Genre and the Video Game. En M. J. Wolf, The
Medium of the Video Game. Texas: University of Texas Press.

Wright, R., Lipchak, B., Haemel, N. (2007). OpenGL Suberbible. Comprehensive


Tutorial and Reference. 4ª.ED. USA: Addison-Wesley

100
ANEXO A. CUESTIONARIO

101
Preguntas del Cuestionario tal como aparece en la dirección electrónica:
http://tanknation.servegame.org/machform/view.php?id=1
Última vez consultado el 02 de Diciembre de 2009.

102
103
ANEXO B. PREGUNTAS REALIZADAS EN ENTREVISTA
ESTRUCTURADA

104
1. ¿Actualmente cómo considera usted el estado de la industria del videojuego a
nivel mundial y nacional, y cómo puede observar el panorama de su desarrollo
en los próximos 5 años?

2. ¿Qué lenguaje de programación, plataforma y/o entorno integrado de desarrollo


considera usted más idóneo para la programación de videojuegos?

3. ¿Cómo consideras el panorama actual de los juegos multijugador en red?

4. ¿Conoce de algún tipo de antecedente de desarrollo de este tipo juegos


multijugador en red en Venezuela?

5. ¿Para los videojuegos multijugador en red cuál esquema considera más exitoso
o idóneo como interfaz con el usuario, basado en web-browser, en una
plataforma específica u otro?

6. ¿Qué esquemas de promoción y distribución rentables se podrían utilizar en


Venezuela para la elaboración y comercialización de videojuegos?

7. ¿Qué técnicas o algoritmos de Inteligencia Artificial podría recomendar que se


desarrollen en entornos bidimensionales?

105